Create TASK_016_UEBA_CONFIDENCE_GUARDRAILS.md
This commit is contained in:
@@ -0,0 +1,443 @@
|
||||
## Цель
|
||||
|
||||
Устранить риск неправильной интерпретации UEBA Score.
|
||||
|
||||
Не менять:
|
||||
|
||||
* UEBA scoring;
|
||||
* UEBA weights;
|
||||
* UEBA thresholds;
|
||||
* Risk Narrative scoring;
|
||||
* Action Center scoring.
|
||||
|
||||
Добавить слой уверенности (confidence layer) и защиту от ложной интерпретации severity.
|
||||
|
||||
---
|
||||
|
||||
## Контекст
|
||||
|
||||
По результатам:
|
||||
|
||||
```text
|
||||
TASK_015_UEBA_CRITICAL_EVIDENCE_REVIEW
|
||||
```
|
||||
|
||||
установлено:
|
||||
|
||||
```text
|
||||
UEBA Score = 100
|
||||
|
||||
Classification = Needs Investigation
|
||||
|
||||
Executive Readiness = Insufficient Confidence
|
||||
|
||||
Security Interpretation = Operational Risk Confirmed
|
||||
|
||||
Security Incident = Not Confirmed
|
||||
```
|
||||
|
||||
Причина:
|
||||
|
||||
```text
|
||||
activity_anomaly = 81
|
||||
history_anomaly = 19
|
||||
|
||||
coverage = 0%
|
||||
confidence = low
|
||||
```
|
||||
|
||||
При этом текущий UI может визуально восприниматься как:
|
||||
|
||||
```text
|
||||
Critical = подтвержденный инцидент
|
||||
```
|
||||
|
||||
что неверно.
|
||||
|
||||
---
|
||||
|
||||
## Основная идея
|
||||
|
||||
Разделить:
|
||||
|
||||
```text
|
||||
Severity
|
||||
```
|
||||
|
||||
и
|
||||
|
||||
```text
|
||||
Confidence
|
||||
```
|
||||
|
||||
Severity отвечает:
|
||||
|
||||
```text
|
||||
Насколько сильна аномалия
|
||||
```
|
||||
|
||||
Confidence отвечает:
|
||||
|
||||
```text
|
||||
Насколько мы уверены в выводе
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Что реализовать
|
||||
|
||||
### 1. UEBA Confidence Model
|
||||
|
||||
Добавить модель:
|
||||
|
||||
```json
|
||||
{
|
||||
"severity": "critical",
|
||||
"score": 100,
|
||||
"confidence": "low",
|
||||
"classification": "needs_investigation",
|
||||
"reason": "coverage_below_threshold"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2. Confidence Levels
|
||||
|
||||
Поддержать:
|
||||
|
||||
```text
|
||||
high
|
||||
medium
|
||||
low
|
||||
unknown
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 3. Confidence Contributors
|
||||
|
||||
Минимальные факторы:
|
||||
|
||||
```text
|
||||
agent_coverage
|
||||
|
||||
data_freshness
|
||||
|
||||
telemetry_completeness
|
||||
|
||||
evidence_presence
|
||||
|
||||
history_depth
|
||||
|
||||
signal_consistency
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 4. Confidence Rules
|
||||
|
||||
Пример логики:
|
||||
|
||||
#### HIGH
|
||||
|
||||
```text
|
||||
coverage >= target
|
||||
|
||||
fresh data
|
||||
|
||||
multiple corroborating signals
|
||||
|
||||
evidence exists
|
||||
```
|
||||
|
||||
#### MEDIUM
|
||||
|
||||
```text
|
||||
partial coverage
|
||||
|
||||
some missing telemetry
|
||||
|
||||
limited evidence
|
||||
```
|
||||
|
||||
#### LOW
|
||||
|
||||
```text
|
||||
coverage below threshold
|
||||
|
||||
missing telemetry
|
||||
|
||||
missing evidence
|
||||
|
||||
conflicting signals
|
||||
```
|
||||
|
||||
#### UNKNOWN
|
||||
|
||||
```text
|
||||
insufficient data
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 5. Classification Layer
|
||||
|
||||
Добавить:
|
||||
|
||||
```text
|
||||
confirmed_risk
|
||||
|
||||
likely_risk
|
||||
|
||||
needs_investigation
|
||||
|
||||
insufficient_data
|
||||
```
|
||||
|
||||
Важно:
|
||||
|
||||
classification не заменяет severity.
|
||||
|
||||
---
|
||||
|
||||
### 6. Executive View
|
||||
|
||||
В Executive Portal показать:
|
||||
|
||||
Пример:
|
||||
|
||||
```text
|
||||
UEBA Score: 100
|
||||
|
||||
Severity: Critical
|
||||
|
||||
Confidence: Low
|
||||
|
||||
Classification:
|
||||
Needs Investigation
|
||||
```
|
||||
|
||||
Добавить пояснение:
|
||||
|
||||
```text
|
||||
Высокая аномалия обнаружена,
|
||||
но данных недостаточно для подтверждения риска.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 7. Security View
|
||||
|
||||
В Security Portal показать:
|
||||
|
||||
```text
|
||||
Severity
|
||||
|
||||
Confidence
|
||||
|
||||
Classification
|
||||
|
||||
Evidence Status
|
||||
```
|
||||
|
||||
Пример:
|
||||
|
||||
```text
|
||||
Evidence:
|
||||
Not Available
|
||||
```
|
||||
|
||||
или
|
||||
|
||||
```text
|
||||
Evidence:
|
||||
Available
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 8. Risk Narrative Integration
|
||||
|
||||
Обновить Risk Narrative.
|
||||
|
||||
Добавить:
|
||||
|
||||
```json
|
||||
{
|
||||
"confidence": "low",
|
||||
"classification": "needs_investigation"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 9. Executive Action Center Integration
|
||||
|
||||
Если:
|
||||
|
||||
```text
|
||||
confidence = low
|
||||
```
|
||||
|
||||
добавлять действие:
|
||||
|
||||
```text
|
||||
Проверить полноту данных
|
||||
```
|
||||
|
||||
до формирования жестких выводов.
|
||||
|
||||
---
|
||||
|
||||
### 10. API
|
||||
|
||||
Расширить:
|
||||
|
||||
```http
|
||||
GET /api/ueba
|
||||
```
|
||||
|
||||
если контракт позволяет.
|
||||
|
||||
Добавить поля:
|
||||
|
||||
```json
|
||||
{
|
||||
"confidence": "...",
|
||||
"classification": "...",
|
||||
"confidence_reasons": []
|
||||
}
|
||||
```
|
||||
|
||||
Также обновить:
|
||||
|
||||
```http
|
||||
GET /api/risk/narrative
|
||||
```
|
||||
|
||||
при необходимости.
|
||||
|
||||
---
|
||||
|
||||
### 11. Markdown Reports
|
||||
|
||||
Добавить раздел:
|
||||
|
||||
```text
|
||||
UEBA Confidence
|
||||
```
|
||||
|
||||
Показывать:
|
||||
|
||||
* severity;
|
||||
* confidence;
|
||||
* classification;
|
||||
* confidence reasons.
|
||||
|
||||
---
|
||||
|
||||
### 12. OpenAPI / TypeScript
|
||||
|
||||
Обновить контракты.
|
||||
|
||||
Только если реально изменяются API ответы.
|
||||
|
||||
---
|
||||
|
||||
### 13. Documentation
|
||||
|
||||
Создать:
|
||||
|
||||
```text
|
||||
docs/UEBA_CONFIDENCE_MODEL_RU.md
|
||||
```
|
||||
|
||||
Описать:
|
||||
|
||||
* что такое severity;
|
||||
* что такое confidence;
|
||||
* что такое classification;
|
||||
* почему они отличаются;
|
||||
* примеры интерпретации.
|
||||
|
||||
---
|
||||
|
||||
## Что запрещено
|
||||
|
||||
Запрещено:
|
||||
|
||||
* менять UEBA score;
|
||||
* менять weights;
|
||||
* менять thresholds;
|
||||
* менять severity rules;
|
||||
* скрывать высокий score;
|
||||
* искусственно занижать риск;
|
||||
* автоматически подтверждать инцидент;
|
||||
* добавлять ML;
|
||||
* добавлять LLM;
|
||||
* добавлять DLP claims;
|
||||
* добавлять SIEM claims.
|
||||
|
||||
---
|
||||
|
||||
## Проверки
|
||||
|
||||
Выполнить:
|
||||
|
||||
```bash
|
||||
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
|
||||
```
|
||||
|
||||
Также:
|
||||
|
||||
```bash
|
||||
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 не менялись.
|
||||
Reference in New Issue
Block a user