TON_IoT Zero-Day Autoencoder
Autoencoder không giám sát, train chỉ trên traffic bình thường, phát hiện bất thường qua reconstruction error — không cần nhãn tấn công.
Approach
Ngưỡng cắt quyết định cả detection lẫn false positive.
Autoencoder học cách tái tạo traffic bình thường. Traffic có reconstruction error cao hơn ngưỡng bị gắn cờ bất thường. Ngưỡng của lớp Network là percentile 75 của reconstruction error trên chính dữ liệu benign — nghĩa là ~25% traffic bình thường bị gắn cờ gần như theo thiết kế, không phải lỗi ngẫu nhiên.
Evidence
Detection cao không miễn phí — đổi lại bằng false positive.
| Layer | Detection | FP | Accuracy | Separation | Features |
|---|---|---|---|---|---|
| Network | 99.80% | 22.00% | 89.00% | 328× | 40 |
| IoT (Modbus) | 99.5% | 20.00% | 90.00% | 33× | 5 |
| Linux | 82.00% | 18.00% | 77.8% | 8× | 12 |
| Windows | 98% | 4.00% | 96.6% | 36× | 52 |
| Mean of rows | 94.8% | 16.0% | 88.4% | 101× | — |
Separation = mean(attack reconstruction error) / mean(normal reconstruction error). Đây là tỉ số trung bình, không đo độ chồng lấn phân phối — Network có separation cao nhất (328×) nhưng vẫn FP 22%, vì ngưỡng cắt theo percentile, không theo separation.
What I learned
FP cao không phải "model tệ" — là chỗ cần khai báo rõ.
Khi viết CV, dễ chỉ trích "Detection 95.5%" mà bỏ qua phần sau dấu phẩy. Thực tế: detection cao ở 3/4 lớp đi kèm FP hai chữ số, trừ Windows. Một analyst SOC đọc số này cần biết ngay: autoencoder này hợp để triage/alert bổ sung, chưa hợp để auto-block.
Scope trung thực: dataset TON_IoT công khai, không phải traffic thật của một tổ chức. Số liệu lấy từ README, chưa được assistant này tái chạy độc lập trong vòng review này.