Files
AWatch-rus/docs/roadmap/TASK_016_UEBA_CONFIDENCE_GUARDRAILS.md
T

8.0 KiB
Raw Blame History

Цель

Устранить риск неправильной интерпретации UEBA Score.

Не менять:

  • UEBA scoring;
  • UEBA weights;
  • UEBA thresholds;
  • Risk Narrative scoring;
  • Action Center scoring.

Добавить слой уверенности (confidence layer) и защиту от ложной интерпретации severity.


Контекст

По результатам:

TASK_015_UEBA_CRITICAL_EVIDENCE_REVIEW

установлено:

UEBA Score = 100

Classification = Needs Investigation

Executive Readiness = Insufficient Confidence

Security Interpretation = Operational Risk Confirmed

Security Incident = Not Confirmed

Причина:

activity_anomaly = 81
history_anomaly = 19

coverage = 0%
confidence = low

При этом текущий UI может визуально восприниматься как:

Critical = подтвержденный инцидент

что неверно.


Основная идея

Разделить:

Severity

и

Confidence

Severity отвечает:

Насколько сильна аномалия

Confidence отвечает:

Насколько мы уверены в выводе

Что реализовать

1. UEBA Confidence Model

Добавить модель:

{
  "severity": "critical",
  "score": 100,
  "confidence": "low",
  "classification": "needs_investigation",
  "reason": "coverage_below_threshold"
}

2. Confidence Levels

Поддержать:

high
medium
low
unknown

3. Confidence Contributors

Минимальные факторы:

agent_coverage

data_freshness

telemetry_completeness

evidence_presence

history_depth

signal_consistency

4. Confidence Rules

Пример логики:

HIGH

coverage >= target

fresh data

multiple corroborating signals

evidence exists

MEDIUM

partial coverage

some missing telemetry

limited evidence

LOW

coverage below threshold

missing telemetry

missing evidence

conflicting signals

UNKNOWN

insufficient data

5. Classification Layer

Добавить:

confirmed_risk

likely_risk

needs_investigation

insufficient_data

Важно:

classification не заменяет severity.


6. Executive View

В Executive Portal показать:

Пример:

UEBA Score: 100

Severity: Critical

Confidence: Low

Classification:
Needs Investigation

Добавить пояснение:

Высокая аномалия обнаружена,
но данных недостаточно для подтверждения риска.

7. Security View

В Security Portal показать:

Severity

Confidence

Classification

Evidence Status

Пример:

Evidence:
Not Available

или

Evidence:
Available

8. Risk Narrative Integration

Обновить Risk Narrative.

Добавить:

{
  "confidence": "low",
  "classification": "needs_investigation"
}

9. Executive Action Center Integration

Если:

confidence = low

добавлять действие:

Проверить полноту данных

до формирования жестких выводов.


10. API

Расширить:

GET /api/ueba

если контракт позволяет.

Добавить поля:

{
  "confidence": "...",
  "classification": "...",
  "confidence_reasons": []
}

Также обновить:

GET /api/risk/narrative

при необходимости.


11. Markdown Reports

Добавить раздел:

UEBA Confidence

Показывать:

  • severity;
  • confidence;
  • classification;
  • confidence reasons.

12. OpenAPI / TypeScript

Обновить контракты.

Только если реально изменяются API ответы.


13. Documentation

Создать:

docs/UEBA_CONFIDENCE_MODEL_RU.md

Описать:

  • что такое severity;
  • что такое confidence;
  • что такое classification;
  • почему они отличаются;
  • примеры интерпретации.

Что запрещено

Запрещено:

  • менять UEBA score;
  • менять weights;
  • менять thresholds;
  • менять severity rules;
  • скрывать высокий score;
  • искусственно занижать риск;
  • автоматически подтверждать инцидент;
  • добавлять ML;
  • добавлять LLM;
  • добавлять DLP claims;
  • добавлять SIEM claims.

Проверки

Выполнить:

cargo fmt --all --check

cargo clippy --all-targets --all-features -- -D warnings

cargo test --all

cargo build --release

node scripts/deployment-readiness-smoke.mjs

node scripts/pilot-validation-smoke.mjs

AWATCH_PORTAL_SMOKE_URL=http://127.0.0.1:8720 node scripts/awatch-production-hardening-smoke.mjs

AWATCH_BROWSER_SMOKE_URL=http://127.0.0.1:8720/portal/ node scripts/browser-conformance-smoke.mjs

Также:

git diff --check

и sensitive scan.


Критерии приемки

Задача выполнена если:

  • severity и confidence разделены;
  • classification добавлен;
  • Executive UI показывает confidence;
  • Security UI показывает confidence;
  • Risk Narrative учитывает confidence;
  • Action Center учитывает confidence;
  • документация создана;
  • OpenAPI/TypeScript обновлены при необходимости;
  • все проверки проходят;
  • UEBA scoring не изменен.

Финальный отчет Codex должен содержать

  1. Какие модели добавлены.
  2. Какие поля API изменены.
  3. Как рассчитывается confidence.
  4. Как рассчитывается classification.
  5. Изменения UI.
  6. Изменения reports.
  7. Документация.
  8. Результаты проверок.
  9. Подтверждение, что scoring/weights/thresholds не менялись.

Выполнение

Дата выполнения: 2026-06-07.

Статус: выполнено.

Добавлено:

  • UEBA confidence layer;
  • confidence contributors:
    • agent_coverage;
    • data_freshness;
    • telemetry_completeness;
    • evidence_presence;
    • history_depth;
    • signal_consistency;
  • classification layer:
    • confirmed_risk;
    • likely_risk;
    • needs_investigation;
    • insufficient_data;
  • поля /api/ueba:
    • confidence;
    • confidence_score;
    • classification;
    • classification_reason;
    • confidence_reasons;
    • confidence_contributors;
    • evidence_status;
  • поля Risk Narrative:
    • confidence;
    • classification;
  • Action Center guardrail:
    • Проверить полноту данных при low/unknown UEBA confidence или needs_investigation;
  • Markdown section:
    • UEBA Confidence;
  • документация:
    • docs/UEBA_CONFIDENCE_MODEL_RU.md.

Не менялось:

  • UEBA score calculation;
  • UEBA weights;
  • UEBA thresholds;
  • severity rules;
  • Risk Narrative scoring;
  • Action Center scoring;
  • ML/LLM/DLP/SIEM claims не добавлялись.

Ключевая интерпретация:

Severity = сила аномалии
Confidence = качество данных для вывода
Classification = как трактовать severity с учетом confidence

Для случая critical + low confidence результат:

classification = needs_investigation

Это защищает от неверной трактовки critical как автоматически подтвержденного ИБ-инцидента.