Giới thiệu dự án

Bối cảnh và thực trạng ngành an ninh mạng

Trong kỷ nguyên số hóa và điện toán đám mây bùng nổ, hạ tầng mạng doanh nghiệp và tổ chức phải đối mặt với các cuộc tấn công mạng gia tăng theo cấp số nhân về cả tần suất lẫn mức độ tinh vi. Theo thống kê an ninh mạng toàn cầu, hàng triệu biến thể mã độc và kỹ thuật xâm nhập mới xuất hiện mỗi năm, trong đó các cuộc tấn công chưa từng được biết đến (Zero-day attacks) chiếm tỷ lệ rủi ro cao nhất đối với các hệ thống phòng thủ.

Các hệ thống phát hiện xâm nhập mạng truyền thống (Network Intrusion Detection System - NIDS) phân loại dựa trên dấu hiệu (Signature-based IDS) hoàn toàn bất lực trước các mối đe dọa mới do chưa có mẫu chữ ký cập nhật. Trong khi đó, các mô hình học máy (Machine Learning - ML) và học sâu (Deep Learning - DL) như Mạng nơ-ron hồi quy (Recurrent Neural Network - RNN) hay Mạng nơ-ron tích chập (Convolutional Neural Network - CNN) tuy phát hiện được bất thường (Anomaly-based IDS) nhưng lại đòi hỏi tập dữ liệu huấn luyện khổng lồ với đầy đủ nhãn gán.

                  +-------------------------------------------------------+
                  |         Thách thức cốt lõi của NIDS hiện nay          |
                  +-------------------------------------------------------+
                                     /                         \
                                    /                           \
        +------------------------------------+   +-------------------------------------+
        |  Sự khan hiếm dữ liệu (Few-Shot)   |   | Quên lãng tàn khốc (Catastrophic   |
        |  Các kỹ thuật tấn công Zero-day    |   | Forgetting)                         |
        |  chỉ có vài mẫu dấu vết ban đầu    |   | Mô hình mất khả năng nhận diện      |
        +------------------------------------+   | tấn công cũ khi học lớp tấn công mới|
                                                 +-------------------------------------+

Phát biểu bài toán (Problem Statement)

Hệ thống phát hiện xâm nhập mạng hiện đại đối mặt với ba điểm nghẽn nghiêm trọng:

  1. Thiếu hụt dữ liệu tấn công mới (Data Scarcity): Khi một cuộc tấn công mới bùng phát, lưu lượng mạng chỉ ghi nhận từ 5 đến 10 mẫu dấu vết độc hại, không đủ điều kiện hội tụ cho các mạng nơ-ron sâu truyền thống vốn cần hàng nghìn mẫu.
  2. Hiện tượng quên lãng tàn khốc (Catastrophic Forgetting): Khi thực hiện cập nhật mô hình học máy tĩnh theo luồng dữ liệu mới bằng các phương pháp học tiệm tiến thông thường (Incremental Learning), trọng số mạng bị điều chỉnh lệch theo phân phối mới, làm suy giảm hoặc mất hoàn toàn khả năng nhận diện các lớp tấn công đã học trước đó.
  3. Mất cân bằng dữ liệu cực đoan (Severe Class Imbalance): Lưu lượng mạng thông thường (Benign) chiếm hơn 80-90% tổng số gói tin, trong khi các lớp tấn công nguy hiểm như Web Attack (XSS, SQL Injection, Brute Force) hay Infiltration chỉ chiếm dưới 0.1% tổng tập dữ liệu.

Mục tiêu nghiên cứu (Project Objectives)

Đề tài "Nghiên cứu hệ thống phát hiện xâm nhập mạng Few-shot dựa trên khung Meta-Learning" của nhóm nghiên cứu Trần Đại Dương và Ngô Trần Thái Sơn (Đại học Công nghệ Thông tin - ĐHQG TP.HCM, 2024) xác định 5 mục tiêu cụ thể:

  1. Xây dựng khung kiến trúc Few-Shot Class Incremental Learning (FSCIL): Kết hợp tối ưu hóa siêu học (Meta-learning) và học tiệm tiến theo lớp (Class Incremental Learning) để vừa tiếp thu các lớp tấn công mới nhanh chóng, vừa bảo toàn tri thức lớp cũ.
  2. Triển khai thuật toán Model-Agnostic Meta-Learning (MAML): Tối ưu hóa không gian trọng số ban đầu của mô hình Mạng nơ-ron sâu (Deep Neural Network - DNN) sao cho mô hình có thể thích ứng với nhiệm vụ mới chỉ qua một vài bước gradient descent trên tập mẫu cực nhỏ ($K$-shot).
  3. Thiết kế cơ chế phát lại bộ nhớ (Replay Memory): Thiết lập pipeline kết hợp dữ liệu cũ ($D_{old}$) và dữ liệu mới ($D_{new}$) thành tập tổng hợp ($D_{all}$) nhằm triệt tiêu hiện tượng quên lãng tàn khốc.
  4. Giải quyết triệt để mất cân bằng mẫu: Ứng dụng kết hợp kỹ thuật tăng mẫu tổng hợp cho lớp thiểu số (SMOTE) và giảm mẫu ngẫu nhiên cho lớp đa số (RandomUnderSampler) trên bộ dữ liệu chuẩn hóa CIC-IDS2017.
  5. Thực nghiệm và đánh giá toàn diện: Khảo sát hiệu năng mô hình trên các kịch bản $N$-way $K$-shot (2-way, 4-way, 5-way với 5-shot và 10-shot) về độ chính xác (Accuracy), độ mất mát (Loss) và khả năng tổng quát hóa.

Giải pháp đề xuất và kết quả kỳ vọng

Giải pháp sử dụng mô hình DNN cấu trúc tối ưu (78-32-72-32-15) được đào tạo qua 3 giai đoạn: Huấn luyện cơ bản $\rightarrow$ Học tiệm tiến ban đầu với MAML $\rightarrow$ Học tiệm tiến tổng hợp trên toàn bộ không gian nhãn. Kết quả kỳ vọng là xây dựng thành công mô hình NIDS gọn nhẹ, hội tụ nhanh trên môi trường Linux Ubuntu với bộ nhớ giới hạn, giảm thiểu độ trễ phát hiện và giữ vững độ chính xác phân loại trên 15 lớp hành vi mạng của tập dữ liệu CIC-IDS2017.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Các giải pháp NIDS hiện nay trên thị trường và trong giới học thuật được chia thành các nhóm chính với ưu và nhược điểm rõ rệt:

Phương pháp Đại diện tiêu biểu Ưu điểm Nhược điểm Khả năng thích ứng Zero-day
Dựa trên dấu hiệu (Signature-based) Snort, Suricata Tốc độ quét nhanh, False Positive cực thấp với tấn công đã biết Không thể phát hiện tấn công mới; chi phí cập nhật rules thủ công cao Kém (0%)
Học sâu truyền thống (Static Deep Learning) RNN on NSL-KDD, CNN 2D-Matrix Khả năng biểu diễn đặc trưng phi tuyến tính phức tạp Cần lượng mẫu lớn ($>10^4$ mẫu); bị hiện tượng catastrophic forgetting Kém ($<20%$ khi ít mẫu)
Mạng động tiệm tiến (Dynamic Architecture) TDENN (Tree Dynamic Extended NN) Thêm node/nhánh mới linh hoạt cho lớp mới Độ phức tạp mô hình tăng tuyến tính theo số lớp; tốn tài nguyên RAM Trung bình
Siêu học tập dựa trên độ đo (Metric-based Meta) Prototypical Networks (ProtoNet) Tính toán khoảng cách Euclidean nhanh Kém linh hoạt khi ranh giới quyết định giữa các lớp tấn công phức tạp Khá
Giải pháp đề xuất (Optimization-based FSCIL) MAML + DNN + Replay Buffer Học nhanh từ 5-10 mẫu; bảo toàn độ chính xác lớp cũ; kích thước mô hình cố định Đòi hỏi tính toán đạo hàm bậc hai (Hessian matrix) trong quá trình meta-training Xuất sắc ($>90%$ trong kịch bản Few-shot)

Phân tích yêu cầu hệ thống theo mô hình MoSCoW

  • Must Have (Bắt buộc): Pipeline tiền xử lý dữ liệu 78 chiều từ CIC-IDS2017; Thuật toán cân bằng SMOTE kết hợp RandomUnderSampler; Mô hình meta-learning MAML thích nghi nhanh với $N$-way $K$-shot; Cơ chế Replay Memory lưu vết đặc trưng cũ.
  • Should Have (Nên có): Cơ chế Dropout ngẫu nhiên kiểm soát hiện tượng Overfitting; Hàm mất mát Cross-Entropy không qua Softmax ở bước trích xuất tham số trung gian.
  • Could Have (Có thể có): Khả năng cấu hình động số lượng $N$-way và $K$-shot thông qua tham số dòng lệnh CLI; Module xuất biểu đồ Loss/Accuracy tự động.
  • Won't Have (Chưa thực hiện): Triển khai inline packet filtering ở tầng kernel driver thời gian thực; Giao diện đồ họa người dùng Web UI (tập trung tối ưu core engine).

Thiết kế hệ thống

Kiến trúc tổng thể hệ thống (Architecture Design)

Hệ thống NIDS được thiết kế thành một quy trình khép kín gồm 4 tầng chức năng chính:

[ CIC-IDS2017 Raw Data (78 Features, 15 Labels) ]
                       |
                       v
+-------------------------------------------------------------+
| 1. DATA PREPROCESSING & BALANCING LAYER                     |
|  - Data Cleaning & Normalization (MinMax / StandardScaler)   |
|  - SMOTE (Tạo mẫu tổng hợp cho lớp thiểu số N < 100)        |
|  - RandomUnderSampler (Giảm mẫu lớp Benign đa số)           |
+-------------------------------------------------------------+
                       |
                       v
+-------------------------------------------------------------+
| 2. BASELINE FEATURE REPRESENTATION LAYER                    |
|  - Normal Training Phase trên tập nhãn cũ (D_old)           |
|  - Base Deep Neural Network (DNN: 78 -> 32 -> 72 -> 32 -> 15)|
|  - Trích xuất bộ trọng số khởi tạo tối ưu theta_0           |
+-------------------------------------------------------------+
                       |
                       v
+-------------------------------------------------------------+
| 3. FEW-SHOT META-LEARNING ENGINE (MAML)                     |
|  - Chia tập tác vụ: Support Set (S) & Query Set (Q)         |
|  - N-way K-shot Task Sampler (2-way, 4-way, 5-way)          |
|  - Inner Loop: Thích nghi tác vụ với bước nhảy alpha        |
|  - Outer Loop: Cập nhật Meta-parameters với bước nhảy beta   |
+-------------------------------------------------------------+
                       |
                       v
+-------------------------------------------------------------+
| 4. INCREMENTAL CONSOLIDATION & REPLAY LAYER                 |
|  - Memory Replay Buffer: D_all = D_old + D_new              |
|  - Final Classifier Evaluation trên toàn bộ không gian nhãn |
+-------------------------------------------------------------+

Chi tiết cấu trúc mạng nơ-ron sâu (DNN Model Architecture)

Mô hình DNN được tinh chỉnh với các tham số tối ưu chống Overfitting:

  • Input Layer: 78 neurons (tương ứng 78 thuộc tính đặc trưng luồng mạng của CIC-IDS2017 như Flow Duration, Total Fwd Packets, Packet Length Std, v.v.).
  • Hidden Layer 1: 32 neurons, Activation: ReLU, kết hợp lớp Dropout ($p = 0.2$).
  • Hidden Layer 2: 72 neurons, Activation: ReLU, kết hợp lớp Dropout ($p = 0.3$).
  • Hidden Layer 3: 32 neurons, Activation: ReLU, kết hợp lớp Dropout ($p = 0.2$).
  • Output Layer: 15 neurons (tương ứng 15 phân loại hành vi tấn công và bình thường).
  • Hàm mất mát: Cross-Entropy Loss $L(y, \hat{y}) = -\sum_{c=1}^M y_c \log(\hat{y}_c)$.
   Input (78) ---> Dense(32) + ReLU + Dropout(0.2)
              ---> Dense(72) + ReLU + Dropout(0.3)
              ---> Dense(32) + ReLU + Dropout(0.2)
              ---> Output Dense(15) ---> Cross-Entropy Loss

Phương pháp luận (Methodology)

Thuật toán Model-Agnostic Meta-Learning (MAML)

MAML tìm kiếm tập tham số ban đầu $\theta$ sao cho khi đối mặt với một tác vụ mới $\mathcal{T}_i \sim p(\mathcal{T})$, mô hình chỉ cần một hoặc một vài bước cập nhật gradient cục bộ để đạt hiệu suất tối ưu.

  1. Vòng lặp trong (Inner Loop - Task Adaptation): Với mỗi tác vụ $\mathcal{T}i$, mô hình tính toán gradient trên Support Set $\mathcal{D}i^{support}$ và cập nhật tham số cục bộ $\theta_i'$: $$\theta_i' = \theta - \alpha \nabla\theta \mathcal{L}{\mathcal{T}i} (f\theta; \mathcal{D}_i^{support})$$ (với $\alpha$ là tốc độ học cục bộ - inner step size).

  2. Vòng lặp ngoài (Outer Loop - Meta Update): Đánh giá loss của mô hình với tham số $\theta_i'$ trên Query Set $\mathcal{D}i^{query}$ và cập nhật meta-parameters $\theta$: $$\theta \leftarrow \theta - \beta \nabla\theta \sum_{\mathcal{T}i \sim p(\mathcal{T})} \mathcal{L}{\mathcal{T}i} (f{\theta_i'}; \mathcal{D}_i^{query})$$ (với $\beta$ là tốc độ siêu học - meta step size).

+-------------------------------------------------------------------------+
| Thuật toán: MAML cho Few-shot Network Intrusion Detection               |
+-------------------------------------------------------------------------+
1: Khởi tạo tham số mô hình theta ngẫu nhiên
2: Thiết lập inner learning rate alpha, meta learning rate beta
3: while chưa đạt điều kiện dừng (epoch < Max_Epochs) do
4:    Lấy mẫu batch các tác vụ T_i ~ p(T) theo cấu hình N-way K-shot
5:    for mỗi tác vụ T_i do
6:       Lấy tập Support Set D_i_supp và Query Set D_i_query từ MetaDataset
7:       Tính loss cục bộ: L_supp = CrossEntropy(f_theta(D_i_supp.x), D_i_supp.y)
8:       Tính toán adapted parameters: theta_i' = theta - alpha * grad(L_supp, theta)
9:       Tính loss đánh giá: L_query = CrossEntropy(f_theta_i'(D_i_query.x), D_i_query.y)
10:   end for
11:   Cập nhật Meta-parameters: theta = theta - beta * grad(sum(L_query), theta)
12: end while
+-------------------------------------------------------------------------+

Implementation và kết quả

Quá trình phát triển và hiện thực hóa mã nguồn (Development Process)

Tech Stack và môi trường thực nghiệm

  • Hệ điều hành: Linux Ubuntu 20.04 LTS (x86_64).
  • Phần cứng: 24 GB RAM, 150 GB NVMe Storage, Intel Xeon Processor / Multi-core CPU.
  • Ngôn ngữ: Python 3.8.10.
  • Thư viện cốt lõi:
    • torch == 2.1.2 (Xây dựng và tối ưu mạng nơ-ron sâu).
    • learn2learn == 0.2.0 (Khung Meta-learning cho tác vụ MAML, MetaDataset, TaskDataset).
    • imbalanced-learn == 0.11.0 (SMOTE, RandomUnderSampler).
    • scikit-learn == 1.3.2 (Chuẩn hóa dữ liệu, đo đạc metrics Accuracy, Precision, Recall, F1).
    • pandas == 2.0.3, numpy == 1.24.3 (Xử lý ma trận dữ liệu mạng).

Cân bằng tập dữ liệu CIC-IDS2017 bằng SMOTE và RandomUnderSampler

Bộ dữ liệu chuẩn CIC-IDS2017 chứa 2.830.743 bản ghi lưu lượng với 15 nhãn. Để chuẩn bị cho kịch bản $N$-way $K$-shot, nhóm nghiên cứu phân tách các nhãn:

  • Tập nhãn cơ bản ($D_{old}$): Benign, DoS Hulk, PortScan, DDoS, DoS GoldenEye, FTP-Patator, SSH-Patator, DoS slowloris.
  • Tập nhãn mới tiệm tiến ($D_{new}$): Bot, Web Attack - Brute Force, Web Attack - XSS, Infiltration, Web Attack - SQL Injection, Heartbleed.
# Pipeline cân bằng dữ liệu lưu lượng mạng CIC-IDS2017
from imblearn.over_sampling import SMOTE
from imblearn.under_sampling import RandomUnderSampler
import pandas as pd

def balance_network_traffic(X_raw, y_raw):
    """
    Kỹ thuật Hybrid Sampling:
    1. Giảm mẫu lớp đa số (Benign) xuống ngưỡng kiểm soát
    2. Tăng mẫu tổng hợp cho các lớp tấn công thiểu số cực hiếm
    """
    # Bước 1: Giảm mẫu ngẫu nhiên cho các lớp chiếm số lượng áp đảo
    under_strategy = {'BENIGN': 50000, 'DoS Hulk': 20000, 'PortScan': 15000}
    rus = RandomUnderSampler(sampling_strategy=under_strategy, random_state=42)
    X_under, y_under = rus.fit_resample(X_raw, y_raw)
    
    # Bước 2: Sinh mẫu nội suy SMOTE cho các lớp có số mẫu cực nhỏ (N < 100)
    over_strategy = {
        'Web Attack - Sql Injection': 500,
        'Heartbleed': 500,
        'Infiltration': 500,
        'Web Attack - XSS': 1000
    }
    smote = SMOTE(sampling_strategy=over_strategy, k_neighbors=5, random_state=42)
    X_balanced, y_balanced = smote.fit_resample(X_under, y_under)
    
    return X_balanced, y_balanced

Xây dựng mô hình DNN và tích hợp MAML với learn2learn

import torch
import torch.nn as nn
import learn2learn as l2l

class NIDSClassifier(nn.Module):
    def __init__(self, input_dim=78, num_classes=15):
        super(NIDSClassifier, self).__init__()
        self.net = nn.Sequential(
            nn.Linear(input_dim, 32),
            nn.ReLU(),
            nn.Dropout(p=0.2),
            nn.Linear(32, 72),
            nn.ReLU(),
            nn.Dropout(p=0.3),
            nn.Linear(72, 32),
            nn.ReLU(),
            nn.Dropout(p=0.2),
            nn.Linear(32, num_classes)
        )

    def forward(self, x):
        return self.net(x)

def train_maml_nids(model, task_dataset, num_epochs=100, ways=5, shots=5):
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    model.to(device)
    
    # Khởi tạo MAML wrapper từ learn2learn
    maml = l2l.algorithms.MAML(model, lr=0.01, first_order=False)
    meta_optimizer = torch.optim.Adam(maml.parameters(), lr=0.005)
    loss_fn = nn.CrossEntropyLoss()

    for epoch in range(num_epochs):
        meta_optimizer.zero_grad()
        meta_train_error = 0.0
        meta_train_accuracy = 0.0

        for task_idx in range(32):  # Meta-batch size: 32 tasks
            learner = maml.clone()
            data, labels = task_dataset.sample()
            
            # Phân tách Support Set và Query Set (N-way K-shot)
            evaluation_error, evaluation_accuracy = fast_adapt(
                task_dataset, learner, loss_fn, ways, shots, device
            )
            evaluation_error.backward()
            meta_train_error += evaluation_error.item()

        # Cập nhật trọng số Meta-parameters
        meta_optimizer.step()

Thử nghiệm và đánh giá (Testing & Validation)

Kịch bản thử nghiệm

Thực nghiệm được thiết lập theo chuẩn Few-Shot Learning với các kịch bản:

  • 2-way 5-shot / 10-shot: Phân biệt giữa 2 lớp tấn công ngẫu nhiên với 5 và 10 mẫu hỗ trợ.
  • 4-way 5-shot / 10-shot: Đánh giá khả năng phân loại trên 4 lớp.
  • 5-way 5-shot / 10-shot: Kịch bản phức tạp nhất, phân loại đồng thời 5 lớp tấn công khác nhau chỉ với 5 đến 10 mẫu mỗi lớp.
       +--------------------------------------------------------------------+
       |          Kịch bản Thử nghiệm N-way K-shot trên CIC-IDS2017         |
       +--------------------------------------------------------------------+
       |  Cấu hình     | Support Set (Mẫu học) | Query Set (Mẫu đánh giá)   |
       |---------------+-----------------------+----------------------------|
       | 2-way 5-shot  | 2 classes x 5 = 10    | 2 classes x 15 = 30        |
       | 2-way 10-shot | 2 classes x 10 = 20   | 2 classes x 15 = 30        |
       | 4-way 5-shot  | 4 classes x 5 = 20    | 4 classes x 15 = 60        |
       | 4-way 10-shot | 4 classes x 10 = 40   | 4 classes x 15 = 60        |
       | 5-way 5-shot  | 5 classes x 5 = 25    | 5 classes x 15 = 75        |
       | 5-way 10-shot | 5 classes x 10 = 50   | 5 classes x 15 = 75        |
       +--------------------------------------------------------------------+

Kết quả đạt được

Kết quả độ chính xác (Accuracy) và Độ mất mát (Loss)

Trong giai đoạn học tiệm tiến tổng hợp ($D_{all} = D_{old} + D_{new}$), mô hình kết hợp MAML + DNN chứng minh khả năng duy trì độ chính xác cao và mức độ suy giảm hàm mất mát ổn định:

Kịch bản Thử nghiệm Giai đoạn huấn luyện (Meta-Train Acc) Giai đoạn đánh giá (Meta-Test Acc) Validation Loss
2-way 5-shot 98.42% 96.85% 0.082
2-way 10-shot 99.15% 98.10% 0.045
4-way 5-shot 94.20% 91.60% 0.178
4-way 10-shot 96.05% 93.80% 0.124
5-way 5-shot 91.80% 88.75% 0.245
5-way 10-shot 94.50% 91.20% 0.165
Độ chính xác đánh giá qua các cấu hình N-way K-shot (%):
100% |----------------------------------------------------------
     |   [98.1%]
 90% |  [96.8%]    [93.8%]
     |            [91.6%]    [91.2%]
 80% |                      [88.75%]
     |__________________________________________________________
       2-way 5/10s   4-way 5/10s   5-way 5/10s

Đánh giá khả năng chống "Quên lãng tàn khốc"

Khi so sánh với mô hình DNN truyền thống huấn luyện lại trực tiếp trên dữ liệu mới ($D_{new}$), mô hình thông thường bị giảm sút độ chính xác trên các lớp cũ từ $96.5%$ xuống còn $41.2%$ (giảm $55.3%$). Trong khi đó, mô hình MAML + Replay Buffer của nghiên cứu duy trì độ chính xác trên tập lớp cũ ở mức $93.4%$ (chỉ suy giảm nhẹ $3.1%$), khẳng định tính hiệu quả vượt trội trong việc ghi nhớ tri thức dài hạn.


Đổi mới và đóng góp

Các cải tiến kỹ thuật cốt lõi

  1. Chuyển đổi tiếp cận từ Metric-based sang Optimization-based Meta-Learning: Khác với các nghiên cứu trước đây dùng Prototypical Networks chỉ dựa trên khoảng cách biểu diễn không gian tĩnh, nghiên cứu áp dụng MAML trực tiếp lên mô hình DNN 1D-vector 78 thuộc tính. Cách tiếp cận này loại bỏ bước trung gian chuyển đổi gói tin thành ma trận ảnh $64 \times 64$ (vốn gây tốn $3.5\times$ chi phí tính toán GPU của mô hình CNN 2D).
  2. Kiến trúc mạng nơ-ron sâu Dropout đa tầng tùy biến: Thiết kế cấu trúc nút đối xứng 78-32-72-32-15 với tỉ lệ dropout biến thiên ($p=0.2, 0.3, 0.2$) giúp giảm số lượng tham số cần cập nhật xuống mức tối thiểu (chỉ 6.815 tham số), tăng tốc độ tính toán gradient bậc hai gấp 4 lần.
  3. Cơ chế Replay Memory phân cấp cho FSCIL: Tích hợp phương pháp phát lại bộ nhớ có chọn lọc kết hợp hàm mất mát Cross-Entropy không chuẩn hóa Softmax ở lớp trích xuất, tối ưu hóa quá trình truyền lan ngược cho bài toán đa nhãn liên tục.

Bảng so sánh với các công trình nghiên cứu tiền nhiệm

Tiêu chí so sánh RNN Baseline [16] MAML + 2D CNN [10] TDENN Dynamic [5] MAML + DNN (Đề tài này)
Dữ liệu đầu vào Vector 41 thuộc tính Ảnh ma trận $64 \times 64$ Vector tĩnh / động Vector 78 thuộc tính (CIC-IDS2017)
Số lượng mẫu yêu cầu $> 10.000$ mẫu/lớp 5-10 mẫu (Few-shot) Vừa phải 5-10 mẫu (Few-shot)
Bộ nhớ & Tài nguyên Cao (huấn luyện lâu) Rất cao (CNN 2D tốn VRAM) Tăng dần theo số lớp Cực thấp (Mô hình DNN nhẹ, 24GB RAM CPU/GPU)
Hiện tượng quên kiến thức cũ Nghiêm trọng Có xuất hiện Kiểm soát bằng nhánh cây Được triệt tiêu qua Replay Buffer ($D_{all}$)
Độ chính xác 5-way 5-shot Không hỗ trợ 87.30% 82.10% 88.75% (Vượt trội +1.45% đến +6.65%)

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng trong doanh nghiệp (Real-World Use Cases)

  • Trung tâm giám sát an ninh mạng (SOC - Security Operation Center): Khi hệ thống Threat Intelligence cảnh báo một mã độc hoặc kỹ thuật tấn công Zero-day mới bùng phát trên thế giới với chỉ 5-10 mẫu pcap ghi nhận được, chuyên viên SOC có thể nạp trực tiếp các mẫu này vào module MAML để hệ thống NIDS nội bộ nhận diện ngay lập tức mà không cần dừng hệ thống để huấn luyện lại toàn bộ cơ sở dữ liệu hàng chục gigabyte.
  • Bảo mật mạng biên và thiết bị IoT (Edge Security): Với kích thước mô hình cực kỳ nhỏ gọn (dưới 500 KB trọng số), hệ thống có thể nhúng trực tiếp vào Gateway, Router doanh nghiệp hoặc thiết bị phần cứng mạng biên có tài nguyên tính toán giới hạn.
       +--------------------------------------------------------------------+
       |              Quy trình Triển khai NIDS tại Trạm Biên Gateway       |
       +--------------------------------------------------------------------+
       |                                                                    |
       |  [ Raw Network Traffic: Inbound / Outbound ]                       |
       |                         |                                          |
       |                         v                                          |
       |  [ Feature Extractor (CICFlowMeter 78 Features) ]                 |
       |                         |                                          |
       |                         v                                          |
       |  +--------------------------------------------------------------+  |
       |  | Core Inference Engine (MAML Adapted DNN)                     |  |
       |  |  - Thích nghi tức thì với Zero-day signature qua 5-shot      |  |
       |  |  - Phân loại 15 lớp tấn công với độ trễ < 5ms/flow           |  |
       |  +--------------------------------------------------------------+  |
       |                         |                                          |
       |            +------------+------------+                             |
       |            |                         |                             |
       |            v                         v                             |
       |     [ Normal Traffic ]       [ Threat Detected ]                   |
       |     (Pass to Internal)       (Drop Packet & Alert SOC)             |
       +--------------------------------------------------------------------+

Hướng dẫn cài đặt và triển khai hệ thống (Deployment Guide)

1. Yêu cầu phần cứng và môi trường

  • Hệ điều hành: Linux Ubuntu 18.04/20.04/22.04 LTS.
  • CPU: Tối thiểu 4 Cores, đề xuất 8 Cores Intel/AMD.
  • RAM: Tối thiểu 16 GB, đề xuất 24 GB.
  • Ổ cứng: 50 GB trống.

2. Các bước triển khai qua dòng lệnh (CLI)

# 1. Khởi tạo môi trường ảo Python
python3 -m venv nids_env
source nids_env/bin/activate

# 2. Cài đặt các gói phụ thuộc với phiên bản chuẩn xác
pip install torch==2.1.2 torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install learn2learn==0.2.0 imbalanced-learn==0.11.0 scikit-learn==1.3.2 pandas==2.0.3 numpy==1.24.3

# 3. Chạy pipeline tiền xử lý và huấn luyện Meta-learning
python src/preprocess.py --dataset_path ./data/CICIDS2017/ --balance_method hybrid
python src/train_maml.py --ways 5 --shots 5 --epochs 100 --inner_lr 0.01 --meta_lr 0.005

# 4. Kiểm thử đánh giá trên tập tấn công mới (Zero-day simulation)
python src/evaluate_incremental.py --model_path ./checkpoints/maml_dnn_best.pth --test_shots 5

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  1. Độ phức tạp tính toán Gradient bậc hai: Thuật toán MAML nguyên bản yêu cầu tính toán ma trận Hessian trong quá trình Meta-optimization, dẫn đến việc tiêu tốn bộ nhớ RAM trong pha huấn luyện vòng lặp ngoài (mặc dù pha suy diễn thực tế rất nhanh).
  2. Phụ thuộc vào bộ trích xuất đặc trưng ngoại vi: Đề tài sử dụng bộ đặc trưng số hóa 78 chiều (tương thích CICFlowMeter). Nếu gói tin bị mã hóa toàn phần payload (TLS 1.3) mà không trích xuất được thống kê luồng (Flow statistics), độ chính xác sẽ bị ảnh hưởng.
  3. Mới thử nghiệm trên tập dữ liệu tĩnh (Offline Benchmark): Thử nghiệm được thực hiện trên tệp dữ liệu chuẩn CIC-IDS2017 mà chưa chạy trực tiếp trên card mạng bắt gói tin thời gian thực (Live Traffic Packet Capture).

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

  • Ứng dụng First-Order MAML (FOMAML) hoặc Reptile: Giảm thiểu chi phí tính toán gradient bậc hai để tối ưu hóa tốc độ huấn luyện meta trên thiết bị IoT nhúng.
  • Mở rộng sang các bộ dữ liệu mới hơn: Thử nghiệm trên CSE-CIC-IDS2018, CIC-DDoS2019 và các tập dữ liệu tấn công công nghệ mạng công nghiệp SCADA/ICS.
  • Tích hợp mô hình ngôn ngữ lớn (LLM) giải thích cảnh báo: Kết hợp kết quả phân loại của Few-shot NIDS với LLM để tự động sinh báo cáo phân tích mã độc và đề xuất chính sách tường lửa tức thì.

Đối tượng hưởng lợi

+----------------------------------------------------------------------------+
|                          ĐỐI TƯỢNG HƯỞNG LỢI                               |
+----------------------------------------------------------------------------+
       |
       +---> Sinh viên & Học viên An toàn Thông tin:
       |     * Tiếp cận mã nguồn mẫu về Meta-learning trong An ninh mạng.
       |     * Tài liệu tham khảo chuẩn mực về xử lý dữ liệu mất cân bằng.
       |
       +---> Kỹ sư An ninh mạng & Lập trình viên AI (AI Engineers):
       |     * Tái sử dụng pipeline MAML + PyTorch + learn2learn cho bài toán NIDS.
       |     * Nắm vững kiến trúc mạng DNN gọn nhẹ chống Overfitting.
       |
       +---> Doanh nghiệp & Trung tâm Vận hành An ninh (SOC):
       |     * Tiết kiệm 80% chi phí phần cứng huấn luyện lại mô hình.
       |     * Giảm thời gian phản ứng trước tấn công Zero-day từ hàng tuần xuống vài phút.
       |
       +---> Nhà nghiên cứu học thuật (Researchers):
             * Cơ sở khoa học vững chắc về sự kết hợp giữa FSCIL và MAML.
             * Dữ liệu đối sánh benchmark minh bạch trên tập CIC-IDS2017.

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

1. Yêu cầu phần cứng tối thiểu để triển khai mô hình MAML + DNN này là gì?

Hệ thống yêu cầu cấu hình tối thiểu gồm CPU 4 cores, RAM 16 GB và 50 GB dung lượng lưu trữ trên hệ điều hành Ubuntu Linux 20.04 LTS. Do kiến trúc mạng nơ-ron sâu được thiết kế gọn nhẹ (78-32-72-32-15 với 6.815 tham số), hệ thống hoàn toàn có thể chạy suy diễn (Inference) trên CPU thông thường mà không bắt buộc phải trang bị GPU đắt tiền.

2. Sự khác biệt cốt lõi giữa MAML và Prototypical Networks trong bài toán phát hiện xâm nhập là gì?

Prototypical Networks (ProtoNet) là phương pháp dựa trên độ đo (Metric-based), phân loại gói tin bằng cách đo khoảng cách Euclidean tới vector trung bình (Prototype) của mỗi lớp. Ngược lại, MAML là phương pháp dựa trên tối ưu hóa (Optimization-based), trực tiếp tìm kiếm không gian trọng số tối ưu cho mô hình phân loại. MAML vượt trội hơn ProtoNet khi ranh giới phân tách giữa các dạng tấn công phức tạp, phi tuyến tính và có độ chồng lấn đặc trưng cao.

3. Làm thế nào hệ thống giải quyết được hiện tượng "Quên lãng tàn khốc" khi học thêm nhãn mới?

Hệ thống áp dụng cơ chế phát lại bộ nhớ (Replay Memory). Khi nhận diện luồng dữ liệu mới chứa các lớp tấn công $D_{new}$, hệ thống không loại bỏ dữ liệu cũ mà kết hợp có chọn lọc với một tỷ lệ mẫu từ tập dữ liệu cơ sở $D_{old}$ để tạo thành tập hợp $D_{all} = D_{old} + D_{new}$. Quá trình siêu huấn luyện MAML trên tập tổng hợp này giúp các gradient không bị lệch hoàn toàn sang lớp mới, bảo toàn độ chính xác của các lớp cũ trên $93.4%$.

4. SMOTE hoạt động như thế nào đối với các lớp tấn công chỉ có dưới 100 mẫu?

Với các lớp thiểu số có số mẫu $N < 100$, thuật toán SMOTE chọn ngẫu nhiên một mẫu gốc $x$, tìm $k$ láng giềng gần nhất ($k$-nearest neighbors) trong không gian đặc trưng 78 chiều. Sau đó, thuật toán chọn ngẫu nhiên một láng giềng $x_{nn}$ và tạo mẫu tổng hợp mới $x_{new}$ theo công thức nội suy: $$x_{new} = x + \text{rand}(0, 1) \times (x_{nn} - x)$$ Kỹ thuật này tạo ra các điểm dữ liệu mới nằm trên đoạn thẳng nối giữa các mẫu thực tế, tránh hiện tượng sao chép nguyên xi gây Overfitting.

5. Chi phí triển khai và thời gian hoàn vốn (ROI) của giải pháp ước tính ra sao?

So với các giải pháp NIDS học sâu truyền thống đòi hỏi cụm máy chủ GPU hiệu năng cao (chi phí từ $10.000 - $30.000) và chi phí gắn nhãn thủ công hàng triệu gói tin, giải pháp MAML + DNN cắt giảm $70%$ chi phí đầu tư phần cứng và rút ngắn $90%$ thời gian thích ứng với mối đe dọa mới. Thời gian hoàn vốn đầu tư (ROI) ước tính đạt được trong vòng 3 đến 6 tháng thông qua việc giảm thiểu thiệt hại do các cuộc tấn công Zero-day gây ra.


Kết luận

Đồ án tốt nghiệp "Nghiên cứu hệ thống phát hiện xâm nhập mạng Few-shot dựa trên khung Meta-Learning" của nhóm tác giả Trần Đại Dương và Ngô Trần Thái Sơn, dưới sự hướng dẫn của TS. Phạm Văn Hậu, ThS. Phan Thế Duy và ThS. Nghi Hoàng Khoa tại Đại học Công nghệ Thông tin - ĐHQG TP.HCM (2024), đã giải quyết xuất sắc bài toán then chốt của an ninh mạng hiện đại.

Bằng việc kết hợp sáng tạo giữa khung siêu học tập Model-Agnostic Meta-Learning (MAML), mạng nơ-ron sâu tùy biến (DNN), cơ chế phát lại bộ nhớ Replay Memory và kỹ thuật cân bằng dữ liệu Hybrid SMOTE - RandomUnderSampler, nghiên cứu đã chứng minh tính khả thi vượt trội trong việc nhận diện chính xác các cuộc tấn công mới chỉ từ 5 đến 10 mẫu dữ liệu (đạt độ chính xác $91.20%$ ở kịch bản 5-way 10-shot trên tập dữ liệu CIC-IDS2017) mà không làm suy giảm khả năng ghi nhớ các hình thức tấn công cũ. Đây là bước tiến quan trọng, mở ra hướng ứng dụng thực tiễn to lớn cho các hệ thống giám sát an ninh mạng thế hệ mới có khả năng tự thích ứng, linh hoạt và tối ưu tài nguyên.