Giới thiệu dự án
Trong kỷ nguyên số hóa và siêu kết nối, an ninh mạng đã trở thành ưu tiên hàng đầu của mọi tổ chức, doanh nghiệp và chính phủ. Theo các báo cáo an ninh mạng quốc tế, số lượng các cuộc tấn công mạng, đặc biệt là mã độc tống tiền (ransomware) và các cuộc tấn công khai thác lỗ hổng chưa biết (zero-day), đã gia tăng đột biến với mức độ phức tạp ngày càng cao. Các hệ thống phát hiện xâm nhập truyền thống dựa trên tập luật hoặc dấu hiệu cố định (Signature-based IDS) như Snort hay Suricata đang dần bộc lộ những lỗ hổng nghiêm trọng: chúng bất lực trước các biến thể tấn công mới và đòi hỏi phải cập nhật cơ sở dữ liệu chữ ký liên tục với chi phí vận hành lớn.
Để giải quyết triệt để vấn đề này, các hệ thống phát hiện xâm nhập dựa trên phát hiện dị thường (Anomaly-based IDS) ứng dụng Học máy (Machine Learning - ML) và Học sâu (Deep Learning - DL) đã trở thành hướng tiếp cận chủ đạo. Tuy nhiên, rào cản lớn nhất hiện nay là: để mô hình đạt độ chính xác cao và tổng quát hóa tốt, hệ thống cần một lượng dữ liệu lưu lượng mạng khổng lồ thu thập từ nhiều nguồn khác nhau. Trong thực tế, dữ liệu mạng chứa đựng nhiều thông tin nhạy cảm của tổ chức (ngân hàng, bệnh viện, cơ quan nhà nước) và bị nghiêm cấm chia sẻ ra bên ngoài do các quy định pháp lý nghiêm ngặt (như Luật An toàn thông tin mạng, GDPR) cũng như rủi ro rò rỉ bí mật kinh doanh.
Học cộng tác (Federated Learning - FL) ra đời như một giải pháp đột phá, cho phép nhiều bên tham gia (clients/participants) cùng huấn luyện một mô hình học máy toàn cục (global model) bằng cách chỉ trao đổi các tham số trọng số (model weights/gradients) mà không cần tập trung dữ liệu thô về một máy chủ trung tâm. Dẫu vậy, các nghiên cứu gần đây chỉ ra rằng bản thân các trọng số được trao đổi trong FL vẫn có nguy cơ bị tấn công suy luận (Inference Attacks) hoặc tấn công tái cấu trúc dữ liệu (Data Reconstruction Attacks), từ đó kẻ tấn công có thể khôi phục lại dữ liệu cục bộ ban đầu.
Đồ án khóa luận tốt nghiệp kỹ sư ngành An toàn Thông tin với đề tài "Đảm bảo quyền riêng tư cho mô hình học cộng tác trong hệ thống phát hiện xâm nhập" (Privacy Preservation for Federated Learning in Intrusion Detection System) tập trung giải quyết bài toán cốt lõi này. Dự án đề xuất giải pháp tích hợp các kỹ thuật mật mã và bảo mật tiên tiến—bao gồm Mã hóa đồng cấu (Homomorphic Encryption - HE) theo lược đồ CKKS và Quyền riêng tư khác biệt (Differential Privacy - DP)—vào quy trình huấn luyện học cộng tác cho hệ thống IDS.
Mục tiêu cụ thể của dự án:
- Thiết kế và hiện thực hóa kiến trúc học cộng tác phân tán hoàn chỉnh cho bài toán Anomaly IDS sử dụng giao thức truyền thông RESTful API.
- Ứng dụng thành công kỹ thuật Mã hóa đồng cấu (Homomorphic Encryption - HE) bằng thư viện TenSEAL với lược đồ CKKS nhằm thực hiện tổng hợp trung bình (Federated Averaging - FedAvg) trực tiếp trên bản mã (ciphertext) mà không cần giải mã tại Aggregator.
- Tích hợp kỹ thuật Quyền riêng tư khác biệt (Differential Privacy - DP) thông qua thư viện Opacus nhằm làm nhiễu gradient có kiểm soát với tham số đánh đổi $(\epsilon, \delta)$.
- Xây dựng và đánh giá hiệu năng của 4 cấu trúc mô hình học sâu chuyên biệt cho IDS: Mạng bộ nhớ dài-ngắn hạn (LSTM), Mạng kết nối đầy đủ (Fully Connected - FC), và Mạng nơ-ron tích chập chuyển giao tri thức (VGG11, VGG16 Transfer Learning).
- Thực nghiệm toàn diện trên bộ dữ liệu lưu lượng mạng chuẩn quốc tế CICIDS-2017 nhằm định lượng chính xác sự đánh đổi (trade-off) giữa tính riêng tư, độ chính xác phân loại và chi phí tính toán/băng thông.
Dự án giới hạn phạm vi nghiên cứu trong kiến trúc học cộng tác ngang (Horizontal Federated Learning) dạng Cross-Silo, tập trung bảo vệ luồng tham số trước máy chủ tổng hợp bán trung thực (honest-but-curious server) và các bên tham gia khác trong hệ thống mạng cục bộ và liên tổ chức.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trước khi đề xuất giải pháp tích hợp, nhóm nghiên cứu đã tiến hành đánh giá toàn diện các phương pháp hiện hành trong lĩnh vực xây dựng IDS và bảo vệ quyền riêng tư học máy.
| Tiêu chí so sánh |
Centralized Machine Learning |
Traditional Federated Learning |
FL kết hợp Blockchain (Preuveneers et al.) |
FL kết hợp Paillier (DeepFed) |
Giải pháp đề xuất (HE-CKKS & DP-FL) |
| Chia sẻ dữ liệu thô |
Bắt buộc (Vi phạm riêng tư) |
Không |
Không |
Không |
Hoàn toàn không |
| Chống tấn công suy luận |
Kém |
Kém (Lộ qua weights) |
Kém |
Tốt (Mã hóa cộng) |
Tuyệt đối (HE) / Toán học $(\epsilon, \delta)$ (DP) |
| Hỗ trợ số thực (Float) |
Tốt |
Tốt |
Tốt |
Hạn chế (Fixed-point) |
Tối ưu hóa số thực cao (CKKS Scheme) |
| Độ trễ tính toán |
Thấp |
Thấp |
Rất cao (Đồng thuận chuỗi) |
Trung bình - Cao |
Linh hoạt tùy biến theo cơ chế (HE/DP) |
| Độ chính xác mô hình |
Rất cao (Baseline) |
Tương đương Baseline |
Tương đương Baseline |
Suy giảm nhẹ |
Bảo toàn 98.5% (HE) / Điều chỉnh qua $\epsilon$ (DP) |
Phân loại yêu cầu hệ thống theo mô hình MoSCoW:
- Must-have (Bắt buộc): Huấn luyện mô hình IDS phân tán không chia sẻ dữ liệu gốc; Mã hóa đồng cấu trọng số bằng lược đồ CKKS trước khi gửi qua mạng; Thực hiện phép tính trung bình FedAvg trên dữ liệu mã hóa; Tùy chọn cơ chế chèn nhiễu Differential Privacy $(\epsilon, \delta)$.
- Should-have (Nên có): Cơ chế tuần tự hóa (serialization) dữ liệu tensor đã mã hóa dưới dạng nhị phân (bytes) để truyền qua HTTP/HTTPS; Tối ưu hóa kích thước vector đầu ra trên các mô hình tích chập sâu (CNN) thông qua tầng Max Pooling tùy biến.
- Could-have (Có thể có): Cơ chế phân quyền linh hoạt chỉ định ngẫu nhiên một Participant đóng vai trò Leader khởi tạo trọng số ban đầu $W_0$.
- Won't-have (Chưa triển khai): Cơ chế học cộng tác bất đồng bộ hoàn toàn (Asynchronous FL) trên môi trường mạng đa đám mây không đồng nhất.
Thiết kế hệ thống
Kiến trúc giải pháp được thiết kế theo mô hình Client-Server phân tán (Cross-Silo Architecture). Hệ thống bao gồm hai thực thể chính:
- Aggregator (Máy chủ trung tâm): Đóng vai trò điều phối các vòng giao tiếp (Communication Rounds $R$), lưu trữ tạm thời các tệp bản mã trọng số, thực thi thuật toán tổng hợp FedAvg trên dữ liệu mã hóa hoặc dữ liệu đã được làm nhiễu, và phát tán bản cập nhật toàn cục $W_{global}$ đến các Client.
- Participants (Các nút mạng tham gia): Các đơn vị phòng thủ mạng sở hữu tập dữ liệu lưu lượng riêng biệt $D_k$. Mỗi Participant chịu trách nhiệm tiền xử lý dữ liệu, huấn luyện mô hình học sâu cục bộ (Local Training), áp dụng cơ chế bảo vệ (Mã hóa TenSEAL hoặc chèn nhiễu Opacus), tuần tự hóa dữ liệu và gửi lên Aggregator.
Chi tiết Tech Stack và Phiên bản Công nghệ:
- Ngôn ngữ lập trình: Python 3.8.10
- Framework Học sâu: PyTorch 1.8.1
- Thư viện Mã hóa đồng cấu: TenSEAL 0.3.4 (Hỗ trợ Microsoft SEAL backend, triển khai lược đồ CKKS)
- Thư viện Differential Privacy: Opacus 0.14.0 (PyTorch DP engine)
- Web Service & Networking: Flask 2.0.1, Gunicorn, Requests
- Xử lý dữ liệu: NumPy 1.20.3, Pandas 1.2.4, Scikit-learn 0.24.2
Thiết kế Giao tiếp RESTful API:
POST /model/global: Leader gửi trọng số khởi tạo ban đầu $W_0$ lên máy chủ.
GET /model/global: Các nút mạng tải trọng số mô hình khởi tạo $W_0$ về máy tính cục bộ.
POST /model/aggregation/<int:round>: Các Participant tải tệp trọng số đã mã hóa/chèn nhiễu dưới dạng đa phần (multipart/form-data) kèm siêu dữ liệu kích thước mẫu $n_k$.
GET /model/aggregation/<int:round>: Các Participant truy vấn và tải về bản mã toàn cục $C_{global}$ sau khi quá trình tổng hợp hoàn tất.
Methodology
Dự án áp dụng phương pháp nghiên cứu thực nghiệm lặp (Iterative Experimental Methodology) kết hợp kiểm chuẩn định lượng, chia làm 4 giai đoạn chính:
- Giai đoạn 1 - Cơ sở lý thuyết: Mô hình hóa toán học cho lược đồ mã hóa đồng cấu CKKS (Cheon-Kim-Kim-Song) hỗ trợ tính toán số thực gần đúng và định nghĩa hình thức $(\epsilon, \delta)$-Differential Privacy.
- Giai đoạn 2 - Phát triển hệ thống lõi: Xây dựng khung giao tiếp Client-Server qua Flask, thiết lập cơ chế đồng bộ vòng giao tiếp và cơ chế chia tách tập dữ liệu phân tán không trùng lặp ($D_1 \cap D_2 = \emptyset$).
- Giai đoạn 3 - Tích hợp mô hình & cơ chế bảo mật: Triển khai các kiến trúc mô hình học sâu, tích hợp pipeline mã hóa TenSEAL và chèn nhiễu vi phân Opacus trực tiếp vào bộ tối ưu hóa PyTorch.
- Giai đoạn 4 - Kiểm chuẩn & Đánh giá rủi ro: Thực hiện kiểm thử toàn diện trên bộ dữ liệu CICIDS-2017, đo lường dung lượng bộ nhớ, thời gian mã hóa/giải mã, độ trễ truyền thông và các chỉ số đo lường hiệu năng phát hiện xâm nhập (Accuracy, Precision, Recall, F1-Score).
Implementation và kết quả
Development process
Quá trình phát triển tập trung vào việc hiện thực hóa hai giải thuật bảo mật cốt lõi: Học cộng tác sử dụng Mã hóa đồng cấu (HEFL) và Học cộng tác sử dụng Quyền riêng tư khác biệt (DPFL), đi kèm với 4 cấu trúc mô hình deep learning được tối ưu hóa cho bài toán phân tích lưu lượng mạng.
1. Chi tiết 4 Kiến trúc Mô hình Đề xuất cho IDS
- Mô hình LSTM (Long Short-Term Memory): Thiết kế chuyên biệt cho việc học chuỗi và phụ thuộc dài hạn trong các gói tin.
- Tầng đầu vào: 78 đặc trưng số trích xuất từ lưu lượng mạng CICIDS-2017.
- Tầng ẩn LSTM: 1 tầng ẩn với kích thước
hidden_dim = 32.
- Tầng đầu ra: Tầng tuyến tính fully-connected (
Linear(32, 2)) cho bài toán phân loại nhị phân (Benign vs Attack).
- Mô hình Fully Connected Network (FC): Mạng nơ-ron sâu truyền thống với hàm kích hoạt phi tuyến ReLU.
- Cấu trúc các tầng liên tiếp:
Input(78) -> Linear(1024) -> ReLU -> Linear(512) -> ReLU -> Linear(256) -> ReLU -> Linear(128) -> ReLU -> Output Linear(2).
- Mô hình VGG11 & VGG16 (Transfer Learning): Áp dụng kỹ thuật chuyển đổi 78 đặc trưng lưu lượng thành định dạng ma trận ảnh mức xám (grayscale feature map) kích thước tương đương để tận dụng khả năng trích xuất đặc trưng không gian của mạng tích chập.
- Các lớp Convolution của VGG được đóng băng trọng số (
freeze weights).
- Để giải quyết bài toán bùng nổ tham số khi kết hợp với mã hóa đồng cấu (đầu ra tầng trích xuất của VGG là $7 \times 7 \times 512 = 25,088$ chiều), hệ thống bổ sung một tầng Max Pooling kích thước $7 \times 7$, nén kích thước vector xuống còn $1 \times 512$, sau đó mới kết nối với tầng phân loại Linear.
import torch
import torch.nn as nn
class LSTM_IDS(nn.Module):
"""Kiến trúc mô hình LSTM cho hệ thống phát hiện xâm nhập"""
def __init__(self, input_dim=78, hidden_dim=32, output_dim=2):
super(LSTM_IDS, self).__init__()
self.hidden_dim = hidden_dim
self.lstm = nn.LSTM(input_dim, hidden_dim, batch_first=True)
self.fc = nn.Linear(hidden_dim, output_dim)
def forward(self, x):
# x shape: (batch_size, seq_len, input_dim)
lstm_out, _ = self.lstm(x)
out = self.fc(lstm_out[:, -1, :])
return out
class FC_IDS(nn.Module):
"""Mạng nơ-ron kết nối đầy đủ nhiều tầng (FCN) cho IDS"""
def __init__(self, input_dim=78, output_dim=2):
super(FC_IDS, self).__init__()
self.network = nn.Sequential(
nn.Linear(input_dim, 1024),
nn.ReLU(),
nn.Linear(1024, 512),
nn.ReLU(),
nn.Linear(512, 256),
nn.ReLU(),
nn.Linear(256, 128),
nn.ReLU(),
nn.Linear(128, output_dim)
)
def forward(self, x):
return self.network(x)
2. Hiện thực Thuật toán Mã hóa Đồng cấu (TenSEAL CKKS) và Tổng hợp FedAvg
Toán học tổng hợp Federated Averaging:
$$W_{global}^{r+1} = \sum_{k=1}^{N} \frac{n_k}{n} W_k^{r+1}$$
Trong đó $n = \sum n_k$ là tổng số lượng mẫu, $W_k^{r+1}$ là trọng số cục bộ của participant $k$ tại vòng $r+1$. Với HE, phép cộng và nhân vô hướng được thực hiện trực tiếp trên ciphertext:
$$E(W_{global}^{r+1}) = \sum_{k=1}^{N} \frac{n_k}{n} \odot E(W_k^{r+1})$$
import tenseal as ts
import torch
def create_ckks_context():
"""Khởi tạo ngữ cảnh mã hóa đồng cấu CKKS sử dụng TenSEAL"""
context = ts.context(
ts.SCHEME_TYPE.CKKS,
poly_modulus_degree=8192,
coeff_mod_bit_sizes=[60, 40, 40, 60]
)
context.global_scale = 2**40
context.generate_galois_keys()
return context
def encrypt_model_weights(context, model):
"""Mã hóa toàn bộ tensor trọng số của mô hình sang định dạng CKKS Vector"""
encrypted_weights = {}
for name, param in model.state_dict().items():
flattened = param.detach().cpu().numpy().flatten().tolist()
encrypted_vector = ts.ckks_vector(context, flattened)
encrypted_weights[name] = encrypted_vector.serialize()
return encrypted_weights
def aggregate_encrypted_weights(context_public, client_updates, total_samples):
"""Aggregator thực hiện FedAvg trực tiếp trên bản mã Ciphertext"""
aggregated_weights = {}
for name in client_updates[0]['weights'].keys():
combined_vector = None
for client in client_updates:
weight_factor = client['num_samples'] / total_samples
ckks_vec = ts.ckks_vector_from(context_public, client['weights'][name])
weighted_vec = ckks_vec * weight_factor
if combined_vector is None:
combined_vector = weighted_vec
else:
combined_vector += weighted_vec
aggregated_weights[name] = combined_vector.serialize()
return aggregated_weights
Testing và validation
1. Môi trường thực nghiệm
- Hệ thống: Máy ảo Ubuntu Server 20.04 LTS, 16 vCPU Cores, 64 GB RAM.
- Tập dữ liệu chuẩn: CICIDS-2017 (Canadian Institute for Cybersecurity), tập dữ liệu phản ánh lưu lượng mạng thực tế bao gồm các mẫu lưu lượng bình thường (Benign) và đa dạng các kỹ thuật tấn công hiện đại (DDoS, PortScan, Botnet, Infiltration, Web Attack, Brute Force).
- Tiền xử lý dữ liệu: Loại bỏ các trường thông tin dư thừa (IP, Timestamp, Socket Port), làm sạch các giá trị vô hạn (NaN, Inf), chuẩn hóa Min-Max Scaling về đoạn $[0, 1]$, chọn lọc 78 thuộc tính định lượng đặc trưng.
2. Kịch bản thử nghiệm
- Scenario 1 - Baseline FL (Không áp dụng bảo mật): Đánh giá tốc độ hội tụ và độ chính xác cơ sở.
- Scenario 2 - HE-FL (Tích hợp TenSEAL CKKS): Đo lường sự sai lệch độ chính xác do xấp xỉ số thực, đo lường thời gian mã hóa, kích thước bản mã và chi phí RAM.
- Scenario 3 - DP-FL (Tích hợp Opacus): Đánh giá sự suy giảm độ chính xác theo các mức ngân sách riêng tư $\epsilon \in {0.5, 1.0, 2.5, 5.0, 10.0}$ với giới hạn độ nhạy gradient
max_grad_norm = 1.0.
Kết quả đạt được
Hệ thống đã hoàn thành 100% các mục tiêu nghiên cứu đề ra. Dưới đây là bảng tổng hợp kết quả thực nghiệm chi tiết giữa các mô hình và giải pháp bảo mật sau 50 vòng giao tiếp ($R=50$):
| Mô hình & Cơ chế bảo mật |
Accuracy (%) |
Precision (%) |
Recall (%) |
F1-Score (%) |
Thời gian mã hóa / Round (s) |
Dung lượng payload trao đổi |
| LSTM (Standard FL - Baseline) |
98.62 |
98.40 |
98.75 |
98.57 |
0.00 |
~115 KB |
| LSTM + Homomorphic Encryption (CKKS) |
98.58 |
98.35 |
98.70 |
98.52 |
4.82 |
~14.2 MB |
| LSTM + Differential Privacy ($\epsilon=5.0$) |
94.20 |
93.85 |
94.50 |
94.17 |
0.02 |
~115 KB |
| LSTM + Differential Privacy ($\epsilon=1.0$) |
89.15 |
88.60 |
89.70 |
89.14 |
0.02 |
~115 KB |
| Fully Connected (Standard FL) |
98.15 |
97.90 |
98.30 |
98.10 |
0.00 |
~4.8 MB |
| Fully Connected + HE (CKKS) |
98.11 |
97.82 |
98.25 |
98.03 |
42.60 |
~320 MB |
| VGG11 + MaxPool 7x7 (HE-CKKS) |
97.45 |
96.90 |
97.80 |
97.35 |
18.30 |
~45.6 MB |
| VGG16 + MaxPool 7x7 (HE-CKKS) |
97.60 |
97.10 |
98.05 |
97.57 |
21.15 |
~58.2 MB |
Độ chính xác (Accuracy %) giữa các giải pháp:
Standard FL Baseline : [████████████████████████████████████████] 98.62%
TenSEAL CKKS (HE) : [███████████████████████████████████████▉] 98.58% (Sai số ~0.04%)
Opacus DP (ε = 5.0) : [██████████████████████████████████ ] 94.20%
Opacus DP (ε = 1.0) : [██████████████████████████████ ] 89.15%
Phân tích chuyên sâu kết quả:
- Mã hóa đồng cấu (CKKS): Giữ vững độ chính xác gần như tuyệt đối so với mô hình gốc (độ lệch Accuracy chỉ 0.04% trên mô hình LSTM). Do CKKS hỗ trợ tính toán trực tiếp trên số thực với cơ chế scale factor $2^{40}$, sai số giải số học là không đáng kể đối với bài toán phân loại mạng. Tuy nhiên, kích thước dữ liệu truyền tải tăng gấp khoảng 120 lần so với bản rõ (plaintext weights).
- Quyền riêng tư khác biệt (DP): Không làm tăng kích thước tệp truyền tải qua mạng và không phát sinh độ trễ mã hóa. Tuy nhiên, mức độ nhiễu Gauss làm suy giảm độ chính xác phân loại từ 4.4% đến 9.4% tùy thuộc vào tham số $\epsilon$.
- Tối ưu kiến trúc VGG Transfer Learning: Việc bổ sung tầng Max Pooling $7 \times 7$ giúp nén vector đầu ra xuống 512 chiều, giảm số lượng tham số cần mã hóa đồng cấu đi 97.9% so với việc kết nối trực tiếp tầng Flatten nguyên bản, giúp việc áp dụng HE trên các mạng tích chập sâu trở nên khả thi trong thực tế.
Đổi mới và đóng góp
- Ứng dụng Lược đồ Mật mã Tiên tiến CKKS cho Hệ thống IDS Phân tán: Khác với các công trình trước đây như DeepFed chỉ sử dụng lược đồ Paillier (chỉ hỗ trợ số nguyên và phép tính cộng), nghiên cứu này ứng dụng thành công lược đồ CKKS cho phép thực hiện cả phép nhân vô hướng với hệ số trọng số thực $\frac{n_k}{n}$ và phép cộng đồng cấu đa thức với hiệu năng vector hóa cao.
- Kỹ thuật Tối ưu Hóa Chiều Dữ liệu cho Mạng Tích chập Sâu (Deep CNN Pooling): Dự án đề xuất kiến trúc mạng lai kết hợp Transfer Learning trên VGG11/16 với tầng gom cụm không gian MaxPool $7 \times 7$. Giải pháp giúp giảm thiểu 98% dung lượng tham số mã hóa tại các lớp liên kết, tháo gỡ triệt để nút thắt cổ chai về tràn bộ nhớ RAM khi chạy FHE/SWHE.
- Phân tích Định lượng Toàn diện về Privacy Trade-off: Cung cấp bộ dữ liệu thực nghiệm chuẩn xác, so sánh đối chuẩn trực tiếp giữa hai trường phái bảo mật: Bảo mật tuyệt đối về dữ liệu truyền thông (HE) và Bảo vệ ranh giới toán học cho từng bản ghi dữ liệu (DP) trên cùng một tập dữ liệu lưu lượng mạng CICIDS-2017.
- Đóng góp mã nguồn mở và kiến trúc thực thi chuẩn: Xây dựng hoàn chỉnh khung phát triển học cộng tác bằng Python/PyTorch/Flask có khả năng cắm-rút (plug-and-play), dễ dàng tích hợp các mô hình IDS khác nhau vào hạ tầng phòng thủ liên tổ chức.
Ứng dụng thực tế và triển khai
Các tình huống ứng dụng thực tế (Use Cases)
- Liên minh Giám sát An ninh Ngân hàng và Tài chính (Fintech Threat Intelligence Sharing): Các ngân hàng thương mại có thể hợp tác huấn luyện mô hình phát hiện tấn công mã độc, gian lận giao dịch và tấn công từ chối dịch vụ phân tán (DDoS) mà không vi phạm quy định bảo mật dữ liệu khách hàng.
- Hệ thống Y tế Thông minh & Bệnh viện Đa kết nối (IoMT Security): Bảo vệ các thiết bị y tế IoT tại các bệnh viện trước các cuộc tấn công mạng nguy hiểm mà không làm rò rỉ hồ sơ bệnh án nhạy cảm của bệnh nhân.
- Trung tâm Điều hành An ninh Mạng Quốc gia (National SOC Federation): Kết nối dữ liệu giám sát an ninh từ các nhà cung cấp dịch vụ Internet (ISP) và tập đoàn viễn thông để xây dựng mô hình phòng thủ không gian mạng quốc gia có khả năng phát hiện sớm các chiến dịch tấn công có chủ đích (APT).
Hướng dẫn và Chiến lược triển khai
1. Yêu cầu hệ thống tối thiểu:
- Aggregator Node: Ubuntu Server 20.04/22.04 LTS, 8 vCPU, 32 GB RAM, 100 GB SSD, Băng thông mạng tối thiểu 1 Gbps.
- Participant Nodes: 4 vCPU, 16 GB RAM, Hỗ trợ tăng tốc GPU (NVIDIA CUDA Compute Capability $\ge 6.0$ khuyến nghị cho quá trình Local Training).
2. Quy trình khởi chạy hệ thống:
Bước 1: Thiết lập môi trường và phụ thuộc trên tất cả các nút:
# Cài đặt môi trường Python và các thư viện cần thiết
conda create -n fl_ids python=3.8 -y
conda activate fl_ids
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html
pip install tenseal==0.3.4 opacus==0.14.0 flask==2.0.1 requests pandas scikit-learn
Bước 2: Khởi động Aggregator Server:
# Khởi chạy dịch vụ điều phối trung tâm trên cổng 5000
python server_aggregator.py --port 5000 --rounds 50 --min_clients 3 --scheme CKKS
Bước 3: Khởi chạy các nút Participant cục bộ:
# Khởi chạy Client 1 (Leader - mang cờ khởi tạo W0)
python client_worker.py --id 1 --server http://aggregator-ip:5000 --data ./data/client1.csv --model lstm --privacy HE --is_leader
# Khởi chạy các Client tiếp theo
python client_worker.py --id 2 --server http://aggregator-ip:5000 --data ./data/client2.csv --model lstm --privacy HE
python client_worker.py --id 3 --server http://aggregator-ip:5000 --data ./data/client3.csv --model lstm --privacy HE
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Chi phí Băng thông và Bộ nhớ của Mã hóa Đồng cấu: Dung lượng bản mã của mô hình FC sâu tăng vọt lên đến 320 MB/round, dẫn đến yêu cầu cao về đường truyền mạng khi mở rộng hệ thống lên hàng trăm nút mạng.
- Sự suy giảm Accuracy khi áp dụng DP trên tấn công đa lớp (Multi-class Imbalance): Khi phân loại các cuộc tấn công hiếm gặp (Infiltration, Heartbleed), cơ chế thêm nhiễu vi phân của DP có thể làm chệch hướng hội tụ, khiến Recall của các lớp thiểu số giảm rõ rệt.
- Mô hình Giao tiếp Đồng bộ (Synchronous Bottleneck): Aggregator phải chờ đủ số lượng Participant trước khi kích hoạt hàm FedAvg, dẫn đến hiện tượng trễ nếu có nút mạng bị nghẽn (Straggler Problem).
Hướng phát triển tương lai
- Nghiên cứu Giải pháp Lai (Hybrid HE-DP): Kết hợp phân tầng: áp dụng DP cho các lớp đầu vào và chỉ mã hóa đồng cấu cho các lớp phân loại cuối nhằm tối ưu hóa băng thông.
- Tăng tốc Phần cứng (Hardware Acceleration): Ứng dụng GPU/FPGA chuyên dụng để tăng tốc các phép toán nhân/cộng đa thức trên vành (Ring-LWE) trong thư viện TenSEAL.
- Học cộng tác Bất đồng bộ (Asynchronous FL with Secure Aggregation): Phát triển cơ chế tổng hợp không chặn, cho phép máy chủ cập nhật mô hình toàn cục liên tục theo luồng sự kiện thời gian thực.
Đối tượng hưởng lợi
- Sinh viên và Học viên An toàn Thông tin / Khoa học Máy tính: Tiếp cận tài liệu nghiên cứu chuyên sâu, hiểu rõ cách kết hợp giữa toán học mật mã hiện đại (Lattice-based Cryptography) và các mô hình Học sâu ứng dụng trong không gian mạng.
- Kỹ sư Phần mềm và Kỹ sư An ninh Mạng (SecOps/DevSecOps): Nắm bắt các mẫu thiết kế (Design Patterns) để xây dựng hệ thống học máy phân tán bảo toàn quyền riêng tư, cách xử lý tuần tự hóa tensor và giải bài toán nghẽn cổ chai truyền thông.
- Doanh nghiệp và Tổ chức Tài chính: Có trong tay giải pháp khả thi để xây dựng liên minh phòng thủ an ninh mạng liên doanh nghiệp, giải quyết triệt để xung đột giữa nhu cầu chia sẻ dữ liệu đe dọa và nghĩa vụ tuân thủ pháp lý bảo mật thông tin.
- Cộng đồng Nghiên cứu Khoa học: Nền tảng thực nghiệm vững chắc để tiếp tục mở rộng các nghiên cứu chuyên sâu về bảo mật học máy (Adversarial Machine Learning) và các giải pháp mã hóa đồng cấu thế hệ mới.
Câu hỏi thường gặp
1. Yêu cầu phần cứng tối thiểu để triển khai giải pháp Mã hóa đồng cấu TenSEAL trong thực tế là gì?
Đối với Aggregator, hệ thống cần tối thiểu 8 vCPU Cores và 32 GB RAM để thực hiện các phép toán cộng và nhân bản mã trên vector đa thức CKKS một cách mượt mà. Đối với các nút Participant, cấu hình 4 vCPU và 16 GB RAM là đủ để xử lý quá trình mã hóa/giải mã cục bộ cho mô hình LSTM.
2. Sự khác biệt cốt lõi giữa Homomorphic Encryption (HE) và Differential Privacy (DP) trong đề tài này là gì?
Homomorphic Encryption bảo vệ dữ liệu trên đường truyền trước Aggregator và kẻ tấn công nghe lén bằng cách giữ nguyên trạng thái mã hóa toán học; nó không làm thay đổi giá trị trọng số sau giải mã nên giữ nguyên độ chính xác 98.58%. Ngược lại, Differential Privacy bảo vệ tính ẩn danh của từng mẫu dữ liệu đơn lẻ bằng cách chèn nhiễu Gauss vào gradient; nó làm giảm nhẹ độ chính xác (xuống ~94.20%) nhưng có chi phí tính toán và băng thông thấp hơn rất nhiều.
3. Làm thế nào để giải quyết tình trạng kích thước bản mã HE quá lớn khi truyền tải qua mạng?
Dự án áp dụng 2 kỹ thuật tối ưu chính: (1) Lựa chọn kiến trúc mô hình nhỏ gọn nhưng hiệu quả như LSTM (chỉ 32 hidden units, kích thước ciphertext ~14.2 MB) thay vì các mạng FC quá sâu; (2) Áp dụng tầng gom cụm Max Pooling $7 \times 7$ để cắt giảm 98% số lượng tham số trước khi đưa qua lớp phân loại trên các mạng tích chập VGG.
4. Hệ thống có khả năng chống lại các cuộc tấn công đầu độc mô hình (Model Poisoning Attacks) không?
Trong phạm vi đồ án, hệ thống tập trung chống tấn công suy luận (Inference Attacks) và khôi phục dữ liệu (Reconstruction Attacks). Để chống tấn công đầu độc mô hình từ các nút tham gia có chủ ý xấu, hệ thống có thể tích hợp thêm các thuật toán tổng hợp bền vững (Byzantine-robust Aggregation) như Krum, Trimmed-Mean hoặc Coordinate-wise Median trong các giai đoạn phát triển tiếp theo.
5. Chi phí triển khai và thời gian hoàn vốn (ROI) của giải pháp này đối với doanh nghiệp như thế nào?
Giải pháp được xây dựng hoàn toàn trên nền tảng mã nguồn mở (Python, PyTorch, TenSEAL, Flask), không mất chi phí bản quyền phần mềm thương mại. Bằng cách chia sẻ mô hình phòng thủ mà không làm lộ dữ liệu, doanh nghiệp có thể ngăn chặn các cuộc tấn công zero-day trị giá hàng triệu USD, đồng thời loại trừ 100% rủi ro bị xử phạt pháp lý về rò rỉ dữ liệu cá nhân theo quy định an toàn thông tin hiện hành.
Kết luận
Đồ án khóa luận tốt nghiệp "Đảm bảo quyền riêng tư cho mô hình học cộng tác trong hệ thống phát hiện xâm nhập" đã giải quyết thành công bài toán nan giải giữa nhu cầu hợp tác dữ liệu quy mô lớn để phòng thủ không gian mạng và yêu cầu bảo vệ quyền riêng tư tuyệt đối cho các tổ chức.
Bằng việc kết hợp sáng tạo giữa Học cộng tác (Federated Learning), Mã hóa đồng cấu CKKS (TenSEAL) và Quyền riêng tư khác biệt (Opacus) trên các cấu trúc học sâu tối ưu (LSTM, FC, VGG Transfer Learning), nghiên cứu đã chứng minh rằng hệ thống có thể đạt độ chính xác phát hiện tấn công vượt trội (98.58%) trong khi bảo toàn an toàn tuyệt đối cho các trọng số mô hình trước các cuộc tấn công suy luận.
Đây là một đóng góp học thuật và ứng dụng thực tiễn quan trọng, mở ra hướng đi mới cho việc xây dựng các Trung tâm điều hành an ninh mạng thông minh liên tổ chức (Federated SOC) an toàn, bền vững và tuân thủ pháp lý trong kỷ nguyên số.