ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
LÊ TẤN LONG
NGHIÊN CỨU XÂY DỰNG HỆ THỐNG PHÁT
HIỆN BẤT THƯỜNG CHO MẠNG SDN SỬ
DỤNG CÁC KỸ THUẬT MACHINE LEARNING
Chuyên ngành: Khoa học Máy tính
Mã số: 8480101
LUẬN VĂN THẠC SỸ
TP. HỒ CHÍ MINH, tháng 8 năm 2021
CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA - ĐHQG - HCM
Cán bộ hướng dẫn khoa học : PGS. TS. Trần Ngọc Thịnh
Cán bộ chấm nhận xét 1 : PGS. TS. Đinh Đức Anh Vũ
Cán bộ chấm nhận xét 2 : TS. Bùi Trọng Tú
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG
Tp. HCM ngày 05 tháng 08 năm 2021 (trực tuyến).
Thành phần Hội đồng đánh giá Luận văn thạc sĩ gồm:
1. Chủ tịch: PGS. TS. PHẠM QUỐC CƯỜNG
2. Thư ký: TS. LÊ TRỌNG NHÂN
3. Phản biện 1: PGS. TS. ĐINH ĐỨC ANH VŨ
4. Phản biện 2: TS. BÙI TRỌNG TÚ
5. Ủy viên: PGS. TS. TRẦN NGỌC THỊNH
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý
chuyên ngành sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG
TRƯỞNG KHOA KHOA HỌC
VÀ KỸ THUẬT MÁY TÍNH
ĐẠI HỌC QUỐC GIA TP.HCM
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: LÊ TẤN LONG
Ngày, tháng, năm sinh: 25/05/1995
Ngành: Khoa học máy tính
MSHV: 1870385
Nơi sinh: Thừa Thiên - Huế
Mã số: 8480101
I. TÊN ĐỀ TÀI: NGHIÊN CỨU XÂY DỰNG HỆ THỐNG PHÁT HIỆN BẤT
THƯỜNG CHO MẠNG SDN/NFV SỬ DỤNG CÁC KỸ THUẬT MACHINE
LEARNING .
II. NHIỆM VỤ VÀ NỘI DUNG:
• Tìm hiểu về SDN, các vấn đề về bất thường mạng, các kỹ thuật
Machine Learning và các cơ sở lý thuyết liên quan.
• Thiết kế và xây dựng mô hình phát hiện xâm nhập mạng bất thường
sử dụng các kĩ thuật Machine Learning.
• Tích hợp mô hình phát hiện xâm nhập mạng bất thường sử dụng các
kĩ thuật Machine Learning vào hệ thống SDN.
• Xây dựng mô hình đánh giá, kiểm thử hệ thống.
III. NGÀY GIAO NHIỆM VỤ: 22/02/2021
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 05/08/2021
V. CÁN BỘ HƯỚNG DẪN: PGS.TS. TRẦN NGỌC THỊNH.
CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)
Tp. HCM, ngày.....tháng.....năm 20....
CHỦ NHIỆM BỘ MÔN ĐÀO TẠO
(Họ tên và chữ ký)
TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
(Họ tên và chữ ký)
LỜI CÁM ƠN
Tôi xin chân thành cám ơn PGS.TS. Trần Ngọc Thịnh và các cộng sự tại
bộ môn Kỹ thuật Máy tính, Khoa Khoa học và Kỹ thuật Máy Tính, Đại học
Bách Khoa - ĐHQG-HCM đã hỗ trợ, đồng hành, giúp đỡ, tạo những điều
kiện tốt nhất để tôi hoàn thành đề tài luận văn này.
Tp. Hồ Chí Minh, tháng 8 năm 2021
Lê Tấn Long
i
TÓM TẮT LUẬN VĂN THẠC SĨ
Software Defined-Networking (SDN) với ý tưởng “mạng có khả năng lập
trình” được đánh giá là mô hình mạng tương lai. Khác với mạng truyền
thống, trong SDN, các thành phần điều khiển được tách bạch khỏi thành
phần chuyển tiếp để tích hợp vào một lớp điều khiển tập trung. Từ đó, việc
triển khai, vận hành và quản lý mạng trở nên dễ dàng hơn; các chức năng
mạng mới có thể được phát triển và cập nhật một cách linh động, hiệu quả
về mặt chi phí. Mặc dù hứa hẹn mang lại nhiều lợi ích, tuy nhiên, việc triển
khai SDN trong thực tế vẫn đang đối mặt với nhiều thách thức, trong đó có
các vấn đề liên quan đến bảo mật và an ninh mạng. Cụ thể, trong kiến trúc
SDN, nhiều thành phần mạng và các lớp giao tiếp mạng mới được hình
thành, do đó có thể dễ dàng bị khai thác bởi các người dùng có mục đích
xấu. Những năm gần đây, Machine Learning (ML) được nghiên cứu và ứng
dụng rộng rãi trong nhiều lĩnh vực, đặc biệt trong mạng máy tính và an
ninh mạng. Trong đề tài này, tác giả đề xuất giải pháp xây dựng hệ thống
phát hiện xâm nhập bất thường (ANIDS) sử dụng các kỹ thuật ML để tích
hợp bảo vệ mạng SDN. Hệ thống đề xuất xây dựng mô hình SSAE-CGANRF cho ANIDS, trong đó SSAE (Stacked & Sparse Autoencoder) được sử
dụng để cải thiện hiệu quả trong quá trình học các đặc trưng từ dữ liệu
mạng; CGAN (Conditional Generative Adversarial Network) được sử dụng
để giải quyết vấn đề mất cân bằng dữ liệu trong các tập dữ liệu mạng; và
RF(Random Forest) được sử đụng để phân loại và phát hiện dữ liệu mạng
bất thường. Ngoài ra, tác giả khai thác tích hợp nền tảng NetFPGA vào
ANIDS để tăng tốc xử lý gói tin, nhằm đảm bảo việc phân loại và phát hiện
bất thường diễn ra với tốc độ cao, độ trễ thấp. Kết quả thực nghiệm cho
thấy ANIDS mang lại hiệu quả tốt trong việc tăng cường bảo mật cho hệ
thống SDN, giúp phát hiện sớm nhiều phương thức xâm nhập bất thường
khác nhau với độ chính xác cao, hỗ trợ bộ điều khiển SDN kịp thời ngăn
chặn tấn công.
Từ khóa - SDN, Machine Learning, IDS, An ninh mạng,
ii
ABSTRACT
Software-Defined Networking (SDN) has emerged as next-generation
paradigm promising to build a vendor-neutral networking environment.
By decoupling forwarding plane from control plane, SDN shifts network
intelligent logic into a logically centralized controller, thereby helping
address many thorny problems in conventional network architecture.
Despite of offering immense benefits, SDN faces a range of new
challenges beyond those of existing in traditional networks, especially in
network security. Particularly, the appearance of new components and
interfaces in SDN architecture can be vulnerable by cyber security
attacks, which have seen a tremendous dangerous growth in recent years.
Opportunely, Machine Learning (ML) has meanwhile come into being the
most powerful weapon to deal with security issues, especially in network
anomaly detection and prevention. ML provides cognitive capabilities for
identifying potential security threats and vulnerabilities, thereby can be
applied in solving the most common tasks of cyber security such as
regression, prediction, or classification. In this paper, we suggests an
Anomaly-based Network Intrusion Detection System (ANIDS) for early
detecting anomaly network traffic, thereby promptly protecting SDN
networks from malicious activities. The proposed ANIDS is built based on
a combination of Machine Learning techniques including Stacked and
Sparse Autoencoder (SSAE) for reducing dimension and learning
meaningful feature representation in network data; Conditional
Generative Adversarial Network (CGAN) for solving data imbalance
problem in ANIDS’s datasets; and Random Forest for classifying anomaly
traffic. Moreover, we leverage NetFPGA, a high-speed networking
platform, to accelerate the packet processing task for ANIDS. By empirical
evaluating on NSL-KDD and UNSW-NB15 datasets, we show that the
proposed ANIDS is capable of fast classification network traffic with high
detection accuracy rate and relatively low false negative/positive rate.
Keywords: SDN, Machine Learning, IDS, Cyber Security.
iii
iv
Lời cam đoan
Tôi xin cam đoan ngoại trừ các trường hợp tham khảo cụ thể đối với
công việc của người khác thì nội dung này là bản gốc và chưa được đệ
trình toàn bộ nội dung cho bất kỳ công trình nào khác. Nếu không đúng
như đã nêu trên, tôi xin hoàn toàn chịu trách nhiệm về đề tài của mình.
Một phần của công trình này đã được công bố dưới hình thức bài báo
khoa học:
1. Long Tan Le and Tran Ngoc Thinh, “Enhancing Security and
Robustness for SDN-Enabled Cloud Networks,” In Symposium of
Computer Science and Engineering (SCSE 2021), Ho Chi Minh,
Vietnam, 2021.
Lê Tấn Long
MỤC LỤC
Lời cám ơn
i
Tóm tắt Luận Văn Thạc sĩ
ii
Lời cam đoan
iv
Danh sách hình vẽ
vii
Danh sách bảng
ix
1 GIỚI THIỆU
1.1 Mục tiêu đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Ý nghĩa đề tài. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Nội dung đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
4
5
5
2 CƠ SỞ LÝ THUYẾT
2.1 Software-Defined Networking . . . . . . . . . . .
2.2 Nền tảng NetFPGA . . . . . . . . . . . . . . . . . .
2.2.1 Field-Programmable Gate Array . . . . . .
2.2.2 Kiến trúc NetFPGA . . . . . . . . . . . . . .
2.3 Hệ thống phát hiện xâm nhập mạng bất thường.
2.4 Học máy . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Học sâu . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1 Mạng nơ-ron sâu . . . . . . . . . . . . . . .
2.5.2 Mạng tự mã hóa . . . . . . . . . . . . . . .
2.5.3 Mạng sinh đối nghịch . . . . . . . . . . . .
2.6 Tập dữ liệu . . . . . . . . . . . . . . . . . . . . . . .
2.6.1 DARPA 98 . . . . . . . . . . . . . . . . . . .
2.6.2 KDD Cup 99 . . . . . . . . . . . . . . . . . .
2.6.3 NSK-KDD . . . . . . . . . . . . . . . . . . .
2.6.4 UNSW-NB15 . . . . . . . . . . . . . . . . .
v
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
9
9
9
12
17
27
27
28
31
33
33
34
35
36
MỤC LỤC
vi
3 TỔNG QUAN TÀi LIỆU
38
3.1 Công trình liên quan . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.1 Ngoài nước . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.2 Trong nước . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4 PHƯƠNG PHÁP NGHIÊN CỨU
4.1 Tổng quan vấn đề nghiên cứu . . . . . . . . . . . . . . . . . . .
4.1.1 Vấn đề bảo mật trong SDN . . . . . . . . . . . . . . . .
4.1.2 Vấn đề mất cân bằng dữ liệu . . . . . . . . . . . . . . .
4.1.3 Vấn đề lựa chọn đặc trưng . . . . . . . . . . . . . . . .
4.1.4 Vấn đề tốc độ xử lý . . . . . . . . . . . . . . . . . . . . .
4.2 Tổng quan hệ thống đề xuất . . . . . . . . . . . . . . . . . . . .
4.3 Thiết kế và hiện thực ANIDS. . . . . . . . . . . . . . . . . . . .
4.3.1 Tiền xử lý dữ liệu (Data Preprocessing) . . . . . . . . .
4.3.2 Rút gọn đặc trưng (Dimensionality Reduction) . . . .
4.3.3 Tạo dữ liệu cân bằng dựa trên Conditional
Generative Adversarial Networks . . . . . . . . . . . .
4.3.4 Xây dựng mô hình phân loại sử dụng thuật toán hỗn
hợp (Ensemble Classification) . . . . . . . . . . . . . .
4.4 Tăng tốc xử lý ANIDS sử dụng nền tảng NetFPGA . . . . . . .
4.5 Tích hợp bộ phát hiện bất thường với hệ thống SDN . . . . .
5 THỰC NGHIỆM VÀ ĐÁNH GIÁ
5.1 Các tiêu chí đánh giá . . . . . . . . . . . . . . . . . . . .
5.1.1 Khả năng phân loại. . . . . . . . . . . . . . . . .
5.1.2 Thời gian đáp ứng . . . . . . . . . . . . . . . . .
5.1.3 Khả năng mở rộng . . . . . . . . . . . . . . . . .
5.2 Kết quả thực nghiệm . . . . . . . . . . . . . . . . . . . .
5.2.1 Thông số tập dữ liệu . . . . . . . . . . . . . . . .
5.2.2 Kết quả tạo mẫu dữ liệu sử dụng mạng CGAN.
5.2.3 Kết quả đánh giá khả năng phân loại ANIDS. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
46
46
46
50
51
53
54
55
55
60
. 64
. 68
. 70
. 73
.
.
.
.
.
.
.
.
76
76
76
79
79
80
80
80
84
6 KẾT LUẬN
87
Công bố khoa học
90
Tài liệu tham khảo
98
Lý lịch trích ngang
105
DANH SÁCH HÌNH VẼ
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
Kiến trúc mạng SDN . . . . . . . . . . . . . . . . . . . . . . .
Nền tảng NetFPGA-10G . . . . . . . . . . . . . . . . . . . . .
Kiến trúc nền tảng NetFPGA-10G . . . . . . . . . . . . . . .
Nền tảng NetFPGA-SUME . . . . . . . . . . . . . . . . . . .
Kiến trúc nền tảng NetFPGA-SUME . . . . . . . . . . . . .
Phân loại hệ thống phát hiện xâm nhập . . . . . . . . . . .
Các phương pháp học phổ biến trong Machine Learning
Các nhóm thuật toán phổ biến trong Machine Learning .
Cấu trúc của một mạng nơ-ron sâu . . . . . . . . . . . . . .
Kiến trúc của mô hình Autoencoder . . . . . . . . . . . . .
Quá trình huấn luyện của mô hình Autoencoder . . . . .
Kiến trúc GAN . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
7
10
11
11
11
13
17
21
28
29
30
31
4.1
4.2
4.3
4.4
4.5
4.6
4.7
Các nguy cơ bảo mật trong mạng SDN . . . . . . . . . . . . . .
Các đặc tính của ANIDS . . . . . . . . . . . . . . . . . . . . . . .
Phân bố các lớp trong tập dữ liệu NSL-KDD . . . . . . . . . .
Phân bố các lớp trong tập dữ liệu UNSW-NB15 . . . . . . . .
Các phương pháp rút gọn đặc trưng trong Machine Learning
Mô hình tổng quan hệ thống đề xuất . . . . . . . . . . . . . . .
Các thành phần trong hệ thống phát hiện xâm nhập bất
thường . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Các phương pháp tiền xử lý dữ liệu trong Machine Learning
Kiến trúc của mô hình Autoencoder . . . . . . . . . . . . . . .
Quá trình huấn luyện của các mô hình Autoencoder . . . . .
Kiến trúc Stack & Spare Autoencoder . . . . . . . . . . . . . . .
Kiến trúc mạng CGAN . . . . . . . . . . . . . . . . . . . . . . . .
Quy trình sinh dữ liệu đối nghịch sử dụng mạng CGAN . . .
Mô hình hoạt động của thuật toán Random Forest . . . . . .
Tăng tốc xử lý ANIDS sử dụng nền tảng NetFPGA . . . . . . .
Kiến trúc tiền xử lý gói tin sử dụng nền tảng NetFPGA . . . .
47
49
50
51
52
54
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
vii
.
.
.
.
.
.
.
.
.
.
.
.
55
57
60
62
63
66
67
69
72
72
DANH SÁCH HÌNH VẼ
viii
4.17 Kiến trúc Software-Defined Networking tích hợp IDS . . . .
74
5.1 Phân bố các lớp trong tập dữ liệu NSL-KDD trước khi sinh tạo
5.2 Phân bố các lớp trong tập dữ liệu NSL-KDD sau khi sinh tạo
5.3 Phân bố các lớp trong tập dữ liệu UNSW-NB15 trước khi
sinh tạo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Phân bố các lớp trong tập dữ liệu UNSW-NB15 sau khi sinh
tạo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5 Biểu đồ so sánh thông số đánh giá của các mô hình ANIDS
trên tập dữ liệu NSL-KDD . . . . . . . . . . . . . . . . . . . . . .
5.6 Biểu đồ so sánh thông số đánh giá của các mô hình ANIDS
trên tập dữ liệu UNSW-NB15 . . . . . . . . . . . . . . . . . . . .
82
82
83
83
85
85
DANH SÁCH BẢNG
2.1 Các đặc trưng của tập dữ liệu NSL-KDD . . . . . . . . . . . . .
2.2 Các đặc trưng của tập dữ liệu UNSW-NB15 . . . . . . . . . . .
36
37
3.1 Một số giải pháp bảo mật dựa trên kĩ thuật Machine
Learning cho SDN . . . . . . . . . . . . . . . . . . . . . . . . . .
45
4.1
4.2
4.3
4.4
48
64
64
71
So sánh các kỹ thuật phát hiện trong IDS . . . . . . . . . . . .
Các tham số cấu hình cho SSAE trên tập dữ liệu NSL-KDD .
Các tham số cấu hình cho SSAE trên tập dữ liệu UNSW-NB15
Tài nguyên trên chip FPGA Virtex-7 XC7V690T . . . . . . . . .
5.1
5.2
5.3
5.4
Confusion Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . .
Phân bố dữ liệu trong tập dữ liệu NSL-KDD . . . . . . . . . .
Phân bố dữ liệu trong tập dữ liệu UNSW-NB15 . . . . . . . .
Tập dữ liệu huấn luyện NSL-KDD mới sau khi sinh dữ liệu
bằng CGAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5 Tập dữ liệu huấn luyện UNSW-NB15 mới sau khi sinh dữ
liệu bằng CGAN . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6 Confusion Matrix trên tập dữ liệu NSL-KDD . . . . . . . . . .
5.7 Confusion Matrix trên tập dữ liệu UNSW-NB15 . . . . . . . .
ix
77
80
80
81
81
84
84
1
GIỚI THIỆU
Trải qua gần 50 năm hình thành và phát triển, mạng máy tính nói
chung và Internet1 nói riêng đã dần trở thành một tài nguyên căn bản của
cuộc sống. Theo báo cáo mới nhất của tổ chức Statista [1], tính đến năm
2021, trên thế giới có khoảng 4.66 tỉ người dùng Internet, chiếm tỉ lệ xấp xỉ
59.5% tổng dân số thế giới. Những con số này vẫn đang trên đà tăng
trưởng từng ngày khi không chỉ máy tính mà những vật dụng phổ thông
khác như ô-tô, xe máy, điện thoại di động, đồng hồ, mắt kính, v.v.. hiện
nay đều có thể tham gia vào các hệ thống mạng. Hệ quả của sự gia tăng
trong nhu cầu sử dụng Internet là quá trình liên tục phân cấp và mở rộng
quy mô của các hệ thống mạng, gây khó khăn cho việc vận hành quản lý.
Thêm vào đó, kiến trúc mạng truyền thống cũng xuất hiện những hạn chế
lớn khác như:
• Cấu hình mạng tốn nhiều thời gian và dễ bị lỗi: Trong quá trình
thiết lập mạng, việc thực hiện các tác vụ như thêm, xóa hoặc chỉnh
sửa cấu hình trên một thiết bị có thể dẫn đến việc phải cấu hình lại
nhiều thiết bị hay thậm chí toàn bộ mạng trong trường hợp thiết bị
đó được đặt ở vị trí quan trọng. Cấu hình cho từng thiết bị sẽ tiêu tốn
rất nhiều thời gian và rất dễ xảy ra sai xót.
• Thiết bị được sản xuất trên những phần cứng chuyên dụng : Hầu
1 https://en.wikipedia.org/wiki/Internet
1
2
hết các thiết bị mạng được thiết kế dựa trên vi mạch ASIC 2 chuyên
dụng khiến cho mỗi thiết bị chỉ thực hiện được một số chức năng chỉ
định, khó khăn trong việc điều chỉnh hoặc nâng cấp cải tiến.
• Nhiều nhà cung cấp thiết bị, dịch vụ khác nhau: Việc sử dụng các
thiết bị mạng được tạo ra và đóng gói theo các tiêu chuẩn, công nghệ
khác nhau từ nhiều nhà sản xuất đòi hỏi người quản trị mạng phải
am tường kiến thức do các nhà sản xuất cung cấp đồng thời cũng gây
khó khăn trong việc nghiên cứu, thử nghiệm các chuẩn mạng cũng
như giao thức mạng mới.
• Phức tạp trong việc triển khai các tổ hợp mạng : Sự gia tăng về cả
số lượng lẫn tính đa dạng của các thiết bị mạng sẽ tạo ra các thách
thức không nhỏ đối với các nhà cung cấp dịch vụ mạng, đặc biệt là
trong các vấn đề về kết hợp giữa các thiết bị để tạo thành những tổ
hợp mạng an toàn, có cấu trúc.
Với những hạn chế nói trên, trong tương lai không xa, việc triển khai,
vận hành, quản lý các hệ thống mạng truyền thống sẽ trở nên cực kỳ phức
tạp và gặp nhiều trở ngại. Do đó, những năm gần đây, nhiều công nghệ, kĩ
thuật đã được nghiên cứu, ứng dụng để có thể thay thế, cải tiến kiến trúc
mạng này. Những xu hướng công nghệ như ảo hóa chức năng mạng
(Network Functions Virtualization - NFV), điện toán đám mây (Cloud
Computing) đã và đang đem lại những sự chuyển biến tích cực cho lĩnh
vực mạng máy tính trong những năm gần đây. Song song đó là sự xuất
hiện của ý tưởng "mạng khả lập trình"(Software-Defined Networking SDN), một khái niệm mới thu hút đông đảo sự chú ý đến từ các nhóm
nghiên cứu cũng như các bộ phận công nghiệp trên toàn thế giới. SDN
được đánh giá là kiến trúc mạng linh động, dễ quản lý, khả mở, và hiệu
quả trong việc triển khai các dịch vụ mạng phức tạp phù hợp với nhu cầu
của các người dùng và thiết bị hiện nay. Khác với kiến trúc truyền thống,
SDN thực hiện cơ chế tách bạch việc kiểm soát luồng điều khiển mạng
với luồng dữ liệu. Nói cách khác, các chức năng điều khiển mạng trong
SDN sẽ được quản lý tập trung trên một lớp điều khiển, khi đó các thiết bị
mạng sẽ chịu trách nhiệu thực hiện quá trình chuyển tiếp các luồng dữ
liệu dựa trên sự chỉ đạo của các bộ điểu khiển.
2 ASIC (Application-Specific Integrated Circuit): các vi mạch tích hợp chuyên dụng trong
lĩnh vực điện tử học
3
Từ một khái niệm mang tính lý thuyết, SDN đang dần trở thành một
giải pháp khả thi khi các bộ tiêu chuẩn và giao thức dành riêng cho kiến
trúc này đã dần hoàn thiện. Một số bộ tiêu chuẩn và giao thức SDN tiêu
biểu hiện này có thể kể đến như OpenFlow [2], ForCES [3], v.v.. Trong đó,
OpenFlow, phát triển bởi một nhóm các kĩ sư tại đại học Stanford vào năm
2008, được biết đến là một trong những bộ giao thức SDN hoàn thiện nhất.
Kể từ khi phiên bản đầu tiên của OpenFlow [4] chính thức được công bố
vào năm 2009, đến nay, bộ giao thức này đã được cải tiến qua nhiều phiên
bản với các đặc điểm kĩ thuật ngày càng được hoàn chỉnh và tối ưu. Các bộ
chuyển mạch SDN sử dụng OpenFlow (OpenFlow Switch) cũng đã được
hiện thực và vận hành trên các nền tảng ảo hóa hay điện toán đám mây
như OpenVSwitch [5]. Ngoài ra, một số sản phẩm phần cứng cũng đã được
phát triển để cải thiện hiệu năng, tốc độ, băng thông cho OpenFlow như
NetFPGA OpenFlow Switch [6]. Bên cạnh đó, một số nhà cung cấp cũng đã
cho ra đời một số thiết bị tích hợp OpenFlow, đây có thể xem là động thái
thể hiện sự sẵn sàng cho việc áp dụng SDN trong tương lai gần.
Có thể thấy rằng, SDN với cơ chế linh hoạt giúp các hệ thống mạng
được phân cấp rõ ràng, khả mở, tiết kiệm chi phí và dễ dàng triển khai,
giám sát. Tuy nhiên, bên cạnh những lợi ích mà SDN mang lại, vẫn còn
nhiều thách thức để kiến trúc này có thể được hiện thực và triển khai
trong thực tế. Một trong những thách thức gây trở ngại nhất và cũng là
mối quan tâm hàng đầu của các nhà nghiên cứu về SDN chính là các vấn
đề về bảo mật và an ninh mạng. Với tính chất của SDN là quản lý tập
trung kết hợp với khả năng lập trình qua lớp giao tiếp mở, những thách
thức về an ninh mạng đang thực sự trở thành vấn đề cấp bách cần giải
quyết nếu muốn đưa kiến trúc này vào hoạt động thực tế. Theo báo cáo
mới nhất của Kaspersky, một trong những hãng sản xuất và phân phối
phần mềm bảo mật tốt nhất thế giới, các hoạt động gây ảnh hưởng an
ninh mạng ngày càng gia tăng trong thời buổi công nghệ hiện nay. Nổi
trội là các cuộc tấn công từ chối dịch vụ (Denial of Service – DoS) với
nhiều cơ chế tinh vi, gây thiệt hại nặng nề cho các tổ chức, quốc gia. Cụ
thể, tài nguyên số của hơn 72 quốc gia đã bị ảnh hưởng bởi các cuộc tấn
công DoS ở quý 1 năm 2021 [7]. Ngoài ra, tình trạng đánh cắp dữ liệu,
phát tán virus, mã độc, v.v.. đang ngày càng phổ biến và trở nên khó kiểm
soát. Các loại hình tấn công mạng này có thể dễ dàng được thực hiện
nhắm vào SDN thông qua việc khai thác các lỗ hổng bảo mật ở các lớp
1.1. MỤC TIÊU ĐỀ TÀI
4
giao tiếp, lớp điều khiển cũng như các thiết bị ở lớp chuyển tiếp.
Hiện nay, sự phát triển không ngừng của lĩnh vực trí tuệ nhân tạo
(Artificial Intelligence - AI) nói chung và học máy (Machine Learning ML) nói riêng mang lại triển vọng lớn trong việc giải quyết các bài toán an
ninh mạng phức tạp. Các kĩ thuật AI/ML ngày càng được hoàn thiện,
mang đến nhiều phương án trong việc phát hiện xâm nhập mạng bất
thường. Tuy nhiên, việc áp dụng các kĩ thuật học máy vào việc ngăn chặn
và phát hiện tấn công trên mạng SDN vẫn đang là một xu hướng mới,
chưa được nghiên cứu rộng rãi. Hơn nữa, việc tìm kiếm một giải pháp tối
ưu cho việc phát hiện xâm nhập bất thường là một nhu cầu cấp thiết đối
với nhằm đảm bảo an toàn thông tin cho xã hội.
Nhiều công trình khoa học đã được thực hiện nhằm đề xuất các giải
pháp tăng cường bảo mật cho mạng SDN nhằm phù hợp với yêu cầu thực
tiễn. Những giải pháp này được phân tích, hiện thực, đánh giá đầy đủ và
phần nào đem lại sự hiệu quả, góp phần giải quyết được một số nguy cơ
bảo mật. Tuy nhiên, hầu hết các giải pháp hiện nay hoặc là chỉ giải quyết
được một vấn đề cụ thể, hoặc là không tuân thủ theo các tiêu chuẩn mà
SDN đặt ra. Tại Việt Nam, SDN vẫn đang còn là một lĩnh vực khá mới mẻ,
chưa được phổ biến rộng rãi. Nhiều nhóm nghiên cứu về SDN đã được
thành lập trong các trường đại học, học viện hàng đầu Việt Nam song
phạm vi nghiên cứu chưa thực sự đa dạng đặc biệt trong các vấn đề về
bảo mật.
1.1. MỤC TIÊU ĐỀ TÀI
Có thể thấy rằng, SDN, Machine Learning, IDS hay các vấn đề về bảo
mật an ninh mạng đều là những xu hướng được quan tâm của lĩnh vực
công nghệ thông tin trên thế giới hiện nay. Do đó, với mục đích tiếp cận
các công nghệ mới, các nền tảng tri thức mới, nhóm chúng tôi xin đề xuất
nghiên cứu một số vấn đề kết hợp giữa các lĩnh vực nói trên thông qua đề
tài Nghiên cứu xây dựng hệ thống phát hiện bất thường cho mạng SDN
sử dụng các kỹ thuật Machine Learning. Đề tài tập trung thực hiện các
mục tiêu sau:
1. Tìm hiểu về Software-Defined Networking, các vấn đề về phát hiện
xâm nhập mạng bất thường, các kỹ thuật Machine Learning và các
cơ sở lý thuyết liên quan.
1.2. Ý NGHĨA ĐỀ TÀI
5
2. Thiết kế và xây dựng mô hình phát hiện xâm nhập mạng bất thường
sử dụng các kĩ thuật Machine Learning.
3. Tích hợp mô hình phát hiện xâm nhập mạng bất thường sử dụng các
kĩ thuật Machine Learning vào hệ thống SDN.
4. Xây dựng mô hình đánh giá, kiểm thử hệ thống
1.2. Ý NGHĨA ĐỀ TÀI
Việc thực hiện đề tài Nghiên cứu xây dựng hệ thống phát hiện bất
thường cho mạng SDN sử dụng kỹ thuật Machine Learning mang lại
nhiều ý nghĩa, không chỉ về mặt chuyên môn mà còn thể hiện sự quan
tâm đến các nhu cầu thực tiễn của xã hội hiện nay. Tìm hiểu các nội dung
đưa ra trong đề tài là một cách để tiếp cận các ý tưởng công nghệ mới,
cấp thiết và có tính ứng dụng cao trong tương lai. Cụ thể, trong đề tài này,
tác giả đã nghiên cứu và đề xuất giải pháp dựa trên các nội dung bao gồm:
SDN, kiến trúc mạng thế hệ mới có tiềm năng thay thế kiến trúc mạng
truyền thống hiện nay; Machine Learning, lĩnh vực đang được phát triển
và ứng dụng rộng rãi trong nhiều lĩnh vực; FPGA, nền tảng phần cứng tái
cấu hình, ứng dụng trong sản xuất thiết kế phần cứng mạng với hiệu năng
và tốc độ cao; Bảo mật và an ninh mạng, là các vấn đề nhức nhối, ảnh
hưởng trực tiếp đến hoạt động của các doanh nghiệp, tổ chức hay thậm
chí là các hoạt động an ninh, chính trị, quân sự.
1.3. NỘI DUNG ĐỀ TÀI
Nội dung thực hiện đề tài Nghiên cứu xây dựng hệ thống phát hiện
bất thường cho mạng SDN sử dụng kỹ thuật Machine Learning sẽ được
chia thành sáu chương chính:
1. Chương 1 - GIỚI THIỆU: Giới thiệu sơ lược về các lĩnh vực, các vấn
đề liên quan đến đề tài; nêu lên mục đích ý nghĩa, sự cần thiết, ảnh
hưởng của đề tài đối với tình hình kinh tế xã hội hiện nay.
2. Chương 2 - CƠ SỞ LÝ THUYẾT: Trình bày các kiến thức nền tảng liên
quan đến nội dung đề tài như SDN, OpenFlow, Machine Learning và
các vấn đề về bảo mật an ninh mạng.
1.3. NỘI DUNG ĐỀ TÀI
6
3. Chương 3 - CÔNG TRÌNH LIÊN QUAN: Trình bày các tài liệu liên
quan đến nội dung đề tài.
4. Chương 4 - PHƯƠNG PHÁP NGHIÊN CỨU: Phân tích các vấn đề cần
được giải quyết trong phạm vi đề tài; đề xuất phương án giải quyết
nhắm đạt được các mục tiêu đề ra.
5. Chương 5 - THỰC NGHIỆM VÀ ĐÁNH GIÁ: Trình bày phương án
kiểm thử, thu thập kết quả thử nghiệm; đánh giá hệ thống dựa trên
các tiêu chí liên quan.
6. Chương 6 - KẾT LUẬN: Trình bày kết luận về công tác triển khai thực
hiện đề tài, các ưu nhược điểm cũng như các vấn đề còn tồn tại trong
quá trình thực hiện đề tài, định hướng phát triển đề tài trong thời
gian tiếp theo.
Ngoài ra, một nội dung khác như Tài liệu tham khảo, Mục lục, v.v. được tác
giả sử dụng để ghi chú các tiêu đề, hình ảnh, bảng biểu cũng như các trích
dẫn, tham khảo trong suốt quá trình thực hiện đề tài.
2
CƠ SỞ LÝ THUYẾT
2.1. SOFTWARE-DEFINED NETWORKING
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 chuyển tiếp [8], được mô tả như hình 2.1. Trong đó:
Hình 2.1: Kiến trúc mạng Software-Defined Networking
7
2.1. SOFTWARE-DEFINED NETWORKING
8
• Lớp ứng dụng (Application Layer): bao gồm các ứng dụng mạng;
cung cấp các chức năng quản lý vận hành mạng, các mô hình định
tuyến, chuyển tiếp; hỗ trợ lớp điều khiển trong việc cấu hình mạng;
cung cấp khả năng lập trình lại mạng thông qua việc điều chỉnh các
tham số như băng thông, độ trễ, giải thuật định tuyến,v.v. Ngoài ra,
lớp này còn có khả năng quan sát, theo dõi tình trạng mạng một
cách tổng quát. Từ đó người quản trị có thể đưa ra các chỉ thị để
thay đổi mạng phù hợp với tình hình hiện tại, hay nói cách khác
mạng sẽ được trừu tượng hóa. Giao tiếp giữa lớp ứng dụng và lớp
điều khiển được gọi chung là giao tiếp Northbound.
• Lớp điều khiển (Control and Virtualization Layer): là nơi tập trung
các bộ điều khiển hay còn được gọi là các Controller; chịu trách
nhiệm trong việc ra quyết định và quản lý hoạt động của lớp chuyển
tiếp bằng cách tận dụng các thông tin nhận được từ lớp chuyển tiếp
để định nghĩa các hoạt động mạng; cung cấp thông tin cho lớp ứng
dụng. Các Controller này có thể là các phần mềm được lập trình,
giao tiếp với lớp chuyển tiếp thông qua một số chuẩn giao tiếp được
gọi chung là giao tiếp Southbound. Một trong số những giao thức
được dùng phổ biến trong giao tiếp Southbound là giao thức
OpenFlow.
• Lớp chuyển tiếp (Data Layer): là nơi tập trung các thiết bị mạng vật
lý hoặc thiết bị ảo, thực hiện việc chuyển tiếp gói tin dựa trên sự điều
khiển của các Controller ở lớp điều khiển. Lớp này chịu trách nhiệm
thực hiện chuyển tiếp các luồng dữ liệu cũng như giám sát các thông
tin cục bộ, thu thập, thống kê các thông số về dữ liệu. Một thiết bị
mạng có thể được kết nối với nhiều Controller khác nhau, giúp tăng
cường tính sẵn sàng và khả năng ảo hóa của mạng.
Với kiến trúc như trên, SDN có thể mang lại sự linh hoạt, khả mở, tiết
kiệm chi phí và đơn giản hóa chức năng quản lý. Cụ thể, 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 tùy chỉnh trên lớp điều khiển; mạng được
quản lý tập trung; các cấu hình ở lớp chuyển tiếp có thể được lập trình
trên lớp ứng dụng và đưa xuống các lớp dưới thông qua các giao tiếp
Northbound và Southbound. Sự linh hoạt, phân cấp rõ ràng giúp SDN
- Xem thêm -