Áp dụng kỹ thuật học máy để xây dựng hệ thống phát hiện và ngăn chặn xâm nhập trong mạng điều khiển bằng phần mềm

Applying machine learning techniques to develop an intrusion detection and prevention system in software-defined networking

Trong thời đại số hóa, khi các hệ thống mạng ngày càng trở nên phức tạp và kết nối mở rộng, các cuộc tấn công mạng cũng ngày càng đa dạng và tinh vi. Điều này đặt ra yêu cầu cấp thiết về việc phát triển các giải pháp an ninh mạng chủ động, hiệu quả và có khả năng thích ứng cao. Kiến trúc mạng khả lập trình – Software Defined Networking (SDN) với đặc điểm tách biệt mặt điều khiển và mặt dữ liệu, mang lại cơ hội tích hợp các cơ chế giám sát và bảo vệ mạng một cách linh hoạt hơn, đặc biệt là các hệ thống phát hiện và ngăn chặn xâm nhập – Intrusion Detection anh Prevention Systems (IDPS).

Trong khuôn khổ đề tài, một hệ thống phát hiện xâm nhập được xây dựng dựa trên thuật toán học máy XGBoost. Hệ thống bao gồm các bước chính: tiền xử lý dữ liệu, trích xuất và chuẩn hóa đặc trưng, huấn luyện mô hình và đánh giá kết quả. Tập dữ liệu sử dụng là SDN-Intrusion, bao gồm hai loại lưu lượng: bình thường và tấn công DDoS, được thu thập từ môi trường SDN mô phỏng.

Kết quả thực nghiệm cho thấy mô hình XGBoost đạt hiệu năng cao với độ chính xác trên 98%, chỉ số F1-score và độ nhạy cũng đạt mức rất tốt. Mô hình có khả năng phân biệt rõ ràng giữa lưu lượng tấn công và lưu lượng hợp lệ, đặc biệt hiệu quả trong việc phát hiện các cuộc tấn công từ chối dịch vụ phân tán.

Hệ thống đề xuất có thể được tích hợp như một mô-đun giám sát trong các mạng SDN hiện đại, hỗ trợ cảnh báo sớm và nâng cao khả năng tự bảo vệ của hệ thống. Trong tương lai, hướng phát triển có thể bao gồm mở rộng phạm vi phân loại nhiều loại tấn công hơn, áp dụng các thuật toán học sâu, và triển khai trong môi trường thực để đánh giá khả năng hoạt động thời gian thực.

TÁC GIẢ

Ngô Anh Quang, Nguyễn Duy Nhật Thành

GIẢNG VIÊN HƯỚNG DẪN

NGÀNH

Năm:

TỔNG QUAN

Trong bối cảnh các cuộc tấn công mạng ngày càng tinh vi, các hệ thống phòng thủ truyền thống không còn đáp ứng kịp với tốc độ phát triển của công nghệ. Mạng điều khiển bằng phần mềm – Software Defined Networking (SDN) mở ra cơ hội triển khai các giải pháp an ninh mạng chủ động và linh hoạt hơn, đặc biệt là tích hợp các hệ thống phát hiện và ngăn chặn xâm nhập – Intrusion Detection and Prevention Systems (IDPS). 

Với đặc trưng tách biệt giữa mặt điều khiển và mặt dữ liệu, SDN tạo điều kiện thuận lợi cho việc thu thập dữ liệu mạng và áp dụng các thuật toán học máy – Machine Learning (ML) để phát hiện bất thường. Việc kết hợp giữa SDN và ML mang lại một hướng tiếp cận mới hiệu quả hơn trong công tác bảo mật mạng. 

Mục tiêu nghiên cứu 

Mục tiêu của đề tài là xây dựng một hệ thống phát hiện xâm nhập cho mạng khả lập trình bằng cách áp dụng thuật toán học máy XGBoost trên dữ liệu mạng thu thập được từ môi trường SDN mô phỏng. 

Các mục tiêu cụ thể: 

• Tìm hiểu kiến trúc mạng khả lập trình và các mối đe doạ bảo mật điển hình. 

• Tiền xử lý dữ liệu tấn công mạng và trích xuất đặc trưng. • Huấn luyện mô hình phát hiện xâm nhập bằng thuật toán XGBoost.

• Đánh giá hiệu quả mô hình qua các chỉ số: độ chính xác (accuracy), độ nhạy (recall), F1-score và đường cong ROC (ROC curve). 

• Áp dụng mô hình vào controller để xây dựng hệ thống phát hiện và xâm nhập. 

Đối tượng nghiên cứu

Công nghệ mạng khả lập trình SDN.

Mô hình phân loại sử dụng thuật toán XGBoost.

Mô hình phát hiện và ngăn chặn xâm nhập mạng.

Kiểu tấn công mạng phổ biến nhất hiện nay là DDoS.

Phạm vi nghiên cứu 

Đề tài tập trung vào việc xây dựng và đánh giá một hệ thống phát hiện và ngăn chặn tấn công từ chối dịch vụ phân tán (DDoS) trong môi trường mạng SDN mô phỏng. 

• Loại tấn công: Hệ thống chủ yếu tập trung phát hiện và ngăn chặn 3 dạng tấn công DDoS cơ bản là ICMP Flood, TCP SYN Flood và UDP Flood. 

• Thuật toán sử dụng: Nghiên cứu chỉ sử dụng thuật toán học máy XGBoost để xây dựng mô hình phân loại. 

• Dữ liệu: Mô hình được huấn luyện ngoại tuyến trên một bộ dữ liệu tĩnh có sẵn. 

• Môi trường: Toàn bộ hệ thống được triển khai và kiểm thử trong một môi trường giả lập sử dụng Mininet để mô phỏng mạng và controller Ryu để điều khiển. 

• Mục tiêu hệ thống: Tích hợp mô hình đã huấn luyện vào controller Ryu để có thể phát hiện và chặn các luồng tấn công trong thời gian thực trên mạng mô phỏng. 

Phương pháp nghiên cứu 

Thực nghiệm định lượng: Huấn luyện mô hình trên bộ dữ liệu có sẵn và đánh giá định lượng hiệu suất của mô hình thông qua các chỉ số khoa học như độ chính xác (accuracy), F1-score và ma trận nhầm lẫn (confusion matrix) . 

Phát triển hệ thống: Xây dựng một hệ thống phát hiện và ngăn chặn xâm nhập (IDPS) hoàn chỉnh bằng cách tích hợp mô hình học máy XGBoost vào controller Ryu để xử lý và ra quyết định 2 

Mô phỏng hệ thống: Triển khai hệ thống trong một môi trường mạng giả lập bằng Mininet. Các kịch bản tấn công DDoS (ICMP Flood, TCP SYN Flood, UDP Flood) được mô phỏng bằng công cụ hping3 để kiểm tra khả năng hoạt động và phản ứng của hệ thống trong thời gian thực. 

PHƯƠNG PHÁP THỰC HIỆN

Tổng quan hệ thống 

Hệ thống phát hiện và ngăn chặn tấn công DDoS trong mạng điều khiển bằng phần mềm (SDN) được xây dựng trên kiến trúc gồm ba thành phần chính: 

• Tập dữ liệu SDN: Thu thập từ môi trường mạng mô phỏng, chứa các luồng lưu lượng được gán nhãn là bình thường hoặc tấn công. 

• Mô hình học máy XGBoost: Được huấn luyện offline từ dữ liệu để phân loại các luồng mạng. 

• Controller Ryu: Tích hợp mô hình XGBoost để phát hiện và chặn tấn công trong thời gian thực. 

Quy trình thực hiện gồm các bước: xử lý dữ liệu, huấn luyện mô hình, đánh giá hiệu suất, lưu mô hình và tích hợp vào controller để phát hiện sớm

THỰC NGHIỆM, ĐÁNH GIÁ VÀ THẢO LUẬN

image 225
image 226

Thực hiện tấn công và phát hiện

Kịch bản 1: Mô hình mạng bao gồm 3 switch và 3 host

Mô hình mạng SDN được giả lập bằng Mininet:

image 227

Kịch bản 2: Mô hình mạng bao gồm 1 switch và 2 host

Mô hình mạng SDN được giả lập bằng Mininet:

image 228

Đánh giá và thảo luận kết quả 

• Các tấn công được phát hiện thành công sau vài giây. Các flow bị gắn nhãn MALICIOUS được log và chặn nguồn tấn công tức thời. 

• Khả năng phát hiện tấn công trong môi trường ảo hóa không chỉ phụ thuộc vào bản thân cuộc tấn công mà còn phụ thuộc chặt chẽ vào tài nguyên của máy chủ ảo: Khi thực hiện trên các máy ảo với cấu hình khác nhau thì mức độ phát hiện sẽ khác nhau. Hệ thống cấu hình càng thấp (ít RAM, ít lõi CPU) và mô hình mạng càng phức tạp (nhiều switch, host), dù cho quy mô tấn công không mạnh (kích thước, tốc độ gửi gói tin thấp) nhưng hệ thống vẫn sẽ phát hiện được và ngược lại. 

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Kết luận

Trong bối cảnh các cuộc tấn công mạng ngày càng trở nên tinh vi và quy mô lớn, việc áp dụng các phương pháp học máy vào hệ thống phát hiện và ngăn chặn xâm nhập (IDPS) là một hướng tiếp cận tiềm năng và hiệu quả. Đề tài đã tập trung vào việc xây dựng một hệ thống phát hiện tấn công từ chối dịch vụ phân tán (DDoS) trong môi trường mạng điều khiển bằng phần mềm (SDN), sử dụng mô hình học máy XGBoost. 

Thông qua các bước: thu thập và xử lý dữ liệu, huấn luyện mô hình, đánh giá hiệu suất và triển khai thực nghiệm, hệ thống đã chứng minh được khả năng phát hiện tấn công với độ chính xác cao (trên 99%) và thời gian phản hồi nhanh. Việc tích hợp mô hình vào controller Ryu cho phép hệ thống hoạt động theo thời gian thực, phát hiện sớm và chặn các luồng tấn công chỉ sau vài giây, đảm bảo tính linh hoạt và tự động hóa cao trong bảo vệ mạng. 

Kết quả thực nghiệm trên môi trường mô phỏng Mininet cũng cho thấy hệ thống có thể phát hiện hiệu quả các dạng tấn công phổ biến như ICMP Flood, TCP SYN Flood và UDP Flood, qua đó minh chứng tính khả thi của hướng tiếp cận.

Hạn chế 

Mặc dù đạt được các kết quả tích cực, hệ thống vẫn còn tồn tại một số hạn chế: 

• Việc đánh giá mới chỉ thực hiện trong môi trường giả lập (Mininet), chưa được triển khai trong hệ thống SDN thực tế. 

• Hệ thống hiện tại chỉ xử lý bài toán phân loại nhị phân (bình thường và 3 loại tấn công DDoS cơ bản), chưa bao gồm các dạng tấn công mạng khác. 

• Phát hiện ngoại tuyến (Offline Detection): Mô hình hiện tại được huấn luyện trên một bộ dữ liệu tĩnh. Nó chưa có khả năng học từ dữ liệu mới hoặc thích ứng với các hình thức tấn công chưa từng thấy trong thời gian thực. 

• Chưa có đánh giá định lượng về thời gian xử lý trung bình của mô hình trong điều kiện mạng có mật độ lưu lượng cao. 

• Chưa áp dụng các kỹ thuật tối ưu tài nguyên để đảm bảo khả năng mở rộng trong môi trường mạng lớn hoặc thiết bị hạn chế (như IoT). 

• Chưa triển khai giao diện giám sát để trực quan hóa mạng và quản trị viên can thiệp. 

Hướng phát triển 

Để nâng cao hiệu quả và khả năng ứng dụng thực tế, hệ thống có thể được mở rộng và cải tiến theo một số hướng sau: 

• Triển khai thực tế: Đưa mô hình vào hoạt động trên hệ thống SDN thật, sử dụng các nền tảng như Ryu, ONOS hoặc OpenDaylight để kiểm tra khả năng vận hành lâu dài. 

• Phân loại đa lớp: Mở rộng bài toán phân loại để nhận diện nhiều loại tấn công khác nhau (Port Scan, Spoofing, DNS/HTTP Flood, Brute-force,…). 

• Phát triển học trực tuyến (Online Learning): Sử dụng các thuật toán có khả năng học từ các mẫu dữ liệu mới mà không cần phải huấn luyện lại toàn bộ mô hình từ đầu. Các thư viện như creme hoặc scikit-multiflow trong Python hỗ trợ rất tốt việc này. 

• Kết hợp với học sâu: Tích hợp các mô hình học sâu như LSTM, CNN để phát hiện các mẫu tấn công phức tạp, liên tục hoặc chưa từng thấy (zero-day). 

• Tối ưu hóa mô hình: Cải tiến về mặt hiệu suất tính toán, sử dụng mô hình nhẹ hoặc rút gọn đặc trưng đầu vào để phù hợp với môi trường thực tế yêu cầu cao về thời gian phản hồi. 

• Xây dựng Giao diện Giám sát: Tạo một giao diện web trực quan để hiển thị các cảnh báo tấn công trong thời gian thực, trực quan hóa lưu lượng mạng, các thông số quan trọng, hiển thị danh sách các IP, các luồng đã bị hệ thống tự động chặn, cho phép quản trị viên can thiệp thủ công nếu cần