К содержимому
Справочник архитектуры

Движок Корреляции v3

Движок Корреляции трансформирует сырые ИБ-события в инциденты, обнаруживая многоэтапные атаки, перекрёстные паттерны сенсоров и темпоральные аномалии.


Обзор

Если столбцы не помещаются, прокрутите таблицу по горизонтали.

МетрикаЗначение
Встроенные правила15
Окно корреляции5 минут (настраиваемо)
Кластеризация алертовDBSCAN + MiniLM эмбеддинги
Снижение шума100+ алертов/час → 5-10 инцидентов
Интеграция LatticeTSA, GPS, MIRE примитивы

Как работает корреляция

Пример кода
Сырые события (100+/час)
    │
    ├── 1. Группировка по временным окнам ── 5-минутные окна
    │
    ├── 2. Сверка с правилами ─────────────── 15 правил параллельно
    │
    ├── 3. Маппинг на Kill Chain ──────────── MITRE ATT&CK стадии
    │
    ├── 4. Кластеризация алертов ──────────── DBSCAN убирает дубликаты
    │
    ├── 5. Расчёт серьёзности ─────────────── Max(серьёзность) + эскалация
    │
    └── 6. Создание инцидента ─────────────── Уникальный инцидент + связи
    
Коррелированные инциденты (5-10/час)

Встроенные правила

Правила многоэтапных атак

Если столбцы не помещаются, прокрутите таблицу по горизонтали.

#Rule IDТриггерные событияОкноСерьёзность
1MULTI_STAGE_JAILBREAKjailbreak → tool_abuse5мHIGH
2EXFILTRATION_CHAINpii_detected → exfiltration → network_alert5мCRITICAL
3INJECTION_TO_EXECinjection → tool_abuse (file/exec)3мCRITICAL
4CRESCENDO_ATTACK5+ low-severity от одного источника10мHIGH
5DORMANT_PAYLOAD_ACTIVATIONdormant_payload → any_high_severity30мCRITICAL

Перекрёстные правила сенсоров

Если столбцы не помещаются, прокрутите таблицу по горизонтали.

#Rule IDТриггерОкноСерьёзность
6BYPASS_SHIELD_THEN_INJECTshield_block → core_detect30сHIGH
7CROSS_SENSOR_ESCALATIONshield_bypass + core_detect1мCRITICAL
8IMMUNE_KERNEL_PLUS_COREimmune_alert + core_alert2мHIGH

Темпоральные правила

Если столбцы не помещаются, прокрутите таблицу по горизонтали.

#Rule IDТриггерОкноСерьёзность
9REPEATED_TOOL_ABUSE3+ tool_abuse с одного IP10мHIGH
10ALERT_FLOOD100+ событий с одного сенсора60сMEDIUM
11BRUTE_FORCE_PATTERN10+ попыток auth_bypass5мHIGH

Lattice-правила

Если столбцы не помещаются, прокрутите таблицу по горизонтали.

#Rule IDТриггерПримитивСерьёзность
12TSA_VIOLATIONНарушение Temporal Safety AutomataTSACRITICAL
13GPS_HIGH_DANGERGoal Predictability Score > 0.7GPSHIGH
14MIRE_CONTAINMENTСработал контейнмент моделиMIRECRITICAL
15IRM_HIDDEN_INTENTIntent Revelation расхождение > 0.5IRMHIGH

Формат определения правил

Правила определяются в YAML:

YAML
rules:
  - id: MULTI_STAGE_JAILBREAK
    name: "Multi-Stage Jailbreak Attack"
    description: "Jailbreak с последующим tool_abuse в течение 5 минут"
    enabled: true
    
    conditions:
      - sequence:
          - category: jailbreak
            min_confidence: 0.7
          - category: tool_abuse
            min_confidence: 0.5
        within: "5m"
        same_field: "source_ip"
    
    action:
      create_incident: true
      severity: HIGH
      kill_chain_stage: "exploitation"
      playbook: "auto_block_jailbreak"
      
    metadata:
      mitre_atlas: ["AML.T0054", "AML.T0040"]
      owasp_llm: ["LLM01", "LLM07"]

Типы условий

Если столбцы не помещаются, прокрутите таблицу по горизонтали.

ТипОписаниеПример
sequenceСобытия в порядкеjailbreak → tool_abuse
countN событий типа3+ tool_abuse
absenceОжидаемое событие отсутствуетНет auth в течение 5м после доступа
thresholdМетрика превышает значениеGPS > 0.7

Параметры совпадения

Если столбцы не помещаются, прокрутите таблицу по горизонтали.

ПараметрОписание
withinВременное окно корреляции
same_fieldСобытия должны совпадать по этому полю
different_sourceСобытия от разных сенсоров
min_confidenceМинимальная уверенность на событие

Кластеризация алертов

Проблема

66 движков × входящие запросы = сотни сырых алертов в час. Большинство связаны с одной и той же атакой.

Решение: DBSCAN + MiniLM

Пример кода
100+ сырых алертов
    │
    ├── 1. Эмбеддинг описаний алертов (MiniLM-L6)
    │       → 384-мерные вектора
    │
    ├── 2. Кластеризация DBSCAN (ε=0.3, min_samples=3)
    │       → Группировка похожих
    │
    ├── 3. Выбор представителя
    │       → Алерт с наивысшей уверенностью из кластера
    │
    └── 4. Фильтрация шума
            → Изолированные алерты остаются как отдельные события

5-10 кластеров, достойных инцидента

Конфигурация

YAML
correlation:
  clustering:
    enabled: true
    algorithm: "dbscan"
    min_cluster_size: 3       # Минимум событий на кластер
    similarity_threshold: 0.7  # Порог косинусного сходства
    embedding_model: "all-MiniLM-L6-v2"

Маппинг на Kill Chain

Коррелированные инциденты маппятся на стадии атаки:

Пример кода
┌────────────┐  ┌────────────┐  ┌────────────┐  ┌────────────┐
│   Разведка │→ │  Доставка  │→ │Эксплуатация│→ │  Действие  │
│            │  │            │  │            │  │            │
│ injection  │  │ shield_blk │  │ jailbreak  │  │exfiltration│
│ probe      │  │ evasion    │  │ tool_abuse │  │ pii_leak   │
└────────────┘  └────────────┘  └────────────┘  └────────────┘

Каждый инцидент показывает:

  • Стадия Kill Chain: Текущая фаза атаки
  • Прогресс: Визуальный таймлайн стадий
  • Прогноз: GPS-прогноз вероятной следующей стадии

Жизненный цикл инцидента

Пример кода
┌────────────────────────────────────────────────────┐
│                                                    │
│   ┌──────┐     ┌───────────────┐     ┌──────────┐│
│   │ OPEN │────▶│ INVESTIGATING │────▶│ RESOLVED ││
│   └──┬───┘     └───────┬───────┘     └──────────┘│
│      │                 │                          │
│      │         ┌───────▼───────┐                  │
│      └────────▶│  ESCALATED   │                  │
│                │ (Zero-G mode) │                  │
│                └───────────────┘                  │
│                                                    │
└────────────────────────────────────────────────────┘

Если столбцы не помещаются, прокрутите таблицу по горизонтали.

СтатусОписаниеДоступные действия
OPENНовый, не подтверждённыйПодтвердить, эскалировать
INVESTIGATINGАналитик работаетЗапуск playbook, обновление, закрытие
ESCALATEDТребуется старший аналитикДействия Zero-G
RESOLVEDОбработан и задокументированПереоткрыть (при необходимости)

Производительность

Если столбцы не помещаются, прокрутите таблицу по горизонтали.

МетрикаЗначение
Оценка правил<5мс для всех 15 правил
Кластеризация<50мс для 100 алертов
Сквозная корреляция<100мс
Использование памяти~50MB для движка правил
Макс. параллельных корреляций1000

Пользовательские правила

Формат и актуальные публичные рекомендации собраны в разделе Пользовательские правила.


Дальнейшие шаги

Движок Корреляции v3 | Spectorn