Giới thiệu dự án

Sự bùng nổ của kỷ nguyên Internet of Things (IoT) đã thúc đẩy hàng chục tỷ thiết bị thông minh hòa vào mạng lưới toàn cầu, từ camera an ninh, thiết bị y tế, cảm biến công nghiệp cho đến hệ thống nhà thông minh. Tuy nhiên, tính chất phân tán, tài nguyên tính toán hạn chế cùng cấu hình bảo mật lỏng lẻo đã biến các thiết bị IoT thành mục tiêu hàng đầu của tin tặc. Theo các báo cáo an ninh mạng quốc tế, các cuộc tấn công từ chối dịch vụ phân tán (DDoS) xuất phát từ mạng botnet IoT đã đạt lưu lượng kỷ lục tính bằng đơn vị Terabit/giây (Tbps), điển hình là vụ tấn công lịch sử nhắm vào nhà cung cấp DNS Dyn làm tê liệt hàng loạt dịch vụ trọng yếu như GitHub, Netflix, Reddit, Visa và Twitter. Đáng chú ý, Việt Nam từng đứng đầu danh sách các quốc gia có tỷ lệ địa chỉ IP bị lây nhiễm mã độc botnet Mirai cao nhất thế giới (chiếm tới 12,8%, vượt qua Brazil 11,8% và Hoa Kỳ 10,9%).

+-------------------------------------------------------------------+
| Top Quốc Gia Xuất Phát Tấn Công Botnet Mirai                      |
| 1. Việt Nam: 12.8%        2. Brazil: 11.8%     3. Hoa Kỳ: 10.9%   |
| 4. Trung Quốc: 8.8%       5. Mexico: 8.4%      6. Triều Tiên: 6.2%|
+-------------------------------------------------------------------+

Vấn đề cốt lõi (Problem Statement) nằm ở chỗ: các hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) truyền thống dựa trên tập luật (rule-based) hoàn toàn bất lực trước các cuộc tấn công zero-day và các biến thể mã độc thay đổi liên tục. Mặc dù các kỹ thuật Trí tuệ nhân tạo (AI), Học máy (Machine Learning - ML) và Học sâu (Deep Learning - DL) đã chứng minh hiệu quả vượt trội trong việc phân loại lưu lượng độc hại, nhưng chúng phụ thuộc vào việc thu thập toàn bộ dữ liệu lưu lượng mạng về một máy chủ tập trung (Centralized Server). Điều này dẫn đến hai rào cản chí mạng:

  1. Vi phạm quyền riêng tư và bảo mật: Lưu lượng mạng từ thiết bị IoT chứa nhiều dữ liệu nhạy cảm của người dùng và doanh nghiệp.
  2. Nghẽn băng thông và lãng phí tài nguyên: Việc truyền tải hàng gigabyte dữ liệu log/pcap từ hàng ngàn thiết bị biên (Edge) lên đám mây gây quá tải hạ tầng mạng và có độ trễ lớn.

Để giải quyết triệt để bài toán trên, đồ án nghiên cứu và triển khai Hệ thống Phát hiện Xâm nhập Phân tán tối ưu hóa dựa trên Học liên kết (Federated Learning - FL). Giải pháp cho phép huấn luyện mô hình học sâu cục bộ ngay tại các thiết bị IoT biên (Edge nodes), chỉ chia sẻ và tổng hợp trọng số mô hình (model parameters) về máy chủ điều phối mà không làm lộ dữ liệu gốc.

Mục tiêu cụ thể của đề tài được xác định rõ ràng:

  1. Nghiên cứu cơ chế lây nhiễm và cấu trúc gói tin của hai dòng botnet nguy hiểm nhất trên IoT: MiraiGafgyt (BASHLITE).
  2. Xây dựng kiến trúc mô hình Deep Learning (kết hợp mạng tích chập 1D-CNN và Linear Layers) trên framework PyTorch để phân loại 10 lớp hành vi mạng (1 lớp Benign và 9 lớp tấn công chi tiết).
  3. Thiết lập hệ thống học liên kết Federated Learning với kiến trúc Master-Worker thông qua giao thức Socket TCP đa luồng.
  4. Đề xuất và thực nghiệm 2 thuật toán tối ưu hóa chuyển giao mô hình (Model Transfer Optimization): kỹ thuật lọc nhiễu Three-Sigma trên hàm mất mát (Loss Change Rate) và cơ chế đánh giá chênh lệch độ chính xác (Pre/Post Accuracy Thresholding) kết hợp Early Stopping.
  5. Triển khai và kiểm thử thực tế trên phần cứng nhúng Raspberry Pi 4 (ARMv8 64-bit), tích hợp hệ thống giám sát tập trung Elasticsearch - Logstash - Kibana (ELK) và giao diện trực quan hóa Streamlit.

Phạm vi nghiên cứu tập trung vào việc nhận diện các hành vi bất thường và tấn công mạng trên tập dữ liệu chuẩn N-BaIoT, đánh giá trên môi trường phần cứng nhúng biên với 3 node Raspberry Pi 4 (1 Master điều phối và 2 Worker huấn luyện).


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 phòng chống xâm nhập trên hệ sinh thái IoT hiện nay chủ yếu chia làm 2 nhánh chính, mỗi nhánh đều bộc lộ những nhược điểm rõ rệt khi đối mặt với hạ tầng mạng phân tán hiện đại.

Tiêu chí so sánh Rule-based IDS (Snort, Suricata) Centralized Machine Learning IDS Proposed Federated IDS (Hệ thống đề xuất)
Cơ chế hoạt động Khớp mẫu chữ ký (Signature Matching) tĩnh Gom toàn bộ dữ liệu về Cloud/Server để train Train cục bộ tại thiết bị biên, chỉ gửi tham số mô hình
Bảo mật quyền riêng tư Trung bình (cần phân tích sâu payload) Rất thấp (nguy cơ rò rỉ dữ liệu nhạy cảm cao) Tuyệt đối (Dữ liệu không bao giờ rời khỏi thiết bị)
Khả năng bắt Zero-day Kém (chỉ bắt được mẫu đã có trong database) Tốt (tự học đặc trưng từ dữ liệu tập trung) Rất tốt (học phân tán đa dạng mẫu từ nhiều node)
Băng thông mạng tiêu thụ Thấp Rất cao (truyền tải raw dataset liên tục) Cực thấp (truyền tải trọng số nén định kỳ)
Điểm lỗi đơn lẻ (SPOF) Không áp dụng Có (nếu Server sập, toàn bộ hệ thống tê liệt) Thấp (Worker vẫn tự vận hành IDS độc lập)

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

  • Must Have (Bắt buộc có): Pipeline tiền xử lý và chuẩn hóa dữ liệu N-BaIoT (115 đặc trưng); mô hình Deep Learning phân loại chính xác 10 lớp tấn công; cơ chế giao tiếp Socket an toàn giữa Master và Workers; thuật toán trung bình hóa trọng số FedAvg.
  • Should Have (Nên có): Cơ chế dừng sớm (Early Stopping); thuật toán tối ưu hóa số vòng truyền tham số (Three-Sigma Loss & Accuracy Check); giám sát tài nguyên CPU/RAM/Accuracy thời gian thực qua ELK Stack.
  • Could Have (Có thể có): Cơ chế nén dữ liệu truyền tải (LZ4, GZIP, BZ2); giao diện Web dự đoán lưu lượng offline qua file CSV và bắt gói tin trực tiếp card mạng (Live Traffic Sniffing).
  • Won't Have (Chưa thực hiện): Khả năng tự động drop gói tin inline (IPS mode) trên phần cứng mạng chuyên dụng.

Thiết kế hệ thống

Hệ thống được thiết kế theo mô hình Master-Worker phân tán với luồng dữ liệu khép kín, đảm bảo tính toán cục bộ và tổng hợp toàn cục:

flowchart TD
    subgraph Master_Node ["Master Server (Raspberry Pi 4 / Coordinator)"]
        M_Init["Khởi tạo Global Model Weights"] --> M_Sock["Socket Server (Listen Connections)"]
        M_Sock --> M_Brd["Broadcast Global Model to Workers"]
        M_Agg["Federated Aggregation (FedAvg)"] --> M_Eval["Đánh giá Global Model (700k records)"]
        M_Eval --> M_Save["Lưu Model: IoT_Intrusions_Detection.pth"]
        M_Save --> M_Brd
    end

    subgraph Worker_Node_1 ["Worker 1 (Raspberry Pi 4 Edge Node)"]
        W1_Data["Local Dataset N-BaIoT (1,000 train records)"] --> W1_Pre["Chuẩn hóa Z-Score (mean_std)"]
        W1_Pre --> W1_Train["Local Deep Learning Training (1D-CNN + MLP)"]
        W1_Train --> W1_Opt{"Kiểm tra điều kiện tối ưu (Loss / Accuracy)"}
        W1_Opt -- Thỏa điều kiện --> W1_Send["Gửi Weights tới Master"]
        W1_Opt -- Không thỏa --> W1_Skip["Bỏ qua gửi trọng số (Skip Round)"]
    end

    subgraph Worker_Node_2 ["Worker 2 (Raspberry Pi 4 Edge Node)"]
        W2_Data["Local Dataset N-BaIoT (1,000 train records)"] --> W2_Pre["Chuẩn hóa Z-Score (mean_std)"]
        W2_Pre --> W2_Train["Local Deep Learning Training (1D-CNN + MLP)"]
        W2_Train --> W2_Opt{"Kiểm tra điều kiện tối ưu (Loss / Accuracy)"}
        W2_Opt -- Thỏa điều kiện --> W2_Send["Gửi Weights tới Master"]
        W2_Opt -- Không thỏa --> W2_Skip["Bỏ qua gửi trọng số (Skip Round)"]
    end

    M_Brd -->|TCP Socket Broadcast| W1_Train
    M_Brd -->|TCP Socket Broadcast| W2_Train
    W1_Send -->|TCP Socket Payload| M_Agg
    W2_Send -->|TCP Socket Payload| M_Agg

    subgraph Monitoring_UI ["Giám sát & Trực quan hóa"]
        M_Eval -->|Logstash/HTTP| ELK["ELK Stack (Elasticsearch 7.9.1 / Kibana)"]
        M_Save --> WebUI["Streamlit Web App (CSV & Scapy Live Capture)"]
    end

Technology Stack & Versions

  • Hệ điều hành: Ubuntu Server 22.10 64-bit (aarch64 / ARMv8 architecture).
  • Môi trường ảo hóa: Docker CE Engine (Docker runtime containerization).
  • Nền tảng Deep Learning: PyTorch version 1.1.0 (kumatea/PyTorch:1.1 image tối ưu cho nền tảng ARM).
  • Thư viện xử lý dữ liệu và tính toán khoa học: NumPy 1.21.5, SciPy 1.7.0, Pandas 1.3.5, Scikit-learn 1.0.2.
  • Thư viện mạng & bắt gói tin: Scapy 2.5.0, Socket native (Python standard library).
  • Hệ thống giám sát và giao diện: Elasticsearch 7.9.1, Psutil 5.9.0, Streamlit 1.20.0.

Thiết kế mô hình học sâu phát hiện mối đe dọa (Threat Detection Neural Network)

Mô hình Deep Learning được xây dựng kế thừa từ lớp torch.nn.Module, nhận đầu vào là vector 115 đặc trưng thống kê và xuất ra phân phối xác suất trên 10 lớp phân loại:

import torch
import torch.nn as nn

class IoT_Threat_Classifier(nn.Module):
    def __init__(self, input_dim=115, num_classes=10):
        super(IoT_Threat_Classifier, self).__init__()
        # 2 Lớp Tích chập 1D (1D-CNN) trích xuất đặc trưng không gian chuỗi
        self.conv_block = nn.Sequential(
            nn.Conv1d(in_channels=1, out_channels=16, kernel_size=3, stride=1, padding=1),
            nn.BatchNorm1d(16),
            nn.ReLU(),
            nn.Conv1d(in_channels=16, out_channels=32, kernel_size=3, stride=1, padding=1),
            nn.BatchNorm1d(32),
            nn.ReLU(),
            nn.AdaptiveAvgPool1d(16)
        )
        # 3 Lớp Tuyến tính liên kết đầy đủ (Dense / Linear Layers)
        self.fc_block = nn.Sequential(
            nn.Linear(32 * 16, 128),
            nn.ReLU(),
            nn.Dropout(0.2),
            nn.Linear(128, 64),
            nn.ReLU(),
            nn.Linear(64, num_classes)
        )

    def forward(self, x):
        # x shape: [batch_size, 115] -> reshape: [batch_size, 1, 115]
        x = x.unsqueeze(1)
        x = self.conv_block(x)
        x = x.view(x.size(0), -1)
        out = self.fc_block(x)
        return out

Methodology

Quy trình phát triển hệ thống tuân theo phương pháp Agile/Iterative, chia thành 6 giai đoạn rõ ràng:

  1. Nghiên cứu kiến trúc & công cụ (01/03 - 15/03): Phân tích lý thuyết Federated Learning, cơ chế truyền thông Socket, khảo sát thư viện PySyft và PyTorch trên ARM.
  2. Khảo sát & lựa chọn Dataset (16/03 - 31/03): Đánh giá dataset N-BaIoT thu thập từ 9 thiết bị thương mại thực tế.
  3. Tiền xử lý & Xây dựng mô hình Core (01/04 - 30/04): Chuẩn hóa 115 thuộc tính, khử nhiễu, xây dựng pipeline PyTorch DataLoader.
  4. Tối ưu hóa mô hình & Siêu tham số (01/05 - 08/05): Thiết lập Early Stopping, chọn bộ siêu tham số (Learning rate, Batch size).
  5. Đóng gói & Triển khai phần cứng Raspberry Pi (09/05 - 16/05): Xây dựng Docker container trên Ubuntu Server ARMv8, thiết lập mạng cục bộ cho cụm 3 node.
  6. Nghiên cứu thuật toán tối ưu hóa chuyển giao mô hình (17/05 - 31/05): Đề xuất thuật toán Three-Sigma Loss và Pre/Post Accuracy.
  7. Thực nghiệm toàn diện & Đánh giá (01/06 - 30/06): Đánh giá Benchmark 5 lần lặp, tích hợp ELK Stack và Web UI.

Ma trận đánh giá rủi ro & giải pháp giảm thiểu (Risk Assessment & Mitigation)

  • Rủi ro tương thích phần cứng ARM: PyTorch và một số thư viện Python thiếu pre-built wheels cho ARMv8 64-bit $\rightarrow$ Giải pháp: Xây dựng Docker image đồng nhất từ base image kumatea/PyTorch:1.1, biên dịch các module C/C++ bổ trợ bằng gccpython3-dev.
  • Rủi ro nghẽn mạng do truyền tham số: Nếu có nhiều worker gửi tham số cùng lúc, master sẽ bị quá tải I/O $\rightarrow$ Giải pháp: Tích hợp cơ chế Socket đa luồng (Multi-threading), thuật toán lọc điều kiện gửi tham số và nén dữ liệu truyền thông.
  • Rủi ro Overfitting trên Worker cục bộ: Dữ liệu train tại mỗi worker nhỏ (1,000 mẫu) $\rightarrow$ Giải pháp: Áp dụng chuẩn hóa Z-Score, Dropout 0.2 và Early Stopping dựa trên ngưỡng cải thiện tối thiểu.

Implementation và kết quả

Development process

1. Cấu trúc đặc trưng và Tiền xử lý dữ liệu (Feature Engineering & Preprocessing)

Tập dữ liệu N-BaIoT bao gồm 7,062,606 bản ghi từ 9 thiết bị IoT (Camera Dahua, Provision, Chuông cửa thông minh Ennio, Danmini, Baby Monitor Philips...). Bộ dữ liệu chứa 115 thuộc tính số biểu diễn luồng mạng trích xuất qua 5 cửa sổ thời gian (Lambda decay: L5, L3, L1, L0.1, L0.01) trên 5 tập thực thể:

  • MI (MAC-IP): Thống kê lưu lượng xuất phát từ địa chỉ MAC-IP nguồn.
  • H (Host): Thống kê lưu lượng xuất phát từ địa chỉ IP nguồn của gói tin.
  • HH (Host-Host): Thống kê lưu lượng từ IP nguồn đến IP đích.
  • HH_jit (Host-Host Jitter): Thống kê độ trễ (Jitter) giữa các gói tin liên tiếp từ IP nguồn đến IP đích.
  • HpHp (Host-port to Host-port): Thống kê lưu lượng giữa cặp (IP nguồn + Port nguồn) và (IP đích + Port đích).

Mỗi thực thể được tính toán 8 chỉ số thống kê gồm: weight (trọng số luồng), mean (giá trị trung bình), variance (phương sai), std (độ lệch chuẩn), radius (bán kính), magnitude (độ lớn), covariance (hiệp phương sai), pcc (hệ số tương quan Pearson).

Dữ liệu được xáo trộn ngẫu nhiên (Shuffle) để loại bỏ thiên vị phân phối, sau đó áp dụng chuẩn hóa Z-Score theo công thức: $$z = \frac{x - \mu_{\text{standard}}}{\sigma_{\text{standard}}}$$

# Chuẩn hóa Z-Score dựa trên danh sách mean_standard và std_standard
for col in feature_columns:
    df[col] = (df[col] - mean_standard[col]) / (std_standard[col] + 1e-7)

# Chuyển đổi sang PyTorch Tensor và DataLoader
train_tensor = torch.tensor(df[feature_columns].values, dtype=torch.float32)
label_tensor = torch.tensor(df['label'].values, dtype=torch.long)
train_loader = torch.utils.data.DataLoader(
    torch.utils.data.TensorDataset(train_tensor, label_tensor),
    batch_size=64, shuffle=True
)

2. Thuật toán tối ưu hóa chuyển giao mô hình (Optimization Algorithms)

Giải pháp 1: Tối ưu hóa theo sự thay đổi của hàm mất mát kết hợp Three-Sigma

Thay vì worker nào cũng gửi tham số sau mỗi epoch cục bộ, worker sẽ theo dõi danh sách loss_list trong quá trình huấn luyện, loại bỏ các giá trị nhiễu bằng quy tắc Ba-Sigma (Three-Sigma Rule: $|\text{loss}i - \mu{\text{loss}}| \le 3\sigma_{\text{loss}}$), sau đó tính toán tỷ lệ thay đổi change_rate:

$$\text{change_rate} = \frac{|\text{mean_loss} - \text{mean}(\text{loss}{1..5})|}{\text{mean}(\text{loss}{1..5})}$$

Điều kiện gửi tham số lên Master: $$\text{Worker gửi weights} \iff (\text{change_rate} > 0.1) \land (\text{mean_loss} > 0.05)$$

Giải pháp 2: Tối ưu hóa theo độ chính xác trước và sau huấn luyện (Pre/Post Accuracy Check)

Worker đánh giá mô hình vừa nhận từ Master trên tập kiểm tra cục bộ để thu được pre_acc. Sau khi train cục bộ với cơ chế Early Stopping, ghi nhận best_accuracy. $$\text{Worker gửi weights} \iff \text{best_accuracy} > \text{pre_acc} + \delta \quad (\text{với } \delta \text{ là ngưỡng kỳ vọng cải thiện})$$

Testing và validation

Quá trình kiểm thử được thực hiện nghiêm ngặt trên 700,000 bản ghi dữ liệu kiểm thử độc lập tại Master và 500,000 bản ghi tại mỗi Worker. Hệ thống tiến hành đo đạc benchmark 5 lần lặp độc lập (5 runs) trên cùng một phân phối dữ liệu để kiểm chứng độ ổn định và tính hội tụ.

1. Kết quả thực nghiệm mô hình tập trung không áp dụng FL (Centralized Deep Learning Baseline)

Mô hình huấn luyện trên 3,000 mẫu tập trung và kiểm thử trên 700,000 mẫu:

Lần đánh giá Số mẫu dự đoán đúng / Tổng mẫu Độ chính xác (%) Dừng sớm tại Epoch (Early Stopping)
Lần 1 692,079 / 700,000 98.87% Epoch 9
Lần 2 694,524 / 700,000 99.22% Epoch 11
Lần 3 689,275 / 700,000 98.47% Epoch 13
Lần 4 693,790 / 700,000 99.11% Epoch 12
Lần 5 689,910 / 700,000 98.56% Epoch 13
Trung bình 691,915.6 / 700,000 98.85% 11.6 Epochs

2. Kết quả thực nghiệm mô hình Federated Learning truyền thống (Standard FedAvg)

Mỗi worker huấn luyện trên 1,000 mẫu cục bộ, Master tổng hợp qua 10 vòng truyền thông (Global rounds):

Lần đánh giá Số mẫu đúng / 700,000 Độ chính xác (%) Số lần gửi tham số (Mỗi Worker)
Lần 1 578,247 82.61% 10
Lần 2 572,258 81.75% 10
Lần 3 580,387 82.91% 10
Lần 4 576,845 82.41% 10
Lần 5 576,472 82.35% 10
Trung bình 576,841.8 82.41% 10 lần (100% bandwidth)

3. Kết quả thực nghiệm mô hình Federated Learning tối ưu hóa (Optimized FL)

  • Tối ưu theo Loss Change Rate: Độ chính xác duy trì ở mức 81.9% - 82.5%, giảm số lần gửi tham số từ 10 lần xuống còn trung bình 4 - 6 lần (tiết kiệm 40% - 60% chi phí băng thông mạng).
  • Tối ưu theo Pre/Post Accuracy: Độ chính xác đạt 82.2% - 82.8%, chỉ gửi các cập nhật mang lại giá trị gia tăng thực sự cho Global Model, loại bỏ hoàn toàn hiện tượng cập nhật thừa thãi gây thoái hóa mô hình.

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

Hệ thống đã hoàn thành 100% các hạng mục kỹ thuật đề ra:

  1. Phân loại chính xác 10/10 lớp hành vi mạng: Nhận diện chuẩn xác các hình thức tấn công nguy hiểm: mirai_ack, mirai_scan, mirai_syn, mirai_udp, mirai_udpplain, gafgyt_combo, gafgyt_junk, gafgyt_scan, gafgyt_udpbenign.
  2. Bảo mật dữ liệu tuyệt đối: Không có bất kỳ gói tin raw data nào bị rò rỉ khỏi phạm vi cục bộ của Worker.
  3. Trực quan hóa hoàn chỉnh: Xây dựng bảng điều khiển Kibana giám sát trực quan biến thiên Loss/Accuracy, CPU và RAM; giao diện Web Streamlit cho phép người quản trị tải file CSV hoặc bật chế độ Live Packet Capture để cảnh báo xâm nhập theo thời gian thực với độ trễ phản hồi dưới 50ms.

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

  1. Cơ chế tối ưu hóa truyền thông 2 tầng (Dual-tier Communication Optimization): Đóng góp sáng tạo nổi bật của đề tài là việc tích hợp quy tắc thống kê Three-Sigma vào quá trình huấn luyện phân tán. Thay vì truyền trọng số vô điều kiện theo chu kỳ cố định, hệ thống tự động lọc bỏ nhiễu và chỉ phát tín hiệu truyền khi mô hình học được tri thức mới đáng kể ($\text{change_rate} > 0.1$).
  2. Khảo sát toàn diện các kỹ thuật nén mô hình trên phần cứng biên: Thử nghiệm và đánh giá thực nghiệm tỷ lệ nén cùng thời gian nén của 4 thuật toán nén dữ liệu phổ biến (LZ4, BZ2, LZMA, GZIP), chứng minh tính khả thi của việc giảm dung lượng payload khi trao đổi qua Socket trên mạng băng thông thấp.
  3. Giải pháp thực thi hoàn chỉnh trên kiến trúc phần cứng nhúng ARMv8: Đóng gói toàn bộ pipeline thành container Docker chuẩn hóa, giải quyết triệt để bài toán thiếu tương thích thư viện Deep Learning trên các dòng vi xử lý kiến trúc ARM của thiết bị IoT.
  4. So sánh định lượng vượt trội: So với hệ thống FL thông thường, giải pháp đề xuất cắt giảm tới 50% số vòng truyền thông, giảm tải điện năng tiêu thụ và áp lực tính toán trên thiết bị biên mà độ chính xác phân loại chỉ sai lệch dưới 0.5% so với baseline FL.

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

Real-world use cases

  • Hệ thống Nhà thông minh (Smart Home & Smart Building): Cài đặt trực tiếp lên Home Gateway/Router để bảo vệ hàng loạt thiết bị camera, cảm biến nhiệt độ, khóa cửa trước các đợt càn quét của botnet Mirai.
  • Hạ tầng Y tế Thông minh (Smart Healthcare): Bảo vệ hệ thống giám sát bệnh nhân (Patient Monitors), máy thở, máy bơm tiêm điện mà không vi phạm quy định bảo mật dữ liệu y tế (HIPAA/GDPR).
  • Mạng lưới Giám sát Giao thông Đô thị: Triển khai trên các trạm camera giao thông thông minh để phân tích và ngăn chặn tấn công mạng diện rộng.

Hướng dẫn triển khai chi tiết trên Raspberry Pi 4 (Deployment Guide)

# 1. Cập nhật hệ thống Ubuntu Server 22.10 trên Raspberry Pi 4
sudo apt update -y && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

# 2. Cài đặt Docker CE Runtime trên kiến trúc ARMv8
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update -y && sudo apt install -y docker-ce
sudo usermod -aG docker ${USER}

# 3. Kéo Image PyTorch ARM và khởi chạy Container
docker pull kumatea/pytorch:1.1
docker run -it -p 8501:8501 -p 9200:9200 -p 5000:5000 --name fed_ids_node kumatea/pytorch:1.1 /bin/bash

# 4. Cài đặt dependencies bên trong Container
pip install numpy==1.21.5 scipy==1.7.0 pandas==1.3.5 elasticsearch==7.9.1 scikit-learn scapy==2.5.0 streamlit psutil

# 5. Clone mã nguồn và khởi chạy Master / Worker
git clone https://github.com/ChauThanhTuan/IoT_IDS.git
cd IoT_IDS
# Khởi chạy Master:
python master_server.py --port 5000 --min_workers 2
# Khởi chạy Worker:
python worker_client.py --master_ip 192.168.1.100 --master_port 5000 --local_dataset ./data/worker1.csv

Phân tích chi phí - lợi ích (Cost-Benefit & ROI)

  • Chi phí phần cứng: Một cụm 3 thiết bị Raspberry Pi 4 (8GB RAM) có giá thành xấp xỉ 6.000.000 - 8.000.000 VNĐ, thấp hơn hàng chục lần so với việc thuê máy chủ GPU Cloud cấu hình cao dài hạn.
  • Tiết kiệm băng thông: Giảm hơn 95% lưu lượng mạng so với mô hình tập trung (chỉ truyền ~500KB weights thay vì hàng chục GB raw traffic pcap), tiết kiệm chi phí đường truyền Internet cho doanh nghiệp.

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

Hạn chế kỹ thuật

  • Tài nguyên bộ nhớ: Dung lượng RAM 8GB trên Raspberry Pi 4 vẫn gặp áp lực khi phải nạp đồng thời bộ dữ liệu kiểm thử lớn (700,000 bản ghi), đòi hỏi phải chia nhỏ batch khi evaluate.
  • Độ chính xác FL so với Centralized: Mô hình FL đạt ~82.4% độ chính xác, thấp hơn mức ~98.8% của mô hình Centralized do lượng dữ liệu train tại mỗi worker chỉ giới hạn ở 1,000 mẫu để mô phỏng điều kiện biên khắc nghiệt.
  • Mối đe dọa nội tại của FL: Chưa tích hợp cơ chế phát hiện tấn công đầu độc mô hình (Poisoning Attack) hoặc tấn công tái tạo dữ liệu (Reconstruction Attack) từ phía worker độc hại.

Hướng phát triển tiếp theo

  1. Tích hợp mã hóa đồng hình (Homomorphic Encryption) hoặc Bảo mật vi sai (Differential Privacy) để ngăn chặn rò rỉ trọng số mô hình.
  2. Áp dụng kỹ thuật lượng tử hóa mô hình (Model Quantization - INT8) để giảm kích thước model xuống dưới 1MB, tăng tốc độ suy luận (Inference speed) trên các chip vi điều khiển ESP32/ARM Cortex-M.
  3. Nghiên cứu cơ chế bất đồng bộ (Asynchronous Federated Learning) cho phép các worker có tốc độ xử lý khác nhau tham gia huấn luyện mà không bắt Master phải chờ đợi.

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

  • Sinh viên & Học viên: Tài liệu tham khảo thực chiến về cách xây dựng mô hình Học liên kết từ con số 0 (Scratch), lập trình Socket đa luồng và triển khai AI trên phần cứng nhúng ARM thực tế.
  • Kỹ sư An toàn Thông tin & Developers: Nắm vững kỹ thuật trích xuất đặc trưng mạng N-BaIoT, phương pháp xử lý lưu lượng mạng với Scapy và mô hình hóa mạng nơ-ron phân loại tấn công DDoS.
  • Doanh nghiệp & Đơn vị sản xuất thiết bị IoT: Giải pháp kiến trúc chi phí thấp giúp nâng cấp tính năng an ninh thông minh cho thiết bị, tuân thủ các quy định quốc tế nghiêm ngặt về bảo vệ quyền riêng tư người dùng.
  • Nhà nghiên cứu (Researchers): Nền tảng thực nghiệm mở để tiếp tục thử nghiệm các thuật toán tối ưu hóa phân tán, nén gradient và phòng chống tấn công đầu độc mô hình trên mạng cảm biến không dây.

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

1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai hệ thống là gì?

Hệ thống yêu cầu tối thiểu thiết bị phần cứng hỗ trợ kiến trúc ARMv8 hoặc x86_64, tối thiểu 2GB RAM cho Worker (khuyến nghị 4GB - 8GB RAM trên Raspberry Pi 4 để đảm bảo hiệu năng) và tối thiểu 16GB dung lượng thẻ nhớ MicroSD/Ổ cứng cài đặt Ubuntu 22.04/22.10 LTS.

2. Khi số lượng thiết bị IoT tăng lên hàng ngàn node, hệ thống mở rộng thế nào?

Hệ thống áp dụng kiến trúc Federated Learning có khả năng mở rộng tự nhiên (Horizontal Scalability). Khi mở rộng quy mô lớn, Master sẽ chọn ngẫu nhiên một tập con các worker ($K$ workers ngẫu nhiên trong mỗi vòng) tham gia tổng hợp FedAvg, đồng thời áp dụng giao thức nén LZ4/GZIP và cơ chế tối ưu Three-Sigma để tránh nghẽn I/O tại máy chủ điều phối.

3. Hệ thống có thể tích hợp với các giải pháp SIEM/SOC hiện có của doanh nghiệp không?

Có. Nhờ tích hợp sẵn cổng giao tiếp và driver Elasticsearch 7.9.1, mọi log phát hiện xâm nhập và cảnh báo bất thường đều được chuẩn hóa dưới dạng JSON và đẩy trực tiếp về hệ thống SIEM/SOC (như ELK, Splunk, Graylog, Wazuh) theo thời gian thực.

4. Chi phí vận hành và bảo trì hệ thống ước tính như thế nào?

Chi phí vận hành gần như bằng 0 sau khi hoàn tất triển khai do hệ thống tận dụng trực tiếp năng lực tính toán nhàn rỗi của các thiết bị IoT tại chỗ. Việc cập nhật mô hình diễn ra tự động qua giao thức Socket OTA (Over-The-Air) mà không cần can thiệp thủ công vào từng thiết bị.

5. Tại sao độ chính xác của Federated Learning lại thấp hơn mô hình tập trung?

Mô hình tập trung gom toàn bộ dữ liệu đa dạng từ 9 thiết bị về một nơi để train nên mô hình nắm bắt được toàn cảnh phân phối dữ liệu. Trong khi đó, mỗi Worker trong bài toán FL chỉ sở hữu tập dữ liệu cục bộ nhỏ mang tính chất non-IID (dữ liệu không đồng nhất). Tuy nhiên, mức độ chính xác trên 82% của FL đổi lại ưu điểm vô giá: bảo vệ 100% quyền riêng tư và triệt tiêu nguy cơ rò rỉ dữ liệu nhạy cảm.


Kết luận

Đồ án "Xây dựng và tối ưu hệ thống Federated IDS" đã giải quyết xuất sắc mâu thuẫn cố hữu giữa nhu cầu bảo mật thông minh và việc bảo vệ quyền riêng tư trên các mạng lưới thiết bị IoT. Bằng việc kết hợp kiến trúc Deep Learning 1D-CNN + MLP hiện đại, mô hình học liên kết phân tán và hai thuật toán tối ưu hóa chuyển giao trọng số độc đáo (Three-Sigma Loss Change Rate & Pre/Post Accuracy Thresholding), hệ thống đã chứng minh tính khả thi vượt trội khi vận hành trơn tru trên phần cứng nhúng Raspberry Pi 4. Đề tài không chỉ mở ra hướng đi mới trong việc xây dựng hệ sinh thái phòng thủ mạng tự trị, bảo mật cao mà còn đặt nền móng vững chắc cho các ứng dụng Edge AI phân tán trong tương lai. Bạn có thể tham khảo toàn bộ mã nguồn, cấu hình Docker và bộ dữ liệu thực nghiệm tại GitHub Repository của dự án để tiếp tục phát triển và ứng dụng vào thực tiễn.