UEBA

Cách tính Risk Score

Giúp người dùng hiểu công thức, thành phần và ví dụ tính toán Risk Score trong UEBA.

Risk Score Engine là thành phần trung tâm trong UEBA, chịu trách nhiệm tính toán và gán một điểm số rủi ro duy nhất cho từng thực thể (Entity). Điểm số này phản ánh mức độ nguy hiểm của đối tượng dựa trên các hành vi bất thường được ghi nhận trong thời gian gần nhất.


Công thức tính

RiskScore=EntityMultiplier×i=1n(Wi×Ai×DFi)RiskScore = EntityMultiplier \times \sum_{i=1}^{n} \bigl(W_i \times A_i \times DF_i\bigr)

Giải thích từng biến

Ký hiệuTênMô tả
EntityMultiplierEntityMultiplierNhân hệ số thực thểNhân toàn bộ điểm dựa trên mức độ quan trọng của tài khoản
WiW_iTrọng sốMức độ quan trọng của loại bất thường. Ví dụ: impossible_travel = 1.5, loại khác = 1.0
AiA_iĐiểm AnomalyĐiểm tin cậy từ mô hình AI/ML, chuẩn hoá về 0, 1. Chỉ sự kiện với Ai>0.60A_i > 0.60 mới được tính
DFiDF_iHệ số suy giảm thời gianeλΔte^{-\lambda \Delta t}, trong đó Δt\Delta t là tuổi sự kiện (tính bằng giờ). Sự kiện mới có trọng số cao hơn

Chi tiết từng thành phần

1. Nhân hệ số thực thể (EntityMultiplier)

Được lấy từ registry dựa trên mức độ quan trọng của tài khoản. Nếu không có dữ liệu registry, mặc định = 1.0.

Mức độ quan trọngNhân cơ sở+ Bonus PrivilegedNhân cuối cùng
critical2.0+0.52.5
high1.5+0.52.0
medium1.2+0.51.7
low / chưa xác định1.0+0.51.5
Không có registry1.01.0

2. Trọng số loại bất thường (WiW_i)

Loại AnomalyTrọng số (WiW_i)
impossible_travel1.5
Loại khác / chưa phân loại1.0

3. Điểm Anomaly (AiA_i)

Được tạo ra bởi mô hình AI/ML (anomaly_score). Sự kiện được đưa vào tính Risk Score nếu:

anomaly_score>0.60 AND (status=’anomaly’)anomaly\_score > 0.60 \text{ AND } (status = \text{'anomaly'})

Chuẩn hoá từ 0, 1000, 1:

Hệ thống phát phát hành điểm từ 0–100. Engine chuẩn hoá về 0, 1:

  • Nếu score > 1.0 → chia cho 100
  • Nếu score ≤ 1.0 → giữ nguyên (dữ liệu cũ)
  • Ngoài khoảng → giới hạn về 0 hoặc 1

Ví dụ: anomaly_score = 92Ai=0.92A_i = 0.92


3. Hệ số suy giảm thời gian (DFiDF_i)

DFi=eλΔtDF_i = e^{-\lambda \cdot \Delta t}

Trong đó:

  • ee: Hằng số toán học Euler (2.718\approx 2.718).
  • λ\lambda (DecayLambda): Tốc độ suy giảm của điểm số. Theo mặc định trong hệ thống, cấu hình này là 0.050.05 mỗi giờ.
  • Δt\Delta t: Khoảng thời gian (tính bằng giờ) kể từ lúc sự kiện bất thường (AnomalyAnomaly) xảy ra cho đến thời điểm hệ thống thực hiện truy vấn để tính toán Risk Score.

Giá trị của DFiDF_i sẽ luôn nằm trong khoảng từ 00 đến 11:

  • Khi sự kiện vừa mới xảy ra (Δt=0\Delta t = 0): DFi=e0=1DF_i = e^0 = 1. Lúc này, sự kiện giữ nguyên 100% giá trị rủi ro và tác động mạnh nhất đến Risk Score.
  • Thời gian trôi qua càng lâu (Δt\Delta t tăng lên): DFiDF_i sẽ giảm dần về cận 0. Nghĩa là sự kiện đó sẽ ít ảnh hưởng dần và cuối cùng không còn đóng góp vào điểm rủi ro tổng thể nữa.

Chu kỳ bán rã (Half-life) là gì?

Với tốc độ mặc định λ=0.05\lambda = 0.05, chu kỳ bán rã của một sự kiện là khoảng 13.9 giờ. Nghĩa là sau gần 14 tiếng, nếu người dùng không có thêm hành vi xấu nào khác, thì mức độ nguy hiểm của sự kiện cũ tự động giảm đi một nửa.


Chuẩn hoá đầu ra → 0, 100

Sau khi tính RawScore = EntityMultiplier × Σ(W_i × A_i × DF_i), hệ thống áp dụng hàm sigmoid để chuẩn hoá:

RiskScore=100×(1ekRawScore),k=ln230.231RiskScore = 100 \times \left(1 - e^{-k \cdot RawScore}\right), \quad k = \frac{\ln 2}{3} \approx 0.231

Bảng chuyển đổi RawScore → RiskScore

Raw ScoreRisk ScoreMức độ
00low
0.9~20medium (ngưỡng thấp)
3.050high (điểm neo)
6.0~75critical (ngưỡng thấp)
10~90critical
< 100critical

Phân loại mức rủi ro

Phạm vi RiskScoreMức độ
[0,20)[0, 20)low (Thấp)
[20,50)[20, 50)medium (Trung bình)
[50,75)[50, 75)high (Cao)
[75,100][75, 100]critical (Nghiêm trọng)

Ví dụ tính toán

Người dùng: Alice, criticality = high, quyền = privileged

  • EntityMultiplier = 1.5 + 0.5 = 2.0

Các sự kiện bất thường trong 7 ngày qua:

#LoạiAiA_iTuổi (h)DFiDF_iWiW_iĐóng góp
1impossible_travel0.9220.9051.51.249
2impossible_travel0.78180.4071.50.476
3Chưa phân loại0.65480.0911.00.059

Các bước tính

Bước 1: Tính tổng đóng góp

(Wi×Ai×DFi)=1.249+0.476+0.059=1.784\sum (W_i \times A_i \times DF_i) = 1.249 + 0.476 + 0.059 = 1.784

Bước 2: Nhân với EntityMultiplier

RawScore=2.0×1.784=3.568RawScore = 2.0 \times 1.784 = 3.568

Bước 3: Chuẩn hoá qua sigmoid

RiskScore=100×(1e0.231×3.568)56RiskScore = 100 \times (1 - e^{-0.231 \times 3.568}) \approx 56

Kết quả: Risk Score = 56 → Mức high