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

Trong bối cảnh chuyển đổi số và sự phát triển mạnh mẽ của hạ tầng trung tâm dữ liệu định nghĩa bằng phần mềm (Software-Defined Data Centre - SDDC) cùng điện toán đám mây (Cloud Computing), kiến trúc mạng định nghĩa bằng phần mềm (Software-Defined Networking - SDN) đã trở thành một giải pháp quản lý và điều khiển mạng mang tính linh hoạt và tối ưu. Kiến trúc SDN thực hiện tách biệt lớp điều khiển (Control Plane) khỏi lớp dữ liệu (Data Plane), cho phép quản trị viên lập trình và định hình lưu lượng mạng tập trung thông qua các giao diện lập trình ứng dụng (API). Tuy nhiên, việc tập trung hóa quyền điều khiển tại bộ điều khiển SDN (SDN Controller) cũng tạo ra những thách thức bảo mật nghiêm trọng. Một cuộc tấn công từ chối dịch vụ hoặc chiếm quyền điều khiển SDN Controller có thể làm tê liệt hoặc cho phép đối tượng tấn công thao túng toàn bộ hệ thống mạng, thay vì chỉ ảnh hưởng cục bộ như trên các thiết bị định tuyến truyền thống.

Bên cạnh đó, các giải pháp phát hiện xâm nhập mạng (NIDS) ứng dụng học máy truyền thống thường đối mặt với nguy cơ rò rỉ quyền riêng tư khi phải thu thập và tập trung dữ liệu lưu lượng nhạy cảm từ các nút mạng. Ngoài ra, việc dữ liệu lưu lượng bị mất cân bằng cũng làm giảm sút đáng kể độ chính xác trong dự đoán tấn công. Nhằm giải quyết các thách thức này, khóa luận đề xuất giải pháp kết hợp hai công nghệ: Học máy liên kết (Federated Learning - FL) để huấn luyện mô hình dự đoán phân tán mà không cần chia sẻ dữ liệu thô, và Chuỗi khối (Blockchain) sử dụng nền tảng Hyperledger Fabric để ghi nhận, xác thực và lưu trữ bất biến các phiên trao đổi tham số mô hình cũng như sự kiện an ninh.

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

  1. Nghiên cứu về Mạng định nghĩa bằng phần mềm (SDN): Phân tích nguyên lý hoạt động, kiến trúc phân lớp (Data Plane, Control Plane, Application Plane) và các mô hình triển khai SDN (Open SDN, SDN qua API, SDN qua mạng Overlay dựa trên Hypervisor, Hybrid SDN) trong môi trường đám mây OpenStack.
  2. Xây dựng mạng lưới Chuỗi khối riêng tư (Private Blockchain) sử dụng Hyperledger Fabric: Thiết lập và cấu hình hệ thống sổ cái phân tán Hyperledger Fabric để quản lý danh tính, kiểm soát truy cập và bảo vệ tính toàn vẹn của dữ liệu giao dịch cũng như mô hình học máy.
  3. Xây dựng mô hình học liên kết dự đoán cho kiến trúc SDN sử dụng Scikit-Learn: Huấn luyện và đánh giá các mô hình học máy phân loại trên tập dữ liệu NSL-KDD, trích xuất đặc trưng tối ưu và kết hợp mô hình Cây quyết định (Decision Tree) cùng Rừng ngẫu nhiên (Random Forest) trong kiến trúc học liên kết.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Kiến trúc mạng SDN, bộ chuyển mạch Open vSwitch (OVS), nền tảng mạng OpenStack Neutron, công nghệ chuỗi khối Hyperledger Fabric, kiến trúc học máy liên kết, các thuật toán học máy có giám sát (Decision Tree, Random Forest, Logistic Regression, SVM, ANN, Gradient Boosting) và tập dữ liệu NSL-KDD của Đại học New Brunswick (UNB).
  • Phạm vi nghiên cứu: Hệ thống phát hiện xâm nhập mạng (NIDS) tích hợp cho môi trường mạng SDN phục vụ hạ tầng điện toán đám mây OpenStack.

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

Khung lý thuyết và mô hình công nghệ

  • Kiến trúc Software-Defined Networking (SDN) và OpenStack Neutron: Khóa luận khảo sát kiến trúc 3 lớp của SDN gồm Lớp dữ liệu (thực hiện chuyển tiếp gói tin, phân đoạn, tái lắp ráp, multicast), Lớp điều khiển (tạo bảng định tuyến, thiết lập chính sách luồng thông qua Southbound API/OpenFlow) và Lớp ứng dụng. Trong môi trường đám mây, dịch vụ mạng OpenStack Neutron được phân tích với 3 thành phần chính: Neutron Server (xử lý yêu cầu API), Neutron Plugin (giao tiếp hạ tầng phần cứng/phần mềm như Open vSwitch, Linux Bridge) và Neutron Agent (cấu hình tài nguyên tại các nút tính toán/mạng, bao gồm L3 Agent và dịch vụ SDN).
  • Chuỗi khối doanh nghiệp Hyperledger Fabric: Nền tảng sổ cái phân tán (DLT) thuộc Linux Foundation, hoạt động theo mô hình mạng riêng tư có định danh (permissioned network). Fabric sử dụng hợp đồng thông minh (Chaincode) được viết bằng các ngôn ngữ phổ thông (Java, Go, Node.js), vận hành theo cơ chế mở rộng với các giao thức đồng thuận có thể cắm (pluggable consensus) như Crash Fault-Tolerant (CFT) hoặc Byzantine Fault Tolerant (BFT) mà không cần tiền mã hóa hay cơ chế đào tiêu tốn tài nguyên.
  • Học máy và Học liên kết (Federated Learning): Khóa luận vận dụng quy trình huấn luyện học liên kết qua các bước: khởi tạo mô hình toàn cục tại server, gửi mô hình tới các client, huấn luyện mô hình trên dữ liệu cục bộ, gửi tham số cập nhật về server trung tâm, và tổng hợp tham số để tạo mô hình toàn cục mới. Kỹ thuật phân loại sử dụng thuật toán Cây quyết định (CART với các tiêu chí Gini, Entropy/Information Gain, MSE) và Rừng ngẫu nhiên (kết hợp Bagging và Feature Bagging) để xây dựng bộ phân loại phân tán.

Phương pháp nghiên cứu và tiền xử lý dữ liệu

Tác giả sử dụng phương pháp thực nghiệm hệ thống kết hợp phân tích định lượng trên tập dữ liệu chuẩn NSL-KDD. Quy trình xử lý dữ liệu bao gồm:

  1. Tiền xử lý dữ liệu: Áp dụng LabelEncoder và One-hot-encoding để chuyển đổi các biến phân loại danh mục sang định dạng số; xử lý đồng bộ các cột thuộc tính bị thiếu giữa tập huấn luyện và tập kiểm thử; chuẩn hóa khung dữ liệu.
  2. Lựa chọn đặc trưng (Feature Selection): Sử dụng phương pháp loại bỏ đặc trưng đệ quy (Recursive Feature Elimination - RFE) để chọn lọc 13 đặc trưng tối ưu nhất đại diện cho 4 nhóm tấn công chính trong tập dữ liệu: Từ chối dịch vụ (DoS), Dò quét (Probe), Truy cập trái phép từ xa (R2L) và Leo thang đặc quyền (U2R).
  3. Đánh giá mô hình: Sử dụng kỹ thuật kiểm định chéo K-lần gấp (K-fold Cross-Validation) và kiểm thử trên toàn bộ tập dữ liệu test của NSL-KDD để đối chiếu hiệu năng giữa các thuật toán đơn lẻ và mô hình tổng hợp.

Thiết kế hệ thống và môi trường triển khai

Hệ thống phát hiện xâm nhập mạng (NIDS) tích hợp được thiết kế theo cấu trúc phân tán liên kết giữa các miền mạng, máy chủ chuỗi khối và máy chủ điều phối học liên kết.

Thành phần hệ thống Vai trò chức năng Cấu hình & Môi trường triển khai
Organization 1 & 2 Máy trạm / Nút mạng thành viên (Domain Clients) Hệ điều hành Windows 10, thu thập gói tin lưu lượng cục bộ
Blockchain Server & FL Server Quản lý sổ cái chuỗi khối và tổng hợp tham số mô hình Máy chủ Ubuntu 22, 16 vCPU, 16GB RAM; nền tảng Docker, Jq, Git, cURL
SDN Controller & Switch Điều phối định tuyến và thực thi chính sách mạng Triển khai trên nền tảng OpenStack Neutron và Open vSwitch (OVS)
Môi trường phân tích Tiền xử lý, huấn luyện và kiểm thử thuật toán ML/FL Ngôn ngữ Python, thư viện Scikit-Learn, môi trường Jupyter Notebook

Quy trình vận hành giữa các thành phần diễn ra theo trình tự:

  1. Các nút mạng (Domain 1, Domain 2) bắt gói tin lưu lượng (Packet Capture) đi qua SDN Switch.
  2. Mỗi nút sử dụng dữ liệu cục bộ để huấn luyện mô hình cây quyết định riêng lẻ (Create Tree Model).
  3. Tham số mô hình được đóng gói thành giao dịch phát hành (Issue Publication Transaction) và gửi lên Blockchain Server.
  4. Nền tảng Hyperledger Fabric thực hiện xác thực, ghi nhận giao dịch vào sổ cái và gửi phản hồi xác nhận (Publication Transaction Confirmation).
  5. FL Server truy vấn mô hình (Query Model Reference) từ Blockchain và thực hiện truyền chuyển giao mô hình (Tree Model Transfer) giữa các nút.
  6. Các nút thành viên tích hợp các cây quyết định nhận được để mở rộng và hoàn thiện mô hình Rừng ngẫu nhiên cục bộ (Increase Local Forest), sau đó đưa ra cảnh báo xâm nhập hiển thị trên giao diện người dùng (UI).

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

Chương 1. Mở đầu

Chương này thiết lập nền tảng cho toàn bộ khóa luận. Tác giả trình bày tính cấp thiết của việc bảo mật kiến trúc SDN trong kỷ nguyên chuyển đổi số và di chuyển lên đám mây. Nội dung khảo sát tổng hợp các công trình nghiên cứu liên quan, bao gồm nghiên cứu của Đại học UIU về lỗ hổng tại lớp điều khiển SDN, các phân tích về sự thay đổi của bề mặt tấn công khi chuyển từ mạng truyền thống sang SDN, và công trình của nhóm nghiên cứu T.S Tăng Anh Tuấn về ứng dụng học sâu (DeepIDS với DNN, RNN) trên dữ liệu OpenFlow. Từ đó, chương xác định rõ 3 mục tiêu nghiên cứu, 5 nhóm đối tượng khảo sát, phạm vi giới hạn trên hạ tầng đám mây OpenStack, và tóm tắt 7 đóng góp chính của đề tài.

Chương 2. Cơ sở lý thuyết

Chương 2 cung cấp nền tảng lý thuyết chi tiết về 4 trụ cột công nghệ:

  • Software-Defined Networking: Kiến trúc 3 tầng, phân loại 4 mô hình triển khai (Open SDN, SDN qua API, SDN qua Hypervisor Overlay, Hybrid SDN), ưu điểm (khả lập trình, giảm chi phí, trừu tượng hóa phần cứng, tập trung hóa chính sách) và nhược điểm (điểm lỗi đơn lẻ tại Controller, thách thức về quy mô). Phân tích chi tiết thành phần OpenStack Neutron (Neutron Server, Plugin, Agent, L3 Agent).
  • Công nghệ Chuỗi khối: Cấu trúc khối dữ liệu (Data, Hash, Previous Hash, Nonce, Timestamp, Merkle Root). Phân tích chuyên sâu nền tảng Hyperledger Fabric: mô hình permissioned, vai trò của TOC và Linux Foundation, ngôn ngữ Chaincode (Java, Go, Node.js), giao thức đồng thuận CFT/BFT, so sánh hạn chế của kiến trúc tuần tự Order-Execute truyền thống với tính xác định trong thực thi giao dịch.
  • Học máy truyền thống: Phân loại học có giám sát (Linear Regression, Logistic Regression, Decision Tree, SVM, Neural Networks), học không giám sát (K-Means, DBSCAN, PCA, Autoencoders), và học tăng cường (Q-Learning, DQN, Policy Gradient).
  • Học máy liên kết và Rừng ngẫu nhiên: Nguyên lý bảo vệ quyền riêng tư của FL qua chu trình trao đổi tham số thay vì dữ liệu thô. Cơ chế giải thuật Cây quyết định CART và Rừng ngẫu nhiên (ngẫu nhiên hóa đặc trưng, kỹ thuật Bootstrap Aggregation/Bagging, cơ chế biểu quyết đa số).

Chương 3. Phương pháp thực hiện

Chương 3 mô tả chi tiết phương pháp thiết kế và tích hợp hệ thống NIDS vào môi trường mạng SDN:

  • Trình bày sơ đồ kiến trúc triển khai gồm hai tổ chức (Organization 1, Organization 2 trên Windows 10), máy chủ hợp nhất Blockchain & FL (Ubuntu 22, 16 vCPU, 16GB RAM), và hệ thống SDN Controller/Switch trên OpenStack Neutron.
  • Trình bày biểu đồ tuần tự UML mô tả luồng trao đổi dữ liệu: từ khâu bắt gói tin, tạo mô hình cây cục bộ, phát hành giao dịch ghi nhận lên Hyperledger Fabric, cơ chế truy vấn mô hình, chuyển giao mô hình giữa các domain, đến việc cập nhật rừng ngẫu nhiên cục bộ.
  • Hướng dẫn các bước thiết lập môi trường Hyperledger Fabric: cài đặt công cụ phụ trợ (Git, cURL, Docker, Jq), tải Fabric Samples, tạo thư mục làm việc, khởi tạo sổ cái, cấu hình kênh truyền riêng tư (channel) và thiết lập cơ chế đồng thuận phân tán.

Chương 4. Thực nghiệm, đánh giá và thảo luận

Chương 4 trình bày toàn bộ quá trình thực nghiệm giải thuật và hệ thống:

  • Quy trình tiền xử lý NSL-KDD: Đọc dữ liệu đầu vào, kiểm tra tập test, áp dụng LabelEncoder cho các trường phân loại, áp dụng One-hot-encoding, bổ sung các cột thiếu vào tập test, nối khung dữ liệu, phân chia tập dữ liệu và chuẩn hóa dữ liệu.
  • Lựa chọn đặc trưng với RFE: Tiến hành phân tích và trích xuất đặc trưng cho từng lớp tấn công riêng biệt: đặc trưng nhóm DoS, đặc trưng nhóm Probe, đặc trưng nhóm R2L và đặc trưng nhóm U2R. Tổng hợp và lựa chọn ra 13 đặc trưng tối ưu nhất để đưa vào huấn luyện.
  • Xây dựng mô hình: Thiết lập hàm huấn luyện trong lớp fedlearn, khởi tạo và cấu hình tham số cho mô hình Cây quyết định và Rừng ngẫu nhiên trên môi trường Jupyter Notebook.
  • Đánh giá hiệu năng: Thực hiện đánh giá chéo K-lần gấp, kiểm thử mô hình trên toàn bộ tập test NSL-KDD, ghi nhận kết quả dự đoán của mô hình Cây quyết định (kết hợp RFE), Rừng ngẫu nhiên độc lập và mô hình NIDS tích hợp hai giải thuật trên nền tảng Hyperledger Fabric.

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

Chương 5 tổng kết toàn diện các kết quả nghiên cứu đã đạt được trong khóa luận, đánh giá ưu điểm về khả năng bảo mật dữ liệu, tính minh bạch trong lưu trữ mô hình và hiệu quả dự đoán tấn công trên môi trường SDN. Đồng thời, chương chỉ rõ các nhược điểm còn tồn tại và vạch ra các hướng phát triển kỹ thuật trong tương lai.


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

Khóa luận đã hiện thực hóa thành công mô hình phòng chống xâm nhập mạng kết hợp học liên kết và chuỗi khối cho kiến trúc mạng SDN trên nền tảng điện toán đám mây OpenStack, với các kết quả cụ thể:

Hạng mục nghiên cứu Kết quả kỹ thuật cụ thể
Tiền xử lý & Trích xuất đặc trưng Xử lý hoàn chỉnh tập dữ liệu NSL-KDD; ứng dụng thành công thuật toán RFE để giảm số lượng chiều dữ liệu, rút trích 13 đặc trưng đại diện tối ưu nhất cho 4 nhóm tấn công (DoS, Probe, R2L, U2R).
Mô hình học máy phân loại Xây dựng và kiểm định chéo K-lần gấp các mô hình Decision Tree và Random Forest; tích hợp mô hình vào lớp điều phối fedlearn.
Hạ tầng chuỗi khối Hyperledger Fabric Thiết lập mạng lưới blockchain doanh nghiệp trên Ubuntu 22 (16 vCPU, 16GB RAM), cấu hình kênh riêng tư (channel), triển khai chaincode quản lý giao dịch trao đổi mô hình giữa 2 tổ chức mạng độc lập (Org 1, Org 2).
Tích hợp kiến trúc SDN Triển khai thành công luồng giám sát lưu lượng và cảnh báo thông qua OpenStack Neutron và Open vSwitch (OVS).

Đóng góp chính của đề tài:

  • Đề xuất giải pháp kiến trúc NIDS mới kết hợp tính phân tán bảo vệ quyền riêng tư của Federated Learning với tính toàn vẹn, chống giả mạo của Hyperledger Fabric dành riêng cho SDN.
  • Xây dựng quy trình xử lý dữ liệu chuẩn hóa và phương pháp chọn 13 đặc trưng hiệu quả trên tập dữ liệu NSL-KDD giúp tối ưu hóa tài nguyên tính toán cho các nút mạng biên.
  • Cung cấp mô hình thử nghiệm hoàn chỉnh có thể vận hành trên nền tảng đám mây nguồn mở OpenStack Neutron.

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

Hạn chế được ghi nhận:

  • Việc thử nghiệm trên quy mô lớn đối với các hệ thống SDN phức tạp trong môi trường doanh nghiệp thực tế vẫn còn nhiều thách thức chưa được khảo sát toàn diện.
  • Kiến trúc SDN vẫn tiềm ẩn rủi ro phụ thuộc vào bộ điều khiển trung tâm (single point of failure) nếu bản thân controller bị quá tải hoặc bị vô hiệu hóa trước khi cảnh báo từ NIDS được thực thi.
  • Chi phí tài nguyên và độ trễ khi xác thực giao dịch, đồng thuận khối trên Hyperledger Fabric cần được tối ưu sâu hơn khi số lượng nút mạng tham gia học liên kết gia tăng.

Hướng nghiên cứu tiếp:

  • Mở rộng thử nghiệm hệ thống NIDS trên các kịch bản mạng thực tế với quy mô lớn và lưu lượng đa dạng hơn.
  • Nghiên cứu tối ưu hóa các cơ chế đồng thuận chuỗi khối và thuật toán tổng hợp trọng số trong học liên kết để giảm độ trễ trao đổi mô hình.
  • Phát triển thêm các cơ chế tự động phản ứng và cô lập luồng tấn công theo thời gian thực trực tiếp tại các bảng luồng (Flow Tables) của OpenFlow Switch.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu tham khảo hữu ích cho các nhóm đối tượng sau:

  • Sinh viên và học viên ngành Mạng máy tính, An toàn thông tin, Khoa học dữ liệu: Tham khảo quy trình tiền xử lý dữ liệu an ninh mạng, kỹ thuật trích xuất đặc trưng bằng RFE trên tập dữ liệu NSL-KDD, và phương pháp lập trình mô hình học liên kết với Scikit-Learn.
  • Kỹ sư hệ thống và Quản trị mạng đám mây: Tham khảo mô hình kiến trúc OpenStack Neutron, cấu hình Open vSwitch, cũng như các bước triển khai, khởi tạo kênh và cài đặt chaincode trên nền tảng Hyperledger Fabric.
  • Các nhà nghiên cứu về bảo mật SDN: Tham khảo mô hình tích hợp giữa Blockchain và Federated Learning nhằm giải quyết bài toán chia sẻ thông tin an ninh mạng mà vẫn đảm bảo tính riêng tư dữ liệu.

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

1. Khóa luận sử dụng tập dữ liệu nào để huấn luyện và kiểm thử mô hình phát hiện xâm nhập?

Khóa luận sử dụng tập dữ liệu NSL-KDD từ nhóm nghiên cứu của Đại học New Brunswick (UNB). Đây là phiên bản cải tiến của tập dữ liệu KDD’99 nhằm khắc phục các hạn chế về trùng lặp dữ liệu và mất cân bằng giữa các lớp tấn công.

2. Phương pháp lựa chọn đặc trưng nào được áp dụng và kết quả chọn ra bao nhiêu đặc trưng?

Tác giả áp dụng phương pháp loại bỏ đặc trưng đệ quy (Recursive Feature Elimination - RFE) trên 4 nhóm tấn công chính (DoS, Probe, R2L, U2R) và trích xuất ra 13 đặc trưng tối ưu nhất để đưa vào huấn luyện mô hình.

3. Nền tảng chuỗi khối nào được tích hợp vào hệ thống và có sử dụng tiền mã hóa không?

Khóa luận sử dụng nền tảng chuỗi khối doanh nghiệp Hyperledger Fabric (thuộc Linux Foundation). Nền tảng này hoạt động theo mô hình permissioned, sử dụng hợp đồng thông minh (Chaincode) viết bằng Java, Go hoặc Node.js, hỗ trợ cơ chế đồng thuận CFT/BFT và hoàn toàn không yêu cầu tiền mã hóa nội tại hay hoạt động đào coin.

4. Môi trường phần cứng và hệ điều hành phục vụ thực nghiệm được cấu hình như thế nào?

Hệ thống gồm 2 máy trạm client (Organization 1 và Organization 2) chạy hệ điều hành Windows 10; Blockchain Server và FL Server chạy chung trên 1 máy chủ cài đặt Ubuntu 22 với cấu hình 16 vCPU và 16GB RAM; thành phần điều khiển mạng SDN được triển khai trên dự án OpenStack Neutron.

5. Luồng hoạt động chính của mô hình NIDS kết hợp giữa học liên kết và chuỗi khối diễn ra ra sao?

Các nút mạng bắt gói tin lưu lượng và huấn luyện mô hình cây quyết định cục bộ, sau đó gửi giao dịch chứa tham số mô hình lên sổ cái Hyperledger Fabric để xác thực và lưu trữ. FL Server truy vấn tham số từ chuỗi khối và điều phối chuyển giao mô hình giữa các nút để tổng hợp thành Rừng ngẫu nhiên hoàn chỉnh phục vụ dự đoán và đưa ra cảnh báo.


Kết luận

Khóa luận tốt nghiệp của tác giả Dương Đức Anh đã giải quyết hiệu quả bài toán an ninh trên kiến trúc mạng định nghĩa bằng phần mềm (SDN) bằng cách tích hợp đồng thời công nghệ Học liên kết và Chuỗi khối Hyperledger Fabric. Thông qua việc tinh gọn tập dữ liệu NSL-KDD xuống 13 đặc trưng tiêu biểu bằng phương pháp RFE và ứng dụng mô hình Cây quyết định kết hợp Rừng ngẫu nhiên phân tán, đề tài đã chứng minh tính khả thi của giải pháp bảo mật dữ liệu lưu lượng mà không cần tập trung hóa thông tin nhạy cảm. Hệ thống được triển khai và kiểm thử thành công trên nền tảng đám mây OpenStack Neutron, đóng góp một mô hình tham khảo có giá trị cao cho công tác nghiên cứu và ứng dụng an toàn mạng thế hệ mới.