T2 — Anomaly Detection trong IoT và MDM - congsinhv/fluxion GitHub Wiki
Phát Hiện Bất Thường (Anomaly Detection) trong Hệ Thống IoT/MDM
Issue: #18 — Nghiên cứu Anomaly Detection trong IoT/MDM Tuần: 2 | 31/03 – 06/04/2026
2.8 Tổng Quan về Phát Hiện Bất Thường
2.8.1 Định Nghĩa
Phát hiện bất thường (Anomaly Detection, hay Outlier Detection) là bài toán xác định các mẫu dữ liệu (patterns) không tuân theo hành vi kỳ vọng của hệ thống. Theo Chandola, Banerjee & Kumar (2009) trong khảo sát toàn diện trên ACM Computing Surveys, đây là một trong những bài toán cơ bản nhất của khai phá dữ liệu, có ứng dụng rộng rãi trong phát hiện xâm nhập mạng, gian lận tài chính, giám sát y tế, và giám sát thiết bị IoT [1].
2.8.2 Phân Loại Bất Thường
Chandola et al. (2009) phân loại ba dạng bất thường cơ bản [1]:
| Dạng | Định nghĩa | Ví dụ trong MDM |
|---|---|---|
| Point anomaly | Một điểm dữ liệu đơn lẻ lệch khỏi phần còn lại | Thiết bị check-in 100 lần/giờ thay vì 1 lần/giờ |
| Contextual anomaly | Dữ liệu bất thường trong ngữ cảnh cụ thể, không phải toàn cục | Nhiệt độ pin 50°C bình thường khi sạc, bất thường khi idle |
| Collective anomaly | Tập hợp dữ liệu liên quan cùng bất thường | Chuỗi chuyển đổi trạng thái lặp lại: idle → enrolled → idle → enrolled |
2.8.3 Phân Loại Phương Pháp
| Mô hình | Yêu cầu nhãn | Mô tả |
|---|---|---|
| Supervised | Đầy đủ (normal + anomaly) | Bài toán phân loại mất cân bằng; cần mẫu anomaly đại diện |
| Semi-supervised | Chỉ nhãn cho lớp normal | Xây mô hình "bình thường"; phát hiện lệch khỏi mô hình |
| Unsupervised | Không cần nhãn | Giả định anomaly hiếm và khác biệt về cấu trúc; phù hợp nhất cho triển khai thực tế |
Trong hệ thống MDM, dữ liệu bất thường có nhãn không tồn tại — không có log xác nhận thiết bị bị compromise hay vi phạm policy. Do đó, phương pháp unsupervised là lựa chọn duy nhất khả thi cho Fluxion.
2.9 Phương Pháp Thống Kê (Statistical Methods)
2.9.1 Z-Score
Công thức:
$$z = \frac{x - \mu}{\sigma}$$
Điểm dữ liệu $x$ được đánh dấu bất thường nếu $|z| > \theta$ (ngưỡng phổ biến: $\theta = 3$, tương ứng 99,7% dữ liệu nằm trong khoảng bình thường theo phân phối Gaussian).
Giả định: Dữ liệu tuân theo phân phối chuẩn (Gaussian). Nhạy cảm với outliers — các giá trị cực đoan làm tăng $\sigma$, che đậy các anomaly khác (masking effect).
Ưu điểm: Đơn giản triển khai; có thể giải thích được; độ phức tạp O(n). Nhược điểm: Không hoạt động trên dữ liệu non-Gaussian; chỉ áp dụng được cho dữ liệu đơn biến (univariate).
2.9.2 IQR (Interquartile Range) — Tukey, 1977
Công thức:
$$\text{IQR} = Q_3 - Q_1$$
Ngưỡng bất thường (Tukey's inner fences, k = 1,5):
$$LF = Q_1 - 1{,}5 \times \text{IQR}, \quad UF = Q_3 + 1{,}5 \times \text{IQR}$$
Điểm ngoài $[LF, UF]$ được xem là bất thường. Dùng k = 3,0 cho extreme outliers.
Ưu điểm: Không phụ thuộc phân phối; bền vững (robust) với giá trị cực đoan vì sử dụng order statistics. Nhược điểm: Chỉ đơn biến; giả định phân phối tĩnh.
2.9.3 Trung Bình Trượt / EWMA (Roberts, 1959)
EWMA (Exponentially Weighted Moving Average):
$$z_t = \lambda x_t + (1 - \lambda) z_{t-1}, \quad \lambda \in (0, 1]$$
Đánh dấu bất thường khi: $|x_t - z_{t-1}| > k \cdot \sigma_{\text{EWMA}}$, với $k$ là hệ số ngưỡng (thường 2–3).
Hướng dẫn chọn $\lambda$: $[0{,}05; 0{,}25]$ cho phát hiện thay đổi nhỏ; $[0{,}2; 0{,}4]$ cho phản ứng nhanh với thay đổi lớn [2].
Ưu điểm: Theo dõi xu hướng (trend); thích ứng với concept drift; phù hợp real-time; bộ nhớ thấp. Nhược điểm: Cần tinh chỉnh $\lambda$; giả định tính dừng (stationarity); không phù hợp dữ liệu đa chiều.
2.10 Isolation Forest (Liu, Ting & Zhou, 2008)
2.10.1 Nguyên Lý Cốt Lõi
"Anomalies are few and different — they require fewer random splits to isolate than normal points." — Liu et al. [3]
Isolation Forest (IF) dựa trên quan sát: các điểm bất thường ít và khác biệt so với phần còn lại, nên chúng dễ bị cô lập (isolate) hơn bằng phân hoạch ngẫu nhiên. Thay vì tính khoảng cách hay mật độ (như các phương pháp truyền thống), IF đo độ dài đường đi trung bình (average path length) trong cây nhị phân ngẫu nhiên — anomalies có đường đi ngắn hơn [3].
2.10.2 Thuật Toán
- Xây dựng $t$ cây cô lập (isolation trees — iTrees) từ các mẫu con kích thước $\psi$
- Mỗi cây: chọn ngẫu nhiên feature $q$ và giá trị chia $p \in [\min(q), \max(q)]$; đệ quy cho đến khi mỗi điểm bị cô lập hoặc đạt giới hạn chiều cao $\lceil \log_2 \psi \rceil$
- Tính độ dài đường đi trung bình $E(h(x))$ trên tất cả các cây
- Chuẩn hoá thành điểm bất thường (anomaly score)
2.10.3 Công Thức Chính
Anomaly score:
$$s(x, n) = 2^{-\frac{E(h(x))}{c(n)}}$$
Hệ số chuẩn hoá:
$$c(n) = 2H(n-1) - \frac{2(n-1)}{n}$$
trong đó $H(n) \approx \ln(n) + \xi$ (số điều hoà; $\xi \approx 0{,}5772$ hằng số Euler–Mascheroni).
Giải thích:
- $s \to 1$: bất thường (đường đi ngắn, cô lập nhanh)
- $s \approx 0{,}5$: không rõ ràng
- $s \to 0$: bình thường (đường đi dài, khó cô lập)
2.10.4 Siêu Tham Số (Hyperparameters)
| Tham số | Mặc định | Ảnh hưởng |
|---|---|---|
n_estimators ($t$) |
100 | Nhiều cây → điểm số ổn định hơn |
max_samples ($\psi$) |
256 | Mẫu con lớn → phân giải mịn hơn; 256 đủ theo thực nghiệm |
contamination |
0,1 | Đặt ngưỡng quyết định; phải khớp tỷ lệ anomaly kỳ vọng |
2.10.5 Độ Phức Tạp
- Huấn luyện: $O(t \cdot \psi \cdot \log \psi)$
- Suy luận: $O(t \cdot \log \psi)$ mỗi mẫu
- Hiệu quả tổng thể: tuyến tính theo $n$ [3]
Ưu điểm: Không tính khoảng cách/mật độ; xử lý tốt dữ liệu đa chiều; thời gian tuyến tính; bền vững với features không liên quan.
Nhược điểm: Khó phát hiện anomalies cục bộ trong clusters dày đặc (swamping); nhạy cảm với contamination sai lệch.
2.11 DBSCAN (Ester, Kriegel, Sander & Xu, 1996)
2.11.1 Nguyên Lý
Clusters là vùng mật độ cao (dense regions) được phân tách bởi vùng mật độ thấp. Các điểm không thuộc cluster nào được xếp loại noise — tức bất thường [4].
2.11.2 Định Nghĩa
- $\varepsilon$-neighborhood của điểm $p$: $N_\varepsilon(p) = {q \in D \mid \text{dist}(p, q) \leq \varepsilon}$
- Core point: $|N_\varepsilon(p)| \geq \text{minPts}$
- Border point: Không phải core nhưng reachable từ core point
- Noise point: Không phải core lẫn border → anomaly
2.11.3 Siêu Tham Số
- $\varepsilon$: Bán kính neighborhood; xác định qua đồ thị k-distance (điểm uốn)
- minPts: Số điểm tối thiểu; quy tắc: $\text{minPts} \geq \dim(D) + 1$
Ưu điểm: Phát hiện clusters hình dạng tuỳ ý; anomaly detection nội tại; không cần biết trước số clusters. Nhược điểm: Không xử lý được clusters mật độ khác nhau; nhạy cảm $\varepsilon$/minPts; $O(n^2)$ nếu không có spatial indexing; suy giảm ở chiều cao (curse of dimensionality) [4].
2.12 Bảng So Sánh Phương Pháp
| Tiêu chí | Z-Score | IQR | EWMA | Isolation Forest | DBSCAN |
|---|---|---|---|---|---|
| Giả định phân phối | Gaussian | Không | Dừng (stationary) | Không | Không |
| Unsupervised | Có | Có | Có | Có | Có |
| Scalability | O(n) | O(n log n) | O(n) | O(n log n) | O(n²) naive |
| Dữ liệu đa chiều | Kém | Kém | Kém | Tốt | Kém |
| Real-time | Có | Không | Có | Trung bình | Không |
| Interpretability | Cao | Cao | Cao | Thấp | Trung bình |
| Nhạy cảm tham số | Thấp | Thấp | Trung bình | Trung bình | Cao |
| Dạng anomaly phù hợp | Point | Point | Contextual | Point + Collective | Point + Collective |
Bảng 2.8: So sánh phương pháp phát hiện bất thường
2.13 Ứng Dụng trong Fluxion MDM
2.13.1 Các Dạng Bất Thường trong MDM
| Dạng | Ví dụ | Tín hiệu trong Fluxion |
|---|---|---|
| Device compromise | Jailbreak, MDM bypass, malware | Check-in bất thường, spike failed_auth |
| Policy violation | Gỡ profile trái phép, cài app không phép | State regression (enrolled → idle), app_install_freq cao |
| Behavioral drift | Check-in đều bất thường (bot), command flood | checkin_interval CV → 0, command_success_rate giảm |
| FSM-path anomaly | Chu trình idle ↔ enrolled lặp lại | state_change_frequency cao bất thường |
Đặc thù Fluxion: DeviceFSM 6 trạng thái cho phép phát hiện FSM-path anomalies — chuỗi chuyển đổi trạng thái không hợp lệ mà rule-based policies truyền thống không phát hiện được. Liu et al. (IEEE, 2017) hình thức hoá phát hiện bất thường FSM qua formal verification of state reachability [9].
2.13.2 Feature Engineering
Vector đặc trưng đề xuất (7 features):
| Feature | Cách tính | Tín hiệu anomaly |
|---|---|---|
checkin_interval_mean |
Trung bình giây giữa các check-in liên tiếp | Compromise → khoảng cách thất thường |
checkin_interval_cv |
Coefficient of variation (std/mean) | Bot → CV ≈ 0; compromise → CV cao |
command_success_rate |
Tỷ lệ command thành công (rolling 24h) | Compromise → < 0,7 |
state_change_frequency |
Số FSM transitions mỗi giờ | Lifecycle cycling bất thường |
failed_auth_count |
Số lần auth thất bại trong 1h | Brute-force, UDID clone |
app_install_frequency |
Số app cài đặt mỗi 24h | Shadow IT, policy violation |
command_queue_depth |
Commands pending > N phút | Device offline, stuck state |
Chuẩn hoá: Z-score theo rolling 7 ngày, phân nhóm theo device_type × os_version — không chuẩn hoá toàn cục vì iOS 16 và iOS 17 có hành vi check-in khác nhau về cấu trúc.
2.13.3 Lý Do Chọn Isolation Forest cho Fluxion
| Phương pháp | Unsupervised | Phù hợp Lambda | Giải thích được | Mixed features | Kết luận |
|---|---|---|---|---|---|
| Isolation Forest | Có | Có (47ms, 150MB) | Score 0–1 | Có | CHỌN |
| One-Class SVM | Có | Kém (480ms, 336MB) | Không | Cần kernel tuning | Loại — chậm 10x [6] |
| Autoencoder | Có | Cần TF/PyTorch, cold-start ~16s | Hộp đen | Có | Loại — Lambda cold-start |
| LSTM | Bán phần | Không — stateful | Hộp đen | Không | Loại — mâu thuẫn stateless Lambda |
| Random Forest | Không | Có | Có | Có | Loại — cần labeled data |
Bảng 2.9: Ma trận quyết định phương pháp anomaly detection
Lý do chính:
- Không có labeled data — hệ thống MDM không log confirmed anomalies; unsupervised là lựa chọn duy nhất
- Stateless inference — model serialized (~3–5MB qua joblib), load từ Lambda layer; warm invocation < 100ms/device
- Tài nguyên hạn chế — IF dùng 150MB peak RAM vs 336MB cho OC-SVM ở accuracy tương đương [6]
- Score interpretable — score ∈ (0,1); > 0,65 → elevated; > 0,75 → alert; ngưỡng tuỳ chỉnh không cần retrain
- Tiền lệ AWS — AWS IoT Blog mô tả serverless Isolation Forest cho anomaly detection cảm biến nông nghiệp dùng Lambda + SQS — kiến trúc tương tự Fluxion [10]
2.13.4 Pipeline Phát Hiện Bất Thường trong Fluxion
Device check-in (SQS event)
→ Lambda consumer (existing)
→ feature_extractor(device_id, pg_conn) # đọc events 24h gần nhất
→ anomaly_scorer(feature_vector, model) # IF inference, <50ms
→ if score > threshold:
→ ghi alert vào PostgreSQL (device_alerts table)
→ publish AppSync mutation (onDeviceAlert subscription)
→ dashboard real-time cập nhật
Điểm tích hợp: Lambda consumer SQS hiện tại đã xử lý check-in events. Anomaly scoring là side-effect thuần tuý — không thay đổi FSM state hay command pipeline. Scoring failure phải non-blocking (try/catch, log and continue).
Model lifecycle: Retrain hàng tuần trên rolling window 30 ngày bằng scheduled Lambda. Serialize model lên S3; Lambda load khi cold start qua /tmp cache. Model size: ~3MB cho fleet 1.000 devices.
2.13.5 Đánh Giá (Evaluation Metrics)
Do không có ground truth labels, đánh giá sử dụng synthetic anomaly injection [8]:
- Inject anomalies giả vào device traces bình thường: spike failed_auth_count, collapse checkin_interval_cv, drop command_success_rate
- Đo precision, recall, F1 trên tập inject
| Chỉ số | Mục tiêu | Lý do |
|---|---|---|
| Precision | ≥ 0,85 | Mỗi alert tốn thời gian điều tra; FPR > 25% → alert fatigue |
| Recall | ≥ 0,75 | Bỏ sót device bị compromise là nghiêm trọng |
| False Positive Rate | < 5%/ngày/fleet | Nghiên cứu SOC: 51% analyst bị overwhelmed bởi volume |
| Detection latency | < 5 phút | Check-in cycle quyết định floor; Lambda xử lý < 1 phút |
| F1 (synthetic) | ≥ 0,80 | Ngưỡng model promotion |
Tổng Hợp
Nghiên cứu này khảo sát bài toán phát hiện bất thường (Anomaly Detection) trong ngữ cảnh thiết bị IoT và hệ thống quản lý thiết bị di động (MDM), từ nền tảng lý thuyết của Chandola et al. (2009) đến các phương pháp học máy không giám sát phù hợp với môi trường triển khai thực tế. Qua quá trình phân tích, Isolation Forest (Liu et al., 2008) được xác định là lựa chọn phù hợp nhất cho Fluxion: thuật toán không yêu cầu nhãn dữ liệu (unsupervised), có độ phức tạp tuyến tính O(n log n), và đặc biệt hiệu quả với dữ liệu thưa thớt (sparse) — đặc trưng của telemetry thiết bị MDM nơi các bất thường thực sự rất hiếm so với hành vi bình thường.
Bảy đặc trưng (features) được chọn lọc từ tín hiệu hành vi của thiết bị — bao gồm tần suất check-in, tỷ lệ thành công lệnh, số lần xác thực thất bại, số chuyển đổi trạng thái, và hệ số biến thiên khoảng cách check-in — tạo thành không gian đặc trưng đủ phong phú để phân biệt thiết bị hoạt động bình thường với các điểm bất thường dạng point anomaly và collective anomaly. Mô hình được triển khai dưới dạng Lambda function tích hợp vào pipeline sự kiện SNS/SQS của Fluxion, đảm bảo độ trễ phát hiện dưới 5 phút và khả năng mở rộng tự động (auto-scaling) theo quy mô fleet thiết bị.
Lưu ý: Module này đã được loại khỏi scope chính của đồ án tốt nghiệp do giới hạn thời gian triển khai và thiếu dữ liệu thực tế để huấn luyện và đánh giá mô hình. Nghiên cứu được giữ lại cho hướng phát triển tương lai — cụ thể là giai đoạn mở rộng sau khi hệ thống Fluxion có đủ dữ liệu vận hành thực tế từ production fleet.
Tài Liệu Tham Khảo
[1] Chandola, V., Banerjee, A., Kumar, V. (2009). Anomaly detection: A survey. ACM Computing Surveys, 41(3), Article 15. https://dl.acm.org/doi/10.1145/1541880.1541882
[2] NIST/SEMATECH (2012). EWMA Control Charts. Engineering Statistics Handbook. https://www.itl.nist.gov/div898/handbook/pmc/section3/pmc324.htm
[3] Liu, F.T., Ting, K.M., Zhou, Z.H. (2008). Isolation Forest. Proc. 8th IEEE ICDM, pp. 413–422. https://ieeexplore.ieee.org/document/4781136/
[4] Ester, M., Kriegel, H-P., Sander, J., Xu, X. (1996). A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise. Proc. KDD-96, pp. 226–231. https://dl.acm.org/doi/10.5555/3001460.3001507
[5] Liu, F.T., Ting, K.M., Zhou, Z.H. (2012). Isolation-Based Anomaly Detection. ACM TKDD, 6(1), Article 3. https://dl.acm.org/doi/10.1145/2133360.2133363
[6] Papadopoulos et al. (2025). Robust IoT security: Isolation Forest vs OC-SVM. Nature Scientific Reports. https://www.nature.com/articles/s41598-025-20445-4
[7] Cook et al. Anomaly Detection in IoT: AI/ML Perspectives. IntechOpen. https://www.intechopen.com/chapters/87783
[8] Tatbul, N. et al. (2019). Precision and Recall for Time Series. ACM CIKM 2019. https://dl.acm.org/doi/10.1145/3357384.3358118
[9] FSM Anomaly Detection via Formal Analysis. IEEE 2017. https://ieeexplore.ieee.org/document/8119228/
[10] AWS IoT Blog. Serverless IoT Anomaly Detection. https://aws.amazon.com/blogs/iot/serverless-iot-anomaly-detection/
[11] Asharf et al. (2024). ML/DL for IoT Anomaly Detection. MDPI Sensors. https://pmc.ncbi.nlm.nih.gov/articles/PMC10976162/
[12] Tukey, J.W. (1977). Exploratory Data Analysis. Addison-Wesley.