Bối cảnh và vấn đề nghiên cứu

Sự phát triển của hệ thống Vạn vật kết nối (IoT) với quy mô và số lượng thiết bị ngày càng tăng đã dẫn đến sự gia tăng các nguy cơ tấn công mạng. Do đặc thù hạn chế về tài nguyên xử lý và tính chất không đồng nhất của các thiết bị IoT, các giải pháp bảo mật truyền thống thường khó đạt hiệu quả cao. Để giám sát và phát hiện sớm các hành vi bất thường, việc ứng dụng hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) là một giải pháp phổ biến. Trong ngữ cảnh đó, kiến trúc mạng khả lập trình (Software-Defined Networking - SDN) nổi lên như một nền tảng quản lý lưu lượng tập trung, linh hoạt, cho phép bộ điều khiển (Controller) giám sát toàn diện mạng theo thời gian thực với chi phí băng thông thấp.

Mặc dù các mô hình học máy (Machine Learning - ML) và học sâu (Deep Learning - DL) đã được ứng dụng rộng rãi trong IDS để phát hiện bất thường, việc đào tạo các mô hình này theo phương thức truyền thống đòi hỏi phải thu thập dữ liệu tập trung về một máy chủ. Cách tiếp cận này gây ra rủi ro vi phạm quyền riêng tư của người dùng, tiêu tốn băng thông đường truyền và tạo ra nguy cơ bị tấn công giả mạo hoặc đầu độc dữ liệu. Phương pháp học liên kết (Federated Learning - FL) giải quyết vấn đề này bằng cách cho phép các thiết bị phân tán tự đào tạo mô hình cục bộ và chỉ gửi trọng số mô hình về máy chủ trung tâm để tổng hợp. Tuy nhiên, dữ liệu cục bộ trên các thiết bị mạng thường gặp phải hiện tượng mất cân bằng nghiêm trọng giữa lưu lượng bình thường và lưu lượng tấn công, gây suy giảm độ tin cậy và hiệu suất phân loại. Mạng sinh đối kháng (Generative Adversarial Networks - GAN) là kỹ thuật học sâu có khả năng sinh thêm các mẫu dữ liệu giả mang đặc trưng tương đồng với dữ liệu thực của lớp thiểu số để cân bằng tập huấn luyện.

Mục tiêu nghiên cứu của đề tài:

  1. Nghiên cứu, thiết kế và xây dựng hệ thống ứng dụng học liên kết (FL) kết hợp với mạng sinh đối kháng (GAN) để đào tạo mô hình học máy có khả năng phát hiện lưu lượng tấn công mạng với độ chính xác cao trong kiến trúc mạng khả lập trình (SDN).

Đối tượng nghiên cứu của khóa luận:

  • Các mô hình học máy áp dụng cho bài toán phân loại nhị phân nhằm phân biệt lưu lượng tấn công và lưu lượng bình thường.
  • Khả năng khắc phục vấn đề mất cân bằng dữ liệu của mô hình GAN.
  • Quá trình đào tạo mô hình học máy phân tán trên kiến trúc FL.
  • Quá trình triển khai mô hình FL kết hợp với GAN trên hệ thống mạng SDN.

Phạm vi nghiên cứu của khóa luận:

  • Hệ thống IDS ứng dụng các thuật toán máy học cơ bản (Logistic Regression, Support Vector Machine, Random Forest, Multilayer Perceptron).
  • Xử lý mất cân bằng dữ liệu bằng mô hình TabGAN.
  • Triển khai mạng FL phân tán bằng framework Flower.
  • Hiện thực kịch bản tấn công từ chối dịch vụ (DoS) bằng công cụ HULK, thu thập lưu lượng mạng thực tế và kiểm tra khả năng nhận diện của IDS.

Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng nội dung dựa trên các nền tảng lý thuyết và mô hình kỹ thuật sau:

  • Hệ thống phát hiện xâm nhập (IDS): Được phân loại theo vị trí lắp đặt gồm Host-based IDS (hoạt động tại tầng ứng dụng/tầng 7 trên từng máy chủ, giám sát sâu gói tin nhưng tốn tài nguyên phân tán) và Network-based IDS (đặt tại biên mạng, giám sát diện rộng nhưng không soi sâu nội dung mã hóa). Theo kỹ thuật phát hiện, IDS gồm phát hiện theo dấu hiệu (Signature-based) và phát hiện bất thường (Anomaly-based dựa trên học máy). Các chỉ số đánh giá IDS gồm Ma trận nhầm lẫn (True Positive - TP, True Negative - TN, False Positive - FP, False Negative - FN) cùng các độ đo Accuracy, Recall, Precision và F1-Score.
  • Kiến trúc mạng khả lập trình (SDN): Định nghĩa bởi Open Networking Foundation (ONF), tách biệt hoàn toàn mặt phẳng điều khiển (Control Plane) và mặt phẳng chuyển tiếp dữ liệu (Data Plane). Kiến trúc gồm 3 lớp: Lớp cơ sở hạ tầng (các thiết bị chuyển mạch như Open vSwitch), Lớp điều khiển (RyuController giao tiếp qua giao thức OpenFlow và các giao diện Southbound, Northbound, East/Westbound) và Lớp ứng dụng. SDN cung cấp các tính năng quản trị luồng, định tuyến, cân bằng tải, giám sát lưu lượng và điều phối máy chủ ảo (sử dụng OpenNebula).
  • Mạng sinh đối kháng (GAN): Được giới thiệu bởi Ian Goodfellow (2014), gồm hai mạng nơ-ron đối kháng: Bộ sinh (Generator - $G$) cố gắng tạo ra mẫu dữ liệu giả giống thật và Bộ phân biệt (Discriminator - $D$) cố gắng phân biệt mẫu thật và mẫu giả. Quá trình tối ưu hóa hàm mất mát (loss function) dựa trên thuật toán CrossEntropy tuân theo công thức Minimax: $$\min_{G} \max_{D} V(D, G) = \mathbb{E}{x \sim p{data}(x)}[\log D(x)] + \mathbb{E}{z \sim p{z}(z)}[\log (1 - D(G(z)))]$$ Biến thể TabGAN được ứng dụng nhằm sinh dữ liệu bảng (dạng số và vector đặc trưng mạng) để bù đắp lớp tấn công thiểu số.
  • Học liên kết (Federated Learning - FL): Thuật toán tối ưu hóa trọng số trung bình liên kết (FedAvg) được sử dụng để điều phối quá trình đào tạo mô hình giữa Server trung tâm và các Client phân tán theo quy trình 6 bước: (1) Client kết nối; (2) Server nạp mô hình; (3) Gửi cấu hình và mô hình đến Client; (4) Client huấn luyện cục bộ bằng dữ liệu riêng và gửi trọng số cập nhật về Server; (5) Server tính trung bình trọng số; (6) Server ghi nhận mô hình toàn cục mới.

Nguồn dữ liệu sử dụng trong nghiên cứu:

  • Bộ dữ liệu chuẩn CIC-ToN-IoT (chuyển đổi từ định dạng pcap bằng công cụ CICFlowMeter-v4, gồm 83 thuộc tính và 5.351.760 bản ghi).
  • Bộ dữ liệu chuẩn CIC-IDS2018 (trích xuất bằng công cụ CICFlowMeter-v3, xây dựng dựa trên B-profiles và M-profiles mô phỏng 6 kịch bản tấn công).
  • Bộ dữ liệu lưu lượng thực nghiệm thu thập từ mô hình mạng giả lập tấn công DoS bằng tcpdump và trích xuất đặc trưng bằng CICFlowMeter-v4 (gồm 84 thuộc tính và 11.379 bản ghi).

Thiết kế và triển khai

Hệ thống phát hiện xâm nhập kết hợp FL và GAN (FL-GAN) trong môi trường SDN được thiết kế và triển khai thông qua các thành phần công nghệ cụ thể:

1. Kiến trúc hệ thống mạng SDN và FL-GAN

Hệ thống mạng được giả lập trên máy ảo sử dụng nền tảng Mininet, điều khiển bởi RyuController ($C_0$). Hạ tầng mạng bao gồm 4 thiết bị chuyển mạch ảo Open vSwitch ($S_1 - S_4$), 1 máy chủ trung tâm (Server) và 10 máy trạm khách ($C_1 - C_{10}$). Các nút mạng hoạt động dưới dạng các container Docker chạy hệ điều hành Ubuntu 18.04.

[ RyuController (C0) ]  <--- (OpenFlow Protocol) --->  [ Switch S1 - S4 ]
                                                               |
                 +---------------------------------------------+
                 |                                             |
       [ FL Central Server ]                        [ 10 Host Clients (C1 - C10) ]
     - Điều phối vòng lặp FL                      - Dữ liệu cục bộ (Train/Test/Attack)
     - Tổng hợp thuật toán FedAvg                 - TabGAN sinh dữ liệu thiểu số
     - Phân phối Global Model                     - Huấn luyện Local Model (LR, SVM, RF, MLP)

Mỗi Client nắm giữ một tập dữ liệu cục bộ riêng biệt về quy mô và tỷ lệ nhãn. Tại mỗi Client, dữ liệu được chia làm ba phần: Attackset (chứa mẫu tấn công), Trainset (tập huấn luyện ban đầu) và Testset (tập kiểm thử). Mô hình TabGAN được khởi tạo tại Client để học phân phối của Attackset và sinh ra dữ liệu tấn công mới, kết hợp với Trainset thành GAN_Trainset để huấn luyện các thuật toán phân loại.

Framework Flower được cấu hình để quản lý các vòng lặp truyền thông (communication rounds), thu thập các tham số mô hình từ 10 Client và thực thi thuật toán FedAvg tại Server.

2. Quy trình tiền xử lý dữ liệu (8 bước)

Tất cả các tập dữ liệu trước khi đưa vào mô hình học máy đều trải qua quy trình tiền xử lý gồm 8 bước tuần tự:

  1. Chuẩn hóa tên thuộc tính: Loại bỏ khoảng trắng và đồng nhất định dạng tên cột (ví dụ chuyển đổi Idle Mean thành Idle_Mean).
  2. Mã hóa nhãn: Quy đổi nhãn phân loại sang dạng số nhị phân (0 tương ứng với lưu lượng bình thường Benign, 1 tương ứng với lưu lượng tấn công Attack).
  3. Loại bỏ thuộc tính định danh: Xóa các cột kiểu dữ liệu đối tượng không mang giá trị tổng quát hóa gồm Flow_ID, Src IP và Timestamp.
  4. Lọc dữ liệu rác: Xóa bỏ các cột đơn trị (chỉ chứa một giá trị duy nhất trên toàn bộ tập dữ liệu) và loại bỏ các hàng bị trùng lặp.
  5. Xử lý giá trị bất thường: Chuyển đổi các ô dữ liệu chứa giá trị lỗi, giá trị vô cùng (infinity) và giá trị rỗng (null) về dạng NaN.
  6. Điền khuyết dữ liệu: Thay thế các giá trị NaN bằng giá trị trung bình (mean) của cột tương ứng.
  7. Đồng nhất kiểu dữ liệu số: Chuyển đổi các định dạng nan của thư viện NumPy và NaN của thư viện Pandas sang dạng số thực.
  8. Chuẩn hóa giá trị đặc trưng (Min-Max Normalization): Áp dụng công thức $y = \frac{x - \min}{\max - \min}$ để đưa toàn bộ miền giá trị của các thuộc tính về đoạn $[0, 1]$.

3. Triển khai mô hình IDS Inline và thu thập dữ liệu thực nghiệm

Mô hình IDS được triển khai theo cơ chế inline, đặt tại vị trí trung gian phía trước một máy chủ dịch vụ web Nginx. Để kiểm thử khả năng nhận diện thực tế:

  • Máy tấn công (Attacker) sử dụng công cụ mã nguồn mở hulk để phát động cuộc tấn công từ chối dịch vụ (DoS) vào webserver.
  • Máy người dùng (Client) thực hiện các truy cập duyệt web thông thường.
  • IDS kích hoạt công cụ tcpdump để bắt toàn bộ các gói tin đi qua giao diện mạng và ghi lại thành tệp .pcap.
  • Công cụ CICFlowMeter-v4 được sử dụng để trích xuất tệp .pcap thành tệp .csv với 84 đặc trưng lưu lượng mạng, sẵn sàng đưa vào mô hình FL-GAN đã huấn luyện để phân loại.

Nội dung chính theo từng chương

Chương 1: Tổng quan đề tài

Chương 1 trình bày bối cảnh gia tăng nguy cơ tấn công mạng trong kỷ nguyên IoT và sự cần thiết của hệ thống IDS trên nền tảng mạng khả lập trình SDN. Tác giả xác định rõ các hạn chế của phương pháp học máy tập trung truyền thống về mặt quyền riêng tư dữ liệu và đề xuất kết hợp học liên kết (FL) cùng mạng sinh đối kháng (GAN). Chương này xác định mục tiêu nghiên cứu, 4 đối tượng nghiên cứu, 4 phạm vi nghiên cứu, phương pháp thực hiện tổng quát và bố cục 6 chương của khóa luận.

Chương 2: Tổng quan tình hình nghiên cứu

Chương 2 tổng hợp các công trình khoa học trong và ngoài nước liên quan đến đề tài:

  • Nghiên cứu của William Schneble và cộng sự về ứng dụng FL cho hệ thống y tế MCPS đạt độ chính xác 99%.
  • Nghiên cứu của Mohamed Amine Ferrag và cộng sự về học sâu cho hệ thống IoT phân tán trên bộ dữ liệu CID-DoS2019 và TON_IoT.
  • Mô hình DeepFed của Beibei Li và cộng sự ứng dụng FL bảo mật cho hệ thống không gian mạng thực - ảo (CPS).
  • Nghiên cứu của Mohammad Rasouli và cộng sự kết hợp FL và GAN với cấu trúc bộ sinh và bộ phân biệt đặt trên cùng một thiết bị.
  • Công trình DIGFuPAS ứng dụng GAN để sinh mẫu tấn công đánh giá độ bền vững của IDS trong môi trường SDN.
  • Phân tích ý nghĩa khoa học và ý nghĩa thực tiễn của đề tài trong bối cảnh chuẩn hóa mạng 5G và bảo vệ quyền riêng tư người dùng.

Chương 3: Cơ sở lý thuyết

Chương 3 hệ thống hóa toàn bộ kiến thức nền tảng:

  • Hệ thống IDS: Định nghĩa, phân loại theo vị trí (Host-based IDS, Network-based IDS), phân loại theo kỹ thuật (Signature-based, Anomaly-based) và các độ đo đánh giá (Accuracy, Recall, Precision, F1-Score).
  • Kiến trúc SDN: 3 lớp chức năng theo tiêu chuẩn ONF, giao thức OpenFlow, các cơ chế điều phối đám mây (OpenNebula), cân bằng tải, định tuyến, giám sát và nhận diện dịch vụ mạng.
  • Mạng GAN: Vấn đề mất cân bằng dữ liệu, kỹ thuật Over-sampling, Under-sampling, kiến trúc Generator - Discriminator, công thức toán học tính hàm mất mát Minimax Loss và các ứng dụng trong hình ảnh, âm thanh, video, an ninh mạng.
  • Học liên kết FL: Thách thức về quy định bảo vệ dữ liệu cá nhân, kiến trúc Client-Server, cơ chế hoạt động của thuật toán FedAvg qua các vòng lặp cập nhật trọng số.

Chương 4: Phương pháp thực hiện

Chương 4 là phần trọng tâm mô tả chi tiết phương pháp kỹ thuật:

  • Phân tích đặc điểm hai tập dữ liệu CIC-ToN-IoT (5.351.760 mẫu) và CIC-IDS2018 (cấu trúc B-profiles và M-profiles với 6 kịch bản tấn công).
  • Thiết lập quy trình tiền xử lý dữ liệu chuẩn gồm 8 bước.
  • Thiết kế kiến trúc FL-GAN trên mạng SDN gồm máy chủ điều phối và 10 máy trạm khách.
  • Xây dựng quy trình xử lý mất cân bằng tại nút mạng bằng TabGAN (tách Attackset, sinh dữ liệu nhân tạo, tạo GAN_Trainset).
  • Cấu hình thư viện Flower cho mạng FL và xây dựng mô hình kiểm thử IDS inline kết hợp máy chủ Nginx, công cụ tấn công HULK, tcpdump và CICFlowMeter-v4.

Chương 5: Thực nghiệm và đánh giá

Chương 5 công bố môi trường thực nghiệm phần cứng/phần mềm tại Phòng thí nghiệm InSecLab và kết quả kiểm thử qua ba giai đoạn:

  • Đánh giá mô hình FL-based (không có GAN) trên hai bộ dữ liệu CIC-ToN-IoT và CIC-IDS2018 với 4 thuật toán: Logistic Regression (LR), Support Vector Machine (SVM), Random Forest (RF), Multilayer Perceptron (MLP).
  • Đánh giá mô hình FL-GAN (có TabGAN xử lý mất cân bằng) trên bộ dữ liệu CIC-IDS2018.
  • Đánh giá mô hình FL-GAN trên tập dữ liệu lưu lượng thực nghiệm thu được từ cuộc tấn công DoS thực tế. Phân tích nguyên nhân chênh lệch hiệu suất giữa các thuật toán và vai trò của TabGAN trong việc cải thiện độ chính xác.

Chương 6: Kết luận và hướng phát triển

Chương 6 tổng kết các kết quả đạt được: Chứng minh tính khả thi của việc huấn luyện mô hình phân tán bảo vệ quyền riêng tư qua FL, hiệu quả của GAN trong xử lý mất cân bằng dữ liệu trên mạng SDN. Tác giả đề xuất 5 hướng mở rộng nghiên cứu tiếp theo liên quan đến đa dạng hóa kịch bản tấn công, áp dụng mô hình học sâu, tối ưu hóa trích chọn đặc trưng, triển khai trên thiết bị di động vật lý và tối ưu hóa xử lý thời gian thực.

Kết quả và đóng góp

1. Số liệu thực nghiệm trích xuất từ văn bản

Thông tin chi tiết các loại tấn công trong bộ dữ liệu CIC-ToN-IoT:

Loại lưu lượng / Tấn công Số lượng mẫu Tỷ lệ / Mô tả
Truy cập bình thường (Benign) 2.515.236 47% tổng số dữ liệu
Lưu lượng tấn công (Attack) 2.836.524 53% tổng số dữ liệu
- XSS 2.149.308 Tấn công chèn mã độc vào webapp
- Password 340.208 Tấn công vét cạn mật khẩu hoặc phân tích gói
- Injection 277.696 Tấn công thay đổi thực thi (thường là SQL)
- Scanning 36.205 Nhóm kỹ thuật thu thập thông tin mạng (probing)
- Backdoor 27.145 Phần mềm độc hại vượt qua xác thực
- Ransomware 5.098 Mã hóa dữ liệu đòi tiền chuộc
- MITM 517 Tấn công giả mạo đứng giữa giao tiếp
- DDoS 202 Từ chối dịch vụ phân tán từ nhiều host
- DoS 145 Làm quá tải tài nguyên máy chủ
Tổng cộng 5.351.760 83 thuộc tính

Thông tin bộ dữ liệu thực nghiệm tấn công DoS thu thập thực tế:

Thông số Giá trị
Tổng số lưu lượng 11.379 bản ghi
Số lưu lượng tấn công (DoS) 10.316 bản ghi
Số lưu lượng bình thường 163 bản ghi
Số thuộc tính trích xuất 84 thuộc tính
Dung lượng tệp dữ liệu 4.733 KB

Kết quả thực nghiệm so sánh trên bộ dữ liệu CIC-IDS2018: Trên tập dữ liệu gốc CIC-IDS2018 (mô hình FL-based ban đầu), các thuật toán đơn giản như LR và SVM cho hiệu suất chưa cao do dữ liệu nhiều thuộc tính phức tạp, trong khi RF đạt kết quả tốt với Accuracy đạt 0.9777. Khi áp dụng mô hình FL-GAN (bổ sung dữ liệu sinh từ TabGAN cho lớp thiểu số), hiệu suất của các mô hình được cải thiện rõ rệt:

Mô hình ML Tình trạng áp dụng GAN Accuracy Recall Precision F1-Score
Random Forest (RF) FL-GAN (có TabGAN) 0.9999 1.0000 1.0000 1.0000
Multilayer Perceptron (MLP) FL-GAN (có TabGAN) 1.0000 1.0000 1.0000 1.0000

Kết quả thực nghiệm mô hình FL-GAN trên bộ dữ liệu thực tế (tấn công DoS bằng HULK):

Mô hình ML Accuracy Recall Precision F1-Score
Random Forest (RF) 0.9995 Cao (nhận diện chính xác) Cao (nhận diện chính xác) Cao (nhận diện chính xác)
Multilayer Perceptron (MLP) Tương đương RF Nhận diện tốt Nhận diện tốt Nhận diện tốt

2. Giải pháp và kiến nghị của tác giả

  • Ứng dụng kiến trúc FL kết hợp với GAN để giải quyết bài toán phát hiện xâm nhập mạng mà không cần gom dữ liệu cá nhân về máy chủ tập trung, đảm bảo tính riêng tư cho người dùng.
  • Sử dụng mô hình TabGAN để sinh thêm các mẫu lưu lượng thuộc lớp thiểu số trên từng nút mạng cục bộ trước khi huấn luyện mô hình phân loại, giúp khắc phục tình trạng mất cân bằng dữ liệu.
  • Tận dụng khả năng quản lý tập trung và kiểm soát luồng của kiến trúc SDN (thông qua RyuController và OpenFlow) để triển khai các IDS phân tán có hiệu suất giám sát cao và tiêu tốn ít băng thông.

3. Đóng góp của đề tài

  • Sử dụng các bộ dữ liệu mới gồm CIC-ToN-IoT và CIC-IDS2018 thay thế cho các tập dữ liệu cũ vốn chứa nhiều lưu lượng lỗi và trùng lặp.
  • Bổ sung hệ thống độ đo toàn diện gồm Recall, Precision, F1-Score bên cạnh Accuracy để đánh giá chính xác hiệu suất mô hình trong điều kiện dữ liệu mất cân bằng.
  • Thực nghiệm so sánh nhiều thuật toán học máy khác nhau (LR, SVM, RF, MLP) trong môi trường FL để xác định mô hình tối ưu.
  • Kết hợp thành công mô hình sinh TabGAN vào kiến trúc học liên kết FL trên môi trường mạng SDN mô phỏng.
  • Xây dựng hoàn chỉnh kịch bản thực nghiệm từ phát động tấn công thực tế (HULK DoS), bắt gói tin (tcpdump), trích xuất đặc trưng (CICFlowMeter-v4) đến kiểm thử mô hình phát hiện inline.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của nghiên cứu

  • Dữ liệu thực nghiệm thực tế mới chỉ dừng lại ở kịch bản tấn công DoS đơn giản bằng công cụ HULK, vốn mang các đặc trưng lưu lượng và payload dễ nhận biết, chưa bao quát được các hình thức tấn công phức tạp hoặc tấn công zero-day.
  • Các mô hình học máy mới chỉ sử dụng cấu hình và tham số mặc định từ thư viện Sklearn, chưa đi sâu tối ưu hóa siêu tham số (hyperparameter tuning).
  • Hệ thống mới được thử nghiệm trong môi trường máy ảo giả lập (Mininet, Docker), chưa triển khai trực tiếp trên các thiết bị phần cứng di động thực tế.

Hướng phát triển trong tương lai

Tác giả đề xuất 5 hướng mở rộng nghiên cứu:

  1. Áp dụng mô hình FL-GAN cho nhiều dạng tấn công phức tạp khác từ các bộ dữ liệu xâm nhập bổ sung như CIC-DDoS2019, Bot-IoT.
  2. Mở rộng thử nghiệm trên các kiến trúc học sâu (Deep Learning) thay vì chỉ dừng lại ở các thuật toán học máy cơ bản.
  3. Nghiên cứu sâu hơn về các phương pháp tiền xử lý dữ liệu nâng cao, trích chọn đặc trưng (feature extraction), chuyển hóa và gom nhóm đặc trưng.
  4. Triển khai và kiểm thử mô hình FL-GAN trên hệ thống thiết bị di động vật lý trong môi trường thực tế.
  5. Cải thiện và tối ưu mã nguồn để hệ thống IDS có thể vận hành tự động theo thời gian thực (real-time) và hỗ trợ giao diện giám sát trực quan.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo chuyên môn phù hợp cho sinh viên, học viên cao học và nghiên cứu viên thuộc các chuyên ngành An toàn thông tin, Mạng máy tính & Truyền thông, Khoa học dữ liệu và Khoa học máy tính:

  • Tài liệu tham khảo về kiến trúc hệ thống: Cung cấp hướng dẫn chi tiết về cách thiết lập môi trường mạng SDN bằng Mininet và RyuController kết hợp với framework học liên kết Flower trên nền tảng Docker.
  • Tài liệu tham khảo về xử lý dữ liệu mạng: Trình bày chi tiết quy trình chuẩn 8 bước tiền xử lý dữ liệu lưu lượng mạng và phương pháp ứng dụng TabGAN để xử lý dữ liệu dạng bảng bị mất cân bằng nhãn.
  • Tài liệu tham khảo về quy trình thực nghiệm: Cung cấp phương pháp luận hoàn chỉnh từ khâu giả lập tấn công (HULK), thu thập gói tin (tcpdump), trích xuất đặc trưng (CICFlowMeter-v4) đến đánh giá đa độ đo cho hệ thống IDS.

Câu hỏi thường gặp

1. Khóa luận sử dụng biến thể GAN nào để xử lý dữ liệu mạng và lý do lựa chọn là gì? Tác giả sử dụng biến thể TabGAN (áp dụng cho dữ liệu dạng bảng - tabular data). Lý do lựa chọn là vì dữ liệu lưu lượng mạng sau khi trích xuất qua công cụ CICFlowMeter có cấu trúc dạng bảng gồm nhiều cột thuộc tính số; TabGAN giúp học phân phối xác suất của lớp tấn công thiểu số và sinh thêm các bản ghi nhân tạo có đặc trưng tương đồng với dữ liệu thực mà không bị trùng lặp như kỹ thuật nhân bản mẫu truyền thống.

2. Quy trình tiền xử lý dữ liệu trong nghiên cứu gồm những bước nào? Quy trình gồm 8 bước tuần tự: (1) Chuẩn hóa tên thuộc tính; (2) Mã hóa cột nhãn sang dạng nhị phân 0 (Benign) và 1 (Attack); (3) Loại bỏ các cột thuộc tính đối tượng phi số học (Flow_ID, Src IP, Timestamp); (4) Loại bỏ các cột đơn trị và các hàng dữ liệu trùng lặp; (5) Chuyển các giá trị lỗi, vô cùng và null thành NaN; (6) Điền giá trị khuyết thiếu NaN bằng giá trị trung bình của cột; (7) Chuyển đổi nan sang định dạng số; (8) Chuẩn hóa miền giá trị toàn bộ thuộc tính về đoạn $[0, 1]$ bằng Min-Max Normalization.

3. Môi trường thực nghiệm mạng SDN và Federated Learning được thiết lập bằng các công nghệ nào? Hệ thống được vận hành trên máy ảo Ubuntu Desktop 18.04 (CPU Intel Xeon E5-2660, 20GB RAM, 50GB bộ nhớ) do Phòng thí nghiệm InSecLab cung cấp. Các công cụ sử dụng gồm: Mininet để giả lập cấu trúc mạng (1 RyuController $C_0$, 4 Switch $S_1 - S_4$, 1 Server và 10 Host Client $C_1 - C_{10}$ chạy trên Docker), framework Flower để quản lý mạng học liên kết FL, thư viện Sklearn cho các mô hình phân loại và mã nguồn viết bằng Python 3 cùng Bash shell.

4. Kịch bản tấn công thực tế và kiểm thử IDS inline được thực hiện ra sao? Hệ thống IDS inline được đặt phía trước máy chủ web Nginx. Tác giả sử dụng công cụ hulk từ máy Attacker để phát động cuộc tấn công từ chối dịch vụ (DoS) vào webserver, đồng thời máy Client thực hiện truy cập web bình thường. IDS sử dụng tcpdump để ghi lại gói tin thành tệp .pcap, sau đó dùng CICFlowMeter-v4 chuyển đổi thành tệp .csv gồm 84 thuộc tính (thu được 11.379 bản ghi) để đưa vào mô hình FL-GAN phân loại.

5. Hiệu suất nhận diện của các mô hình học máy thay đổi như thế nào sau khi tích hợp GAN trên bộ dữ liệu CIC-IDS2018? Trước khi tích hợp GAN, các mô hình đơn giản như LR và SVM đạt kết quả thấp, trong khi RF đạt Accuracy 0.9777. Sau khi tích hợp TabGAN để bù đắp lớp tấn công thiểu số trong kiến trúc FL-GAN, hiệu suất phân loại của toàn bộ các mô hình đều được cải thiện rõ rệt, trong đó mô hình Random Forest (RF) và Multilayer Perceptron (MLP) đạt hiệu suất tối ưu với Accuracy, Recall, Precision và F1-Score tiệm cận và đạt mức $0.9999 - 1.0000$.

Kết luận

Khóa luận của tác giả Nguyễn Phan Nhã Quỳnh đã nghiên cứu và hiện thực thành công mô hình FL-GAN kết hợp giữa học liên kết và mạng sinh đối kháng để phát hiện tấn công trong môi trường mạng khả lập trình SDN. Bằng việc ứng dụng TabGAN để giải quyết bài toán mất cân bằng dữ liệu cục bộ và framework Flower để phân tán quá trình đào tạo mô hình, giải pháp vừa đảm bảo quyền riêng tư dữ liệu người dùng vừa đạt được độ chính xác phân loại cao trên các bộ dữ liệu chuẩn lẫn lưu lượng thực nghiệm. Nghiên cứu đã chứng minh tính khả thi của việc tích hợp các kỹ thuật học máy tiên tiến vào hạ tầng mạng thế hệ mới, đồng thời mở ra các hướng phát triển thực tiễn cho hệ thống an toàn thông tin phân tán.