Tải bản đầy đủ (.pdf) (61 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.7 MB, 61 trang )

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

Hà Nội – Năm 2015


Luận văn thạc sĩ

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

LỜI CAM ĐOAN
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

1


Luận văn thạc sĩ

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

MỤC LỤC
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

2


Luận văn thạc sĩ

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

3.2.1 Mục đích và phương thức hoạt động ........................................................... 36
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

3


Luận văn thạc sĩ

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

DANH SÁCH HÌNH VẼ
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


4


Luận văn thạc sĩ

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

DANH SÁCH THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT
Từ viết tắt

Thuật ngữ tiếng anh

Ý nghĩa

SDN

Software Defined Network

Mạng lập trình được

Open Flow

Luồng mở

FPGA

Field-Programmable Gate Arrays

IP
MAC


Internet Protocol
Media Access Control

SSL

Secure Sockets Layer

GUI
AP
PC
VIP

Graphical User Interface
Access Point
Personal Computer
Very Important Person
Controller
Server, Client
Control Path
Data Path
StatsRequest
StatsResponse
FlowMod
Internet Service Provider
Switch
Router
Control Plane
Data Plane
Virtulization


ISP

BGP

Border Gateway Protocol

MRTG

Multi Router Traffic Grapher

DOS
DDOS
Ae

Denial of Service
Distributed Denial of Service
aggregated ethernet

5

Mảng cổng lập trình được
dạng trường
Giao thức liên mạng
Điều khiển đa truy nhập
Giao thức bảo mật cá mã
hóa thông tin
Giao diện người dùng
Điểm truy cập không dây
Máy tính cá nhân

Người quan trọng
Bộ điều khiển
Máy chủ, máy trạm
Mặt điều khiển
Mặt dữ liệu
Bản tin yêu cầu thông số
Bản tin trả lời thông số
Bản tin chỉnh sửa
Nhà mạng viễn thông
Thiết bị chuyển mạch
Thiết bị định tuyến
Mặt phẳng điều khiển
Mặt phẳng dữ liệu
Ảo hóa
Giao thức định tuyến liên
vùng
Công cụ giám sát mạng
bằng biểu đồ
Từ chối dịch vụ
Từ chối dịch vụ phân tán
Cổng mạng tổng hợp


Luận văn thạc sĩ

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

Traffic
SSDP


Simple Service Discovery Protocol

ARP
CAM

Core
Distribute
Access
Address Resolution Protocol
Content Addressable Memory

ACL

Access Control List

VLAN

Virtual Local Area Network

TCP

Transmission Control Protocol

UDP

User Datagram Protocol

CPU
RAM


Central Processing Unit
Random Acccess Memory

6

Thông lượng
Giao thức phát hiện dịch vụ
đơn giản
Lõi
Phân tán
Truy nhập
Giao thức phân giải địa chỉ
Bộ nhớ địa chỉ nội dung
Danh sách điều khiển truy
cập
Mạng riêng ảo
Giao thức điều khiển vận
chuyển
Giao thức dữ liệu ngắn
người dùng.
Khối xử lý trung tâm.
Bộ nhớ truy cập ngẫu nhiên


Luận văn thạc sĩ

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

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à

7


Luận văn thạc sĩ

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


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.

8


Luận văn thạc sĩ


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

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:
Mục tiêu:
 Nghiên cứu về công nghệ SDN sử dụng OpenFlow, các vấn đề về kỹ thuật và ứng dụng
trong hệ thống mạng
 Ứng dụng kỹ thuật SDN sử dụng OpenFlow vào việc bảo mật trong mô hình mạng của
ISP, cụ thể là phân tích dữ liệu tấn công và đưa ra cảnh báo phát hiện cho người quản
trị.
Bố cục 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.

9



Luận văn thạc sĩ

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

 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

10


Luận văn thạc sĩ

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

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).

11


Luận văn thạc sĩ

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

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

12


Luận văn thạc sĩ

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

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-asyougrow (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.

13


Luận văn thạc sĩ

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

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

14


Luận văn thạc sĩ

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

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.
1.2.2 Kiến trúc Openflow
Một thiết bị OpenFlow bao gồm ít nhất 3 thành phần được mô tả như trong hình
1.4:
Flow Table: một liên kết hành động với mỗi luồng, giúp thiết bị xử lý các luồng
thế nào,
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ị.

15


Luận văn thạc sĩ

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

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

16


Luận văn thạc sĩ

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

Đầ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.

17


Luận văn thạc sĩ

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

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

18


Luận văn thạc sĩ

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

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.

19


Luận văn thạc sĩ

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 đồ á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

20


Luận văn thạc sĩ

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

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

21


Luận văn thạc sĩ

Field

Command

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

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

0x0000

Modify

0x0001

ModifyStrict

0x0002


Delete

0x0003

DeleteStrict

0x0004

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.
1.4 Kết luận
Chương 1 đã cho chúng ta những kiến thức về kiến trúc mạng thế hệ mới - mạng
lập trình được SDN, sự so sánh với kiến trúc mạng cũ. Tiếp theo là giao thức Openflow
và các bản tin trao đổi cơ bản trong hệ thống mạng dùng Openflow.

22


Luận văn thạc sĩ

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

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

23


Luận văn thạc sĩ

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

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 đồ.

24


×