1. Trang chủ
  2. » Công Nghệ Thông Tin

Nghiên cứu an ninh mạng sử dụng kỹ thuật điều khiển bằng phần mềm SDN

61 456 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 2,7 MB

Nội dung

Từ viết tắt Thuật ngữ tiếng anh Ý nghĩa SDN Software Defined Network Mạng lập trình được FPGA Field-Programmable Gate Arrays Mảng cổng lập trình được dạng trường IP Internet Protocol G

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

Đào Việt Hùng

TÊN ĐỀ TÀI LUẬN VĂN

Nghiên cứu an ninh mạng

sử dụng kỹ thuật điều khiển bằng phần mềm SDN

Chuyên ngành: Kỹ thuật truyền thông

LUẬN VĂN THẠC SĨ KỸ THUẬT

KỸ THUẬT TRUYỀN THÔNG

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS Trương Thu Hương

Trang 2

Tôi xin cam đoan luận văn này là công trình nghiên cứu thực sự của cá nhân tôi, được thực hiện dưới sự hướng dẫn khoa học của TS Trương Thu Hương

Các số liệu, kết quả nghiên cứu trong luận văn này là trung thực

Tôi xin chịu trách nhiệm về nghiên cứu của mình

Học viên

Đào Việt Hùng

Trang 3

LỜI CAM ĐOAN 1

MỤC LỤC 2

DANH SÁCH HÌNH VẼ 4

DANH SÁCH BẢNG BIỂU 4

DANH SÁCH THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT 5

LỜI NÓI ĐẦU 7

CHƯƠNG 1 GIỚI THIỆU VỀ CÔNG NGHỆ MẠNG LẬP TRÌNH ĐƯỢC - SDN 11

1.1 Mạng lập trình được (SDN) 11

1.1.1 Giới thiệu 11

1.1.2 Kiến trúc SDN 11

1.1.3 Khả năng, lợi ích của SDN 13

1.2 Giao thức OpenFlow 14

1.2.1 Tổng quan 14

1.2.2 Kiến trúc Openflow 15

1.3 Các bản tin trao đổi giữa Controller (POX) và OpenvSwitch 16

1.3.1 Bản tin StatisticRequest 19

1.3.2 Bản tin StatisticResponse 20

1.3.3 Bản tin FlowMod 21

1.4 Kết luận 22

CHƯƠNG 2 THỰC TRẠNG HỆ THỐNG MẠNG CỦA NHÀ CUNG CẤP DỊCH VỤ INTERNET (ISP) TẠI VIỆT NAM 23

2.1 Sơ đồ hệ thống mạng của VDC Online 23

2.2 Giám sát và quản trị mạng 24

2.3 Các hình thức tấn công mạng 26

2.4 Phân tích tình huống tấn công DDOS thực tế tại VDC Online 28

2.5 Đề xuất sơ đồ hệ thống cho ISP 32

2.6 Kết luận 34

CHƯƠNG 3 XÂY DỰNG HỆ THỐNG THÍ NGHIỆM 35

3.1 Sơ đồ hệ thống thí nghiệm 35

3.2 Bộ điều khiển POX 36

Trang 4

3.2.2 Khối chức năng GetStats 38

3.2.3 Khối chức năng Bandwidth Calculation 39

3.2.4 Khối chức năng Flow Modification 40

3.2.5 Cài đặt và sử dụng 41

3.3 OpenvSwitch 41

3.3.1 Giới thiệu tổng quan 41

3.3.2 Cài đặt và sử dụng 41

3.4 Cấu hình hệ thống thử nghiệm 44

3.4.1 Cấu hình OpenvSwitch 44

3.4.2 Cấu hình POX Controller và thực hiện kết nối tới OpenvSwitch 46

3.5 Kết luận 47

CHƯƠNG 4 KỊCH BẢN THÍ NGHIỆM, ĐÁNH GIÁ KẾT QUẢ 48

4.1 Kịch bản thí nghiệm 48

4.1.1 Kịch bản thí nghiệm 48

4.1.2 Công cụ sử dụng 50

4.2 Mô phỏng tấn công 51

4.2.1 Giả lập hệ thống hoạt động tốt 51

4.2.2 Giả lập tấn công server 52

4.2.3 Xử lý tấn công 54

4.3 Đánh giá kết quả 55

4.3.1 Nhận xét, đánh giá: 55

4.3.2 Hướng phát triển hệ thống: 55

4.4 Kết luận 56

KẾT LUẬN 57

TÀI LIỆU THAM KHẢO 59

Trang 5

Hình 1.1 Kiến trúc của SDN 12

Hình 1.2 Cấu trúc Switch truyền thống 14

Hình 1.3 Cấu trúc Openflow Switch 15

Hình 1.4 Kiến trúc Openflow 16

Hình 1.5 Các bản tin sử dụng để thống kê và gửi lệnh từ POX xuống OpenvSwitch 16

Hình 1.6 Lưu đồ thuật toán tổng quan của trình ứng dụng trên Controller 18

Hình 1.7 Cấu trúc bàn tin StatisticRequest-Flow 19

Hình 1.8 Cấu trúc bản tin StatisticResponse – Flow 20

Hình 1.9 Cấu trúc trường match trong bản tin StatisticResponse 21

Hình 1.10 Cấu trúc bản tin FlowMod 21

Hình 2.1 Sơ đồ tổng quát hệ thống mạng của VDC Online 23

Hình 2.2 Giám sát băng thông hệ thống bằng Cacti (Nguồn: [18]) 25

Hình 2.3 Giám sát trạng thái hệ thống bằng Nagios (nguồn: Viettel IDC) 26

Hình 2.4 Tấn công vào băng thông (nguồn: VDC Online) 27

Hình 2.5 Tấn công vào khả năng xử lý của thiết bị (Nguồn: VDC Online) 27

Hình 2.6 Sơ đồ tấn công DDOS 29

Hình 2.7 Biểu đồ băng thông có tấn công DDOS thực tế tại 1 ISP ở Việt Nam (Nguồn: VDC Online) 30

Hình 2.8 Kết quả bắt gói tin khi xảy ra tấn công 31

Hình 2.9 Sơ đồ hệ thống đề xuất cho ISP 32

Hình 3.1 Sơ đồ khối hệ thống thử nghiệm 35

Hình 3.2 Lưu đồ thuật toán của khôi chức năng GetStats 38

Hình 3.3 Lưu đồ thuật toán của khối chức năng Bandwidth Calculation 39

Hình 3.4 Lưu đồ thuật toán của khối chức năng Flow Modification 40

Hình 3.2 Flow-table trong OpenvSwitch 47

Hình 4.1 Mô hình thí nghiệm phân tích dữ liệu chạy qua hệ thống 48

Hình 4.2 Sơ đồ bố trí thí nghiệm thực tế 49

Hình 4.3 Giao diện Iperf 50

Hình 4.4 Download từ server với tốc độ 10Mbps 51

Hình 4.5 Giao diện quản trị khi chưa có tấn công 52

Hình 4.6 Bắn luồng dữ liệu băng thông 200Mbps vào server 53

Hình 4.7 Giao diện quản trị khi bắt đầu có tấn công 53

Hình 4.9 Giao diện quản trị hệ thống sau khi đã xử lý tấn công 54

DANH SÁCH BẢNG BIỂU Bảng 1.1 Các loại thông tin điều khiển của bản tin FlowMod 22

Trang 6

Từ viết tắt Thuật ngữ tiếng anh Ý nghĩa

SDN Software Defined Network Mạng lập trình được

FPGA Field-Programmable Gate Arrays Mảng cổng lập trình được

dạng trường

IP Internet Protocol Giao thức liên mạng

MAC Media Access Control Điều khiển đa truy nhập SSL Secure Sockets Layer Giao thức bảo mật cá mã

hóa thông tin GUI Graphical User Interface Giao diện người dùng

AP Access Point Điểm truy cập không dây

PC Personal Computer Máy tính cá nhân

VIP Very Important Person Người quan trọng

Controller Bộ điều khiển Server, Client Máy chủ, máy trạm Control Path Mặt điều khiển Data Path Mặt dữ liệu StatsRequest Bản tin yêu cầu thông số StatsResponse Bản tin trả lời thông số FlowMod Bản tin chỉnh sửa ISP Internet Service Provider Nhà mạng viễn thông

Switch Thiết bị chuyển mạch Router Thiết bị định tuyến Control Plane Mặt phẳng điều khiển Data Plane Mặt phẳng dữ liệu Virtulization Ảo hóa

BGP Border Gateway Protocol Giao thức định tuyến liên

vùng MRTG Multi Router Traffic Grapher Công cụ giám sát mạng

bằng biểu đồ DOS Denial of Service Từ chối dịch vụ

DDOS Distributed Denial of Service Từ chối dịch vụ phân tán

Ae aggregated ethernet Cổng mạng tổng hợp

Trang 7

SSDP Simple Service Discovery Protocol Giao thức phát hiện dịch vụ

cập VLAN Virtual Local Area Network Mạng riêng ảo

TCP Transmission Control Protocol Giao thức điều khiển vận

chuyển UDP User Datagram Protocol Giao thức dữ liệu ngắn

người dùng

CPU Central Processing Unit Khối xử lý trung tâm

RAM Random Acccess Memory Bộ nhớ truy cập ngẫu nhiên

Trang 8

LỜI NÓI ĐẦU

Trong thời đại bùng nổ về thông tin hiện nay, ta có thể bắt gặp tại bất cứ doanh nghiệp lớn nhỏ nào một hệ thống truyền tin với đầy đủ các yếu tố cơ bản cấu thành một

hệ thống mạng Đặc biệt, tại các nhà cung cấp, hệ thống mạng có thể lên tới hàng trăm, hàng nghìn thiết bị với các mô hình kết nối từ đơn giản tới phức tạp Nhưng cho dù hệ thống có phức tạp tới đâu, thì mục đích cuối cùng vẫn là đảm bảo chức năng truyền tin nhanh nhất và an toàn nhất

Nói tới vấn đề bảo mật cũng là nói tới vấn đề cốt lõi, được quan tâm nhất trong lĩnh vực thông tin hiện nay Kiến trúc mạng truyền thống đang ngày càng trở nên không phù hợp với nhu cầu kinh doanh của các doanh nghiệp, nhà khai thác mạng cũng như người dùng cuối Các nhà nghiên cứu đã đưa ra một khái niệm hoàn toàn mới về lĩnh vực điều khiển mạng, đó là SDN – Software Define Network – Mạng lập trình được Mạng lập trình được hay SDN, là một kiến trúc mạng mới, mà ở đó, các thiết bị chuyển mạch (Switch, Router …) sẽ được tách ra làm hai phần riêng biệt: Mặt phẳng điều khiển (Control Plane) và Mặt phẳng dữ liệu (Data Plane) Control Plane được triển khai trên các server bên ngoài, chịu trách nhiệm điều khiển việc chuyển tiếp gói tin cũng như các chức năng tích hợp khác Data Plane thực hiện việc chuyển tiếp các gói tin dựa theo lệnh mà Control Plane đưa ra

SDN sử dụng giao thức Openflow để giao tiếp giữa Control Plane và Data Plane Openflow được bắt đầu phát triển từ năm 2008 tại Đại học Stanford, California, Mỹ Với sự ra đời của Openflow, việc trao đổi giữa Control Plane và Data Plane đã trở lên

dễ dàng, thuận tiện và chính xác hơn Nhờ đó, SDN đã bắt đầu được áp dụng để thay thế cho các kiến trúc mạng thông thường Thực tế hiện nay SDN đã được triển khai tại rất nhiều phòng Lab ở các trường đại học, các trung tâm nghiên cứu do các ưu thế mà

Trang 9

nó đem lại Các tập đoàn lớn như Google, HP đã bắt đầu sử dụng kiến trúc SDN trong mạng lõi của mình

Với kinh nghiệm bản thân đã từng làm việc tại 3 nhà cung cấp dịch vụ viễn thông (Internet Service Provider – ISP) lớn nhất Việt Nam, người làm đồ án đã tiếp xúc với hàng chục cuộc tấn công từ Internet mỗi tháng Việc phân tích và phát hiện các sự cố tấn công là vấn đề quan trọng cũng như then chốt của mỗi ISP nhằm đảm bảo toàn bộ

hệ thống được vận hảnh an toàn và ổn định nhất cũng như giảm thiểu rủi ro cho khách hàng để từ đó có những phương án phòng tránh hiệu quả nhất

Chính vì vậy, em đã lựa chọn đề tài luận văn thạc sỹ viết về vấn đề nóng bỏng nhất

hiện nay với cách xử lý hoàn toàn mới (ít nhất là mới tại Việt Nam): “Nghiên cứu an

ninh mạng sử dụng kỹ thuật điều khiển bằng phần mềm SDN”

Trong quá trình thực hiện, do hạn chế về mặt thời gian cũng như kiến thức, nên đề tài không thể tránh khỏi những thiếu sót Em rất mong nhận được sự đóng góp của thầy

cô và các bạn để đề tài được hoàn thiện hơn

Em xin trân trọng cảm ơn các thầy, cô trường Đại học Bách Khoa Hà Nội, Viện Điện Tử Viễn Thông, Viện Đào Tạo Sau Đại Học đã giúp đỡ em rất nhiều trong suốt quá trình học cao học Em xin chân thành cảm ơn Tiến sỹ Trương Thu Hương đã trực tiếp hướng dẫn em thực hiện thành công đề tài nghiên cứu này

Xin cảm ơn các anh, em trong Future Network Lab 618 thư viện Tạ Quang Bửu đã

hỗ trợ tôi rất nhiều trong việc xây dựng hệ thống test cũng như các công cụ mô phỏng thí nghiệm

Xin cảm ơn Trung tâm dịch vụ Giá trị gia tăng – công ty Điện toán và truyền số liệu VDC và Công ty Viettel IDC đã cung cấp cho tôi một số dữ liệu để làm cơ sở thực tế

áp dụng vào đề tài

Trang 10

Cuối cùng, xin gửi lời cảm ơn sâu sắc nhất tới toàn thể gia đình đã là nền tảng, là những người luôn theo sát, chăm sóc động viên cho tôi suốt quá trình học tập cũng như thực hiện đề tài này

Sau đây là mục tiêu và bố cục của luận văn:

Luận văn được chia thành 4 chương:

 Chương 1: Giới thiệu về công nghệ mạng lập trình được – SDN

Chương này sẽ cung cấp các kiến thức cơ bản về công nghệ mạng lập trình được (SDN), giao thức Openflow và các bản tin trao đổi trong hệ thống mạng sử dụng OpenFlow

 Chương 2: Thực trạng hệ thống mạng của nhà cung cấp dịch vụ Internet (ISP)

tại Việt Nam

Chương này đưa ra thực trạng về hệ thống mạng chung của các nhà cung cấp dịch

vụ Internet tại Việt Nam với đại diện là VDC Online [21], phân tích các trường hợp tấn công DDOS về băng thông thực tế đã gặp phải Chương cũng đưa ra mô hình đề xuất triển khai OpenFlow Switch kết hợp với hệ thống hiện tại tại VDC Online

 Chương 3: Xây dựng hệ thống thí nghiệm

Chương này sẽ đưa ra sơ đồ hệ thống mạng thử nghiệm dùng OpenFlow đã được xây dựng tại phòng thí nghiệm Future Internet tại Đại học Bách Khoa Hà Nội, các thành phần, các khối chức năng của hệ thống

Trang 11

 Chương 4: Kịch bản thí nghiệm, đánh giá kết quả

Trong chương này, ta sẽ xây dựng các kịch bản thí nghiệm mô phỏng quá trình tân công DDOS một server, các thông tin được hệ thống xuất ra màn hình quản trị trước, trong và sau tấn công

Hà Nội, tháng 9 năm 2015 Học viên

Đào Việt Hùng

Trang 12

CHƯƠNG 1 GIỚI THIỆU VỀ CÔNG NGHỆ MẠNG LẬP TRÌNH ĐƯỢC - SDN

Chương này sẽ cung cấp các kiến thức cơ bản về công nghệ mạng lập trình được (SDN), giao thức Openflow và các bản tin trao đổi trong hệ thống mạng sử dụng OpenFlow

1.1 Mạng lập trình được (SDN)

1.1.1 Giới thiệu

Hiện nay nhu cầu về ứng dụng của người dùng cuối (End user) đang ngày càng gia tăng, kéo theo đó là nhu cầu khác nhau của người dùng về mạng kết nối Mạng cần phải đáp ứng việc thay đổi nhanh chóng các thông số về độ trễ, băng thông, bảng định tuyến và đặc biệt là bảo mật, … theo các yêu cầu của ứng dụng Một mạng có thể lập trình sẽ đáp ứng được yêu cầu trên, mở ra nhiều cánh cửa mới tới các ứng dụng Đó chính là lý do SDN [1] ra đời – mang tới tính mềm dẻo, linh hoạt gần như là vô tận cho mạng thông tin

Các kiến trúc mạng hiện nay không cho phép can thiệp vào hoạt động của các thiết

bị mạng, hoạt động của các thiết bị này bị phụ thuộc hoàn toàn vào nhà sản xuất quy định Chính vì thế, rất khó cho việc thay thế một giao thức cũ bằng các giao thức mới

và thử nghiệm chúng trên các thiết bị thật SDN thì ngược lại, nó cho phép người lập trình có thể can thiệp vào hoạt động của thiết bị và qua đó điều khiển thiết bị hoạt động theo ý muốn Việc này dễ dàng cho việc nghiên cứu cũng như triển khai các công nghệ mới vào trong mạng mà không cần thay đổi về phần cứng

SDN chính là một kiến trúc mạng mang tính cách mạng và là tương lai của công nghệ mạng

1.1.2 Kiến trúc SDN

Kiến trúc của SDN gồm 3 lớp riêng biệt: lớp ứng dụng, lớp điều khiển, và lớp cơ

sở hạ tầng (lớp chuyển tiếp)

Trang 13

Lớp ứng dụng (Application layer): là các ứng dụng được triển khai trên mạng,

được kết nối tới lớp điều khiển thông qua các API, cung cấp khả năng cho phép lớp ứng dụng lập trình lại (cấu hình lại) mạng (điều chỉnh các tham số trễ, băng thông, định tuyến, …) thông qua lớp điều khiển

Hình 1.1 Kiến trúc của SDN

Lớp điều khiển (Control layer): thực hiện việc điều khiển cấu hình mạng theo

các yêu cầu từ lớp ứng dụng và khả năng của mạng Các bộ điều khiển này có thể là các phần mềm được lập trình Để điều khiển lớp cơ sở hạ tầng, lớp điều khiển sử dụng các cơ chế như OpenFlow, ONOS, 176ForCES, PCEP, NETCONF, SNMP hoặc thông qua các cơ chế riêng biệt

Lớp cơ sở hạ tầng (Infrastructure layer): là các thiết bị mạng thực tế (vật lý hay

ảo hóa) thực hiện việc chuyển tiếp gói tin theo sự điều khiển của lớp điểu khiển Một

Trang 14

thiết bị mạng có thể hoạt động theo sự điều khiển của nhiều bộ điều khiển khác nhau, điều này giúp tăng cường khả năng ảo hóa của mạng

1.1.3 Khả năng, lợi ích của SDN

Khả năng

 Lớp điều khiển có thể được lập trình trực tiếp

 Mạng được điều chỉnh, thay đổi một cách nhanh chóng thông qua việc thay đổi trên lớp điều khiển

 Mạng được quản lý tập trung do phần điều khiển được tập trung trên lớp điều khiển

 Cấu hình lớp cơ sở hạ tầng có thể được lập trình trên lớp ứng dụng và truyền đạt xuống các lớp dưới

Lợi ích

 Giảm CapEx: SDN giúp giảm thiểu các yêu cầu mua phần cứng theo mục đích xây dựng các dịch vụ, phần cứng mạng trên cơ sở ASIC, và hỗ trợ mô hình pay-as-yougrow (trả những gì bạn dùng) để loại bỏ lãng phí cho việc dự phòng

 Giảm OpEx: thông qua các phần tử mạng đã được gia tăng khả năng lập trình, SDN giúp dễ dàng thiết kế, triển khai, quản lý và mở rộng mạng Khả năng phối hợp và dự phòng tự động không những giảm thời gian quản lý tổng thể, mà còn giảm xác suất lỗi

do con người tới việc tối ưu khả năng và độ tin cậy của dịch vụ

 Truyền tải nhanh chóng và linh hoạt: giúp các tổ chức triển khai nhanh hơn các ứng dụng, các dịch vụ và cơ sở hạ tầng để nhanh chóng đạt được các mục tiêu kinh doanh

 Cho phép thay đổi: cho phép các tổ chức tạo mới các kiểu ứng dụng, dịch vụ và mô hình kinh doanh, để có thể tạo ra các luồng doanh thu mới và nhiều giá trị hơn từ mạng

 Mở ra cơ hội cho các nhà cung cấp thiết bị trung gian khi phần điều khiển được tách rời khỏi phần cứng

Trang 15

1.2 Giao thức OpenFlow

1.2.1 Tổng quan

Openflow [2] dựa trên nguyên tắc Ethernet Switch, với một Flow-table bên trong,

và giao diện chuẩn hóa để thêm, xóa các flow-entries trong Flow-table Openflow đang được sử dụng rộng rãi bởi nhiều nhà nghiên cứu, các viện nghiên cứu trên thế giới do

nó có tính thực tế dựa trên các ưu điểm: cho phép các nhà nghiên cứu chạy các thử nghiệm trên các switch khác nhau theo cùng một cách như nhau, không cần cấu hình triển khai theo cấu hình từng loại switch, hoạt động ở line-rate cùng với mật độ port lớn, hơn nữa các nhà sản xuất vẫn có thể giữ bí mật về thiết kế các switch của họ Ngoài việc cho phép các nhà nghiên cứu đánh giá các ý tưởng của họ trong môi trường lưu lượng thế giới thực, Openflow còn là một công cụ hữu hiệu cho triển khai các testbed quy mô rộng như GENI (Global Environment for Network Innovation, network/testbed gồm các tài nguyên chung cho các nhà nghiên cứu, chia sẻ tài nguyên bằng phương pháp ảo hóa- virtulization)

Sự khác nhau trong cấu trúc của Switch truyền thống và Switch hỗ trợ công nghệ Openflow:

Hình 1.2 Cấu trúc Switch truyền thống

Trang 16

Hình 1.3 Cấu trúc Openflow Switch

Trong SDN, Openflow được dùng để tách biệt hẳn phần điều khiển ra khỏi phần chuyển tiếp và cung cấp khả năng lập trình cho lớp điều khiển, OpenFlow là tiêu chuẩn đầu tiên, cung cấp khả năng truyền thông giữa các giao diện của lớp điều khiển và lớp chuyển tiếp trong kiến trúc SDN OpenFlow cho phép truy cập trực tiếp và điều khiển mặt phẳng chuyển tiếp của các thiết bị mạng như switch và router, cả thiết bị vật lý và thiết bị ảo, do đó giúp di chuyển phần điều khiển mạng ra khỏi các thiết bị chuyển mạch thực tế tới phần mềm điều khiển trung tâm

Secure Channel: kênh kết nối thiết bị tới bộ điều khiển (controller), cho phép các

lệnh và các gói tin được gửi giữa bộ điều khiển và thiết bị,

OpenFlow Protocol: giao thức cung cấp phương thức tiêu chuẩn và mở cho một bộ

điều khiển truyền thông với thiết bị

Trang 17

Hình 1.4 Kiến trúc Openflow

1.3 Các bản tin trao đổi giữa Controller (POX) và OpenvSwitch

Trong phần này, chúng ta sẽ tìm hiểu một số bản tin trao đổi [8] giữa Controller và Openflow Switch

Hình 1.5 Các bản tin sử dụng để thống kê và gửi lệnh từ POX xuống OpenvSwitch

Trang 18

Đầu tiên Controller sẽ gửi bản tin StatsRequest xuống Switch để yêu cầu các thông

số của từng luồng trong bảng Flow-table

Sau khi nhận được yêu cầu về các thông số của từng luồng trong bảng Flow-table

từ Controller, Switch sẽ thực hiện quá trình thu thập dữ liệu về các thông số của từng luồng và đóng gói nó vào một gói tin - StatisticResponse, gói tin này là một mảng với các phần tử bên trong chứa thông số chi tiết về từng luồng một

Controller sau khi nhận được bản tin trả lời từ Switch lên về những gì mà nó yêu cầu, nó sẽ thực hiện bóc tách gói tin StatisticResponse, duyệt các phần tử trong mảng

để lấy các thông số của các luồng Thực hiện việc tính toán, thống kê và đưa ra cảnh báo về các luồng có băng thông vi phạm mức ngưỡng do người quản trị đặt ra Từ đây, Controller có thể gửi bản tin FlowMod xuống Switch để thực hiện các chính sách với từng luồng vi phạm

Trang 19

Hình 1.6 Lưu đồ thuật toán tổng quan của trình ứng dụng trên Controller

Trang 20

1.3.1 Bản tin StatisticRequest

Hình 1.7 Cấu trúc bàn tin StatisticRequest-Flow

Cấu trúc bản tin StatisticReq có chứa một tiêu đề, gồm 2 bytes trường loại, 2 bytes trường cờ và một phần Body Bản tin này gồm các loại bản tin như sau : Flow – yêu cầu về thông số của từng luồng, Aggregate – yêu cầu về thông số của toàn bộ bảng Flow-table trong Switch mà nó gửi yêu cầu xuống, Port – yêu cầu về thông số của các cổng trong Switch, Queue – yêu cầu về thông số và tình trạng hàng đợi tại các cổng của Switch, Vendor – yêu cầu thông số về cấu hình của Switch mà nó gửi bản tin xuống

Trang 21

Ở trong đồ án này, chúng em sử dụng bản tin Flow – yêu cầu thông số về từng luồng trong bảng Flow-table của Switch Khi gửi gói tin xuống Switch thì trường match trong phần body của bản tin sẽ để trống, như vậy thì Switch sẽ hiểu là phải gửi thông số về tất cả các luồng mà nó có trong bảng Flow-table lên Controller

1.3.2 Bản tin StatisticResponse

Hình 1.8 Cấu trúc bản tin StatisticResponse – Flow

Trang 22

Hình 1.9 Cấu trúc trường match trong bản tin StatisticResponse

Cấu trúc bản tin StatsRes-Flow chia sẻ cấu trúc tương tự với StatsReq-Flow trừ phần body Trong phần body của StatsRes – Flow, em lấy ra các thông số: byte_count, packet_count, priority, dl_src, dl_dst, nw_src, nw_dst, tp_src, tp_dst để phục vụ cho việc tính toán và làm đầu vào cho module DropFlow

1.3.3 Bản tin FlowMod

Hình 1.10 Cấu trúc bản tin FlowMod

Trang 23

Bảng 1.1 Các loại thông tin điều khiển của bản tin FlowMod

Cấu trúc bản tin FlowMod bắt đầu với một header và được theo sau bởi các trường

match, cookie, command, idle_timeout, hard_timeout, priority, buffer_id, out_port, flags và action[] Trong đồ án này, chúng em dùng các trường: match, command (Modify), idle_timeout, prioriy để gửi lệnh từ Controller xuống Switch để thực hiện

lệnh Drop với các luồng vi phạm chính sách

Trang 24

CHƯƠNG 2 THỰC TRẠNG HỆ THỐNG MẠNG CỦA NHÀ CUNG CẤP DỊCH

VỤ INTERNET (ISP) TẠI VIỆT NAM

Chương này đưa ra thực trạng về hệ thống mạng chung của các nhà cung cấp dịch

vụ Internet tại Việt Nam với đại diện là VDC Online [21], phân tích các trường hợp tấn công DDOS về băng thông thực tế đã gặp phải Chương cũng đưa ra mô hình đề xuất triển khai OpenFlow Switch kết hợp với hệ thống hiện tại tại VDC Online

2.1 Sơ đồ hệ thống mạng của VDC Online

Hình 2.1 Sơ đồ tổng quát hệ thống mạng của VDC Online

Trang 25

Hình 2.1 là ví dù về sơ đổ tổng quát hệ thống mạng của VDC Online Về cơ bản, tất cả các ISP tại Việt Nam đều đang sử dụng mô hình mạng 3 lớp kinh điển như trên Các thành phần chính của mô hình này bao gồm:

Access: Lớp truy nhập, làm nhiệm vụ kết nối trực tiếp tới khách hàng Tùy vào mô hình và nhu cầu thực tế, lớp access có thể là các Ring hoặc các Switch đơn lẻ

Distribute: Lớp phân phối, làm nhiệm vụ kết nối các switch trong lớp access với lớp Core Lớp Distribute bao gồm các switch có thông lượng chuyển mạch lớn

Core: Lớp lõi, làm nhiệm vụ định tuyến, giới hạn băng thông, quản lý truy nhập Lớp Core là lớp quan trọng nhất, bao gồm các switch có năng lực cao nhất của hệ thống

Ngoài ra sẽ có thêm lớp BGP Router bao gồm các Router biên để kết nối BGP đến các ISP khác

2.2 Giám sát và quản trị mạng

Với hệ thống mạng lên tới hàng trăm, thậm chí hàng nghìn thiết bị thì việc vận hành khai thác là vô cùng phức tạp nếu như không có các công cụ quản lý, giám sát Các công cụ giám sát được sử dụng phổ biến ở các nhà mạng tại Việt Nam có thể phân

ra làm 2 loại chính:

- Giám sát băng thông: Có một số công cụ giám sát băng thông như MRTG [10] (hiện nay đang được sử dụng tại VDC Online), Cacti [11] (hiện nay đang được sử dụng tại FPT Telecom, Viettel IDC) MRTG và Cacti sử dụng SNMP để lấy thông tin về băng thông trên từng cổng của thiết bị mạng, tổng hợp lại và vẽ thành biểu đồ băng thông Người quản trị khi sử dụng biểu đồ băng thông sẽ có cái nhìn bao quát về lịch

sử thông lượng dữ liệu đi ra, vào cổng thiết bị đó Hình 2.2 bên dưới là một ví dụ về giám sát băng thông thiết bị bằng công cụ Cacti Giao diện cơ bản gồm 2 phần: Phần Menu và phần biểu đồ

Trang 26

Hình 2.2 Giám sát băng thông hệ thống bằng Cacti (Nguồn: [18])

- Giám sát trạng thái: Có một số công cụ giám sát trạng thái phổ biến như Nagios

[12] (hiện nay đang được sử dụng tại Viettel IDC, VDC Online), Opsview [13] (hiện

đang được sử dụng tại FPT Telecom), Zabbix [14] (đang được sử dụng tại một số ISP

khác) Các công cụ giám sát trạng thái sẽ chủ yếu tập trung vào tình trạng các thông số

phần cứng cũng như phần mềm của thiết bị, như CPU, RAM, ổ cứng, FAN, POWER,

trạng thái UP/DOWN Các công cụ này có thể có hoặc không tổng hợp các thông số

trạng thái để vẽ thành biểu đồ Hình 2.3 bên dưới là một ví dụ về giám sát trạng thái

thiết bị bằng công cụ Nagios được lấy từ hệ thống giám sát của Viettel IDC Trạng thái

thiết bị được thể hiện thông qua màu sắc tương ứng: xanh – bình thường, vàng – cảnh

báo, đỏ - lỗi

Toàn bộ các hệ thống giám nói trên luôn đi kèm hệ thống cảnh báo Có nhiều loại

cảnh báo, nhưng phổ biến nhất là cảnh báo bằng email, sms, cảnh báo bằng đèn hiệu và

âm thanh

Hệ thống giám sát cung cấp cho người quản trị cái nhìn tổng quan cũng như chi tiết

về hệ thống Đây là cơ sở trực quan và hữu dụng nhất để người quản trị có thể phát

hiện sớm các tấn công vào hệ thống mạng của mình

Trang 27

Hình 2.3 Giám sát trạng thái hệ thống bằng Nagios (nguồn: Viettel IDC)

2.3 Các hình thức tấn công mạng

Các nhà cung cấp luôn là đơn vị chịu nhiều cuộc tấn công mạng nhất Có những cuộc tấn công nhằm vào chính ISP, cũng có những cuộc tấn công nhằm vào khách hàng

Hiện nay, có rất nhiều hình thức tấn công mạng: DOS, DDOS, SYN FLOOD, MAC FLOOD Đứng trên góc độ quản trị mạng, các hình thức tấn công sẽ chia làm 2 loại thường gặp nhất:

Tấn công vào băng thông: Hacker sẽ đẩy luồng băng thông cực lớn làm nghẽn

băng thông của nạn nhân, khiến mọi truy cập tới nạn nhân bị gián đoạn

Trang 28

Hình 2.4 Tấn công vào băng thông (nguồn: VDC Online)

Hình 2.4 là một ví dụ về một cuộc tấn công DDOS sử dụng cơ chế tràn băng thông Dữ liệu được lấy trong báo cáo mạng tháng 7 của VDC Online Biểu đồ cho thấy, luồng dữ liệu tấn công đi theo hướng Output – đi ra khỏi cổng thiết bị Khi chưa có tấn công, băng thông output rất bé, xấp xỉ 0 Thời điểm bắt đầu tấn công, băng thông output tăng đột biến lên khoảng 1Gbps và không tăng nữa Sở dĩ băng thông đạt ngưỡng 1Gbps vì đây chính là dung lượng của kênh truyền Kênh truyền của nạn nhân khi đó đã đạt ngưỡng và nghẽn, dẫn tới mọi kết nối tới server bị DDOS sẽ gián đoạn

Tấn công vào khả năng xử lý của thiết bị: Hacker sẽ liên tục đẩy số lượng

request cực lớn làm vượt ngưỡng khả năng xử lý của thiết bị, khiến thiết bị không thể

xử lý thêm bất cứ request nào, qua đó làm gián đoạn dịch vụ của nạn nhân

Hình 2.5 Tấn công vào khả năng xử lý của thiết bị (Nguồn: VDC Online)

Trang 29

Hình 2.5 là một ví dụ về một cuộc tấn công DDOS sử dụng cơ chế làm vượt ngưỡng CPU Dữ liệu được lấy trong báo cáo mạng tháng 7 của VDC Online Biểu đồ cho thấy, CPU của thiết bị khi chưa có tấn công đang ở mức 50% Các đỉnh (peak) khi này chỉ là các thời điểm CPU tăng nhẹ vì phải xử lý nhiều tác vụ và giảm ngay trong thời gian ngắn Thời điểm bắt đầu tấn công, CPU tăng vọt lên 100%, thậm chí đồ thị còn thể hiện CPU đạt tới 120% Sở dĩ CPU vượt lên 120% là do cơ chế tính toán của công

cụ, mặt khác còn phụ thuộc khả năng ép xung nhịp của CPU Khi CPU đạt 100%, thiết

bị không có khả năng xử lý thêm bất cứ gói tin nào nữa, dẫn tới mọi kết nối tới server

bị DDOS sẽ gián đoạn

Quản trị mạng sẽ dựa vào các thông tin cảnh báo từ hệ thống giám sát để phát hiện tấn công Sau đó, tùy vào loại hình tấn công để đưa ra phương án xử lý

2.4 Phân tích tình huống tấn công DDOS thực tế tại VDC Online

Với môi trường phòng thí nghiệm, rất khó để có thể giả lập tấn công DDOS với dữ liệu giống với môi trường thật Để hiểu sâu hơn về quá trình phát hiện và xử lý một cuộc tấn công DDOS theo cách truyền thống của người quản trị mạng, em xin đưa ra

dữ liệu hình ảnh từ VDC Online

Hình 2.6 dưới đây là mô hình mô phỏng tấn công Hacker sẽ đứng từ ngoài Internet, tấn công vào một server chạy dịch vụ Server này đang thuê Internet của VDC Online

Mô hình bên trong của VDC Online ta sẽ quan tâm tới 2 lớp: Access và Distribute

Hệ thống giám sát băng thông sẽ giám sát toàn bộ cổng Uplink của hệ thống Switch Distribute (các cổng ae – aggregated ethernet) và cảnh báo khi có băng thông bất thường

Trang 30

Hình 2.6 Sơ đồ tấn công DDOS

Trong quá trình làm việc tại VDC Online ở vị trí quản trị mạng, em đã có cơ hội gặp và xử lý rất nhiều vụ tấn công DDOS nhằm vào các khách hàng thuê đường truyền của công ty Trung bình mỗi tuần sẽ có từ 2 tới 3 vụ tấn công như vậy

Lấy ví dụ thực tế về một trường hợp khách hàng bị tấn công DDOS bằng băng thông, hệ thống giám sát sẽ đưa ra hình ảnh kèm cảnh báo tới người quản tri

Ngày đăng: 25/07/2017, 21:41

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] ONF White Paper (2012, April 13), Software-Defined Networking: The New Norm for Networks [Online]. Available: https://www.opennetworking.org Link
[3] James Hamilton (2011, May 20), Software Load Balancing using Software Defined Networking [Online]. Available: http://perspectives.mvdirona.com Link
[5] POX, Github; URL: https://github.com/noxrepo/pox, truy nhập cuối ngày 27/05/2015 Link
[9] Python, Python tutorial, URL: http://docs.python.org/2/tutorial/, truy nhập lần cuối ngày 27/05/2015 Link
[10] MRTG. MRTG Doc, URL https://oss.oetiker.ch/mrtg/doc/index.en.html, truy nhập lần cuối ngày 01/06/2015 Link
[11] Cacti, Cacti download, URL: http://www.cacti.net/download_cacti.php truy nhập lần cuối ngày 04/06/2015 Link
[12] Nagios, Nagios Documentation, URL: http://www.cacti.net/download_cacti.php truy nhập lần cuối ngày 15/05/2015 Link
[13] Opsview, Opsview Documentation, URL: https://docs.opsview.com/doku.php truy nhập lần cuối ngày 20/4/2015 Link
[14] Zabbix, Zabbix Documentation, URL: http://www.zabbix.com/documentation/ truy nhập lần cuối ngày 10/08/2015 Link
[15] SSDP, https://wiki.wireshark.org/SSDP truy nhập lần cuối ngày 01/08/2015 [16] Wireshark https://www.wireshark.org/download.html truy nhập lần cuối ngày1/4/2015 Link
[17] Catalyst Switched Port Analyzer http://www.cisco.com/c/en/us/support/docs/switches/catalyst-6500-series-switches/10570-41.html truy nhập lần cuối ngày 10/8/2015 Link
[19] Iperf URL: https://iperf.fr/ truy nhập lần cuối ngày 10/7/2015 Link
[20] Iperf Documentation, URL https://iperf.fr/iperf-doc.php truy nhập lần cuối ngày 10/7/2015 Link
[21] VDC Online, URL http://vdconline.vn/ truy nhập lần cuối ngày 10/09/2015 Link

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w