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

  1. Xây dựng $t$ cây cô lập (isolation trees — iTrees) từ các mẫu con kích thước $\psi$
  2. 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$
  3. Tính độ dài đường đi trung bình $E(h(x))$ trên tất cả các cây
  4. 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
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 Không 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_versionkhô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ó (47ms, 150MB) Score 0–1 CHỌN
One-Class SVM Kém (480ms, 336MB) Không Cần kernel tuning Loại — chậm 10x [6]
Autoencoder Cần TF/PyTorch, cold-start ~16s Hộp đen 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 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:

  1. Không có labeled data — hệ thống MDM không log confirmed anomalies; unsupervised là lựa chọn duy nhất
  2. Stateless inference — model serialized (~3–5MB qua joblib), load từ Lambda layer; warm invocation < 100ms/device
  3. Tài nguyên hạn chế — IF dùng 150MB peak RAM vs 336MB cho OC-SVM ở accuracy tương đương [6]
  4. Score interpretable — score ∈ (0,1); > 0,65 → elevated; > 0,75 → alert; ngưỡng tuỳ chỉnh không cần retrain
  5. 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]:

  1. Inject anomalies giả vào device traces bình thường: spike failed_auth_count, collapse checkin_interval_cv, drop command_success_rate
  2. Đ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.