Hệ thống đề xuất xây dựng mô hình SSAE-CGAN- RF 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ệumạng;
Trang 1LÊ 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
Trang 2Cá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Ũ
Trang 3NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: LÊ TẤN LONG MSHV: 1870385
Ngày, tháng, năm sinh: 25/05/1995 Nơi sinh: Thừa Thiên - HuếNgành: Khoa học máy tính 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ậtMachine 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
Trang 4Tô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ọcBách Khoa - ĐHQG-HCM đã hỗ trợ, đồng hành, giúp đỡ, tạo những điềukiệ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
Trang 5Software Defined-Networking (SDN) với ý tưởng “mạng có khả năng lậptrình” được đánh giá là mô hình mạng tương lai Khác với mạng truyềnthống, trong SDN, các thành phần điều khiển được tách bạch khỏi thànhphần chuyển tiếp để tích hợp vào một lớp điều khiển tập trung Từ đó, việctriể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ăngmạ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ểnkhai 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úcSDN, nhiều thành phần mạng và các lớp giao tiếp mạng mới được hìnhthành, do đó có thể dễ dàng bị khai thác bởi các người dùng có mục đíchxấu Những năm gần đây, Machine Learning (ML) được nghiên cứu và ứngdụng rộng rãi trong nhiều lĩnh vực, đặc biệt trong mạng máy tính và anninh mạng Trong đề tài này, tác giả đề xuất giải pháp xây dựng hệ thốngphát hiện xâm nhập bất thường (ANIDS) sử dụng các kỹ thuật ML để tíchhợp bảo vệ mạng SDN Hệ thống đề xuất xây dựng mô hình SSAE-CGAN-
RF 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ệumạ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ạngbất thường Ngoài ra, tác giả khai thác tích hợp nền tảng NetFPGA vàoANIDS để tăng tốc xử lý gói tin, nhằm đảm bảo việc phân loại và phát hiệnbất thường diễn ra với tốc độ cao, độ trễ thấp Kết quả thực nghiệm chothấ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ườngkhác nhau với độ chính xác cao, hỗ trợ bộ điều khiển SDN kịp thời ngănchặn tấn công
Từ khóa - SDN, Machine Learning, IDS, An ninh mạng,
ii
Trang 6Software-Defined Networking (SDN) has emerged as next-generationparadigm promising to build a vendor-neutral networking environment.
By decoupling forwarding plane from control plane, SDN shifts networkintelligent logic into a logically centralized controller, thereby helpingaddress many thorny problems in conventional network architecture.Despite of offering immense benefits, SDN faces a range of newchallenges beyond those of existing in traditional networks, especially innetwork security Particularly, the appearance of new components andinterfaces in SDN architecture can be vulnerable by cyber securityattacks, which have seen a tremendous dangerous growth in recent years.Opportunely, Machine Learning (ML) has meanwhile come into being themost powerful weapon to deal with security issues, especially in networkanomaly detection and prevention ML provides cognitive capabilities foridentifying potential security threats and vulnerabilities, thereby can beapplied in solving the most common tasks of cyber security such asregression, prediction, or classification In this paper, we suggests anAnomaly-based Network Intrusion Detection System (ANIDS) for earlydetecting anomaly network traffic, thereby promptly protecting SDNnetworks from malicious activities The proposed ANIDS is built based on
a combination of Machine Learning techniques including Stacked andSparse Autoencoder (SSAE) for reducing dimension and learningmeaningful feature representation in network data; ConditionalGenerative Adversarial Network (CGAN) for solving data imbalanceproblem in ANIDS’s datasets; and Random Forest for classifying anomalytraffic Moreover, we leverage NetFPGA, a high-speed networkingplatform, to accelerate the packet processing task for ANIDS By empiricalevaluating on NSL-KDD and UNSW-NB15 datasets, we show that theproposed ANIDS is capable of fast classification network traffic with highdetection accuracy rate and relatively low false negative/positive rate
Keywords: SDN, Machine Learning, IDS, Cyber Security.
iii
Trang 7Lời cam đoan
Tôi xin cam đoan ngoại trừ các trường hợp tham khảo cụ thể đối vớicô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 đúngnhư đã 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áokhoa 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
Trang 8Lời cám ơn i
1.1 Mục tiêu đề tài 4
1.2 Ý nghĩa đề tài 5
1.3 Nội dung đề tài 5
2 CƠ SỞ LÝ THUYẾT 7 2.1 Software-Defined Networking 7
2.2 Nền tảng NetFPGA 9
2.2.1 Field-Programmable Gate Array 9
2.2.2 Kiến trúc NetFPGA 9
2.3 Hệ thống phát hiện xâm nhập mạng bất thường 12
2.4 Học máy 17
2.5 Học sâu 27
2.5.1 Mạng nơ-ron sâu 27
2.5.2 Mạng tự mã hóa 28
2.5.3 Mạng sinh đối nghịch 31
2.6 Tập dữ liệu 33
2.6.1 DARPA 98 33
2.6.2 KDD Cup 99 34
2.6.3 NSK-KDD 35
2.6.4 UNSW-NB15 36
v
Trang 93 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 46 4.1 Tổng quan vấn đề nghiên cứu 46
4.1.1 Vấn đề bảo mật trong SDN 46
4.1.2 Vấn đề mất cân bằng dữ liệu 50
4.1.3 Vấn đề lựa chọn đặc trưng 51
4.1.4 Vấn đề tốc độ xử lý 53
4.2 Tổng quan hệ thống đề xuất 54
4.3 Thiết kế và hiện thực ANIDS 55
4.3.1 Tiền xử lý dữ liệu (Data Preprocessing) 55
4.3.2 Rút gọn đặc trưng (Dimensionality Reduction) 60
4.3.3 Tạo dữ liệu cân bằng dựa trên Conditional Generative Adversarial Networks 64
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) 68
4.4 Tăng tốc xử lý ANIDS sử dụng nền tảng NetFPGA 70
4.5 Tích hợp bộ phát hiện bất thường với hệ thống SDN 73
5 THỰC NGHIỆM VÀ ĐÁNH GIÁ 76 5.1 Các tiêu chí đánh giá 76
5.1.1 Khả năng phân loại 76
5.1.2 Thời gian đáp ứng 79
5.1.3 Khả năng mở rộng 79
5.2 Kết quả thực nghiệm 80
5.2.1 Thông số tập dữ liệu 80
5.2.2 Kết quả tạo mẫu dữ liệu sử dụng mạng CGAN 80
5.2.3 Kết quả đánh giá khả năng phân loại ANIDS 84
Trang 102.1 Kiến trúc mạng SDN 7
2.2 Nền tảng NetFPGA-10G 10
2.3 Kiến trúc nền tảng NetFPGA-10G 11
2.4 Nền tảng NetFPGA-SUME 11
2.5 Kiến trúc nền tảng NetFPGA-SUME 11
2.6 Phân loại hệ thống phát hiện xâm nhập 13
2.7 Các phương pháp học phổ biến trong Machine Learning 17
2.8 Các nhóm thuật toán phổ biến trong Machine Learning 21
2.9 Cấu trúc của một mạng nơ-ron sâu 28
2.10 Kiến trúc của mô hình Autoencoder 29
2.11 Quá trình huấn luyện của mô hình Autoencoder 30
2.12 Kiến trúc GAN 31
4.1 Các nguy cơ bảo mật trong mạng SDN 47
4.2 Các đặc tính của ANIDS 49
4.3 Phân bố các lớp trong tập dữ liệu NSL-KDD 50
4.4 Phân bố các lớp trong tập dữ liệu UNSW-NB15 51
4.5 Các phương pháp rút gọn đặc trưng trong Machine Learning 52 4.6 Mô hình tổng quan hệ thống đề xuất 54
4.7 Các thành phần trong hệ thống phát hiện xâm nhập bất thường 55
4.8 Các phương pháp tiền xử lý dữ liệu trong Machine Learning 57 4.9 Kiến trúc của mô hình Autoencoder 60
4.10 Quá trình huấn luyện của các mô hình Autoencoder 62
4.11 Kiến trúc Stack & Spare Autoencoder 63
4.12 Kiến trúc mạng CGAN 66
4.13 Quy trình sinh dữ liệu đối nghịch sử dụng mạng CGAN 67
4.14 Mô hình hoạt động của thuật toán Random Forest 69
4.15 Tăng tốc xử lý ANIDS sử dụng nền tảng NetFPGA 72
4.16 Kiến trúc tiền xử lý gói tin sử dụng nền tảng NetFPGA 72
vii
Trang 114.17 Kiến trúc Software-Defined Networking tích hợp IDS 745.1 Phân bố các lớp trong tập dữ liệu NSL-KDD trước khi sinh tạo 825.2 Phân bố các lớp trong tập dữ liệu NSL-KDD sau khi sinh tạo 825.3 Phân bố các lớp trong tập dữ liệu UNSW-NB15 trước khisinh tạo 835.4 Phân bố các lớp trong tập dữ liệu UNSW-NB15 sau khi sinhtạo 835.5 Biểu đồ so sánh thông số đánh giá của các mô hình ANIDStrên tập dữ liệu NSL-KDD 855.6 Biểu đồ so sánh thông số đánh giá của các mô hình ANIDStrên tập dữ liệu UNSW-NB15 85
Trang 122.1 Các đặc trưng của tập dữ liệu NSL-KDD 36
2.2 Các đặc trưng của tập dữ liệu UNSW-NB15 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 So sánh các kỹ thuật phát hiện trong IDS 48
4.2 Các tham số cấu hình cho SSAE trên tập dữ liệu NSL-KDD 64 4.3 Các tham số cấu hình cho SSAE trên tập dữ liệu UNSW-NB15 64 4.4 Tài nguyên trên chip FPGA Virtex-7 XC7V690T 71
5.1 Confusion Matrix 77
5.2 Phân bố dữ liệu trong tập dữ liệu NSL-KDD 80
5.3 Phân bố dữ liệu trong tập dữ liệu UNSW-NB15 80
5.4 Tập dữ liệu huấn luyện NSL-KDD mới sau khi sinh dữ liệu bằng CGAN 81
5.5 Tập dữ liệu huấn luyện UNSW-NB15 mới sau khi sinh dữ liệu bằng CGAN 81
5.6 Confusion Matrix trên tập dữ liệu NSL-KDD 84
5.7 Confusion Matrix trên tập dữ liệu UNSW-NB15 84
ix
Trang 13GIỚ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óichung và Internet1nói riêng đã dần trở thành một tài nguyên căn bản củacuộ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ăngtrưởng từng ngày khi không chỉ máy tính mà những vật dụng phổ thôngkhác như ô-tô, xe máy, điện thoại di động, đồng hồ, mắt kính, v.v hiệnnay đều có thể tham gia vào các hệ thống mạng Hệ quả của sự gia tăngtrong nhu cầu sử dụng Internet là quá trình liên tục phân cấp và mở rộngquy 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ỉnhsử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ạinhiề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ốnrấ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
1https://en wikipedia org/wiki/Internet
1
Trang 14hết các thiết bị mạng được thiết kế dựa trên vi mạch ASIC2chuyêndụ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âykhó khăn trong việc nghiên cứu, thử nghiệm các chuẩn mạng cũngnhư 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áchthứ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ứctạ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"(SoftwareDefined 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ệuquả trong việc triển khai các dịch vụ mạng phức tạp phù hợp với nhu cầucủ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ạngvới luồng dữ liệu Nói cách khác, các chức năng điều khiển mạng trongSDN 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
2ASIC (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
Trang 15Từ một khái niệm mang tính lý thuyết, SDN đang dần trở thành mộtgiải pháp khả thi khi các bộ tiêu chuẩn và giao thức dành riêng cho kiếntrúc này đã dần hoàn thiện Một số bộ tiêu chuẩn và giao thức SDN tiêubiể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ênbả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 đã đượchiệ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âynhư OpenVSwitch [5] Ngoài ra, một số sản phẩm phần cứng cũng đã đượcphá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áithể 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ònnhiều thách thức để kiến trúc này có thể được hiện thực và triển khaitrong 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ậptrung kết hợp với khả năng lập trình qua lớp giao tiếp mở, những tháchthức về an ninh mạng đang thực sự trở thành vấn đề cấp bách cần giảiquyết nếu muốn đưa kiến trúc này vào hoạt động thực tế Theo báo cáomới nhất của Kaspersky, một trong những hãng sản xuất và phân phốiphần mềm bảo mật tốt nhất thế giới, các hoạt động gây ảnh hưởng anninh mạng ngày càng gia tăng trong thời buổi công nghệ hiện nay Nổitrội là các cuộc tấn công từ chối dịch vụ (Denial of Service – DoS) vớinhiề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ấncô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ểmsoát Các loại hình tấn công mạng này có thể dễ dàng được thực hiệnnhắ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
Trang 16giao 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 anninh 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ấtthườ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 đốivớ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ảiphá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ựctiễ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 đã đượcthành lập trong các trường đại học, học viện hàng đầu Việt Nam songphạ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ảomật an ninh mạng đều là những xu hướng được quan tâm của lĩnh vựccông nghệ thông tin trên thế giới hiện nay Do đó, với mục đích tiếp cậncá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ấtnghiê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àiNghiê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
Trang 172 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
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áicấ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, ảnhhưởng trực tiếp đến hoạt động của các doanh nghiệp, tổ chức hay thậmchí 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àiNghiê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, ảnhhưở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
Trang 183 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ếtnhắ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êncá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 trongquá trình thực hiện đề tài, định hướng phát triển đề tài trong thờigian 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íchdẫn, tham khảo trong suốt quá trình thực hiện đề tài
Trang 19CƠ SỞ LÝ THUYẾT
2.1 SOFTWARE-DEFINEDNETWORKING
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ình2.1 Trong đó:
Hình 2.1: Kiến trúc mạng Software-Defined Networking
7
Trang 20• 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 địnhtuyế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áctham 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ộtcá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ácmạ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áchnhiệm trong việc ra quyết định và quản lý hoạt động của lớp chuyểntiế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 ứngdụ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 đượcgọ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ứcOpenFlow
• 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ềukhiển của các Controller ở lớp điều khiển Lớp này chịu trách nhiệmthực hiện chuyển tiếp các luồng dữ liệu cũng như giám sát các thôngtin 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ăngcườ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ếtkiệ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áchnhanh chóng thông qua việc tùy chỉnh trên lớp điều khiển; mạng đượcquản lý tập trung; các cấu hình ở lớp chuyển tiếp có thể được lập trìnhtrên lớp ứng dụng và đưa xuống các lớp dưới thông qua các giao tiếpNorthbound và Southbound Sự linh hoạt, phân cấp rõ ràng giúp SDN
Trang 21mang lại nhiều lợi ích không chỉ cho các doanh nghiệp mà còn cho cácnhà cung cấp dịch vụ, cơ sở hạ tầng mạng.
2.2 NỀN TẢNG NETFPGA
Field-programmable Gate Array (FPGA)1là một loại mạch tích hợp cỡlớn dùng cấu trúc mảng phần tử logic mà người dùng có thể lập trình được
Vi mạch FPGA được cấu thành từ các bộ phận như các khối logic cơ bản lậptrình được (programmable logic block); hệ thống mạch liên kết lập trìnhđược; khối vào/ra (IO Pads); phần tử thiết kế sẵn khác như DSP slice, RAM,ROM, nhân vi xử lý, v.v Ưu điểm lớn nhất của FPGA là có thể tái cấu hìnhkhi đang sử dụng, công đoạn thiết kế đơn giản, nhờ vậy rút ngắn thời gian
và chi phí sản xuất sản phẩm
Tính linh hoạt trong thiết kế cho phép FPGA giải quyết những lớp bàitoán phức tạp mà không một phần cứng chuyên dụng nào có thể giải quyếtđược trước đây Ngoài ra, việc tích hợp mật độ phần tử logic lớn giúp FPGA
có thể giải quyết những công việc có khối lượng tính toán lớn FPGA được
sử dụng trong rất nhiều ứng dụng, bao gồm: xử lý tín hiệu số; tiền thiết kếmẫu ASIC; các hệ thống điều khiển trực quan; ứng dụng thị giác máy tính;kiến trúc máy tính; xử lý dữ liệu lớn; mạng máy tính; các hệ thống làm việctheo thời gian thực hay các hệ thống hàng không vũ trụ, quốc phòng.Trong mạng máy tính, FPGA có thể sử dụng để chế tạo ra các thiết bịnhư Router, Switch, Firewall,v.v Đặc biệt là thiết bị hỗ trợ cho việc thửnghiệm SDN là IDS, OpenFlow Switch
1https://en wikipedia org/wiki/Field-programmable_gate_array
Trang 22N ET FPGA-10G [11]
Các thông số phần cứng của nền tảng NetFPGA-10G:
• Hỗ trợ chip Xilinx Virtex-5 TX240T (Hệ thống hiệu năng cao, cácphần tử logic kết nối trực tiếp với công nghệ tiên tiến, mật độ lớn)
• Hỗ trợ 4 cổng SFP+ (Cổng giao tiếp mạng với tốc độ xử lý lên đến10Gbps)
• Hỗ trợ cổng PCI Express thế hệ 2 với 8 kênh, mỗi kênh có thể giaotiếp với tốc độ 5Gbps
• Hỗ trợ 20 bộ thu phát nối tiếp có thể cấu hình GTX thông qua haicổng kết nối tốc độ cao SAMTEC
• Hỗ trợ 3 bộ nhớ SRAM 72-Mbit QDR II với xung nhịp 333 MHz, tổngdung lượng 27 MB
• Hỗ trợ 4 bộ nhớ DRAM 576-Mbit RLDRAM II với xung nhịp lên đến533MHz, tổng dung lượng 288 MB
• Kích thước board 9.5” x 4.25”
• Hỗ trợ các phần tử LED và nút bấm cho người dùng
Hình2.2và2.3mô tả sản phẩm NetFPGA-10G và kiến trúc của nó
Hình 2.2: Nền tảng NetFPGA-10G
Trang 23Hình 2.3: Kiến trúc nền tảng NetFPGA-10G
Hình 2.4: Nền tảng NetFPGA-SUME
Hình 2.5: Kiến trúc nền tảng NetFPGA-SUME
Trang 24• Hỗ trợ 32 bộ truyền nối tiếp GTH cung cấp khả năng truy xuất đến
8 cổng PCI-E(Gen3) với xung nhịp lên đến 13.1 GHz Nhờ đó có thểduy trì một lượng lớn luồng dữ liệu tốc độ cao đến các linh kiện bộnhớ và cơ cấu FPGA
Hình2.4và2.5mô tả sản phẩm NetFPGA-SUME và kiến trúc của nó
2.3 HỆ THỐNG PHÁT HIỆN XÂM NHẬP MẠNG BẤT THƯỜNG
Hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) làmột thiết bị hoặc phần mềm thực thi nhiệm vụ theo dõi, giám sát quátrình trao đổi thông tin trong các mạng máy tính để kịp thời phát hiện vàngăn chăn sự xâm nhập, phá hoại bảo mật hệ thống [12] Cơ chế hoạt độngcủa IDS là thu thập thông tin từ nhiều nguồn trong hệ thống, sau đó tiếnhành phân tích những thông tin đó theo các cách khác nhau để phát hiệnnhững xâm nhập trái phép Hay nói cách khác, IDS có khả năng phát hiệnnhững hành vi khai thác trái phép tài nguyên của hệ thống hoặc nhữnghành vi mang dấu hiệu của các cuộc tấn công vào hệ thống như dò tìm,nghe lén, tấn công từ chối dịch vụ, v.v qua đó đảm bảo tính bảo mật, tínhtoàn vẹn và tính sẵn sàng của hệ thống
Hiện nay, IDS được chia thành nhiều loại dựa trên các kỹ thuật hoặccác cách tiếp cận lưu lượng xâm nhập khác nhau, Hình2.6mô tả một sốphương pháp phân loại IDS phổ biến Trong đó:
Trang 25Hình 2.6: Phân loại hệ thống phát hiện xâm nhập
P HÂN LOẠI IDS THEO VỊ TRÍ XÂM NHẬP
Dựa vào vị trí xâm nhập (types of intruders), IDS có thể được triển khai
để bảo vệ hệ thống từ các hành vi xâm nhập nội bộ (Internal Intruders)
điển hình như các cuộc tấn công từ chính nhân viên hoặc khách hàng
trong hệ thống hay các hành vi xâm nhập từ bên ngoài (External Intruders)
như các cuộc tấn công bởi hacker
P HÂN LOẠI IDS THEO KIỂU XÂM NHẬP
IDS có thể được thiết kế để phát hiện và ngặn chặn các kiểu xâm nhập
an ninh mạng phổ biến như tấn công thăm dò (Probe Attack), tấn côngRemote to Local (R2L Attack), tấn công User to Root (U2R Attack), tấn công
từ chối dịch vụ (Denial-of-Services - DoS), tấn công Web (Web Attacks) vàtấn công Zero-Day (Zero-Day Attack) Trong đó:
Probe Attack [ 13 ]: Đặc điểm chung của các loại tấn công thuộc nhóm
này là tin tặc khai thác điểm yếu của mạng hoặc các máy tính bằng cáchquét thăm dò thông tin từ các cổng đang mở, các dịch vụ đang chạy hoặccác thông tin nhạy cảm khác như địa chỉ IP, địa chỉ MAC, các luật tườnglửa,v.v qua đó tin tặc có thể lấy được thông tin về hệ thống để tấn công.Các kiểu tấn công thăm dò phổ biến có thể kể đến như IP Sweep, Nmap,
Trang 26Port Scan, Satan, v.v.
R2L Attack [ 13 ]: Đặc điểm chung của các loại tấn công thuộc nhóm này
là tin tặc cố gắng đạt được quyền truy cập vào hệ thống máy tính bằng việcgửi các gói tin xâm nhập từ xa đến hệ thống thông qua mạng Mục đíchchính của tấn công R2L là để khai thác dữ liệu bất hợp pháp hoặc cài cắmvirus hoặc phần mềm độc hại vào các hệ thống để gây thiệt hại cho máytính hoặc mạng mục tiêu Các kiểu tấn công R2L phổ biến có thể kể đếnnhư FTP Write, Guess Password, IMap, Multihop, Phf, Spy, Warezmaster,v.v
U2R Attack [ 13 ]: Đặc điểm chung của các loại tấn công thuộc nhóm
này là tin tặc lạm dụng các quyền của một người dùng bình thường để cốgắng đạt được quyền truy cập cao nhất vào hệ thống một cách bất hợppháp (như đặc quyền của người quản trị hệ thống) Các kiểu tấn công U2Rphổ biến có thể kể đến như Buffer Overflow, Load Module, Perl, Rootkit,v.v
DoS/DDoS Attack [ 13 ]: là loại tấn công phổ biến với mật độ xuất hiện
nhiều trong các hệ thống mạng ngày nay Các kiểu tấn công thuộc nhómnày là những tấn công làm bão hòa tài nguyên hệ thống khiến hệ thốngkhông còn khả dụng với các người dùng hợp lệ Hay nói các khác, tấncông DoS làm cho tài nguyên các máy tính bị trưng dụng để xử lý sốlượng lớn các yêu cầu vô nghĩa dẫn đến cạn kiệt, không đủ để xử lý cácyêu cầu từ người dùng hợp lệ Hai hình thức tấn công phổ biến trongnhóm này là tấn công từ chối dịch vụ từ một cá thể (DoS) và tấn công từchối dịch vụ phân tán (Distributed Denial-of-Services - DDoS) Các kiểutấn công DoS/DDoS phổ biến có thể kể đến như TCP SYN Flooding,ICMP Flooding, Back, Land, Neptune, Pod, Smurf, Teardrop, v.v
Web Attack: Các website thường xuyên là mục tiêu tấn công của tin tặc
để khai thác đánh cắp các thông tin liên quan bên trong Một trong nhữngphương thức tấn công phổ biến là khai thác các lỗi bảo mật liên quan đếnứng dụng web Các lỗi bảo mật ứng dụng web là nguyên nhân chủ yếu gây
ra các lỗi đối với website đang vận hành Sau khi xác định các lỗi này, tintặc sẽ sử dụng các kỹ thuật khác nhau để tiến hành khai thác hệ thống đích.Một số kỹ thuật tấn công web thường được sử dụng như Buffer Overflows,SQL Injection, Cross-site Scripting, v.v
Zero-Day Attack: Zero-Day là tên gọi chung của các lỗ hổng bảo mật
chưa được biết tới, hay nói cách khác là những kiểu tấn công mới chưa có
Trang 27giải pháp ngăn chặn chính thức Các cuộc tấn công khai thác lỗ hổng Day thường xảy ra một cách bất ngờ mà các nhà phát triển phần mềmkhông thể dự liệu trước Do đó, hậu quả của việc tấn công vào các lỗ hổngnày thường gây ra thiệt hại vô cùng nặng nề cho nạn nhân Đối với mạngSDN, có rất nhiều lỗ hổng có thể bị khai thác bởi các cuộc tấn công Zero-Day, do đó việc phát hiện các kiểu tấn công thuộc nhóm này là hết sứcquan trọng và cần thiết.
Zero-P HÂN LOẠI IDS THEO KỸ THUẬT PHÁT HIỆN XÂM NHẬP
Dựa vào các kỹ thuật phát hiện xâm nhập (Detection Techniques) cóthể chia IDS thành ba loại chính bao gồm IDS phát hiện dựa trên dấu hiệu(Signature-based IDS), IDS phát hiện dựa trên sự bất thường (Anomaly-based IDS), và IDS phát hiện dựa trên sự phân tích trạng thái giao thức(Stateful Protocol Analysis Detection) Trong đó:
Signature-based IDS: là các IDS hoạt động dựa trên các dấu hiệu cho
trước (signature) Loại IDS này hoạt động theo cơ chế giám sát các lưulượng mạng và so sánh chúng với các tập dấu hiệu được xây dựng sẵn dựatrên những thuộc tính thu thập từ những mối đe dọa đã biết trước, tương
tự như cách phần mềm diệt virus hoạt động Vấn đề đối với hệ thống IDSnày là có thể không phát hiện ra mối đe dọa mới, khi chữ ký để nhận biết
nó chưa được IDS kịp cập nhật
Anomaly-based IDS: là các IDS có chức năng phát hiện mối đe dọa dựa
trên sự bất thường của lưu lượng mạng Loại IDS này hoạt động theo cơchế giám sát lưu lượng mạng và so sánh với các cơ sở phân loại (baseline)
đã được thiết lập Dựa vào sự phân tích bằng các phương pháp phân loại,hồi quy hoặc thống kê, các baseline sẽ giúp xác định đâu là tình trạng bìnhthường của mạng ví dụ các giao thức hay loại băng thông thường đượcdùng trong mạng, cổng và thiết bị thường được kết nối với nhau Qua đó,cảnh báo cho quản trị mạng hoặc người dùng khi phát hiện lưu lượng truycập bất thường, hay nói cách khác là những lưu lượng có sự khác biệt đáng
kể so với baseline Các mô hình phân loại của IDS phát hiện dựa trên sựbất thường thường được xây dựng bằng các phương pháp trong lĩnh vựchọc máy hoặc học sâu So với các IDS phát hiện dựa vào dấu hiệu, IDSphát hiện dựa vào bất thường có khả năng tự phát hiện các hình thức xâmnhập mới, chưa được ghi nhận trước đó
Stateful Protocol Analysis Detection [ 14 ]: kỹ thuật phát hiện này được
Trang 28sử dụng để xác định sự sai lệch trong trạng thái giao thức tương tự nhưphương pháp dựa trên sự bất thường nhưng sử dụng các cấu hình chungđược xác định trước dựa trên "các định nghĩa được chấp nhận về hoạtđộng lành tính"được phát triển bởi các nhà cung cấp dịch vụ mạng lớn
P HÂN LOẠI IDS THEO HỆ THỐNG
Dựa vào đặc điểm hệ thống của nguồn dữ liệu thu thập được, IDS cóthể được chia thành hai loại chính bao gồm IDS dựa trên mạng (Network-based IDS), IDS dựa trên máy chủ (Host-based IDS) Trong đó:
Host-based IDS (HIDS): là IDS được triển khai chạy trên máy chủ riêng
hoặc một thiết bị đặc biệt trên mạng HIDS chỉ giám sát lưu lượng đi vào(inbound) và đi ra (outbound) từ thiết bị và cảnh báo người dùng hoặcquản trị viên khi những hoạt động xâm nhập trái phép bị phát hiện Một
số đặc điểm cơ bản của HIDS như sau:
• Chỉ phát hiện xâm nhập trên 1 máy chủ cụ thể
• Hỗ trợ bảo vệ ngay cả khi ở ngoài mạng LAN
• HDIS xem xét hoạt động của host (ứng dụng, file , kernel logs, v.v.) đểphát hiện những hoạt động bất thường và ngăn chặn
• HIDS chỉ phát hiện khi đối tượng tấn công đã xâm nhập và bắt đầuthực hiện tấn công
Network-based IDS (NIDS): là IDS được triển khai tại một điểm chiến
lược để giám sát lưu lượng đến và đi từ tất cả các thiết bị trong mạng Khácvới HIDS, NIDS kiểm tra toàn bộ thông tin của tất cả các gói tin để không
bỏ sót các dấu hiệu bất thường Một số đặc điểm cơ bản của NIDS như sau:
• Phát hiện xâm nhập trên một mạng LAN nhiều thiết bị
• Không bảo vệ máy chủ khi máy chủ rời khỏi mạng LAN
• NIDS phân tích các gói tin lưu thông giữa các thiết bị mạng để pháthiện bất thường không cho đối tượng tấn công bắt đầu cuộc tấn công
• Việc sử dụng NIDS này có thể tạo ra nút thắt cổ chai vì phát quét toàn
bộ lưu lượng mạng, do đó có thể làm giảm tốc độ chung của mạng
Trang 29Ngoài ra, hiện nay một số nhà cung cấp cũng phát triển các công cụphân tích hành vi mạng (Network Behavior Analysis System) với mục đíchthương mại, được thiết kế để triển khai trong các môi trường mạng chuyêndụng của các tổ chức, doanh nghiệp.
Theo phương thức học, các thuật toán ML thường được chia làm 4
nhóm chính bao gồm: học giám sát (Supervised Learning), học phi giám
sát (Unsupervised Learning), học bán giám sát (Semi-supervised Learning)
và học tăng cường (Reinforcement Learning) Hình2.7mô tả một số thuậttoán tiêu biểu của từng phương pháp học, trong đó:
Hình 2.7: Các phương pháp học phổ biến trong Machine Learning
H ỌC GIÁM SÁT
Học giám sát (Supervised Learning) là phương pháp học máy sử dụngnhững dữ liệu đã được gán nhãn (label) hay còn được gọi là dữ liệu huấnluyện (Training Data) để suy luận ra mối quan hệ quan hệ giữa đầu vào
Trang 30(input) và đầu ra (output) Học giám sát sẽ xem xét các tập dữ liệu huấnluyện này để từ đó có thể đưa ra dự đoán đầu ra cho một đầu vào mới chưagặp bao giờ Cụ thể, thông qua một quá trình huấn luyện, một mô hình sẽđược xây dựng để cho ra các dự đoán, trong trường hợp các dự đoán bị saithì mô hình này sẽ được tinh chỉnh lại Việc huấn luyện sẽ tiếp tục cho đếnkhi mô hình đạt được mức độ chính xác mong muốn trên tập dữ liệu huấnluyện Một số bài toán điển hình áp dụng hiệu quả phương pháp học giámsát có thể kể đến như dự đoán giá nhà, phân loại email, v.v.
Các thuật toán học giám sát còn được phân ra thành hai loại chính là
phân lớp (Classification) và hồi quy (Regression) Trong đó:
• Phân lớp: Một bài toán được gọi là phân lớp nếu các nhãn của dữ
liệu đầu vào nằm trong một nhóm hữu hạn các lớp (miền giá trị làrời rạc) Hầu hết các bài toán phân loại (email, hình ảnh, v.v.) thườngđược xếp vào bài toán phân lớp
• Hồi quy: Một bài toán được xem là hồi quy nếu nhãn không được
chia thành các nhóm mà là một giá trị thực cụ thể (miền giá trị là liêntục) Hầu hết các bài toán dự báo (giá cổ phiếu, giá nhà, ) thườngđược xếp vào bài toán hồi quy
Một số thuật toán nổi tiếng thuộc về nhóm học có giám sát như:k-Nearest Neighbors, cây quyết định (Decision Tree), máy vec-tơ hỗ trợ(Support Vector Machine), Hồi quy tuyến tính (Linear Regression), v.v
H ỌC PHI GIÁM SÁT
Học phi giám sát (Unsupervised Learning) là phương pháp học máy sửdụng những tập dữ liệu huấn luyện mà trong đó tất cả các mẫu dữ liệu đềuchưa được gán nhãn hay nói cách khác là ta không biết câu trả lời chínhxác cho mỗi dữ liệu đầu vào từ trước để suy luận Khác với học giám sát,mục tiêu của phương pháp này không phải là tìm đầu ra chính xác màhướng tới việc tìm ra cấu trúc hoặc sự liên hệ trong dữ liệu để thực hiệnmột công việc nào đó, ví như gom cụm (clustering) hoặc giảm số chiềucủa dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và tínhtoán
Các thuật toán học phi giám sát được chia thành hai loại chính là làphân cụm (Clustering) và luật kết hợp (Association Rule) Trong đó:
Trang 31• Phân cụm: Một bài toán phân cụm thực hiện phân nhóm toàn bộ dữ
liệu X thành các nhóm/cụm nhỏ dựa trên sự liên quan giữa các dữliệu trong mỗi nhóm Ví dụ như phân nhóm khách hàng dựa vào độtuổi, giới tính
• Luật kết hợp: Các thuật toán luật kết hợp thường được sử dụng để
khám phá ra một quy luật dựa trên nhiều dữ liệu cho trước Ví nhưnhững khách hàng mua mặt hàng này sẽ mua thêm mặt hàng kia;hoặc khán giả xem phim này sẽ có xu hướng thích xem phim kia,dựa vào đó ta có thể xây dựng những hệ thống gợi ý khách hàng(Recommendation System) nhằm thúc đẩy nhu cầu mua sắm hoặcxem phim
Một số thuật toán điển hình thuộc nhóm học không giám sát như Means clustering, hierachical clustering, DBSCAN, v.v
k-H ỌC BÁN GIÁM SÁT
Học bán giám sát (Semi-supervised Learning) là phương pháp học máyđược sử dụng trong các bài toán mà khi tập dữ liệu đầu vào X là hỗn hợpcác mẫu có nhãn và không có nhãn, trong đó số lượng có nhãn chỉ chiếmmột phần nhỏ Phần lớn các bài toán thực tế của ML thuộc nhóm này vìviệc thu thập dữ liệu có nhãn tốn rất nhiều thời gian và có chi phí cao Rấtnhiều loại dữ liệu thậm chí cần phải có chuyên gia mới gán nhãn được,chẳng hạn như ảnh y học hoặc các cặp câu song ngữ Ngược lại, dữ liệuchưa có nhãn có thể được thu thập với chi phí thấp từ internet
Với phương pháp này, mô hình phải tìm hiểu các cấu trúc để tổ chức
dữ liệu cũng như đưa ra dự đoán Hay nói cách khác, học bán giám sát sửdụng các thuật toán học phi giám sát để khám phá và tìm hiểu cấu trúctrong dữ liệu đầu vào, đồng thời sử dụng học giám sát để dự đoán cho dữliệu không được gán nhãn Sau đó đưa dữ liệu vừa dự đoán trở lại làm dữliệu huấn luyện cho các thuật toán học giám sát và sử dụng mô hình saukhi huấn luyện để đưa ra dự đoán về dữ liệu mới
Một số thuật toán học bán giám sát điển hình như Self Training,Generative models, S3VMs, Graph-Based Algorithms, MultiviewAlgorithms, v.v
Trang 32H ỌC TĂNG CƯỜNG
Học tăng cường (Reinforcement Learning) là phương pháp học máygiúp cho một hệ thống tự động xác định hành vi dựa trên hoàn cảnh hoặcmôi trường cụ thể để đạt được lợi ích cao nhất Khác với học có giám sát,phương pháp học này không sử dụng cặp dữ liệu gán nhãn trước làm đầuvào và cũng không có đánh giá các hành động là đúng hay sai
Học tăng cường chủ yếu được áp dụng vào lý thuyết trò chơi (GameTheory), các thuật toán cần xác định nước đi tiếp theo để đạt được điểm
số cao nhất AlphaGo2- một phần mềm chơi cờ vây trên máy tính đượcxây dựng bởi Google DeepMind hay chương trình dạy máy tính chơi gameMario3là những ứng dụng sử dụng học tăng cường
Ngoài ra, dựa vào sự tương đồng về chức năng hay cách thức hoạt động
mà các thuật toán học máy sẽ được gom nhóm với nhau Các thuật toánhọc máy được chia thành một số nhóm chính như hình2.8
C ÁC THUẬT TOÁN HỒI QUY
Hồi quy (Regression) là quá trình tìm mối quan hệ phụ thuộc của mộtbiến (được gọi là biến phụ thuộc hay biến được giải thích, biến được dựbáo, biến được hồi quy, biến phản ứng, biến nội sinh) vào một hoặc nhiềubiến khác (được gọi là biến độc lập, biến giải thích, biến dự báo, biến hồiquy, biến tác nhân hay biến kiểm soát, biến ngoại sinh) nhằm mục đíchước lượng hoặc tiên đoán giá trị kỳ vọng của biến phụ thuộc khi biết trướcgiá trị của biến độc lập
Các thuật toán hồi quy (Regression Algorithms) phổ biến trong họcmáy có thể kể đến như:
• Linear Regression
• Logistic Regression
• Locally Estimated Scatterplot Smoothing (LOESS)
• Multivariate Adaptive Regression Splines (MARS)
• Ordinary Least Squares Regression (OLSR)
• Stepwise Regression
2https://deepmind com/research/case-studies/alphago-the-story-so-far
3https://supermariobros io/
Trang 34C ÁC THUẬT TOÁN DỰA TRÊN MẪU
Mô hình học tập dựa trên mẫu hay thực thể (Instance-based) là bàitoán ra quyết định dựa vào các trường hợp hoặc các mẫu dữ liệu huấnluyện được coi là quan trọng hay bắt buộc đối với mô hình Nhóm thuậttoán này thường xây dựng cơ sở dữ liệu về dữ liệu mẫu và so sánh dữ liệumới với cơ sở dữ liệu bằng cách sử dụng thước đo tương tự để tìm kết quảphù hợp nhất và đưa ra dự đoán
Các thuật toán dựa trên mẫu (Instance-based Algorithms) phổ biếnnhất là:
• k-Nearest Neighbor (kNN)
• Learning Vector Quantization (LVQ)
• Locally Weighted Learning (LWL)
• Self-Organizing Map (SOM)
C ÁC THUẬT TOÁN CHUẨN HÓA
Các thuật toán chuẩn hoá (Regularization Algorithms) ra đời từ sự mởrộng các phương pháp đã có (điển hình là các phương pháp hồi quy) bằngcách xử phạt các mô hình dựa trên mức độ phức tạp của chúng nhằm đảmbảo quá trình huấn luyện của mô hình có tính thiên vị và phương sai phùhợp
Các thuật toán chuẩn hoá phổ biến nhất trong học máy là:
• Elastic Net
• Least Absolute Shrinkage and Selection Operator (LASSO)
• Least-Angle Regression (LARS)
• Ridge Regression
C ÁC THUẬT CÂY QUYẾT ĐỊNH
Cây quyết định (Decision Tree) là phương pháp xây dựng mô hình raquyết định dựa trên các giá trị thực của những thuộc tính trong dữ liệu
Sự quyết định được rẽ nhánh trong cấu trúc cây cho đến khi quyết định
dự đoán được đưa ra cho một mẫu nhất định Phương pháp này được sử
Trang 35dụng trong việc huấn luyện dữ liệu cho bài toán phân lớp và hồi quy Ưuđiểm của cây quyết định là khả năng suy luận nhanh chóng với độ chínhxác tương đối cao, do đó, phương pháp này được sử dụng khá phổ biếntrong lĩnh vực học máy.
Một số thuật toán cây quyết định phổ biến nhất trong học máy là:
• Chi-squared Automatic Interaction Detection (CHAID)
• Classification và Regression Tree – CART
• Conditional Decision Trees
• C4.5 và C5.0
• Decision Stump
• Iterative Dichotomiser 3 (ID3)
• M5
C ÁC THUẬT TOÁN B AYES
Thuật toán Bayes (Bayesian Algorithms) là nhóm các thuật toán ápdụng Định lý Bayes cho bài toán phân loại và hồi quy
Các thuật toán phổ biến trong nhóm Bayes có thể kể đến là:
• Averaged One-Dependence Estimators (AODE)
• Bayesian Belief Network (BBN)
• Bayesian Network (BN)
• Gaussian Naive Bayes
• Multinomial Naive Bayes
• Naive Bayes
Trang 36T HUẬT TOÁN MÁY VEC - TƠ HỖ TRỢ
Máy vec-tơ hỗ trợ (Support Vector Machine - SVM) là một thuật toánthuộc nhóm học giám sát dùng để phân chia dữ liệu thành các nhóm riêngbiệt SVM hoạt động dựa trên cơ chế nhận dữ liệu vào và phân loại chúngvào hai lớp khác nhau, hay nói cách khác SVM là một thuật toán phân loạinhị phân Với một tập dữ liệu huấn luyện thuộc hai nhóm cho trước, thuậttoán huấn luyện xây dựng mô hình SVM để phân loại các dữ liệu khác vàohai nhóm đó Cụ thể, mô hình SVM là một cách biểu diễn các điểm trongkhông gian và lựa chọn vec-tơ ranh giới giữa hai nhóm sao cho khoảngcách từ các dữ liệu huấn luyện tới ranh giới là xa nhất có thể Các dữ liệumới cũng được biểu diễn trong cùng một không gian và được thuật toán
dự đoán thuộc một trong hai nhóm tùy vào dữ liệu đó nằm ở phía nào củaranh giới
C ÁC THUẬT TOÁN PHÂN CỤM
Các thuật toán phân cụm (Clustering Algorithms) có đặc điểm chung
là sử dụng các cấu trúc vốn có trong dữ liệu để tổ chức dữ liệu thành cácnhóm sao cho dữ liệu bên trong mỗi nhóm đạt độ tương đồng (Similarity)một cách cao nhất có thể
Các thuật toán phổ biến trong nhóm Bayes có thể kể đến là:
• Expectation Maximization
• Hierarchical Clustering
• k-Means
C ÁC THUẬT TOÁN MẠNG NƠ - RON
Mạng nơ-ron nhân tạo (Artificial Neural Network) là các mô hình đượclấy cảm hứng từ cấu trúc và chức năng của mạng lưới thần kinh sinh học.Nhóm thuật toán này có thể được sử dụng cho bài toán phân lớp và hồiquy với rất nhiều biến thể khác nhau cho hầu hết các vấn đề
Một số thuật toán mạng nơ-ron nhân tạo phổ biến là:
• Back-Propagation (Mạng lan truyền ngược)
• Perceptron (Mạng lan truyền thẳng)
• Multi-layer perceptron (Mạng truyền thẳng đa lớp)
Trang 37số đánh giá quá trình huấn luyện như:
• Độ lệch (Bias): biểu thị sự chênh lệch giữa giá trị trung bình mà mô
hình dự đoán và giá trị thực tế của dữ liệu Một số mô hình hoạt độngtốt và cho độ lệch nhỏ, ngược lại cũng có một số mô hình cho độ lệchlớn Việc kết hợp các mô hình sẽ tạo ra độ lệch trung bình chấp nhậnđược, có thể tốt hơn khi sử dụng các mô hình đơn lẻ
• Phương sai (Variance): biểu thị độ phân tán của các giá trị mà mô
hình dự đoán so với giá trị thực tế Kết quả dự đoán tổng hợp củamột loạt các mô hình thường sẽ cho giá trị phương sai tốt hơn so vớikết quả dự đoán của các mô hình đơn lẻ
• Overfiting : là hiện tượng khi mô hình hoạt động rất tốt với dữ liệu
huấn luyện, nhưng kết quả dự đoạn lại rất kém đối với dữ liệu kiểmthử Việc kết hợp nhiều mô hình cùng lúc giúp giảm vấn đề này.Một số thuật toán hỗn hợp phổ biến như:
• AdaBoost
• Boosting
• Bootstrapped Aggregation (Bagging)
• Gradient Boosting Machines (GBM)
• Gradient Boosted Regression Trees (GBRT)
• Random Forest
• Stacked Generalization (blending)
Trang 38C ÁC THUẬT TOÁN G IẢM CHIỀU DỮ LIỆU
Giảm chiều dữ liệu (Dimensionality Reduction) trong học máy là quátrình giảm thiểu số lượng đặc trưng biểu diễn dữ liệu Việc này có thể đượcthực hiện theo hướng lựa chọn các đặc trưng quan trọng hoặc trích xuấtcác đặc trưng mới từ các đặc trưng đã có Giảm chiều dữ liệu hữu ích trongcác trường hợp như trực quan hóa, lưu trữ và năng lực tính toán hạn chế.Một số thuật toán giảm chiều dữ liệu phổ biến trong học máy là:
• Flexible Discriminant Analysis (FDA)
• Linear Discriminant Analysis (LDA)
• Mixture Discriminant Analysis (MDA)
• Multidimensional Scaling (MDS)
• Partial Least Squares Regression (PLSR)
• Principal Component Analysis (PCA)
• Principal Component Regression (PCR)
• Chọn mô hình: Chọn một mô hình thống kê cho tập dữ liệu Ví dụ
như mô hình thống kê Bec-nu-li, mô hình phân phối chuẩn
• Tìm tham số: Các mô hình thống kê có các tham số tương ứng, nhiệm
vụ lúc này là tìm các tham số này sao cho phù hợp với tập dữ liệunhất có thể
Suy luận: Sau khi có được mô hình và tham số, ta có thể dựa vào
chúng để đưa ra suy luận cho một đầu vào mới nào đó
Trong phạm vi đề tài, tác giả sẽ khai thác các lý thuyết liên quan đến cácthuật toán hỗn hợp (Ensemble Algorithm) và các thuật toán giảm chiều
dữ liệu (Dimensionality Reduction)để làm cơ sở cho phương pháp nghiêncứu
Trang 392.5 HỌC SÂU
Học sâu (Deep Learning - DL) là một lĩnh vực trí tuệ nhân tạo có xuhướng bùng nổ trong những năm gần đây Thực chất, học sâu là mộtnhánh của học máy, tập trung giải quyết các vấn đề liên quan đến mạngnơ-ron nhân tạo nhằm nâng cấp các công nghệ học máy hiện tại nhưnhận diện giọng nói, thị giác máy tính, xử lý ngôn ngữ tự nhiên, v.v
Ý tưởng chính của học sâu là huấn luyện các loại mạng nơ-ron nhântạo có nhiều lớp nơ-ron ẩn (Deep Neural Network) để phân tích dữ liệu vềnhiều chi tiết khác nhau, khác với học máy thường chỉ sử dụng mạng nơ-ron với một lớp nơ-ron ẩn Về cơ bản, học sâu cũng cho phép huấn luyệnmột mô hình có thể dự đoán được các đầu ra dựa vào một tập các đầu vào
Cả hai phương pháp có giám sát và không giám sát đều có thể sử dụng
để huấn luyện cho các thuật toán này Tuy nhiên, các thuật toán học sâuthường quan tâm đến việc làm sao để khai thác hiệu quả các bộ dữ liệu lớnchứa rất ít dữ liệu đã được gán nhãn
Một số thuật toán học sâu phổ biến có thể kể đến như mạng nơ-ron
sâu (Deep Neural Network - DNN), mạng nơ-ron tích chập (Convolutional Neural Network - CNN), mạng nơ-ron hồi quy (Recurrent Neural Network
- RNN), mạng tự mã hóa (Autoencoder) hay mạng sinh đối nghịch (Generative Adversarial Network - GAN) [15] Trong phạm vi đề tài, tác giả
sẽ khai thác các lý thuyết liên quan đến mạng nơ-ron sâu, mạng tự mãhóa (Autoencoder) và mạng GAN để làm cơ sở cho phương pháp nghiêncứu
Mạng nơ-ron sâu (Deep Neural Network) hay còn gọi là mạng nơ-ron
đa lớp gồm nhiều lớp ron, mỗi ron được kết nối đầy đủ với các ron khác ở tầng kế tiếp [15] Hình2.9mô tả cấu trúc cơ bản của một mạngnơ-ron sâu
nơ-Các nơ-ron được nhóm vào 3 loại lớp khác nhau: lớp đầu vào (InputLayer), các lớp ẩn (Hidden Layer), và lớp đầu ra (Output Layer) Trong đó:
• Lớp đầu vào: nhận các dữ liệu đầu vào để đưa các đầu vào này vào
lớp ẩn thứ nhất
• Các lớp ẩn: thực hiện các phép tính toán cho các đầu vào Độ sâu
của mạng nơ-ron phụ thuộc vào số lượng lớp ẩn cũng như số lượng
Trang 40Hình 2.9: Cấu trúc của một mạng nơ-ron sâu
nơ-ron cho mỗi lớp
• Lớp đầu ra: trả về dữ liệu đầu ra, thường là các kết quả phân loại.
Mỗi một kết nối giữa các nơ-ron được liên kết với một trọng số (weight).Trọng số này chỉ rõ ra tầm quan trọng của giá trị đầu vào Thông thường,trọng số được khởi tạo bằng cách chọn ngẫu nhiên khác 0 Bên cạnh đó,mỗi một nơ-ron sẽ được gắn một Hàm kích hoạt phi tuyến tính (NonlinearActivation Function) Các hàm này sử dụng các thuật toán như: sigmoid,softmax, gaussian, v.v để chuẩn hóa giá trị đầu ra từ nơ-ron Khi một tập
dữ liệu đầu vào được truyền qua tất cả các lớp của mạng nơ ron, nó sẽ trả
về dữ liệu đầu ra thông qua lớp đầu ra
Việc huấn luyện một mạng nơ-ron sâu cũng tương tự như huấn luyệnmạng nơ-ron cơ bản hay các thuật toán học máy, một mạng nơ-ron sâu sửdụng các tập dữ liệu huấn luyện để tính toán dữ liệu đầu ra, sau đó so sánhkết quả đầu ra với hàm mất mát (Loss Function hay Cost Function) để chỉ
ra sự sai sót của mô hình so với đầu ra thực tế Sau mỗi vòng lặp trong tập
dữ liệu huấn luyện, trọng số giữa các nơ-ron sẽ được điều chỉnh bằng cácphương pháp tối ưu để giảm giá trị mất mát
Mạng tự mã hóa (Autoencoder - AE) là một dạng mạng nơ-ron nhântạo được dùng để học cách mã hóa dữ liệu hiệu quả theo cách học phigiám sát [15] Mục tiêu mạng tự mã hóa là học các đặc tính (mã hóa) từmột tập dữ liệu, thông thường được sử dụng trong giảm chiều dữ liệu