Giới thiệu dự án

Sự bùng nổ của cuộc Cách mạng Công nghiệp 4.0 đã thúc đẩy hàng chục tỷ thiết bị Internet vạn vật (IoT - Internet of Things) tham gia vào hệ thống mạng toàn cầu. Theo các báo cáo thống kê an ninh mạng quốc tế, lưu lượng tấn công nhắm vào các thiết bị thông minh, mạng cảm biến không dây và cổng kết nối biên (Edge Gateways) đã gia tăng hơn 300% trong những năm gần đây. Các biến thể mã độc nguy hiểm như Mirai, Torii hay Gafgyt liên tục thực hiện các cuộc tấn công Từ chối dịch vụ phân tán (DDoS - Distributed Denial-of-Service), quét cổng (port scanning) và đánh cắp dữ liệu nhạy cảm.

Phần lớn các thiết bị IoT đều bị giới hạn nghiêm ngặt về tài nguyên phần cứng (CPU, bộ nhớ RAM, năng lượng tiêu thụ). Trong khi đó, các Hệ thống phát hiện xâm nhập mạng truyền thống (NIDS - Network Intrusion Detection System) dựa trên chữ ký (SIDS - Signature-based IDS) bộc lộ hạn chế chí mạng: không thể phát hiện các cuộc tấn công chưa từng biết (zero-day) và đòi hỏi cập nhật cơ sở dữ liệu mẫu liên tục. Ngược lại, Hệ thống phát hiện xâm nhập dựa trên sự bất thường (AIDS - Anomaly-based Intrusion Detection System) ứng dụng Trí tuệ nhân tạo (AI) có khả năng tổng quát hóa hành vi mạng nhưng lại đối mặt với thách thức lớn về "lời nguyền số chiều" (curse of dimensionality) từ các tập dữ liệu lưu lượng mạng khổng lồ, gây nghẽn cổ chai tính toán và độ trễ phân tích cao.

Đồ án tốt nghiệp "Sử dụng Deep Learning và phương pháp giảm chiều dữ liệu PCA cho xác định bất thường trong hệ thống IoT" do sinh viên Đinh Quang Huy thực hiện dưới sự hướng dẫn của TS. Hoàng Trọng Minh tại Học viện Công nghệ Bưu chính Viễn thông (PTIT) tập trung giải quyết triệt để bài toán này.

+-----------------------------------------------------------------------------------+
|                              MỤC TIÊU CỐT LÕI ĐỒ ÁN                               |
+-----------------------------------------------------------------------------------+
| 1. Khai thác và tiền xử lý tập dữ liệu lưu lượng mạng IoT chuẩn hóa (IoT-23).    |
| 2. Ứng dụng Phân tích thành phần chính (PCA) để trích xuất đặc trưng tối ưu.     |
| 3. Xây dựng mô hình Mạng nơ-ron sâu (DNN) phân loại bất thường mạng chính xác cao.|
| 4. Cắt giảm đáng kể tài nguyên phần cứng, thời gian huấn luyện và độ trễ suy luận.|
+-----------------------------------------------------------------------------------+

Phương pháp tiếp cận của đồ án là kết hợp kỹ thuật Học không giám sát (Unsupervised Learning) thông qua PCA để loại bỏ các đặc trưng dư thừa, nhiễu và kỹ thuật Học có giám sát (Supervised Learning) với mạng DNN nhiều lớp ẩn (Deep Neural Network) nhằm tối ưu hóa bộ phân loại. Phạm vi nghiên cứu tập trung vào luồng dữ liệu mạng dạng bảng (tabular network flows) được trích xuất từ các kịch bản tấn công IoT thực tế, hướng tới khả năng triển khai thực tế trên các thiết bị điều khiển và máy chủ biên mạng viễn thông.


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

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

Các phương pháp phát hiện tấn công mạng hiện nay trên thế giới chủ yếu chia thành hai nhánh chính với những ưu và nhược điểm rõ rệt:

Tiêu chí so sánh Hệ thống dựa trên chữ ký (SIDS) Hệ thống dựa trên bất thường (AIDS truyền thống) Giải pháp đề xuất (PCA + DNN AIDS)
Nguyên lý hoạt động So khớp mẫu chuỗi/chữ ký trong cơ sở dữ liệu Phân cụm thống kê (K-Means, Naive Bayes, SVM) Giảm chiều dữ liệu kết hợp Mạng nơ-ron sâu đa tầng
Phát hiện Zero-day Không thể (0%) Có khả năng nhưng tỷ lệ dương tính giả (FPR) cao Rất tốt, tự động học biểu diễn phi tuyến tính
Tài nguyên tính toán Thấp đến trung bình Trung bình (kém hiệu quả với dữ liệu lớn) Tối ưu hóa cao nhờ giảm số chiều đặc trưng qua PCA
Độ trễ xử lý (Latency) Rất thấp với mẫu đã biết Tăng nhanh theo kích thước đặc trưng $O(N \cdot D)$ Rất thấp, phù hợp luồng mạng tốc độ cao
Khả năng tự thích ứng Kém, phụ thuộc chuyên gia cập nhật quy tắc Trung bình, dễ bị trôi baseline hành vi Cao, có thể tái huấn luyện định kỳ linh hoạt

Yêu cầu hệ thống được xác định theo mô hình MoSCoW:

  • Must have (Bắt buộc): Khả năng làm sạch dữ liệu khuyết thiếu (MCAR/MAR); thuật toán PCA giảm chiều bảo toàn $\ge 95%$ thông tin phương sai; mạng DNN đạt độ chính xác phát hiện bất thường $\ge 98%$.
  • Should have (Nên có): Cơ chế chuẩn hóa dữ liệu linh hoạt (MinMaxScaler/StandardScaler); tối ưu hóa hàm mất mát và thuật toán lan truyền ngược (Backpropagation).
  • Could have (Có thể có): Khả năng mở rộng phân loại đa lớp (Multi-class Classification) cho từng họ mã độc cụ thể.
  • Won't have (Chưa thực hiện): Phân tích gói tin tầng sâu (Deep Packet Inspection) đối với các luồng dữ liệu mã hóa đầu cuối (End-to-End Encryption).

Thiết kế hệ thống

Kiến trúc tổng thể của hệ thống phát hiện bất thường bao gồm 4 khối chức năng chính:

[IoT Network Traffic] --> [Data Preprocessing] --> [PCA Reduction] --> [DNN Classification] --> [Alert Engine]
                               |                          |                     |
                        - Clean missing values     - Covariance Matrix    - Dense Layers
                        - One-hot Encoding         - Eigenvalues/Vectors  - ReLU & Sigmoid
                        - MinMax Normalization     - Top-k Components     - Binary Crossentropy
  • Môi trường và Công nghệ sử dụng:
    • Ngôn ngữ lập trình: Python phiên bản 3.8.10.
    • Thư viện Học máy & Tính toán: Scikit-learn phiên bản 1.0.2, NumPy 1.21.6, Pandas 1.3.5.
    • Thư viện Học sâu: TensorFlow phiên bản 2.7.0 / Keras API.
    • Bộ dữ liệu thực nghiệm: IoT-23 Dataset (công bố bởi Avast Software và CTU University, bao gồm 20 kịch bản mã độc IoT và 3 kịch bản lưu lượng mạng an toàn thực tế).
  • Cấu trúc dữ liệu luồng mạng (NetFlow/Zeek format): Gồm 23 thuộc tính cơ bản như thời gian (ts), định danh luồng (uid), IP/Port nguồn (id.orig_h, id.orig_p), IP/Port đích (id.resp_h, id.resp_p), giao thức (proto), dịch vụ (service), thời lượng kết nối (duration), số byte gửi/nhận (orig_bytes, resp_bytes), trạng thái kết nối (conn_state), số lượng gói tin (orig_pkts, resp_pkts) và nhãn phân loại (label).

Methodology

Nghiên cứu áp dụng quy trình chuẩn CRISP-DM (Cross-Industry Standard Process for Data Mining) kết hợp kiểm thử hồi quy nghiêm ngặt:

  • Giai đoạn 1 (Tuần 1 - 3): Thu thập, khảo sát và phân tích cấu trúc tập dữ liệu IoT-23 từ các tệp nhật ký kết nối conn.log.labeled.
  • Giai đoạn 2 (Tuần 4 - 6): Thiết kế đường ống tiền xử lý dữ liệu: loại bỏ nhiễu, mã hóa biến phân loại và thực thi thuật toán trích xuất đặc trưng PCA.
  • Giai đoạn 3 (Tuần 7 - 10): Thiết kế kiến trúc mạng DNN, lựa chọn siêu tham số (Hyperparameters), huấn luyện và đánh giá trên tập kiểm tra độc lập.
  • Giai đoạn 4 (Tuần 11 - 14): Đánh giá hiệu năng chi tiết, đo lường thời gian CPU, phân tích ma trận nhầm lẫn (Confusion Matrix) và hoàn thiện báo cáo đồ án.

Implementation và kết quả

Development process

Quá trình triển khai kỹ thuật được thực hiện thông qua các bước toán học và lập trình cụ thể:

1. Tiền xử lý dữ liệu (Data Preprocessing)

Xử lý các giá trị khuyết thiếu ký hiệu bằng dấu gạch ngang (-) trong các trường dữ liệu duration, orig_bytes, resp_bytes bằng cách gán giá trị 0 hoặc trung vị. Mã hóa One-Hot Encoding cho các biến phân loại phi số (proto: TCP, UDP, ICMP; conn_state: S0, SF, REJ, OTH...). Chuẩn hóa toàn bộ giá trị số về miền $[0, 1]$ bằng công thức:

$$x_{norm} = \frac{x - x_{min}}{x_{max} - x_{min}}$$

2. Phân tích thành phần chính (PCA)

Giả sử tập dữ liệu đầu vào $\mathbf{X} \in \mathbb{R}^{N \times D}$, mục tiêu là chuyển đổi sang không gian mới $\mathbf{Y} \in \mathbb{R}^{N \times k}$ ($k < D$) sao cho phương sai giữ lại là cực đại.

  • Tính toán vector kỳ vọng: $\bar{\mathbf{x}} = \frac{1}{N} \sum_{i=1}^{N} \mathbf{x}_i$
  • Tính ma trận hiệp phương sai mẫu:

$$\mathbf{S} = \frac{1}{N} \sum_{i=1}^{N} (\mathbf{x}_i - \bar{\mathbf{x}})(\mathbf{x}_i - \bar{\mathbf{x}})^T$$

  • Giải bài toán tìm trị riêng $\lambda_i$ và vector riêng $\mathbf{v}_i$:

$$\mathbf{S}\mathbf{v}_i = \lambda_i \mathbf{v}_i \quad (i = 1, 2, \dots, D)$$

  • Sắp xếp các trị riêng theo thứ tự giảm dần $\lambda_1 \ge \lambda_2 \ge \dots \ge \lambda_D \ge 0$ và chọn $k$ thành phần chính đầu tiên thỏa mãn tỷ lệ phương sai tích lũy (Cumulative Explained Variance Ratio):

$$\frac{\sum_{j=1}^k \lambda_j}{\sum_{i=1}^D \lambda_i} \ge 0.95$$

import numpy as np
import pandas as pd
from sklearn.decomposition import PCA
from sklearn.preprocessing import MinMaxScaler
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout

# 1. Trích xuất và chuẩn hóa dữ liệu
scaler = MinMaxScaler()
X_scaled = scaler.fit_transform(X_raw)

# 2. Giảm chiều dữ liệu bằng PCA (giữ lại 95% phương sai)
pca = PCA(n_components=0.95, random_state=42)
X_pca = pca.fit_transform(X_scaled)
print(f"Số chiều ban đầu: {X_scaled.shape[1]} -> Số chiều sau PCA: {X_pca.shape[1]}")

# 3. Xây dựng mô hình Deep Neural Network (DNN)
model = Sequential([
    Dense(128, input_dim=X_pca.shape[1], activation='relu'),
    Dropout(0.2),
    Dense(64, activation='relu'),
    Dropout(0.2),
    Dense(32, activation='relu'),
    Dense(1, activation='sigmoid')
])

model.compile(
    optimizer=tf.keras.optimizers.Adam(learning_rate=0.001),
    loss='binary_crossentropy',
    metrics=['accuracy', tf.keras.metrics.Precision(), tf.keras.metrics.Recall()]
)

# 4. Huấn luyện mô hình
history = model.fit(
    X_train_pca, y_train,
    epochs=50,
    batch_size=256,
    validation_split=0.2,
    verbose=1
)

Testing và validation

Mô hình được thử nghiệm phân chia tỷ lệ 80% tập huấn luyện (Training Set) và 20% tập kiểm tra (Testing Set). Đánh giá dựa trên các chỉ số định lượng: Độ chính xác (Accuracy), Độ chuẩn xác (Precision), Độ thu hồi (Recall), Điểm F1-score, Thời gian huấn luyện (Training Time) và Thời gian kiểm tra (Inference Time).

                        MA TRẬN NHẦM LẪN (CONFUSION MATRIX)
                                    Dự đoán Bất thường     Dự đoán Bình thường
        Thực tế Bất thường (Attack)       TP = 98,850            FN = 1,150
        Thực tế Bình thường (Normal)      FP = 820               TN = 99,180

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

Bảng so sánh chi tiết hiệu năng của mô hình Deep Neural Network trước và sau khi áp dụng kỹ thuật giảm chiều dữ liệu PCA:

Chỉ số đánh giá Mô hình DNN thuần (Không qua PCA) Mô hình đề xuất (PCA + DNN) Tỷ lệ cải thiện / Chênh lệch
Số chiều đặc trưng đầu vào ($D$) 23 đặc trưng thô 8 thành phần chính (PC) Giảm 65.22% số chiều
Thời gian huấn luyện (Training) 148.52 giây 51.18 giây Nhanh hơn 65.54%
Thời gian kiểm tra (Inference) 19.34 giây / 100k mẫu 6.42 giây / 100k mẫu Nhanh hơn 66.80%
Độ chính xác (Accuracy) 99.25% 98.98% Chỉ giảm 0.27% (Không đáng kể)
Độ chuẩn xác (Precision) 99.12% 98.82% Giữ vững độ tin cậy cảnh báo
Độ thu hồi (Recall) 99.30% 98.85% Phát hiện hầu hết các mối đe dọa
F1-Score 99.21% 98.83% Cân bằng tối ưu giữa Precision & Recall

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

  1. Tối ưu hóa tài nguyên phần cứng vượt trội: Bằng việc giảm hơn 65% số chiều dữ liệu đầu vào mà vẫn bảo toàn 95% lượng thông tin phương sai, mô hình cắt giảm tới 65.54% thời gian huấn luyện và 66.80% thời gian xử lý suy luận. Điều này giải quyết bài toán thiếu hụt tài nguyên CPU và RAM trên các thiết bị điều khiển IoT.
  2. Khai thác tập dữ liệu hiện đại: Khác với các nghiên cứu trước đây thường dùng tập dữ liệu KDD99 hoặc NSL-KDD vốn đã lỗi thời, đồ án sử dụng tập dữ liệu IoT-23 phản ánh chính xác các mẫu hành vi tấn công mạng IoT đương đại.
  3. Kiến trúc kết hợp linh hoạt: Mô hình kết hợp tính năng nén đặc trưng tuyến tính hiệu quả của PCA với khả năng học biểu diễn phi tuyến tính sâu của mạng DNN 4 tầng, mang lại khả năng kháng nhiễu và độ chính xác phân loại tiệm cận 99%.

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

Tình huống ứng dụng thực tế (Use Cases)

  • Smart Home / Industrial IoT Gateways: Tích hợp trực tiếp vào thiết bị định tuyến hoặc cổng trung chuyển để phân tích lưu lượng của camera an ninh, cảm biến nhiệt độ, thiết bị đo lường nhà máy tự động theo thời gian thực.
  • Trung tâm giám sát an ninh mạng (SOC) doanh nghiệp: Đóng vai trò là bộ lọc tiền xử lý tốc độ cao, sàng lọc hàng triệu kết nối mạng mỗi phút trước khi chuyển các luồng bất thường mức độ cao đến chuyên gia phân tích.
+-----------------------------------------------------------------------------------+
|                        MÔ HÌNH TRIỂN KHAI THỰC TẾ TRÊN EDGE                       |
+-----------------------------------------------------------------------------------+
|  [Cảm biến / Camera IoT] --> [Switch / Router] --> [Edge Gateway: PCA + DNN Engine]|
|                                                            |                      |
|                                                     [Phát hiện bất thường?]       |
|                                                     /                    \        |
|                                               [Có: Gửi cảnh báo]    [Không: Flow OK]
|                                               [Khóa IP tự động]                   |
+-----------------------------------------------------------------------------------+

Chiến lược triển khai và Phân tích chi phí - lợi ích

  • Yêu cầu phần cứng tối thiểu: CPU lõi tứ (Quad-core 1.5 GHz ARM/x86_64), 2GB RAM, 16GB bộ nhớ lưu trữ eMMC/SSD (tương đương Raspberry Pi 4 hoặc các máy chủ biên viễn thông mini).
  • Phần mềm triển khai: Docker Container chạy môi trường Alpine Linux siêu nhẹ tích hợp ONNX Runtime hoặc TensorFlow Lite.
  • Hiệu quả kinh tế (ROI): Cắt giảm chi phí đầu tư GPU đắt tiền tại các trạm biên; giảm chi phí băng thông truyền tải dữ liệu thô về đám mây trung tâm; rút ngắn thời gian xử lý sự cố mạng xuống dưới 1 giây, bảo vệ hệ thống khỏi nguy cơ tê liệt do tấn công DDoS.

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

Hạn chế kỹ thuật

  • PCA là phương pháp biến đổi tuyến tính, có thể bỏ sót một số tương quan phi tuyến bậc cao tiềm ẩn giữa các thuộc tính phức tạp.
  • Mô hình thử nghiệm hiện tại chủ yếu tập trung vào bài toán phân loại nhị phân (Binary Classification: Bình thường vs Bất thường) thay vì phân loại chi tiết từng chủng loại mã độc cụ thể (Multi-class).

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

  • Ứng dụng các kỹ thuật giảm chiều phi tuyến tính tiên tiến như Kernel PCA hoặc mạng nơ-ron tự mã hóa sâu (Deep Autoencoder).
  • Tích hợp kỹ thuật Học liên kết (Federated Learning) nhằm cho phép các thiết bị IoT tại biên cùng huấn luyện mô hình phát hiện xâm nhập mà không cần chia sẻ dữ liệu riêng tư về máy chủ trung tâm.

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

+-----------------------------------------------------------------------------------+
|                               ĐỐI TƯỢNG HƯỞNG LỢI                                 |
+-----------------------------------------------------------------------------------+
| - SINH VIÊN & HỌC VIÊN: Tài liệu mẫu chuẩn mực về áp dụng Data Science vào An ninh|
|   thông tin, nắm vững kỹ thuật tiền xử lý dữ liệu tabular và lập trình Deep Model.|
| - KỸ SƯ HỆ THỐNG & DEV: Nắm bắt kiến trúc tối ưu hóa luồng mạng bằng PCA và DNN, |
|   dễ dàng tái sử dụng mã nguồn và triển khai trên các thiết bị Gateway thực tế.   |
| - DOANH NGHIỆP & TỔ CHỨC: Sở hữu giải pháp bảo vệ hệ sinh thái IoT với chi phí cực|
|   kỳ tối ưu, giảm thiểu rủi ro gián đoạn dịch vụ và tổn thất do tấn công mạng.    |
| - CỘNG ĐỒNG NGHIÊN CỨU: Bằng chứng thực nghiệm định lượng rõ ràng về hiệu quả của |
|   PCA trên bộ dữ liệu IoT-23, tạo tiền đề cho các hướng phát triển nâng cao.    |
+-----------------------------------------------------------------------------------+

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

1. Cấu hình phần cứng tối thiểu để triển khai giải pháp là gì?

Hệ thống yêu cầu phần cứng rất linh hoạt: chỉ cần CPU 2 nhân tốc độ từ 1.2 GHz trở lên, 1GB RAM khả dụng và dung lượng lưu trữ 500MB cho hệ điều hành và thư viện chạy mô hình (TensorFlow Lite hoặc Scikit-learn model export).

2. Tại sao nên chọn PCA thay vì các phương pháp lựa chọn đặc trưng (Feature Selection) khác?

PCA là phương pháp trích xuất đặc trưng (Feature Extraction) giúp tạo ra các trục tọa độ trực giao mới không tương quan, giữ lại toàn bộ thông tin phương sai tổng thể của dữ liệu thay vì loại bỏ hoàn toàn một biến thuộc tính gốc như các phương pháp lọc thông thường.

3. Mô hình xử lý luồng dữ liệu thời gian thực như thế nào?

Mỗi khi có một kết nối mạng hoàn tất, các thông số thống kê kết nối được trích xuất tức thì, đưa qua bộ biến đổi ma trận PCA (phép nhân ma trận vector tốc độ micro-giây) và đưa vào mạng DNN để đưa ra kết luận phân loại trong thời gian dưới 1 mili-giây.

4. Tần suất cập nhật và huấn luyện lại mô hình là bao lâu?

Nên thực hiện tái huấn luyện định kỳ (1 - 3 tháng/lần) hoặc kích hoạt tự động khi tỷ lệ phát hiện các mẫu không chắc chắn (Uncertainty score) vượt quá ngưỡng cho phép, nhằm cập nhật các biến thể tấn công mới.

5. Giải pháp có gây ảnh hưởng đến hiệu năng hoạt động của thiết bị IoT không?

Không. Nhờ việc giảm số chiều dữ liệu, tải tính toán của mô hình chiếm dưới 5% năng lực xử lý CPU của các gateway biên, hoàn toàn không gây hiện tượng nghẽn mạng hay trễ truyền gói tin.


Kết luận

Đồ án tốt nghiệp đại học "Sử dụng Deep Learning và phương pháp giảm chiều dữ liệu PCA cho xác định bất thường trong hệ thống IoT" của sinh viên Đinh Quang Huy dưới sự dẫn dắt của TS. Hoàng Trọng Minh là một công trình nghiên cứu ứng dụng hoàn chỉnh, kết hợp nhuần nhuyễn giữa nền tảng lý thuyết toán học xác suất thống kê và công nghệ Trí tuệ nhân tạo hiện đại.

Bằng việc chứng minh khả năng cắt giảm 65.54% thời gian huấn luyện66.80% thời gian kiểm tra nhưng vẫn bảo toàn độ chính xác vượt trội 98.98% trên tập dữ liệu chuẩn quốc tế IoT-23, nghiên cứu đã mở ra hướng đi thực tế, hiệu quả cho bài toán bảo mật biên trong kỷ nguyên vạn vật kết nối thông minh.