Architektura i Eksperymenty

Ostatnia aktualizacja: 2026-05-27


Architektura systemu

Opis ogólny

System UEBA (User and Entity Behavior Analytics) oparty na Behavioral Probability Profile (BPP) — formalnie zdefiniowanym rozkładzie prawdopodobieństwa P(a|u,t) nad przestrzenią akcji użytkownika, budowanym z wieloźródłowej telemetrii (auth logs + workspace: Git, Jira, Calendar). Główny wkład: empiryczna walidacja multi-source BPP dla ATO detection, nowa metryka odporności MMC, oraz privacy-preserving FL+DP-SGD dla środowiska regulacyjnego UE.

Komponenty główne

KomponentOpisTechnologia
M1 – Telemetry CollectorAuth logs (LANL) + symulowane workspace events (Git/Jira/Calendar)Python, synthetic generator
M2 – BPP BuilderEstymacja rozkładu P(a|u,t) per użytkownik per czas dniaLSTM Autoencoder, Deep SVDD
M3 – Anomaly DetectorIsolation Forest (baseline) + One-Class SVM + LSTM Autoencoderscikit-learn, PyTorch
M4 – Fusion EngineEarly fusion (concat features) vs late fusion (ensemble scores)sklearn, custom
M5 – MMC CalculatorMinimalne KL-divergence do obniżenia TPR poniżej proguscipy.stats, custom
M6 – FL+DP AggregatorFedAvg + DP-SGD (Opacus) na partycjach LANLFlower, Opacus

Przepływ danych

flowchart TD
    LANL([LANL Auth logs]) --> M1[M1 Telemetry Collector]
    SYN([Synthetic workspace\nGit / Jira / Calendar]) --> M1
    M1 --> FEAT([Feature vectors per event])
    FEAT --> M2[M2 BPP Builder\nP-a-u-t per user]
    M2 --> HIST([Rozkład historyczny użytkownika])
    HIST --> M3[M3 Anomaly Detector\nIsolation Forest / LSTM AE]
    M3 --> SCORE([Anomaly score per event])
    SCORE --> M4[M4 Fusion Engine\nearly concat vs late ensemble]
    M4 --> ALERT([Alert: ATO detection\nthreshold @ FPR=5%])
    ALERT --> M5[M5 MMC Calculator\nkoszt ominięcia per d źródeł]
    M5 --> MMC([Krzywa MMC-d])
    M4 --> M6[M6 FL+DP Aggregator\nFedAvg + DP-SGD ε=1.0\n10 organizacji]
    M6 --> PRIV([Privacy-preserving BPP])

Stack technologiczny

WarstwaTechnologiaUzasadnienie
JęzykPython 3.11+standard ML
ML frameworkPyTorch 2.xLSTM Autoencoder, Deep SVDD
Classic MLscikit-learnIsolation Forest, One-Class SVM
FederatedFlower (flwr)FedAvg symulacja
DPOpacus (PyTorch)DP-SGD implementacja
DaneLANL dataset (12K users, 58 dni)publiczny benchmark UEBA
Pomiar / evalAUC, FPR@TPR=0.8, MMCodporność + skuteczność

Eksperymenty

BSU-EXP-1: BPP dla ATO Detection — Workplace Telemetry jako Uzupełnienie Auth Logs

Status: planned Priorytet: high Powiązany pomysł: BSU-1 Dodano: 2026-05-27

Hipoteza: Klasyfikator BPP z fuzją auth logs + workspace telemetry (Git/Jira/Calendar) osiąga AUC ≥ 0.85 i FPR ≤ 5% przy TPR=80% na LANL dataset — istotnie wyższy (DeLong test, p<0.05) niż model auth-only (aktualny standard w literaturze).

Dane:

  • Dataset: LANL Comprehensive Multi-Source Cyber-Security Events (12K użytkowników, 58 dni, ~15M eventów)
  • Podział: pierwsze 45 dni trenowania, ostatnie 13 dni test; własna symulacja workspace jako dodatkowe źródło
  • Preprocessing: agregacja eventów do okien 1h per użytkownik, ekstrakcja cech per źródło

Metoda:

  1. Implementacja auth-only baseline: Isolation Forest na cechach LANL (IP delta, device, session time, failed logins)
  2. Symulacja workspace telemetry dla użytkowników LANL: Git (czas commitów), Jira (tematy TF-IDF), Calendar (godziny spotkań)
  3. BPP estimation: LSTM Autoencoder (reconstruction error jako anomaly score) per źródło
  4. Fuzja early (concat) vs late (ensemble): grid search na val set
  5. Porównanie: auth-only vs BPP-multi-source (DeLong test)

Modele / Baseline:

ModelOpis
Isolation Forest (auth-only)standard UEBA baseline
One-Class SVM (auth-only)drugi baseline
LSTM Autoencoder (auth-only)deep baseline
BPP (auth + Git + Jira)3 źródła
BPP (auth + Git + Jira + Calendar)pełne 4 źródła

Metryki:

  • Główna: AUC (próg sukcesu: ≥0.85 multi-source vs auth-only)
  • Dodatkowe: FPR@TPR=0.8, AP (Average Precision), DeLong p-value
  • Test statystyczny: DeLong test (multi-source vs auth-only, α=0.05)

Wyniki: (do wypełnienia po wykonaniu)

Wnioski: (do wypełnienia po wykonaniu)


BSU-EXP-2: MMC — Ile Kosztuje Ominięcie BPP?

Status: planned Priorytet: high Powiązany pomysł: BSU-2 Dodano: 2026-05-27

Hipoteza: Minimum Mimicry Cost MMC(d) — minimalne KL-divergence między profilem behawioralnym atakującego a profilem ofiary wymagane do obniżenia TPR poniżego 80% — rośnie monotonicznie z liczbą wymiarów telemetrii d ∈ {1, 2, 3, 4}, wykazując że każde dodatkowe źródło danych zwiększa barierę dla atakującego.

Dane:

  • Dataset: LANL + syntetyczna symulacja workspace (z BSU-EXP-1)
  • Podział: modele wytrenowane w BSU-EXP-1; MMC obliczany na test set
  • Preprocessing: profile behawioralne P_user jako rozkłady empiryczne per użytkownik

Metoda:

  1. Definicja: MMC = min{ KL(P_attacker || P_victim) : TPR < 0.8 } per d źródeł
  2. Trzy strategie atakującego: blind (losowe zachowanie), informed (zna rozkład ofiary), adaptive (gradient-based evasion)
  3. Obliczenie MMC dla d ∈ {1, 2, 3, 4}: kolejno dodawaj źródła auth → +Git → +Jira → +Calendar
  4. Symulacja: generuj 1000 profili atakujących per strategia per d, szukaj min KL dla TPR<0.8
  5. Krzywa MMC(d): oczekiwana monotonicznie rosnąca

Modele / Baseline:

ModelOpis
Blind attackerdolna granica MMC (losowe)
Informed attackerzna rozkład ofiary z danych publicznych
Adaptive attackergradient-based evasion (górna granica wysiłku)

Metryki:

  • Główna: MMC(d) per d (próg: monotoniczne ↑, DeLong/KS test monotoniczności)
  • Dodatkowe: MMC per strategia atakującego, percentyle 5/50/95
  • Test statystyczny: Page’s Trend Test na krzywą MMC(1..4) (α=0.05)

Wyniki: (do wypełnienia po wykonaniu)

d (źródła)MMC blindMMC informedMMC adaptive
1 (auth only)
2 (+Git)
3 (+Jira)
4 (+Calendar)

Wnioski: (do wypełnienia po wykonaniu)


BSU-EXP-3: Privacy-Preserving BPP — FL + DP-SGD na LANL

Status: planned Priorytet: high Powiązany pomysł: BSU-3 Dodano: 2026-05-27

Hipoteza: FedAvg + DP-SGD (ε=1.0, δ=10⁻⁵) osiąga AUC ≥ 0.95 × AUC_centralny przy symulacji 10 organizacji jako klientów FL na LANL — oraz MMC modelu FL+DP nie jest istotnie niższy od MMC modelu centralnego (jednostronny t-test, α=0.05), wykazując że prywatność i odporność na ataki mogą koexistować.

Dane:

  • Dataset: LANL (z BSU-EXP-1), podzielony na 10 partycji wg IP-subnet (symulacja 10 organizacji)
  • Podział: 10 × (70% local train, 30% local test); globalny test set = połączony
  • Preprocessing: jak w BSU-EXP-1, per-partition normalizacja

Metoda:

  1. Centralny model BPP (LSTM Autoencoder): upper bound AUC (z BSU-EXP-1)
  2. FedAvg bez DP: 50 rund, 10 klientów (Flower framework)
  3. FedAvg + DP-SGD (Opacus): ε ∈ {0.1, 0.5, 1.0, 5.0, ∞} × 50 rund
  4. Porównanie: AUC, FPR@TPR=0.8, komunikacja (MB/runda) per konfiguracja ε
  5. MMC: oblicz MMC dla każdej konfiguracji FL+DP → czy DP degraduje odporność na ataki?
  6. Analiza regulacyjna: GDPR Art. 22, AI Act Annex III, RODO Art. 32

Modele / Baseline:

ModelOpis
Centralny (no privacy)upper bound
FedAvg (no DP)prywatność przez rozproszenie
FedAvg + DP (ε=1.0)target konfiguracja
FedAvg + DP (ε=0.1)wysokie DP, test degradacji
FedAvg + DP (ε=5.0)słabe DP, bliskie centralnego

Metryki:

  • Główna: AUC (próg: FL+DP ≥ 0.95 × AUC_centralny)
  • Dodatkowe: MMC per ε, komunikacja [MB/runda], konwergencja (#rund)
  • Test statystyczny: DeLong test (FL+DP(ε=1) vs centralny, α=0.05)

Wyniki: (do wypełnienia po wykonaniu)

ModelAUCAUC/AUC_centralMMC (informed)Comm [MB/r]

Wnioski: (do wypełnienia po wykonaniu)


Pipeline danych

LANL dataset: publiczny (~3.5GB, CSV), zawiera auth, proc, flow, dns, red team events. Tylko auth.csv używany jako primary; pozostałe jako dodatkowe źródła. Symulacja workspace: deterministyczny generator (seed=42) tworzący Git/Jira/Calendar eventy spójne z profilem czasowym LANL per użytkownik. Red team eventy LANL jako ground truth ATO labels.

Wymagania techniczne

Środowisko

Python: 3.11+
GPU: opcjonalnie (LSTM Autoencoder; szybki nawet na CPU)
RAM: min. 16 GB (LANL dataset in memory)
Dysk: ~10 GB (LANL raw data)

Kluczowe biblioteki

# requirements-research.txt
torch>=2.0
opacus>=1.4          # DP-SGD
flwr>=1.7            # Flower federated
scikit-learn>=1.3
scipy>=1.11          # KL-divergence, DeLong
numpy>=1.25
pandas>=2.0

Status eksperymentów

IDTytułStatusPriorytetETAWynik
BSU-EXP-1BPP multi-source ATO detectionplannedhigh
BSU-EXP-2MMC — koszt ominięcia BPP per dplannedhigh
BSU-EXP-3Privacy-preserving BPP FL+DP-SGDplannedhigh