По данным IBM X-Force Threat Intelligence Index 2025, генерация фишинговых писем с помощью GenAI происходит в 11.4 раза быстрее при сопоставимом качестве с human-crafted аналогами. CrowdStrike Global Threat Report 2025 фиксирует удвоение вредоносного использования GenAI для социальной инженерии за 2024 год. На практике это выглядит прозаичнее: в тикет SOC прилетает BEC-письмо с безупречной грамматикой, точным контекстом и чистыми заголовками - SPF pass, DKIM pass, URL-репутация нейтральная. Единственная зацепка - текст слишком ровный. Нет характерных для живого автора перепадов стиля, нет случайных длинных предложений после коротких, нет "шероховатостей". Как это ловить, чем атрибутировать и что встраивать в SIEM - разбираю ниже.
Бизнес-логика атаки: зачем злоумышленнику LLM-контент
Прежде чем строить detection, стоит понять мотивацию. В терминах MITRE ATT&CK использование LLM атакующими раскладывается на несколько техник этапа Resource Development:- Obtain Capabilities: Artificial Intelligence (T1588.007, Resource Development) - злоумышленник получает доступ к LLM-сервису для генерации вредоносного контента
- Generate Content (T1683, Resource Development) - создание контента с помощью модели
- Generate Content: Written Content (T1683.001) - генерация текстов: фишинговых писем, deniable messaging, поддельной переписки
- Generate Content: Audio-Visual Content (T1683.002) - deepfake-аудио и видео для vishing
Финансовый импакт прямой. По данным Verizon DBIR 2025, 38% утечек данных связаны с кражей учётных данных. Mandiant M-Trends 2025 ставит фишинг на второе место по частоте среди векторов initial access - сразу после эксплуатации уязвимостей. LLM-сгенерированный фишинг повышает конверсию атаки: письмо проходит и автоматические фильтры, и человеческий eye-test.
При этом 57% организаций узнают об инциденте от внешней стороны (Mandiant M-Trends 2025), а медианное время нахождения злоумышленника в сети - 11 дней. За 11 дней LLM-генерированный контент спокойно используется для lateral phishing внутри скомпрометированной организации.
Методы детектирования LLM-сгенерированного контента
Perplexity, burstiness и статистический анализ текста
Два базовых статистических сигнала, которые SOC-аналитик должен понимать на уровне интуиции:Perplexity - мера того, насколько "удивлена" языковая модель текстом. LLM генерируют текст, выбирая наиболее вероятные токены на каждом шаге. Результат - текст с низкой perplexity: модель не удивляется собственному выводу. Человеческий текст "удивляет" модель сильнее, perplexity выше. В операционном смысле: если входящее письмо показывает аномально низкую perplexity при оценке через reference-модель - это флаг для триажа.
Burstiness - вариативность длины предложений и сложности конструкций. Человек пишет неравномерно: короткие фразы чередуются с длинными, сложность "плавает". LLM выдаёт более равномерный поток - низкая burstiness. Второй независимый сигнал.
Эти метрики работают как zero-shot детекторы: не требуют обучения отдельной модели. Достаточно прогнать текст через reference LLM и вычислить статистики распределения вероятностей токенов. В дашборде SOC это два числа рядом с телом письма. Оба в "красной зоне" - приоритет тикета растёт.
Классификаторы на базе RoBERTa и коммерческие API для AI-generated text detection
Более продвинутый подход - fine-tuned классификаторы на трансформерных архитектурах. Ключевые варианты и их trade-off:| Подход | Преимущества | Ограничения | Когда использовать | Когда не использовать |
|---|---|---|---|---|
| GPTZero API | Быстрая интеграция, не нужен ML-стек | Зависимость от внешнего сервиса, latency, стоимость | Первичный скоринг входящих писем | Изолированные сети, большие объёмы |
| Originality.ai | Высокая точность на английском, batch API | Снижение точности на русском языке | Англоязычный контент, маркетинг | Русскоязычный SOC-контекст |
| Fine-tuned RoBERTa (локальная) | Полный контроль, офлайн-работа, кастомизация под корпус | Требует GPU, обучающей выборки, регулярной переобучки | Корпоративный SOC с ML-командой | Малые команды без ML-экспертизы |
| DistilBERT (фильтрация) | Лёгкая, быстрая, работает как «песочница» перед LLM | Менее точная, чем полноразмерный BERT | Скрининг входного промпта к корпоративному LLM | Атрибуция конкретной модели |
Ни один инструмент не даёт 100% точности. Ложноположительные (человеческий текст помечен как AI) и ложноотрицательные (AI-текст проходит как человеческий) - рабочая реальность. Перефразированный AI-текст серьёзно роняет показатели детекции. Для языков кроме английского точность ниже - это прямо указано в документации GPTZero и Originality.ai. SOC в русскоязычном окружении должен учитывать этот фактор при калибровке порогов. Я бы закладывал +15-20% к false negative rate по сравнению с англоязычными бенчмарками.
LLM fingerprint методы: атрибуция модели-источника
Детектирование отвечает на вопрос "это написал LLM?". Fingerprinting - на вопрос "какой именно LLM?". Принципиально другая задача, и русскоязычные источники её почти не покрывают.Согласно систематическому обзору LLM fingerprinting (SoK: Large Language Model Copyright Auditing via Fingerprinting, arXiv, 2025), fingerprinting - неинтрузивная техника: извлекает уникальные характеристики модели без модификации её параметров. В отличие от watermarking, не требует предварительного вмешательства и работает с уже развёрнутыми системами. Практический пример: с помощью fingerprinting удалось доказать, что модель Llama3-V, представленная студентами Стэнфорда, - плагиат MiniCPM-Llama3-V от команды OpenBMB/Tsinghua.
Black-box fingerprinting и идентификация языковых моделей
Для SOC наиболее практичен black-box подход - доступа к весам модели нет, работаем только с входом/выходом.LLMmap (Pasquini et al., USENIX Security 2025) - эталонный инструмент. Набор специально подобранных промптов отправляется в целевую систему, ответы эмбеддируются и сопоставляются с каталогом известных моделей. По данным авторов, точность >95% в closed-set режиме при достаточном числе запросов. В open-set режиме результаты варьируются в зависимости от порога.
Но в реальности модель обёрнута в агентский фреймворк. Исследование Lasso Security проверило LLMmap против трёх агентских приложений (customer-service chatbot на LangChain, email assistant, research assistant с RAG на LangGraph) на 13 моделях (Claude, GPT-3.5/4, Llama-3, Mistral, Gemma) в 4 конфигурациях, изменяющих system prompt и наличие агентского цикла. Результат: fingerprint частично сохраняется через агентскую обёртку, но точность деградирует. System prompt, RAG-контекст и tool outputs размывают поведенческий сигнал.
Четыре свойства, критичные для LLM fingerprint методов (по данным того же исследования):
- Inter-model discrepancy - один промпт выдаёт разные ответы на разных моделях
- Intra-model consistency - один промпт выдаёт стабильные ответы на одной модели при разных конфигурациях
- Robustness - устойчивость к модификациям (fine-tuning, quantization, system prompts)
- Efficiency - минимальное число запросов для идентификации
Fingerprinting через Inter-Token Times: машинное обнаружение синтетического текста по сетевому трафику
Исследование "LLMs Have Rhythm" (2025) предлагает совершенно другой подход: идентификация модели не по содержанию ответа, а по временным паттернам генерации токенов. Авторегрессивные LLM генерируют текст по одному токену за раз, и интервалы между токенами (Inter-Token Times, ITT) формируют уникальный "ритм". Он зависит от архитектуры модели, размера параметров и аппаратной платформы.Для SOC тут самое интересное: эти паттерны сохраняются даже в зашифрованном сетевом трафике. Исследователи собрали DL-пайплайн на базе BiLSTM с multi-head attention, извлекающий 36 признаков из сетевого трафика (rate-based, inter-arrival time, time series, entropy features). Тестирование на 16 open-source SLM и 10 проприетарных LLM в сценариях: локальный хост (GPU/CPU), LAN, удалённая сеть и VPN - точность остаётся высокой во всех условиях.
Что это значит для SOC-аналитика: если злоумышленник внутри сети использует LLM-сервис через зашифрованный канал, сетевой трафик на уровне tap может выдать конкретную модель - пассивно, в реальном времени, без взаимодействия с контентом. Звучит как магия, но математика за этим стоит вполне конкретная.
Интеграция обнаружения ИИ угроз в SOC-процессы
Требования к окружению
- API-детекторы (GPTZero, Originality.ai): доступ к интернету, API-ключ, Python 3.9+ для скрипта enrichment
- Локальный RoBERTa-классификатор: GNU/Linux (Ubuntu 20.04+), Python 3.9+, минимум 8 ГБ RAM, GPU с 4 ГБ VRAM рекомендуется (CPU-inference в 10-15 раз медленнее), PyTorch 2.0+, transformers 4.30+
- ITT-fingerprinting: сетевой tap или зеркалирование трафика (SPAN-порт), минимум 16 ГБ RAM, GPU для DL-классификатора
- SIEM: Splunk, Elastic или аналог с поддержкой custom enrichment (lookup, API-enrichment)
Пайплайн обработки и SOC AI threats анализ
Пайплайн строится как цепочка enrichment-шагов поверх существующего SOC-процесса. Ничего не ломаем, ничего не заменяем:Шаг 1 - Триггер. Срабатывает текущее правило корреляции на подозрительное входящее письмо: новый отправитель, lookalike-домен, нетипичная тема для получателя. Workflow не меняется.
Шаг 2 - Извлечение текста. Из алерта вытаскиваем тело письма, вложения парсим (docx, pdf в plain text). Автоматизация через SOAR или скрипт enrichment в SIEM.
Шаг 3 - AI-скоринг. Текст уходит на детектор. На выходе - скор вероятности AI-генерации (0.0-1.0).
Шаг 4 - Enrichment алерта. Скор добавляется как custom field. Пороги для триажа: >0.85 - повышение приоритета; 0.5-0.85 - ручная верификация аналитиком; <0.5 - стандартный поток.
Шаг 5 - Атрибуция (опционально). При высоком скоре - попытка fingerprinting для определения модели-источника. Кластеризация инцидентов по модели может указать на единую кампанию.
Пример корреляционного правила (концепция для Splunk):
Код:
index=email sourcetype=enriched_mail
| where ai_detection_score > 0.85
| where sender_reputation < 50 OR domain_age_days < 30
| stats count by sender_domain, recipient_department
| where count > 3
| alert "AI-Generated Phishing Campaign Detected"
Ограничения техники: adversarial обход детекторов
Любой детектор - это гонка вооружений. Вот чем его ломают:Paraphrasing attacks. Злоумышленник прогоняет LLM-текст через второй LLM с промптом "перефразируй". Perplexity растёт, burstiness увеличивается, статистические маркеры размываются. Один из основных adversarial методов - и он работает пугающе хорошо.
Back-translation. Текст переводится на промежуточный язык и обратно. Стилистические артефакты LLM частично теряются - текст выглядит «человечнее» из-за переводческих шероховатостей. Дёшево, сердито, эффективно.
Prompt engineering под обход. Продвинутые промпты заставляют LLM писать как человек: с ошибками, разговорными конструкциями, перепадами стиля. Это повышает burstiness и perplexity, обманывая zero-shot детекторы.
Fingerprinting evasion. По данным обзора SoK (2025), метод MEraser демонстрирует полное удаление ранее внедрённых fingerprint-ов через двухфазный процесс: разрушение trigger-output ассоциации несогласованным датасетом, затем быстрое восстановление языковых способностей модели. Fingerprint Success Rate падает до 0%. Ноль.
Агентские обёртки как камуфляж. Тестирование Lasso Security показало: system prompt, RAG-контекст и tool outputs автоматически деградируют точность fingerprinting. Злоумышленник, использующий LLM через агентский фреймворк, получает "камуфляж" без дополнительных усилий. Бесплатный бонус к opsec.
Мультиязычность. Большинство детекторов заточены под английский. Для русского языка точность ниже - это прямо указано вендорами GPTZero и Originality.ai. При калибровке порогов для русскоязычного SOC закладывайте повышенный false negative rate.
Чеклист: обнаружение AI-сгенерированного контента в SOC
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
За последний год я интегрировал три разных детектора в SOC-пайплайн и пришёл к неудобному выводу: ни один не работает как самостоятельный инструмент триажа. Perplexity-метрики дают приемлемый результат на чистом LLM-выводе, но ломаются на отредактированном тексте. RoBERTa-классификаторы показывают красивую accuracy на бенчмарках, а в продуктиве false positive rate на русскоязычном контенте выходит за рамки после первой же недели. LLM fingerprinting через LLMmap - перспективная техника для атрибуции, но агентские обёртки (тестирование Lasso Security) деградируют точность до неприемлемого уровня.
Реальная проблема глубже. SOC-команды хотят бинарный ответ "AI или не AI" - но вопрос бинарным не бывает. Текст может быть частично сгенерирован, отредактирован человеком, прогнан через переводчик - граница стёрта. Более рабочий подход - относиться к AI-скору как к одному из сигналов в корреляционном правиле, наравне с репутацией домена, возрастом аккаунта и поведенческими аномалиями. Не "детектировать AI", а "повысить приоритет тикета, где совпали три-четыре слабых сигнала, один из которых - AI-скор". Те команды, которые встроили AI-детекцию именно так - как enrichment, а не как verdict - получают рабочий pipeline. Остальные тонут в ложных срабатываниях. По кейсам с AI-фишингом на codeby.net разбираем реальные ситуации триажа - стоит заглянуть, если строите аналогичный pipeline.
Последнее редактирование модератором: