Threat Intelligence сегодня - это модное словечко, которое успешно превратили в мусор. Его используют все, кто хочет продать тебе «волшебную таблетку»: подписку на фиды с миллионами IP, панели с мигающими иконками, отчёты на 100 страниц, где суть умещается в одном абзаце.
В результате 90% команд, которые «внедрили TI», на самом деле просто стали коллекционерами цифровых марок. Они копят тонны данных, которые никогда не превратятся в действие. И в тот момент, когда по ним бьёт реальная, целенаправленная атака, они оказываются слепыми, потому что их «разведданные» - это шум, а не сигнал.
Правда заключается в том, что настоящая Threat Intelligence - это не про данные. Это про принятие решений. Это не ответ на вопрос «Что происходит в мире?», а ответ на три простых и адски сложных вопроса:
- КТО сейчас целенаправленно пытается взломать именно мою организацию?
- КАК он будет это делать, учитывая мои дыры и его любимые инструменты?
- КУДА мне нужно бежать прямо сейчас, чтобы поставить щит на пути его конкретного топора?
В этой статье мы разберём TI на кости и соберём обратно, но только рабочую часть. Мы пройдем весь путь:
- От сырых источников (где искать не то, что продают, а то, что реально работает).
- Через кузницу (как превратить тонны мусора в отточенные патроны с помощью платформ вроде MISP).
- До автоматической интеграции (как заставить эти патроны сами заряжаться в обоймы твоего фаервола, SIEM и EDR).
- И главное - как фильтровать шум, чтобы сосредоточиться только на тех 10% угроз, которые представляют реальную опасность именно для тебя.
Сырьё: Из чего на самом деле варится интеллект
Давай разберём это сырьё по полочкам. Забудь про разделение на "открытые" и "закрытые" источники. Для нас важно разделение на "шумные" и "сигнальные". Наша задача - отфильтровать первое и выцепить второе.
Источник 1: OSINT и Даркнет - Искусство слушать чужие разговоры
Open Source Intelligence (OSINT) - это не просто "погуглить". Это целая дисциплина по выуживанию информации из публичного цифрового пространства, которую противник по глупости засветил. А Даркнет - его грязное подполье, где продаются твои же утекшие данные.Что ищем:
Утекшие базы логинов-паролей твоей компании (проверь свой корпоративный email на
Ссылка скрыта от гостей
- уже сделал?). Обсуждения твоего бренда на хакерских форумах: "Ребята, у ЭтихРебят старый JBoss, можно ковырнуть". Новые фишинговые домены, зарегистрированные вчера под видом твоего корпоративного портала. Свежие сэмплы малвари (образцы вредоносного ПО) и отчеты о них в блогах независимых исследователей.Практические инструменты:
Это не только Shodan для поиска открытых веб-камер в твоей же сети (да, такое бывает). Это Telegram-мониторинг специализированных каналов, где сливают данные. Это парсинг GitHub на случайно закоммиченные разработчиками ключи AWS или конфиги. Это использование Whois и Passive DNS (например, через SecurityTrails) чтобы отследить, кто и когда регистрировал домен-клон твоего сайта.
Ты должен научиться думать как твой враг и искать там, где он ошибается. Его хвастовство на форуме - твоя победа. Его утечка - твой сигнал к тотальной смене паролей.
Источник 2: Анализ зловредов в песочницах - Вскрытие трупа для понимания, как убивает нож
Когда в сеть попадает свежий образец малвари (троян, шифровальщик), его нельзя просто запустить. Его нужно поместить в песочницу (sandbox) - изолированную среду.- Что ищем: Не просто факт "файл вредоносный". А конкретные артефакты его жизни: на какие C2-сервера (Command & Control) он пытается выйти, какие домены генерирует для общения (DGA - Domain Generation Algorithm), какие техники использует для скрытия в системе (инжект в легитимный процесс, создание служб). Из этого вытаскиваются индикаторы компрометации (IOC): хеши файлов, IP-адреса, URL.
- Практические инструменты: Публичные песочницы вроде ANY.RUN, Hybrid Analysis или VirusTotal (да, у него есть sandbox). Закидываешь файл - получаешь отчет. Смотри раздел "Network Activity" - вот тебе потенциальные C2. Смотри "Process Tree" - вот как он пытается выжить.
- Пример из жизни: Ты анализируешь свежий троян и видишь, что для C2 он использует протокол WebSocket, подключаясь к домену в зоне .top. Ты тут же пишешь правило в SIEM на детектирование WebSocket-соединений с подобными доменами и добавляешь этот домен в блокировку на DNS-фильтре. Враг обезврежен, не успев начать.
Источник 3: Технические фиды и аптечные наборы - Покупаем "готовые патроны", но пересматриваем каждый
Фиды угроз (Threat Intelligence Feeds) - это структурированные потоки IOC. Они бывают открытыми (бесплатными) и коммерческими (платными).- Суровая правда об открытых фидах:
Их ценность часто переоценена. Да, ты получишь миллионы IP-адресов и хешей. Но 80% из них будут нерелевантны твоей отрасли или географии, а половина - уже устарели (домен, использовавшийся в атаке год назад, теперь может быть легальным сайтом). Это информационный шум, который только засоряет твои системы.
- Что ищем в фидах:
Не объём, а релевантность и контекст. Хороший фид отвечает на вопросы: Какой группировкой (APT) используется этот индикатор? На какие отрасли она охотится? Какие TTP (тактики, техники и процедуры) применяет?. Тебе не нужны все угрозы мира. Тебе нужны угрозы для тебя.
- Практический подход:
Не подписывайся на всё подряд. Выбери 2-3 качественных источника. Фильтруй их по своему профилю (например, "финансовый сектор, Восточная Европа"). Автоматизируй загрузку в свою TI-платформу (например, MISP) или SIEM, но всегда настраивай карантин - сначала IOC попадают в лог, а не сразу в блокировку. Смотри, не поломают ли они что-то легитимное.
Источник 4: Собственные логи - Золотая жила, которую ты игнорируешь
Самый важный и самый недооценённый источник. Твоя сеть уже говорит с тобой. Ты её просто не слушаешь.- Что ищем: Аномалии, которые уже есть. Поведенческие паттерны, не вписывающиеся в норму. Это не про IOC извне, а про Internal TI.
- DNS-логи: Какой хост внезапно начал резолвить десятки случайных доменов каждую минуту? (Возможный DNS-туннель).
- Прокси-логи: Почему сервер бухгалтерии ночью качает гигабайты данных с pastebin.com? (Возможный вывод данных).
- Логи EDR (Endpoint Detection and Response): Почему на 50 машинах одновременно запустился powershell.exe с одними и теми же кривыми аргументами? (Возможная горизонтальная экспансия).
- Практический инструмент: Honeypot (Ловушка). Разверни в своей сети "слащавый" сервер-приманку с уязвимым софтом. Ни один легитимный пользователь к нему не обратится. Но любой зонд хакера, любой червь, ползущий по сети, обязательно тыкнется в него носом. Его логи - чистейший сигнал о начале атаки.
Обработка и нормализация: Как превратить тонны мусора в стреляные патроны
Итак, дружище, ты нашёл свою «золотую руду». Сидишь перед грудой: где-то тут слитый дамп логов с какого-то форума, там - отчёт по малвари с кучей IP, а ещё - пять CSV-файлов от разных «фидов угроз», где столбцы называются по-разному, и всё это сыплется в общую папку на SFTP. Поздравляю, ты достиг стадии Dumping Ground (свалка). Сейчас 90% команд останавливаются, задыхаясь под грузом данных, которые невозможно применить.
Но мы пойдём дальше. Потому что сырые данные - это не оружие. Это металлолом, песок и порох в разных мешках. Наша задача - построить кузницу и патронный завод. Завод, где из этого хаоса будут штамповаться одинаковые, готовые к употреблению патроны, которые можно зарядить в обойму твоего фаервола, SIEM или EDR.
Проблема №1: Вавилонское столпотворение данных
У тебя данные в разных форматах:
- От вендора А: Красивый PDF на 50 страниц. Твоя задача - вручную выковыривать из него IP-адреса, копировать их в блокнот, а потом вставлять в CLI твоего маршрутизатора. Это проигрыш. Это путь в никуда.
- От вендора Б: CSV-файл, где столбцы
ip,domain,malware_family. Норм? Не очень. Что такоеmalware_family? Это"RAT"или"AgentTesla"? Как это сопоставить с тем, что у тебя в системе? - От OSINT-инструмента: JSON с тысячами записей, где каждая - своя структура.
- Из твоих логов: Сырой syslog, где всё свалено в кучу.
Вывод: Ручная обработка = смерть. Автоматизация без стандартов = хаос. Нужен стандарт и единая точка приёма.
Решение: Платформы управления TI - твой штаб и арсенал
Это не «коробки для галочки». Это Force Multiplier - силовой множитель. Твои один мозг и две руки умножаются на мощь автоматизации.
MISP (Malware Information Sharing Platform & Threat Sharing) - «рабочая лошадка» сообщества. Опенсорсный, проверенный в боях. Его среда - события (Events). Всё вращается вокруг них.
Как это работает: Ты создаёшь Событие «Фишинг против нашей компании, ноябрь 2023». В него добавляешь все связанные объекты (Objects): фрод-домены, IP-адреса серверов, вложенные письма (с хешами), ссылки на репорты. Каждому объекту ты присваиваешь теги (Tags):
tlp:white, phishing, target:finance. Ты связываешь их между собой, показывая отношения. В итоге получается не набор строк, а наглядный граф атаки.Суперсила MISP - автоматизация обмена. Ты можешь подписаться на сообщества или фиды в формате STIX/TAXII. Свежие индикаторы будут сами прилетать в твою базу. И ты можешь точно так же, соблюдая TLP (Traffic Light Protocol), делиться своими находками с доверенными партнёрами. Из MISP можно автоматически экспортировать чёрные списки для DNS (RPZ), фаервола (CSV) или SIEM (JSON). Это и есть наш «патронный завод».
OpenCTI - более молодая, агрессивно развивающаяся платформа. Её назначение - знания (Knowledge) и их графовые связи. Она из коробки заточена под модель MITRE ATT&CK. Если MISP больше про индикаторы (IOC), то OpenCTI - про тактики, техники, группировки (APT) и их взаимосвязи. Она сложнее в освоении, но даёт невероятно мощную аналитическую картину: «Группировка FIN7 (Actor) использует технику T1566.001 (Phishing: Spearphishing Attachment) для доставки малвари (Malware) под названием Carbanak, который использует домены (Domain) из такого-то пула».
Что выбрать? Если ты только начинаешь и тебе нужно быстро применить индикаторы - бери MISP. Если у тебя есть аналитики, которые строят долгосрочные картины угроз и охотятся по TTP - смотри в сторону OpenCTI. В идеале - они могут работать вместе.
Стандарт, который всех спас: STIX/TAXII - протокол для взрослых
Это не просто «ещё один формат». Это язык, на котором системы обмениваются разведданными. Пытаться без него - как пытаться собрать Ikea без инструкции, где все детали из разных наборов.
STIX (Structured Threat Information eXpression) - это алфавит и грамматика. Он определяет, как описать киберугрозу: что такое
Indicator, Malware, Attack-Pattern, Campaign, Threat-Actor. Это структурированный JSON, который понимают машины.TAXII (Trusted Automated eXchange of Indicator Information) - это почта. Протокол доставки STIX-пакетов. Подписка (
poll), доставка (push).Почему это революция: Раньше ты получал PDF, ворчал и вручную вбивал данные. Теперь твой MISP может по TAXII подписаться на фид от, например, CERT какой-нибудь страны. Новые индикаторы в формате STIX будут автоматически появляться у тебя в базе, уже размеченные, с тегами и контекстом. Твоя задача - только настроить правила экспорта из MISP в твои защитные системы.
Практика: Быстрый старт с MISP на коленке
Вот как за час поднять свою первую кузницу (на примере Linux-сервера):
Установка (Docker - наш спаситель):
Код:
bash
# Клонируем официальный репозиторий с docker-композом
git clone https://github.com/MISP/docker.git
cd docker
# Запускаем (потребует время на первую сборку)
docker-compose -f docker-compose.yml up -d
https://localhost. Логин/пароль по умолчанию - admin@admin.test / admin. Сразу же смени!Первые шаги внутри:
- Создай своё первое Событие: Интерфейс ->
Events->Add Event. Дайте название, выберитеthreat-level,analysis. - Добавь индикаторы: Внутри события кнопка
Add Attribute. Добавь, например, типdomainсо значениемevil-domain[.]com. В полеcommentукажи "Фишинг-домен из рассылки 10.11.2023". Поставь тегtlp:greenиphishing. - Подпишись на открытый фид: Зайди в
Sync Actions->List Feeds. Активируй встроенный фид от CIRCL (SSL Blacklist). MISP начнёт сам забирать оттуда данные.
Автоматизируй экспорт (самое важное): Нам нужно, чтобы подозрительные домены из MISP автоматически блокировались на корпоративном DNS.
- В MISP иди в
Administration->Server Settings->Plugin settings. - Найди и включи плагин
RPZ(Response Policy Zone). - Настрой его, указав путь, куда генерировать файл зоны. Этот файл можно подложить в Bind или Unbound. Теперь любой запрос к домену из твоей MISP-базы будет получать ответ
NXDOMAINили переадресовываться на заглушку. Это и есть рабочий патрон.
Твоя цель на этом этапе:
- Поставить MISP (хотя бы в тестовом окружении).
- Научить его есть фиды (подписаться на 1-2 открытых).
- Научить его кормить твои системы защиты (настроить экспорт в DNS RPZ или чёрный список для прокси).
apt29. И ты знаешь, что делать.Интеграция в жизнь: TI, которая работает на автомате, пока ты спишь
Вот мы и подобрались к самому главному, брат. Ты поставил MISP, он полон красивых индикаторов и тегов. И что дальше? Если твой следующий шаг - распечатать дашборд и похлопать себя по плечу, то вся наша работа насмарку. TI, которая лежит на полке - мёртвая TI.
Цель - не иметь данные. Цель - чтобы эти данные меняли состояние твоей защиты в реальном времени, без твоего прямого участия. Чтобы враг натыкался на уже опущенный шлагбаум, который опустился за пять минут до его появления. Давай посмотрим, как встроить наш патронный завод прямо в обойму твоих систем.
Принцип №1: Автоматизация или смерть
Любое действие, которое ты делаешь с TI-данными больше одного раза, должно быть автоматизировано. SOAR (Security Orchestration, Automation and Response) - это не про дорогие коробки. Это cron, Python-скрипты, вебхуки и API.
Сценарий «Паника на палубе»:
Допустим, в твой MISP прилетел свежий индикатор - новый домен для фишинга, нацеленного на твой сектор. В идеальном мире должен запуститься такой конвейер:
- MISP получает индикатор (вручную аналитиком или из фида).
- Скрипт (через MISP'овский
POSTили вебхук) забирает этот домен. - Скрипт добавляет его в чёрный список корпоративного DNS-фильтра (Pi-hole, RPZ в BIND) и в политику прокси-сервера.
- Скрипт отправляет запрос в API почтового шлюза, добавляя домен в список блокировки вложений/ссылок.
- Скрипт отправляет алерт в Telegram-чат SOC: «Внесён домен
evil-phish[.]com, источник - фидPhishFeed_Alpha». - ВСЁ. Время выполнения: 10 секунд. Время реакции: 0 секунд. Потенциальная жертва даже не узнала об угрозе.
Вот пример ядра такого скрипта на Python:
Python:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# ti_automata.py - Автомат по блокировке доменов из MISP
import requests
import json
from misp_client import MISPClient # Упрощённый клиент для MISP API
from dns_manager import update_rpz # Функция для обновления RPZ-зоны
from proxy_manager import block_domain # Функция для блокировки в прокси
from telegram_bot import send_alert # Отправка в Telegram
MISP_URL = "https://your-misp.local"
MISP_KEY = "your_secret_key_here"
def process_new_domain(domain, event_id, tags):
"""Обрабатывает новый домен-угрозу."""
print(f"[+] Новый враг: {domain} (Событие: {event_id})")
# 1. Добавляем в DNS RPZ (самая быстрая блокировка)
update_rpz(domain, "blackhole")
print(f" [OK] Добавлен в DNS RPZ.")
# 2. Блокируем на прокси-сервере (Squid, Bluecoat)
proxy_result = block_domain(domain, category="phishing")
print(f" [OK] Заблокирован на прокси: {proxy_result}")
# 3. Если есть тег 'credential-phishing', кидаем алерт в чат
if "credential-phishing" in tags:
message = f" КРИТИЧНО: Фишинг для учёток! Домен {domain} заблокирован."
send_alert(message)
print(f" [OK] Критический алерт отправлен.")
# Основной цикл: опрашиваем MISP на события с тегом 'to-be-blocked'
def main():
misp = MISPClient(MISP_URL, MISP_KEY)
while True:
events = misp.search(controller="events", tags="to-be-blocked", published=False)
for event in events:
for attr in event["Attribute"]:
if attr["type"] == "domain":
process_new_domain(attr["value"], event["id"], event["Tag"])
misp.publish_event(event["id"]) # Помечаем событие как обработанное
time.sleep(60) # Проверяем раз в минуту
if __name__ == "__main__":
main()
Точка интеграции 2: Обогащение событий в SIEM - из серого шума в красный флаг
Твоя SIEM (Splunk, ELK, QRadar) тонет в миллионах событий в день. 99.9% - шум. TI - это лучший фильтр. Идея проста: каждое подозрительное событие (например, исходящее соединение на нестандартный порт) должно автоматически проверяться по твоим базам TI.
Как это работает:
- В SIEM приходит событие:
Host: WS-102 | Dest_IP: 185.10.10.10 | Dest_Port: 4444. - Обогащатель (enricher) в SIEM делает запрос к API MISP или к локальной копии базы индикаторов (например, в виде lookup-таблицы): «Эй, есть у тебя IP 185.10.10.10?»
- MISP отвечает: «Да, есть. Это C2-сервер трояна
Azorult. Вот тег:credential-stealer. Вот ссылка на репорт». - SIEM автоматически повышает критичность события с "Low" до "Critical", добавляет поле
threat_intel: Azorultи, по правилу, может создать высокоприоритетный инцидент или даже запустить скрипт изоляции хоста.
Практика с Splunk (пример SPL-запроса):
SQL:
index=firewall src_ip=10.0.0.* dest_ip=*
| lookup threat_intel_ip_lookup dest_ip OUTPUT threat_description, malware_family, confidence
| where isnotnull(threat_description)
| stats count by src_ip, dest_ip, threat_description, malware_family
| sort -count
threat_intel_ip_lookup (которую ты ежедневно обновляешь из MISP), и покажет только те соединения, которые ведут на известные плохие IP. Шум отсеян. Остались только подтверждённые угрозы.Точка интеграции 3: Проактивная охота (Threat Hunting) - охота по карте
Это высший пилотаж. Ты не ждёшь алерта. Ты используешь TI как карту местности, где может прятаться враг.
Пример сценария:
В свежем отчёте по APT29 сказано: «Группировка использует легитимную утилиту
certutil.exe для декодирования и запуска полезной нагрузки из файла, замаскированного под картинку (jpg).»Охотник (это можешь быть ты) не ищет вирус. Он ищет аномалию в использовании легитимного инструмента. Он идёт в свою EDR (например, используя Elastic Endgame или запросы в osquery) и строит поиск:
«Показать все запуски
certutil.exe за последние 30 дней с аргументами, содержащими -decode или -urlcache, где исходный или целевой файл имеет расширение .jpg или .png».И вот он - хит. Находится машина, где
certutil использовался для декодирования файла logo.jpg в payload.dll. Без TI-отчёта этот лог выглядел бы как обычная административная активность. С TI - это триггер для глубокого расследования. TI дала тебе не индикатор, а тактику (TTP), по которой можно искать скрытого противника.Точка интеграции 4: API - твой лучший друг
Всё крутится вокруг API. Тебе не нужно знать все языки программирования. Тебе нужно понимать логику:
- MISP имеет мощный REST API. Через него можно всё: добавлять события, искать индикаторы, экспортировать данные.
- VirusTotal, AbuseIPDB, Shodan - имеют API. Твой скрипт может автоматически проверять каждый новый подозрительный IP по всем этим базам и сводить результат в единый отчёт.
- EDR и NGFW (Next-Generation Firewall) тоже имеют API. Конечно, у вендоров они часто убогие, но даже так можно автоматизировать добавление IP в чёрные списки или запросы на изоляцию хоста.
Пример быстрой проверки IP через API AbuseIPDB прямо из bash с помощью
curl и jq:
Bash:
#!/bin/bash
# check_ip.sh
IP_TO_CHECK=$1
API_KEY="your_abuseipdb_key_here"
JSON_RESPONSE=$(curl -s -G https://api.abuseipdb.com/api/v2/check \
--data-urlencode "ipAddress=$IP_TO_CHECK" \
-d maxAgeInDays=90 \
-H "Key: $API_KEY" \
-H "Accept: application/json")
# Парсим JSON ответ
echo $JSON_RESPONSE | jq -r '.data |
"IP: \(.ipAddress)",
"Доверие к отчётам: \(.abuseConfidenceScore)%",
"Всего отчётов: \(.totalReports)",
"Страна: \(.countryCode)",
"Домен: \(.domain)",
"Последнее сообщение: \(.lastReportedAt)"'
./check_ip.sh 185.10.10.10. Теперь у тебя есть быстрый, автоматизированный способ проверки любого IP из логов.Интеграция - это не финальный шаг. Это основное состояние твоей TI. Если после прочтения этого раздела у тебя в голове не возникло минимум три идеи, как автоматизировать рутину с помощью скрипта, - перечитай его ещё раз.
Правило выживальщика: Любое твоё действие в консоли, которое можно описать как «я делаю это часто», должно закончиться фразой «...и теперь я напишу скрипт, чтобы больше этого не делать».
TI должна течь по твоей инфраструктуре, как кровь по венам: незаметно, постоянно, доставляя «кислород» (контекст) защитным системам и унося «токсины» (угрозы). Когда этот цикл запущен, ты перестаёшь быть оператором, который бегает с огнетушителем. Ты становишься инженером, который спроектировал систему автоматического пожаротушения. И можешь, наконец, спокойно допить свой остывший кофе.
Контекст - король: Почему глобальная TI должна стать локальной
Ты молодец. Ты настроил MISP, подписался на фиды, написал скрипты, и теперь твоя SIEM красиво подсвечивает кучу событий тегом
[KNOWN_MALICIOUS]. И вот ты сидишь и смотришь на этот водопад алертов: APT41, FIN7, уязвимость в Apache Struts, атака на энергосети, троян для macOS, фишинг на французском языке... И ты понимаешь, что тонешь. Ты построил идеальную машину, которая завалила тебя работой.Поздравляю, ты столкнулся с главной проблемой TI - информационной перегрузкой. Ты собираешь разведданные обо всём мире, а защищать нужно свою конкретную крепость. Пора включить жёсткую фильтрацию. Пора понять, что 90% «апокалиптичных» угроз из хедлайнов - не твоя проблема. Игнорировать их - не безответственность, а профессиональная дисциплина.
Контекст - это фильтр, который превращает всемирный шум в локальные инструкции. Давай его настраивать.
Шаг 1: Жёсткий инвентарь - знай свою «поверхность атаки» (Attack Surface)
Прежде чем оценивать угрозы, оцени себя. Что ты защищаешь? Задай себе вопросы и запиши ответы в простой файл
threat_context.txt:География и юрисдикция: Где физически находятся твои офисы, дата-центры, пользователи? Если ты стартап в Берлине, тебя вряд ли целевым образом атакует китайская APT, охотящаяся за военными технологиями в ЮВА. А вот местный ransomware - запросто.
Отрасль (Vertical): Финансы, здравоохранение, энергетика, retail, IT-аутсорсинг? У каждой отрасли свой набор врагов. Финансы бьют за деньги (банковские трояны, кардинг), здравоохранение - за данные (медкарты), энергетику - за критическую инфраструктуру.
Технологический стек (Tech Stack): Это святое:
- ОС на рабочих местах: Windows 10/11? Есть ли MacOS? Linux на десктопах? Если у тебя нет ни одного Mac, все угрозы под macOS смело фильтруй.
- Серверы: Windows Server, Linux (какие дистрибутивы? Ubuntu, RHEL?), есть ли устаревшее дерьмо вроде Windows Server 2008?
- Критичное ПО: Какие СУБД (Oracle, MSSQL, PostgreSQL)? Какие веб-серверы (IIS, nginx, Apache)? Какие платформы (1С, SAP, Битрикс)? Какое ПО для удалённого доступа (VPN-решения: Citrix, Pulse Secure, Fortinet; RDP)?
- Облако: Используешь AWS, Azure, GCP? Какие сервисы (S3, EC2, Azure AD)?
Коронные активы (Crown Jewels): Что больнее всего потерять? База данных клиентов (PII)? Исходный код продукта? Финансовые платёжные реквизиты? Промышленные контроллеры (ICS/SCADA)?
Пример: Твоя компания - онлайн-ритейлер в Польше. Тех-стек: Windows 10/11, Linux (Ubuntu) сервера, базы на PostgreSQL, облако - AWS S3 для статики. Нет Mac, нет промышленного оборудования, нет своих энергосетей.
Вывод: Тебе в приоритете интересны:
- Угрозы для ритейла (кардинг, skimmer-ы).
- Угрозы для Windows/Linux.
- Уязвимости в PostgreSQL, nginx/Apache, цепочках доставки ПО.
- Инциденты с утечками из AWS S3 (неправильные права доступа).
- Ransomware-группы, активные в Европе.
Шаг 2: Картирование на MITRE ATT&CK - твоя тактическая карта
Матрица MITRE ATT&CK - это не красивая картинка для презентаций. Это практический инструмент для привязки TI к твоей среде. Твоя задача - взять эту универсальную матрицу и вычеркнуть из неё всё, что к тебе не относится.
Практика:
Возьми свою таблицу tech stack.
Иди на
Ссылка скрыта от гостей
.Создай новую матрицу. Закрась в красный (неприменимо) тактики и техники, которые в твоей среде невозможны или бессмысленны.
- Нет Mac/Linux? Вычёркивай
AppleScript,Launchd,.bash_profilepersistence. - Нет облачной инфраструктуры? Вычёркивай
Cloud Instance Metadata API. - Все пользователи - непривилегированные, нет Domain Admin? Сильно снижай приоритет техникам вроде
DCShadowилиGolden Ticket. - Используешь только OAuth 2.0? Вычёркивай атаки на
NTLM.
Закрась в жёлтый (низкий приоритет) то, что возможно, но маловероятно.
Закрась в зелёный (высокий приоритет) то, что идеально ложится на твой профиль.
Что получится: Вместо матрицы из 200+ техник у тебя останется 20-30 высокоприоритетных зелёных техник, на которые нужно затачивать детекцию. Например, для ритейлера:
T1566.001 (Spearphishing Attachment), T1059.001 (PowerShell), T1210 (Exploitation of Remote Services), T1486 (Data Encrypted for Impact - ransomware). Теперь, когда в TI-отчёте описывают новую атаку, ты не смотришь на все IOC. Ты смотришь, использует ли она твои «зелёные» техники. Если да - это твой приоритет №1.Шаг 3: Фильтрация фидов - подписывайся не на «угрозы», а на «свои угрозы»
Помнишь те открытые фиды с миллионами IOC? Пора их порезать.
Как фильтровать автоматически (в том же MISP):
- По тегам (Tags): Настрой подписку так, чтобы тянулись только события с тегами, релевантными тебе.
target:retail,target:europe,malware:ransomware,tool:powershell. - По таксономии (Taxonomy): Используй более сложные классификации. Например, можно фильтровать по
admiralty-scale:source-reliabilityиvalue:usually-reliable. - По галочке «Проверять по моему контексту»: Напиши простой скрипт-прослойку, который получает новые IOC, проверяет их (например, IP - из нужной ли страны? Домен - на том ли языке? Описание малвари - содержит ли ключевые слова твоего стека?) и только потом пускает в основную базу.
Пример фильтра на Python (псевдокод-логика):
Python:
def is_relevant_for_us(ioc, ioc_type, tags, description):
OUR_TAGS = ['ransomware', 'windows', 'financial', 'europe']
IGNORE_TAGS = ['apt', 'ics', 'scada', 'macos']
# Правило 1: Если есть тег из игнора - пропускаем
if any(bad_tag in tags for bad_tag in IGNORE_TAGS):
return False
# Правило 2: Если есть хотя бы один наш тег - принимаем
if any(good_tag in tags for good_tag in OUR_TAGS):
return True
# Правило 3: Если в описании есть наши ключевые слова
keywords = ['banking', 'credit card', 'POS', 'skimmer']
if any(keyword in description.lower() for keyword in keywords):
return True
return False
Шаг 4: Приоритизация - формула «Не успеть всё, успеть главное»
Когда угрозы отфильтрованы по контексту, их всё ещё может быть много. Как понять, что делать первым? Используй простую матрицу риска: Вероятность vs Воздействие (Impact).
Воздействие (Ущерб): Насколько больно будет, если реализуется?
- Низкое: Временные неудобства (сбой не критичного сервиса).
- Высокое: Финансовые потери, утечка данных клиентов, остановка производства, репутационный ущерб.
- Низкая: Теоретически возможно, но нет известных активных группировок, использующих это против нашего сектора.
- Высокая: Уже есть активные кампании против похожих компаний, есть эксплуатация в дикой природе (Exploited in the Wild), наша поверхность атаки идеально подходит.
Что делать:
- Высокая Вероятность & Высокое Воздействие (КВАДРАНТ АПОКАЛИПСИСА): Делай сейчас. Это твой топ-1. Блокируй IOC, патчь уязвимости, настраивай детекцию.
- Высокая Вероятность & Низкое Воздействие: Планируй. Автоматизируй ответ, добавь в стандартные процедуры.
- Низкая Вероятность & Высокое Воздействие: Мониторь. Имей план реагирования (playbook), но не трать на это оперативные ресурсы.
- Низкая Вероятность & Низкое Воздействие: Игнорируй. С чистой совестью. Занеси в архив и забудь. Умение говорить «нет» и «не сейчас» - ключевой навык.
Контекст - не статичен. Он должен меняться. Заведи простую практику: Раз в квартал пересматривай свой
threat_context.txt и свою размеченную матрицу ATT&CK.- Мы внедрили Mac для разработчиков? Добавляй macOS-угрозы в мониторинг.
- Переехали в новое облако? Изучи TI по нему.
- Произошёл инцидент? Проанализируй, какой техникой ATT&CK он пользовался, и почему она была в «жёлтой» зоне, а не в «зелёной». Подними её приоритет.
Настоящая сила TI - не в широте охвата, а в глубине понимания себя. Не пытайся построить стену вокруг всего континента. Построй неприступную крепость вокруг своего города, знай каждую его башню и каждые ворота. А на далёкие грозы за горизонтом смотри лишь для общего развития. Твоя задача - не победить все угрозы в мире. Твоя задача - сделать так, чтобы те, что целятся в тебя, разбились о твою подготовку.
Заключение
И вот мы здесь. Прошли путь от кучи сырых данных до того, как заставить их работать на автомате. Но если ты остановишься сейчас, всё это умрёт. Потому что настоящая Threat Intelligence - это не команда аналитиков в отдельной комнате. Это не платформа MISP, не фиды и не красивые дашборды. Это культура. Или, если по-простому, - общий сдвиг по фазе у всей команды, от стажёра в SOC до главного по безопасности.
Представь: у тебя есть самый совершенный в мире скальпель. Но если хирург не знает анатомии, а медсёстры не стерилизуют инструменты - пациент умрёт. TI - это такой же скальпель. Его эффективность определяют руки и мозги, которые его держат.
Проявления культуры TI, или Как понять, что ты на правильном пути
1. Для инженера SOC: TI - первая мысль при взгляде на алерт.
Раньше его работа была: «О, алерт «Исходящая DDoS-атака». IP
92.63.197.15. Открываю таск, эскалирую». Теперь его работа: «О, алерт. IP 92.63.197.15. Пауза. Открываю MISP. Вижу, что этот IP - известный C2 ZLoader с тегом banking-trojan. Сразу повышаю критичность с Medium до Critical. Иду в VirusTotal - там 55/89 детектов. Запускаю плейбук на изоляцию хоста-источника. Потом открываю таск». TI перестала быть внешним сервисом. Она стала рефлексом, второй натурой.2. Для охотника за угрозами (Threat Hunter): TI - карта для поиска сокровищ, которые никто не терял.
Он не ждёт алертов. Он строит гипотезы на основе TI. Читает отчёт, что группа
FIN7 начала использовать Scheduled Tasks с рандомными именами для персистентности. Идёт в свою EDR и строит запрос: «Показать все задачи, созданные за последний месяц, где имя не содержит ключевых слов из нашего легитимного списка (обновления, дефрагментация)». Он охотится не на вирус, а на метод. TI даёт ему этот метод.3. Для сетевого инженера: TI - не враг, а союзник.
Раньше он ненавидел безопасников, которые «ломают» его сеть, блокируя «важные» IP. Теперь он сам заходит в MISP, видит, что IP-адрес, с которым у него проблемы с подключением, помечен как
botnet, и говорит: «А, ну тогда понятно. Давайте лучше настроим BGP Blackholing для всей этой подсети». Он увидел пользу. Он стал частью цикла.4. Для CISO: TI - не отчёт для совета директоров, а инструмент принятия решений.
Он не говорит: «У нас есть TI». Он говорит: «На основании данных о росте атак на цепочки поставок ПО мы меняем политику закупок и внедряем контроль целостности артефактов сборки. И мы перераспределили бюджет с защиты периметра на сегментацию сети, потому что TI показывает, что 80% успешных атак происходят после первоначального взлома».
Как это внедрить без приказов и бюджетов (Практика выживальщика)
Культуру нельзя купить. Её можно только вырастить. По капле.
- Запусти «TI-ликбез» раз в две недели. 15 минут. Не про стратегию, а про одно практическое применение. «Ребята, смотрите. Вчера в фид прилетел новый домен для фишинга наших сотрудников. Вот скрипт, который за 10 секунд добавил его в блокировку DNS. Вот как выглядит письмо. Вот скриншот из MISP. Запомните этот паттерн». Покажи ценность на пальцах.
- Сделай TI-данные доступными и видимыми. Выведи на большой монитор в SOC не просто графики трафика, а ленту последних индикаторов из MISP, которые относятся к вашей отрасли. Чтобы все видели: вот он, враг, прямо сейчас активен в мире, и мы знаем его в лицо.
- Встрой TI в каждый пост-мортем инцидента. Обязательный пункт разбора: «Какую TI мы могли использовать, чтобы обнаружить это раньше? Какую TI мы теперь можем извлечь из этого инцидента, чтобы добавить в наши системы?». Превращай каждый провал в новый патрон для обоймы.
- Личный пример. Начни сам использовать TI в повседневной работе. На совещании по уязвимости спроси: «А есть ли активные эксплойты в дикой природе (in the wild) для этой CVE? Какие группировки их используют?». Ты задашь тон.
Забудь про метрики вроде «Объём обработанных IOC» или «Количество подключённых фидов». Это метрики тщеславия. Настоящие метрики TI - это метрики воздействия:
- MTTD (Mean Time To Detect) - среднее время до обнаружения: Снижается ли оно благодаря тому, что SIEM обогащает события контекстом из TI?
- Процент «тихих» алертов: Уменьшается ли количество инцидентов, которые ты узнаёшь от третьих сторон (правоохранители, клиенты), потому что твои системы теперь ловят их сами?
- Скорость реагирования: Увеличилось ли количество блокировок угроз до их реализации (preventive blocks) благодаря автоматическим скриптам?
- Качество охоты: Увеличивается ли количество проактивно найденных угроз по гипотезам из TI-отчётов?
Итак, что у нас в сухом остатке?
Threat Intelligence - это не про то, ЧТО ты знаешь. Это про то, КАК ты используешь свои знания, чтобы изменить шансы в своей пользу.
Это бесконечный цикл:
- Собрать сырые данные (OSINT, фиды, логи).
- Обработать и осмыслить их в контексте своей уникальной крепости.
- Интегрировать выводы в свои системы - автоматически, безжалостно.
- Действовать на основе новой информации - блокировать, охотиться, менять политики.
- Учиться на результатах действий и собирать новые данные (свои инциденты - лучшая TI).
- Вернуться к пункту 1.
Ты либо становишься частью этого цикла, либо безнадёжно отстаёшь. Потому что твой противник уже живёт в нём. Он учится на каждой своей атаке. Он делится данными в своих чатах. Он адаптируется. Единственный способ победить - двигаться быстрее него.