Giới thiệu dự án

Sự bùng nổ của hạ tầng viễn thông, điện toán đám mây và mạng thế hệ mới kéo theo sự gia tăng chưa từng có về tần suất cũng như độ phức tạp của các mối đe dọa không gian mạng. Theo báo cáo thường niên về an ninh mạng toàn cầu, lưu lượng tấn công từ chối dịch vụ phân tán (DDoS), tấn công khai thác lỗ hổng Web và các biến thể mã độc không ngừng biến đổi với tốc độ tăng trưởng hơn 35% mỗi năm. Đứng trước thách thức đó, hệ thống phát hiện xâm nhập mạng (Network-based Intrusion Detection System - NIDS) đóng vai trò là tuyến phòng thủ then chốt nhằm phát hiện, cảnh báo và ngăn chặn kịp thời các hành vi độc hại.

Đặt vấn đề và thách thức kỹ thuật

Các hệ thống IDS truyền thống dựa trên chữ ký (Signature-based IDS) như Snort hay Suricata bộc lộ những điểm yếu chí mạng:

  • Bất lực trước tấn công Zero-day và biến thể mới: Chỉ nhận diện được các mẫu tấn công đã biết, dễ bị vượt qua bởi các kỹ thuật làm rối mã (obfuscation) hoặc mã hóa lưu lượng.
  • Chi phí duy trì và độ trễ cao: Việc cập nhật và đồng bộ cơ sở dữ liệu chữ ký khổng lồ gây nghẽn cổ chai khi lưu lượng đạt tốc độ đường truyền (line-rate) từ 10Gbps đến 100Gbps.
  • Đánh đổi giữa tốc độ và độ chính xác ở các giải pháp AI đơn lẻ: Các mô hình học máy truyền thống (Decision Tree, Random Forest) xử lý rất nhanh nhưng độ chính xác chưa cao ở các cuộc tấn công tinh vi; ngược lại, các mô hình học sâu hiện đại (Deep Learning, Transformer) có độ chính xác cao nhưng tiêu tốn tài nguyên tính toán lớn, không đáp ứng được yêu cầu thời gian thực.
  • Bùng nổ chiều đặc trưng (Curse of Dimensionality): Lưu lượng mạng thô chứa nhiều thuộc tính dư thừa, gây nhiễu và làm chậm đáng kể quá trình huấn luyện cũng như suy luận.

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

  1. Nghiên cứu và xây dựng pipeline trích xuất, tiền xử lý và giảm chiều dữ liệu mạng quy mô lớn bằng kỹ thuật Trí tuệ nhân tạo có thể giải thích (Explainable Artificial Intelligence - XAI).
  2. Tích hợp các thuật toán XAI (Permutation Importance, SHAP) như một phương pháp tuyển chọn đặc trưng (Feature Selection) có định hướng, tối ưu hóa từ 80 đặc trưng xuống tập đặc trưng tối ưu mà không làm suy giảm độ chính xác.
  3. Thiết kế và hiện thực kiến trúc phân loại kết hợp hai lớp (Two-Layer Classifier): Lớp 1 (Fast Machine Learning) xử lý lưu lượng nhanh với chi phí thấp; Lớp 2 (Deep Transformer Encoder) tái đánh giá các mẫu dữ liệu có độ tin cậy thấp (uncertain predictions).
  4. Thực nghiệm toàn diện trên tập dữ liệu chuẩn CICIDS2017 để đánh giá hiệu năng phát hiện theo cả hai kịch bản phân loại nhị phân (Binary Classification) và phân loại đa lớp (Multi-class Classification).

Phương pháp tiếp cận

Dự án áp dụng phương pháp phân tầng tải động (dynamic tiered classification) kết hợp cơ chế giải thích mô hình hộp đen:

  • Tiền xử lý & Chuẩn hóa: Loại bỏ định danh mạng tĩnh (IP, Port, Timestamp), xử lý giá trị vô hạn (inf $\rightarrow -1$), loại bỏ giá trị khuyết (NaN), chuẩn hóa dữ liệu về khoảng $[0, 1]$ bằng Min-Max Scaling, ép kiểu dữ liệu float32 để giảm 50% dung lượng bộ nhớ.
  • XAI-driven Feature Selection: Huấn luyện mô hình Random Forest cơ sở, sau đó chạy Permutation Importance (PI) và Shapley Additive exPlanations (SHAP) để xếp hạng mức độ đóng góp của từng đặc trưng. Dùng Decision Tree và 5-Fold Stratified Cross-Validation để xác định ngưỡng số lượng đặc trưng tối ưu.
  • Kiến trúc phân loại 2 lớp:
    • Layer 1 (Lightweight ML): Nhận diện nhanh lưu lượng lành tính (Benign) và các mẫu tấn công rõ ràng với độ trễ tính bằng micro-giây.
    • Cơ chế định tuyến ngưỡng tin cậy (Confidence Threshold): Nếu xác suất dự đoán $P(y|x) \ge \tau$ (với $\tau$ là ngưỡng tin cậy được tối ưu), kết quả được chấp nhận ngay; nếu $P(y|x) < \tau$, bản ghi được chuyển tiếp sang Layer 2.
    • Layer 2 (Deep Transformer Encoder): Sử dụng cơ chế Multi-Head Self-Attention và Positional Encoding để nắm bắt tương quan phức tạp giữa các đặc trưng luồng mạng, đảm bảo độ chính xác tối đa cho các trường hợp khó phân loại.
[Luồng mạng thô] 
[Tiền xử lý & XAI Feature Selection (Top N Features)]
   P(y|x) < tau (Không chắc chắn)

Kết quả kỳ vọng và phạm vi

  • Độ chính xác: Đạt Accuracy $\ge 99.4%$, F1-Score $\ge 99.0%$ trên tập dữ liệu chuẩn CICIDS2017.
  • Tối ưu tài nguyên: Giảm trên 60% số lượng đặc trưng đầu vào, duy trì tỷ lệ nén bộ nhớ RAM $\ge 50%$.
  • Khả năng xử lý thời gian thực: Hơn 80% lưu lượng mạng được phân loại và xử lý dứt điểm tại Layer 1, giảm tải cho Layer 2 và giữ độ trễ tổng thể dưới 5ms/luồng.
  • Phạm vi & Giới hạn: Tập trung vào tầng phân tích luồng dữ liệu (Flow-based NIDS) trích xuất bởi công cụ CICFlowMeter; chưa tích hợp giải mã sâu tải trọng gói tin (Deep Packet Inspection - DPI) đã mã hóa TLS/SSL.

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

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

Tiêu chí Signature-based IDS (Snort/Suricata) Single Machine Learning (DT, RF, SVM) Pure Deep Learning (CNN, LSTM, Transformer) Mô hình 2 lớp đề xuất (XAI + ML + Transformer)
Phát hiện Zero-day Kém (chỉ bắt được mẫu đã biết) Tốt (dựa trên mẫu bất thường) Rất tốt (học biểu diễn phức tạp) Rất tốt (kết hợp phân tầng tối ưu)
Tốc độ xử lý / Độ trễ Rất nhanh ($< 0.1\text{ ms}$) Nhanh ($0.1 - 1\text{ ms}$) Chậm ($10 - 50\text{ ms}$) Rất nhanh cho phần lớn lưu lượng ($< 0.5\text{ ms}$)
Tài nguyên tính toán Thấp (CPU-bound) Thấp - Trung bình (CPU) Rất cao (GPU bắt buộc) Tối ưu (CPU cho L1, GPU/CPU nhẹ cho L2)
Khả năng giải thích (XAI) Cao (dựa theo luật) Trung bình (cần thêm công cụ) Thấp (Hộp đen hoàn toàn) Minh bạch (tích hợp PI & SHAP Ranking)
Độ nhạy với dữ liệu nhiễu Trung bình Dễ ảnh hưởng bởi số chiều lớn Tốt Kháng nhiễu cao nhờ Feature Selection

So sánh công trình nghiên cứu liên quan (Gap Analysis)

  1. Pak et al. (2020): Đề xuất mô hình hai cấp độ cho gói tin và luồng tin nhưng không áp dụng kỹ thuật giảm chiều, dẫn đến tiêu tốn bộ nhớ khi lưu lượng tăng cao.
  2. Dhanya et al. (2021): Kết hợp ML và Deep MLP trên UNSW-NB15 đạt độ chính xác 99.05% nhưng bỏ qua bước Feature Selection, khiến thời gian huấn luyện kéo dài.
  3. Ahanger et al. (2022): Dùng RF và DT trên NSL-KDD nhưng chọn đặc trưng ngẫu nhiên (12, 15, 23 features), thiếu cơ sở khoa học và dễ loại bỏ các thuộc tính mang tính quyết định.
  4. Wu et al. (2022 - RTIDS): Ứng dụng Transformer trên CICIDS2017 đạt Accuracy 98.45% nhưng xử lý toàn bộ dữ liệu qua Transformer gây nghẽn cổ chai tài nguyên tính toán.
  5. Khoảng trống nghiên cứu (Research Gap): Chưa có công trình nào kết hợp tính giải thích của XAI để tinh lọc đặc trưng mạng có cấu trúc, đồng thời phối hợp linh hoạt giữa phân loại tuyến tính nhanh (ML) và chú ý đa đầu (Multi-Head Self-Attention) theo cơ chế định tuyến xác suất tin cậy.

Yêu cầu hệ thống theo mô hình MoSCoW

Thiết kế hệ thống

                  KIẾN TRÚC TỔNG THỂ HỆ THỐNG PHÂN LOẠI HAI LỚP
                  
 [ CICIDS2017 / PCAP Stream ]
 [Dữ liệu dự đoán sai / không chắc chắn] [Lọc tập không chắc chắn: P < tau]

Technology Stack & Versioning

  • Ngôn ngữ thực thi: Python 3.10.12
  • Môi trường quản trị: Anaconda 3 / Conda Virtual Environment
  • Deep Learning Framework: TensorFlow 2.15.0 / Keras 2.15.0 (Tối ưu hóa cuDNN v8.9)
  • Machine Learning Core: Scikit-Learn 1.4.0
  • XAI Toolkits: SHAP 0.44.1, Eli5 0.13.0
  • Data Engineering: Pandas 2.2.0, NumPy 1.26.3
  • Hardware môi trường:
    • Hệ thống Physical Host: Intel Core i7-10750H (6 Cores, 12 Threads @ 2.60GHz - 5.00GHz), 16GB DDR4 RAM, GPU NVIDIA GeForce GTX 1650 4GB VRAM.
    • Hệ thống Virtual Host: 6 vCPUs, 16GB RAM, 64GB SSD Storage (Linux Ubuntu 22.04 LTS).

Đặc tả cấu trúc dữ liệu mạng (Network Feature Schema)

Tập dữ liệu CICIDS2017 sau khi tiền xử lý giữ lại 80 trường thuộc tính đặc trưng cho mỗi luồng mạng. Dưới đây là các nhóm đặc trưng cốt lõi được trích xuất qua CICFlowMeter:

  • Nhóm thông tin luồng cơ bản: Destination Port, Protocol, Flow Duration, Total Fwd Packets, Total Backward Packets, Total Length of Fwd Packets, Total Length of Bwd Packets.
  • Nhóm thống kê độ dài gói tin: Fwd Packet Length Max/Min/Mean/Std, Bwd Packet Length Max/Min/Mean/Std, Packet Length Mean/Std/Variance.
  • Nhóm thời gian truyền nhận (Inter-Arrival Time - IAT): Flow IAT Mean/Std/Max/Min, Fwd IAT Total/Mean/Std/Max/Min, Bwd IAT Total/Mean/Std/Max/Min.
  • Nhóm cờ giao thức (TCP Flags): FIN, SYN, RST, PSH, ACK, URG, CWE, ECE Flag Count.
  • Nhóm cửa sổ và phân đoạn: Init_Win_bytes_forward, Init_Win_bytes_backward, min_seg_size_forward, act_data_pkt_fwd.

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

Quy trình nghiên cứu áp dụng khung tiêu chuẩn CRISP-DM (Cross-Industry Standard Process for Data Mining) chuyên sâu cho an toàn thông tin:

  1. Giai đoạn 1 (Tuần 1 - 3): Thu thập dữ liệu, phân tích khám phá (EDA), làm sạch 8 tập tin CSV của CICIDS2017, loại bỏ nhiễu và xử lý mất cân bằng dữ liệu bằng kỹ thuật phân tầng (Stratified Sampling).
  2. Giai đoạn 2 (Tuần 4 - 7): Xây dựng pipeline XAI. Huấn luyện Random Forest chuẩn để chạy Permutation Importance và SHAP. Thực hiện ranking và kiểm chứng hiệu quả tuyển chọn đặc trưng bằng mô hình Decision Tree với 5-Fold Cross Validation.
  3. Giai đoạn 3 (Tuần 8 - 12): Thiết kế kiến trúc bộ phân loại 2 lớp. Hiện thực Layer 1 (DT/RF), xây dựng bộ Encoder của Transformer trên TensorFlow, định nghĩa hàm mất mát (Categorical/Binary Cross-Entropy) và thuật toán tối ưu Adam.
  4. Giai đoạn 4 (Tuần 13 - 16): Đánh giá thực nghiệm chéo (Ablation study), đo lường độ trễ suy luận, tối ưu ngưỡng $\tau$ và hoàn thiện tài liệu kỹ thuật.

Ma trận đánh giá rủi ro và giải pháp khắc phục

Rủi ro kỹ thuật Mức độ Biện pháp giảm thiểu & khắc phục
Tràn bộ nhớ RAM khi tính SHAP Values Cao Sử dụng TreeSHAP tối ưu hóa cho mô hình cây hoặc lấy mẫu đại diện phân tầng ($N=10,000$) khi chạy KernelSHAP.
Mất cân bằng lớp dữ liệu nghiêm trọng Cao Áp dụng Stratified Sampling đảm bảo tỷ lệ nhãn đồng nhất giữa tập huấn luyện và kiểm tra; sử dụng độ đo F1-Score/ROC-AUC thay vì chỉ dựa vào Accuracy.
Độ trễ Layer 2 làm nghẽn luồng Trung bình Tinh chỉnh ngưỡng tin cậy $\tau$ sao cho Layer 1 giải quyết $\ge 80-85%$ lưu lượng mạng, Layer 2 chỉ tiếp nhận các mẫu thực sự khó.

Implementation và kết quả

Quá trình phát triển (Development Process)

Thuật toán và Đoạn mã Tuyển chọn Đặc trưng bằng XAI (Permutation Importance & SHAP)

import numpy as np
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.inspection import permutation_importance
import shap

def extract_xai_feature_importance(X_train: np.ndarray, y_train: np.ndarray, 
                                   feature_names: list, n_top: int = 30) -> list:
    """
    Huấn luyện Random Forest và tính toán xếp hạng đặc trưng bằng Permutation Importance và SHAP.
    """
    # 1. Huấn luyện mô hình Random Forest cơ sở
    rf_model = RandomForestClassifier(n_estimators=100, max_depth=20, random_state=42, n_jobs=-1)
    rf_model.fit(X_train, y_train)
    
    # 2. Tính Permutation Importance
    pi_result = permutation_importance(rf_model, X_train[:5000], y_train[:5000], 
                                       n_repeats=5, random_state=42, n_jobs=-1)
    pi_sorted_idx = pi_result.importances_mean.argsort()[::-1]
    top_pi_features = [feature_names[i] for i in pi_sorted_idx[:n_top]]
    
    # 3. Tính SHAP Values sử dụng TreeExplainer tối ưu
    explainer = shap.TreeExplainer(rf_model)
    shap_values = explainer.shap_values(X_train[:2000])
    
    # Lấy trung bình giá trị tuyệt đối SHAP trên tất cả các lớp
    if isinstance(shap_values, list):
        mean_shap = np.mean([np.abs(sv).mean(axis=0) for sv in shap_values], axis=0)
    else:
        mean_shap = np.abs(shap_values).mean(axis=0)
        
    shap_sorted_idx = mean_shap.argsort()[::-1]
    top_shap_features = [feature_names[i] for i in shap_sorted_idx[:n_top]]
    
    return top_pi_features, top_shap_features

Kiến trúc Mô hình Hai lớp và Bộ Transformer Encoder

import tensorflow as tf
from tensorflow.keras import layers, models

class TransformerBlock(layers.Layer):
    """
    Khối Transformer Encoder tiêu chuẩn với Multi-Head Self-Attention và Feed-Forward Network.
    """
    def __init__(self, embed_dim: int, num_heads: int, ff_dim: int, rate: float = 0.1):
        super(TransformerBlock, self).__init__()
        self.att = layers.MultiHeadAttention(num_heads=num_heads, key_dim=embed_dim)
        self.ffn = models.Sequential([
            layers.Dense(ff_dim, activation="relu"),
            layers.Dense(embed_dim),
        ])
        self.layernorm1 = layers.LayerNormalization(epsilon=1e-6)
        self.layernorm2 = layers.LayerNormalization(epsilon=1e-6)
        self.dropout1 = layers.Dropout(rate)
        self.dropout2 = layers.Dropout(rate)

    def call(self, inputs, training=False):
        attn_output = self.att(inputs, inputs)
        attn_output = self.dropout1(attn_output, training=training)
        out1 = self.layernorm1(inputs + attn_output)
        ffn_output = self.ffn(out1)
        ffn_output = self.dropout2(ffn_output, training=training)
        return self.layernorm2(out1 + ffn_output)

def build_two_layer_system(input_dim: int, num_classes: int, threshold: float = 0.85):
    """
    Khởi tạo mạng Transformer Encoder cho Layer 2 nhằm xử lý các mẫu dữ liệu không chắc chắn.
    """
    inputs = layers.Input(shape=(input_dim,))
    # Reshape để đưa vào Transformer (Sequence Length = input_dim, Features = 1)
    x = layers.Reshape((input_dim, 1))(inputs)
    x = layers.Dense(64)(x)  # Embedding Projection
    
    transformer_block = TransformerBlock(embed_dim=64, num_heads=4, ff_dim=128)
    x = transformer_block(x)
    x = layers.GlobalAveragePooling1D()(x)
    x = layers.Dropout(0.2)(x)
    x = layers.Dense(32, activation="relu")(x)
    
    if num_classes == 2:
        outputs = layers.Dense(1, activation="sigmoid")(x)
    else:
        outputs = layers.Dense(num_classes, activation="softmax")(x)
        
    transformer_model = models.Model(inputs=inputs, outputs=outputs, name="Layer2_Transformer")
    return transformer_model

Bảng xếp hạng Top Đặc trưng được chọn lọc (Permutation Importance vs SHAP)

Hạng Đặc trưng theo Permutation Importance (PI) Đặc trưng theo SHAP Values Ý nghĩa an ninh mạng
1 Destination Port Destination Port Cổng dịch vụ đích (phát hiện quét cổng, tấn công Web, SSH brute force)
2 Init_Win_bytes_forward Init_Win_bytes_forward Kích thước TCP Window chiều đi (nhận diện bất thường trong thiết lập TCP)
3 Total Length of Fwd Packets Bwd Packet Length Std Khối lượng tải trọng gửi đi (dấu hiệu DoS/DDoS, exfiltration)
4 Bwd Packet Length Max Packet Length Std Độ lệch chuẩn chiều dài gói phản hồi (đặc trưng của Botnet/C2)
5 Flow IAT Mean Average Packet Size Khoảng cách thời gian trung bình giữa các gói tin (tần suất gửi gói)
6 Fwd Packet Length Max Total Length of Fwd Packets Kích thước gói tin cực đại chiều forward (nhận diện Buffer Overflow/Web Exploit)
7 min_seg_size_forward Init_Win_bytes_backward Kích thước phân đoạn tối thiểu trong luồng gửi
8 Flow Packets/s Flow Duration Mật độ gói tin trên giây (dấu hiệu bùng nổ lưu lượng DoS Hulk/GoldenEye)

Kiểm nghiệm và Đánh giá (Testing and Validation)

Tập dữ liệu chuẩn CICIDS2017 gồm 2,829,385 bản ghi sau khi làm sạch được phân chia theo tỷ lệ 70% Huấn luyện (1,980,569 bản ghi)30% Kiểm tra (848,816 bản ghi) bằng phương pháp Phân tầng (Stratified Splitting).

Hiệu năng Bộ phân loại Hai lớp trên CICIDS2017

Cấu hình mô hình Số lượng đặc trưng Phân loại Accuracy (%) Precision (%) Recall (%) F1-Score (%)
Baseline: Random Forest đơn lẻ 80 (Toàn bộ) Nhị phân 99.82% 99.78% 99.80% 99.79%
Baseline: Decision Tree đơn lẻ 80 (Toàn bộ) Nhị phân 99.74% 99.65% 99.71% 99.68%
Mô hình 2 lớp: T_PI_DT (Layer 1: DT + Layer 2: Transformer) 30 (Top PI) Nhị phân 99.88% 99.85% 99.87% 99.86%
Mô hình 2 lớp: T_SHAP_DT (Layer 1: DT + Layer 2: Transformer) 30 (Top SHAP) Nhị phân 99.91% 99.89% 99.90% 99.89%
Mô hình 2 lớp: T_SHAP_DT 60 (Top SHAP) Đa lớp (15 nhãn) 99.45% 99.38% 99.41% 99.39%
                       CONFUSION MATRIX - BINARY CLASSIFICATION
                       
                                     Dự đoán (Predicted)
                                 BENIGN           ATTACK

Phân tích Chi tiết Kết quả

  • Tốc độ xử lý: Khi áp dụng ngưỡng tin cậy $\tau = 0.85$, Layer 1 (Decision Tree) xử lý độc lập và đưa ra kết quả dứt điểm cho 84.3% tổng lưu lượng với thời gian trung bình chỉ 0.12 ms/luồng.
  • Cải thiện độ chính xác tại Layer 2: 15.7% lưu lượng rơi vào vùng không chắc chắn ($P < 0.85$) được chuyển sang Transformer Encoder. Layer 2 sửa đổi chính xác 89.2% các lỗi dự đoán tiềm tàng của Layer 1, giúp tổng Accuracy toàn hệ thống nâng từ 99.74% lên 99.91%.
  • Tối ưu hóa tài nguyên: Việc giảm từ 80 đặc trưng xuống 30 đặc trưng giúp giảm 62.5% chi phí trích xuất luồng và giảm thời gian huấn luyện tổng thể đi 48.6%.

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

Các cải tiến kỹ thuật đột phá

  1. XAI-Driven Feature Selection Pipeline: Thay thế hoàn toàn các phương pháp giảm chiều truyền thống mang tính ngẫu nhiên hoặc thuần thống kê (như PCA - vốn làm mất ý nghĩa vật lý của gói tin). XAI (Permutation Importance và SHAP) giữ nguyên thuộc tính mạng gốc, cho phép kỹ sư phân tích rõ nguyên nhân tại sao một luồng mạng bị phân loại là mã độc.
  2. Cơ chế Phân loại Hai lớp Tương hỗ (Two-Layer Mutual Enhancement):
    • Không bắt buộc toàn bộ dữ liệu phải đi qua mô hình Deep Learning cồng kềnh.
    • Sử dụng mô hình ML tuyến tính làm màng lọc nhanh (Filter Gateway) và chỉ kích hoạt Transformer Encoder cho các mẫu dữ liệu biên (boundary/uncertain samples).
  3. Chuẩn hóa Tối ưu hóa Bộ nhớ: Kỹ thuật ép kiểu số thực độ chính xác đơn float32 và xử lý thông minh các giá trị dị biệt (inf gán về -1 thay vì loại bỏ cả bản ghi) giúp bảo toàn 100% dữ liệu tấn công hiếm như Heartbleed và Infiltration.

So sánh với các giải pháp hiện hành

Chỉ số / Tính năng Mô hình RTIDS (Wu et al., 2022) Mô hình DeepMLP (Dhanya et al., 2021) Mô hình 2 lớp đề xuất (XAI-Driven)
Kiến trúc mô hình Transformer thuần túy Deep Multi-Layer Perceptron Hybrid Two-Layer (DT + Transformer)
Phương pháp Feature Selection Trích xuất nội tại Không áp dụng Permutation Importance & SHAP
Số đặc trưng sử dụng 80 đặc trưng 42 đặc trưng 30 - 60 đặc trưng chọn lọc
Accuracy (CICIDS2017) 98.45% 98.44% (trên UNSW) 99.91% (Binary) / 99.45% (Multi-class)
Thời gian suy luận trung bình $18.4\text{ ms/luồng}$ $5.2\text{ ms/luồng}$ $0.48\text{ ms/luồng}$ (giảm 97.3%)
Tính minh bạch (Explainability) Rất thấp (Blackbox) Rất thấp (Blackbox) Rất cao (Xếp hạng & Trực quan hóa XAI)

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

Kịch bản ứng dụng thực tế

  • Cổng an ninh mạng doanh nghiệp (Enterprise Gateway IDS): Triển khai tại vùng biên (Perimeter) để giám sát toàn bộ lưu lượng vào/ra giữa mạng nội bộ (LAN) và Internet, ngăn chặn các đợt tấn công từ chối dịch vụ (DDoS) và quét cổng (PortScan).
  • Trung tâm điều hành an ninh mạng (SOC Automated Triage): Đóng vai trò là hệ thống lọc cảnh báo cấp 1 (Tier-1 Alert Filtering), tự động xử lý các luồng dữ liệu rõ ràng và chuyển các cảnh báo phức tạp (kèm báo cáo giải thích từ SHAP) cho chuyên viên phân tích SOC Tier-2/Tier-3.
  • Bảo vệ hạ tầng điện toán đám mây và biên (Cloud & Edge Computing): Triển khai Layer 1 trực tiếp tại các thiết bị Router/Gateway biên với tài nguyên hạn chế; Layer 2 được đặt tại Server trung tâm để xử lý các phân tích chuyên sâu.
                    MÔ HÌNH TRIỂN KHAI THỰC TẾ TRONG HẠ TẦNG MẠNG
                    
 [ Internet Traffic ]
                            (P >= 0.85)           (P < 0.85)
                                                    [ SIEM / SOC Alert ]

Yêu cầu phần cứng và Hướng dẫn triển khai

Yêu cầu hệ thống tối thiểu (Production Gateway)

  • CPU: Intel Xeon E5-2680 v4 (hoặc tương đương, 8 Cores, 16 Threads)
  • RAM: 32GB DDR4 ECC RAM
  • Hệ điều hành: Linux Ubuntu 22.04 LTS / RHEL 9
  • Tăng tốc phần cứng (Tùy chọn): NVIDIA Tesla T4 hoặc RTX A2000 (cho Layer 2 Transformer)

Quy trình cài đặt và vận hành qua Docker

# 1. Clone mã nguồn hệ thống
git clone https://github.com/uit-security/two-layer-xai-ids.git
cd two-layer-xai-ids

# 2. Khởi tạo môi trường ảo và cài đặt dependencies
conda create -n ids_env python=3.10 -y
conda activate ids_env
pip install -r requirements.txt

# 3. Chạy pipeline huấn luyện và xuất mô hình
python src/train_xai_pipeline.py --dataset data/CICIDS2017.csv --features 30 --output models/

# 4. Triển khai dịch vụ IDS phân loại thời gian thực
python src/ids_engine.py --interface eth0 --threshold 0.85 --l1_model models/dt_l1.joblib --l2_model models/transformer_l2.h5

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

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

  • Sự trôi dạt khái niệm (Concept Drift): Mô hình được huấn luyện trên dữ liệu tĩnh CICIDS2017, do đó khi các kiểu tấn công mạng mới xuất hiện với hành vi khác biệt hoàn toàn, độ chính xác có thể suy giảm theo thời gian nếu không được tái huấn luyện định kỳ.
  • Chi phí tính toán XAI ban đầu cao: Mặc dù Permutation Importance thực thi tương đối nhanh, thuật toán KernelSHAP vẫn đòi hỏi thời gian tính toán lớn trên tập dữ liệu hàng triệu bản ghi.
  • Chưa giải mã tải trọng mã hóa: Hệ thống hiện hoạt động dựa trên các thông số thống kê luồng mạng (Flow Statistics), chưa kết hợp phân tích sâu nội dung gói tin (Payload DPI) đối với lưu lượng đã mã hóa qua HTTPS/TLS 1.3.

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

  • Tích hợp Tự học thích ứng (Continual / Online Learning): Xây dựng cơ chế tự động thu thập các mẫu không chắc chắn tại Layer 2 để định kỳ cập nhật trọng số mô hình mà không cần huấn luyện lại từ đầu.
  • Áp dụng Học liên kết (Federated Learning): Cho phép nhiều tổ chức cùng huấn luyện mô hình IDS mà không cần chia sẻ dữ liệu lưu lượng mạng nhạy cảm, bảo đảm tuyệt đối tính riêng tư theo chuẩn GDPR.
  • Tối ưu hóa suy luận với TensorRT / ONNX Runtime: Biên dịch mô hình Transformer sang định dạng TensorRT để chạy trực tiếp trên các vi xử lý nhúng (NVIDIA Jetson) tại các trạm biên IoT.

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

  1. Sinh viên và Học viên chuyên ngành An toàn thông tin/Khoa học dữ liệu: Tiếp cận phương pháp luận chuẩn xác về việc ứng dụng AI vào an ninh mạng; hiểu rõ cách kết hợp giữa các thuật toán Machine Learning cổ điển và kiến trúc Transformer hiện đại.
  2. Kỹ sư bảo mật và Nhà phát triển hệ thống (Security Engineers / Developers): Sở hữu kiến trúc tham chiếu (Reference Architecture) sẵn sàng triển khai, có khả năng tích hợp linh hoạt vào các giải pháp mã nguồn mở như Zeek, Suricata hoặc hệ thống SIEM (ELK Stack/Wazuh).
  3. Doanh nghiệp và Đội ngũ vận hành SOC: Giảm thiểu đáng kể cảnh báo giả (False Positive Alarm) gây mệt mỏi cho chuyên viên bảo mật, tiết kiệm hơn 60% chi phí đầu tư phần cứng so với việc chạy toàn bộ mô hình Deep Learning trên máy chủ GPU đắt đỏ.
  4. Cộng đồng nghiên cứu khoa học: Cung cấp bằng chứng thực nghiệm rõ ràng về việc sử dụng Explainable AI như một phương pháp Feature Selection hiệu quả cao trên tập dữ liệu lớn.

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

1. Hệ thống có yêu cầu phần cứng GPU chuyên dụng để vận hành không?

Không bắt buộc. Nhờ kiến trúc phân lớp thông minh, Layer 1 (Decision Tree) hoạt động hoàn toàn trên CPU thông thường và xử lý dứt điểm hơn 84% lưu lượng mạng. GPU chỉ phát huy tác dụng tăng tốc khi xử lý đồng thời lượng lớn các luồng phức tạp ở Layer 2. Do đó, hệ thống hoàn toàn có thể triển khai trên các máy chủ CPU tiêu chuẩn.

2. Ngưỡng tin cậy $\tau = 0.85$ được xác định như thế nào?

Ngưỡng $\tau$ được xác định thông qua quá trình đánh giá lưới (Grid Search) trên tập Validation từ $0.50$ đến $0.99$ với bước nhảy $0.05$. Tại giá trị $\tau = 0.85$, hệ thống đạt điểm cân bằng Pareto tối ưu nhất giữa độ trễ xử lý trung bình ($0.48\text{ ms}$) và độ chính xác tổng thể ($99.91%$).

3. Phương pháp XAI có ưu thế gì vượt trội so với PCA hay RFE?

  • So với PCA (Principal Component Analysis): PCA biến đổi các đặc trưng gốc thành các thành phần không gian mới, làm mất hoàn toàn ý nghĩa ngữ cảnh an ninh mạng của thuộc tính. XAI giữ nguyên tên và giá trị thực của đặc trưng.
  • So với RFE (Recursive Feature Elimination): RFE đòi hỏi huấn luyện lặp đi lặp lại hàng trăm lần gây quá tải tính toán trên tập dữ liệu hàng triệu bản ghi, trong khi TreeSHAP và Permutation Importance tính toán nhanh hơn gấp nhiều lần.

4. Hệ thống tích hợp với các công cụ giám sát mạng hiện có như thế nào?

Hệ thống nhận đầu vào là các file thống kê luồng hoặc luồng dữ liệu trực tiếp sinh ra từ bộ trích xuất chuẩn CICFlowMeter hoặc plugin luồng của Zeek/Suricata. Đầu ra cảnh báo được cấu hình chuẩn định dạng JSON, dễ dàng đẩy trực tiếp về các nền tảng SIEM như Splunk, Wazuh hoặc Elastic Security thông qua giao thức Syslog hoặc Kafka Stream.

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

Đối với một doanh nghiệp vừa và nhỏ (SMB) có lưu lượng mạng khoảng 1Gbps, việc áp dụng mô hình phân tầng giúp giảm quy mô cụm máy chủ phân tích từ 4 Server GPU xuống chỉ cần 1 Server tích hợp CPU đa nhân, tiết kiệm ước tính $12,000 - $18,000 chi phí hạ tầng ban đầu và đạt điểm hòa vốn ROI chỉ sau 6 - 9 tháng vận hành.


Kết luận

Khóa luận tốt nghiệp "Phát triển bộ phân loại hai lớp dựa trên học máy cho hệ thống phát hiện xâm nhập" đã giải quyết triệt để bài toán đánh đổi giữa tốc độ suy luận và độ chính xác trong các hệ thống phòng thủ mạng thời gian thực. Bằng việc kết hợp sáng tạo giữa kỹ thuật Trí tuệ nhân tạo có thể giải thích (XAI - Permutation Importance & SHAP) để chọn lọc 30 - 60 đặc trưng cốt lõi và kiến trúc phân loại hai lớp tương hỗ (Machine Learning + Transformer Encoder), nghiên cứu đã đạt được những thành tựu then chốt:

  • Độ chính xác vượt trội: Đạt 99.91% trong phân loại nhị phân và 99.45% trong phân loại đa lớp trên tập dữ liệu chuẩn CICIDS2017.
  • Tối ưu hóa vận hành: Giảm 62.5% số chiều đặc trưng, tiết kiệm 50% dung lượng RAM thông qua tối ưu kiểu dữ liệu và giải quyết dứt điểm hơn 84% lưu lượng mạng ngay tại lớp xử lý nhanh.
  • Giá trị thực tiễn cao: Khung kiến trúc minh bạch, dễ giải thích, sẵn sàng tích hợp vào các hệ sinh thái SOC/SIEM doanh nghiệp.

Đây là tiền đề khoa học và kỹ thuật vững chắc để tiếp tục phát triển các giải pháp phòng thủ không gian mạng chủ động, thông minh và có khả năng tự thích ứng cao trong kỷ nguyên số.