Найти в Дзене
SecureTechTalks

🧠 NER в кибераналитике: как данные путают модели

🧠 NER в кибераналитике: как данные путают модели Новое исследование поставило под сомнение ключевую гипотезу: что больше данных — это всегда лучше. Спойлер: нет. 📌 В чём суть? Модели для распознавания сущностей (NER), обученные на кибербезопасных датасетах, резко теряют точность, если объединить разные наборы данных. Потери достигают -27% по F1-score. Причина — противоречия в аннотациях: в одном датасете Google — это компания, в другом — система. ⚔️ Суть проблемы Исследователи объединили 4 популярных датасета из кибердомена: - APTNER — отчёты по APT-группам, 260K токенов, 21 тип сущности - CYNER — отчёты threat intelligence, 107K токенов, 5 сущностей - DNRTI — данные из GitHub и госструктур, 175K токенов, 13 сущностей - ATTACKER — блоги исследователей, 79K токенов, 18 сущностей После унификации все сущности были сведены к 4 основным классам: 🟩 Organization 🟧 System 🟥 Vulnerability 🟦 Malware Но… оказалось, что одни и те же слова аннотированы по-разному: • Linux в одном случ

🧠 NER в кибераналитике: как данные путают модели

Новое исследование поставило под сомнение ключевую гипотезу: что больше данных — это всегда лучше. Спойлер: нет.

📌 В чём суть?

Модели для распознавания сущностей (NER), обученные на кибербезопасных датасетах, резко теряют точность, если объединить разные наборы данных. Потери достигают -27% по F1-score. Причина — противоречия в аннотациях: в одном датасете Google — это компания, в другом — система.

⚔️ Суть проблемы

Исследователи объединили 4 популярных датасета из кибердомена:

- APTNER — отчёты по APT-группам, 260K токенов, 21 тип сущности

- CYNER — отчёты threat intelligence, 107K токенов, 5 сущностей

- DNRTI — данные из GitHub и госструктур, 175K токенов, 13 сущностей

- ATTACKER — блоги исследователей, 79K токенов, 18 сущностей

После унификации все сущности были сведены к 4 основным классам:

🟩 Organization

🟧 System

🟥 Vulnerability

🟦 Malware

Но… оказалось, что одни и те же слова аннотированы по-разному:

• Linux в одном случае — System, в другом — вообще не сущность

• Dridex — то Malware, то System

• Google — одновременно Organization и System (зависит от контекста)

• sample — где-то файл, где-то вредонос

Итог: при обучении на одном датасете и тестировании на другом — модели начинают «сходить с ума», делая лавину ошибок.

📉 Что показал эксперимент?

Модель, обученная на DNRTI, показывает F1 = 0.41 на нём же,

но при тестировании на CYNER падает до 0.07.

Самая болезненная потеря: обучение на ATTACKER, тест на APTNER → F1 = 0.01!

Даже самые продвинутые модели не справляются: мультиголовые и графовые подходы дают мизерный прирост точности.

🔍 Почему это происходит?

➖Аннотационный сдвиг

В разных датасетах используются разные правила выделения сущностей (напр., включать ли скобки в SolarWinds (USA)).

➖Потеря контекста при унификации

Специфичные теги (THREAT_ACTOR) превращаются в обобщённые (Organization), теряя смысл.

➖Дистрибутивные расхождения

Распределения токенов и частот меток между датасетами сильно различаются — это измеряется JS-дивергенцией до 0.24.

➖Перекос в метке "O"

После объединения данные становятся более "разреженными", и модель чаще классифицирует всё как не-сущности → рост ложных отрицаний на 15%.

🧠 Тестируемые подходы

Мультиголовая архитектура:

Отдельные выходы на каждый датасет + общая база. Давала лучшие результаты (например, F1 = 0.52 на DNRTI), но всё равно недостаточные.

LST-NER (графовая модель):

Использует схожесть сущностей между датасетами через метрику Gromov-Wasserstein. Увы, почти не превосходит BERT base.

🛡 Практические советы для аналитиков и ML-инженеров:

✅ Не объединяйте кибердатасеты вслепую — всегда проводите кросс-валидацию

✅ Формализуйте гайдлайны для аннотаторов:

Что такое System, где кончается Organization

Как оформлять spans и что исключать

✅ Валидируйте на чужих данных — если вы делаете модель под отчёты Mandiant, тестируйте на GitHub или CISA

✅ Лучше взять BERT и дообучить, чем писать кастомную архитектуру с нуля — он устойчивее ко сдвигам в разметке

🚀 Что дальше?

✍️ Нужны индустриальные стандарты по аннотациям (вроде MITRE ATT&CK для NER)

🧠 Полуавтоматическая разметка с проверкой экспертом

🔬 Использование доменно-специфичных эмбеддингов (например, на основе ThreatCrowd, VirusTotal)

📌 Итог:

Объединение данных ≠ усиление модели. В кибердомене — наоборот: различия в аннотациях могут убить всю обобщающую способность.

📎 Ресурсы:

Исследование

Код и данные

#CyberNER #SecureTechTalks #ThreatIntel #DataLabeling #MachineLearning #SOCtools #DataDrift