95% угроз информационной безопасности являются известными, и защититься от них можно традиционными средствами типа антивирусов, межсетевых экранов, IDS, WAF. Остальные 5% угроз – неизвестные и самые опасные. Они составляют 70% риска для компании в силу того, что очень непросто их обнаружить и уж тем более от них защититься. Примерами «черных лебедей» являются эпидемии шифровальщиков WannaCry, NotPetya/ExPetr, криптомайнеры, «кибероружие» Stuxnet (поразившее ядерные объекты Ирана) и множество (кто-нибудь еще помнит Kido/Conficker?) других атак, от которых не очень хорошо получается защищаться классическими средствами защиты. О том, как противостоять этим 5% угроз с помощью технологии Threat Hunting, мы и хотим поговорить.
Непрерывное развитие кибер-атак требует постоянного обнаружения и противодействия, что в конечном итоге приводит нас к мысли о бесконечной гонке вооружений между злоумышленниками и защитниками. Классические системы защиты уже не в состоянии обеспечить приемлемый уровень защищенности, при котором уровень риска не влияет на ключевые показатели компании (экономические, политические, репутацию) без их доработки под конкретную инфраструктуру, но в целом они закрывают часть рисков. Уже в процессе внедрения и конфигурации современные системы защиты оказываются в роли догоняющего и должны отвечать на вызовы нового времени.
Одним из ответов на вызовы современности для специалиста по ИБ может быть технология Threat Hunting. Термин Threat Hunting (далее по тексту — TH) появился несколько лет назад. Сама технология довольно интересная, но еще не имеет никаких общепринятых стандартов и правил. Также осложняет дело разнородность источников информации и малое количество русскоязычных источников информации по этой теме. В связи с этим мы в «ЛАНИТ-Интеграции» решили написать некий обзор данной технологии.
Актуальность
Технология TH опирается на процессы мониторинга инфраструктуры. Существует два основных сценария внутреннего мониторинга – Alerting и Hunting. Алертинг (по типу услуг MSSP) – традиционный метод, поиск разработанных ранее сигнатур и признаков атак и реагирование на них. Данный сценарий успешно выполняют традиционные сигнатурные средства защиты. Хантинг (услуга типа MDR) – метод мониторинга, который отвечает на вопрос «Откуда берутся сигнатуры и правила?». Это процесс создания правил корреляции путем анализа скрытых или ранее неизвестных индикаторов и признаков атаки. Именно к данному типу мониторинга и относится Threat Hunting.
Только комбинируя оба типа мониторинга, мы получаем защиту, близкую к идеальной, но всегда остается некоторый уровень остаточного риска.
Защита с использованием двух типов мониторинга
А вот почему TH (и хантинг целиком!) будет все более актуальным:
Угрозы, средства защиты, риски. Источник
95% всех угроз являются уже хорошо изученными. К ним относятся такие виды, как спам, DDoS, вирусы, руткиты и прочие классические зловреды. Защититься от этих угроз можно теми же классическими средствами защиты.
В ходе выполнения любого проекта 20% времени занимает выполнение 80% работы, а оставшиеся 20% работы занимают 80% времени. Аналогичным образом среди всего ландшафта угроз 5% угроз нового типа будут составлять 70% риска для компании. В компании, где организованы процессы управления информационной безопасностью, 30% риска реализации известных угроз мы можем так или иначе управлять, избегая (отказ от беспроводных сетей в принципе), принимая (внедряя необходимые средства защиты) или перекладывая (например, на плечи интегратора) этот риск. Защититься же от уязвимостей нулевого дня, APT-атак, фишинга, атак через цепочку поставок, кибершпионских и национальных операций, а также от большого количества других атак уже намного сложнее. Последствия же от этих 5% угроз будут намного серьезнее (средняя сумма потерь банка от группировки buhtrap – 143 млн), чем последствия от спама или вирусов, от которых спасает антивирусное ПО.
С 5% угроз приходится сталкиваться практически всем. Недавно нам приходилось устанавливать одно open-source-решение, которое использует приложение из репозитория PEAR (PHP Extension and Application Repository). Попытка установить это приложение через pear install завершилась неудачей, так как сайт был недоступен (сейчас на нем уже висит заглушка), пришлось устанавливать его с GitHub. А буквально недавно выяснилось, что PEAR стал жертвой атаки через цепочку поставок.
Можно еще вспомнить атаку с использованием CCleaner, эпидемию шифровальщика NePetya через модуль обновления программы для ведения налоговой отчетности M.E.Doc. Угрозы становятся все более изощренными, и возникает логический вопрос – «Как же все таки противостоять этим 5% угроз?»
Определение Threat Hunting
Итак, Threat Hunting — процесс проактивного и итеративного поиска и обнаружения продвинутых угроз, которые невозможно обнаружить традиционными средствами защиты. К продвинутым угрозам относятся, например, такие атаки, как APT, атаки на 0-day уязвимости, Living off the Land и так далее.
Также можно перефразировать, что TH – это процесс проверки гипотез. Это преимущественно ручной процесс с элементами автоматизации, в рамках которого аналитик, опираясь на свои знания и квалификацию, просеивают большие объемы информации в поисках признаков компрометации, соответствующих первоначально определенной гипотезе о присутствии определённой угрозы. Отличительной особенностью его является разнообразие источников информации.
Необходимо отметить, что Threat Hunting – это не какой-то программный или железный продукт. Это не алерты, которые можно увидеть в каком-то решении. Это не процесс поиска IOC (идентификаторов компрометации). И это не какая-то пассивная активность, которая идет без участия аналитиков ИБ. Threat Hunting – прежде всего, процесс.
Составляющие Threat Hunting
Три основных составляющих Threat Hunting: данные, технологии, люди.
Данные (что?), в том числе и Big Data. Всевозможные потоки трафика, информация о ранее проведенных APT, аналитика, данные о пользовательской активности, сетевые данные, информация от сотрудников, информация в даркнете и многое другое.
Технологии (как?) обработки этих данных – все возможные способы обработки этих данных, включая Machine Learning.
Люди (кто?) – те, кто обладает большим опытом анализа разнообразных атак, развитой интуицией и способностью обнаружить атаку. Обычно это аналитики информационной безопасности, которые должны иметь способность генерировать гипотезы и находить им подтверждение. Они — основное звено процесса.
Модель PARIS
Адам Бейтман описывает модель PARIS для идеального процесса TH. Название как бы намекает на известную достопримечательность Франции. Эту модель можно рассматривать в двух направлениях – сверху и снизу.
В процессе охоты на угрозы, двигаясь по модели снизу вверх, мы будем иметь дело со множеством доказательств вредоносной активности. У каждого доказательства есть такая мера, как уверенность – характеристика, которая отражает вес этого доказательства. Есть «железные», прямые свидетельства вредоносной активности, по которым мы сразу можем достичь вершины пирамиды и создать фактическое оповещение о точно известном заражении. И есть косвенные доказательства, сумма которых тоже может привести нас к вершине пирамиды. Как всегда, косвенных свидетельств намного больше, чем прямых, а значит, их надо сортировать и анализировать, проводить дополнительные исследования и желательно это автоматизировать.
Модель PARIS. Источник
Верхняя часть модели (1 и 2) основана на технологиях автоматизации и разнообразной аналитике, а нижняя часть (3 и 4) на людях с определенной квалификацией, которые управляют процессом. Можно рассматривать модель, двигаясь сверху вниз, где в верхней части синего цвета у нас оповещения от традиционных средств защиты (антивирус, EDR, файрвол, сигнатуры) с высокой степенью уверенности и доверия, а ниже показатели (IOC, URL, MD5 и другие), которые имеют меньшую степень уверенности и требуют дополнительного изучения. И самый нижний и самый толстый уровень (4) – генерация гипотез, создание новых сценариев работы традиционных средств защиты. Этот уровень не ограничивается только указанными источниками гипотез. Чем ниже уровень, тем больше требований предъявляется к квалификации аналитика.
Очень важно, чтобы аналитики не просто проверяли конечный набор заранее определенных гипотез, а постоянно работали над тем, чтобы генерировать новые гипотезы и варианты их проверки.
Модель зрелости использования TH
В идеальном мире TH – это непрерывный процесс. Но, поскольку идеального мира не бывает, проанализируем модель зрелости и методы в разрезе людей, процессов и используемых технологий. Рассмотрим модель идеального сферического TH. Есть 5 уровней использования этой технологии. Рассмотрим их на примере эволюции отдельно взятой команды аналитиков.
Уровни зрелости | Люди | Процессы | Технологии |
Уровень 0 | Аналитики SOC | 24/7 | Традиционные инструменты: |
Традиционный | Набор алертов | Пассивный мониторинг | IDS, AV, Sandboxing, |
Без TH | Работа с алертами | средства сигнатурного анализа, данные Threat Intelligence. | |
Уровень 1 | Аналитики SOC | Единоразовый TH | EDR |
Экспериментальный | Базовые знания форензики | Поиск IOC | Частичный охват данных от сетевых устройств |
Эксперименты с TH | Хорошее знание сетей и прикладной части | Частичное применение | |
Уровень 2 | Временное занятие | Спринты | EDR |
Периодический | Средние знания форензики | Неделя в месяц | Полное применение |
Временный TH | Отличное знание сетей и прикладной части | Регулярный TH | Полная автоматизация использования данных EDR |
Частичное использование расширенных возможностей EDR | |||
Уровень 3 | Выделенная команда TH | 24/7 | Частичная возможность проверять гипотезы TH |
Превентивный | Отличные знания форензики и вредоносного ПО | Превентивный TH | Полное использование расширенных возможностей EDR |
Частные случаи TH | Отличные знания атакующей стороны | Частные случаи TH | Полный охват данных от сетевых устройств |
Конфигурация под потребности | |||
Уровень 4 | Выделенная команда TH | 24/7 | Полная возможность проверять гипотезы TH |
Лидирующий | Отличные знания форензики и вредоносного ПО | Превентивный TH | Уровень 3, плюс: |
Использование TH | Отличные знания атакующей стороны | Проверка, автоматизация и верификация гипотез TH | тесная интеграция источников данных; |
Способность к исследованиям | разработка под потребности и нестандартное использование API. |
Уровни зрелости TH в разрезе людей, процессов и технологий
Уровень 0: традиционный, без использования TH. Обычные аналитики работают со стандартным набором алертов в режиме пассивного мониторинга с использованием стандартных инструментов и технологий: IDS, AV, песочницы, средств сигнатурного анализа.
Уровень 1: экспериментальный, с использованием TH. Те же аналитики с базовыми знаниями форензики и хорошим знанием сетей и прикладной части могут осуществить одноразовый Threat Hunting посредством поиска индикаторов компрометации. К инструментам добавляются EDR с частичным охватом данных от сетевых устройств. Инструменты применяются частично.
Уровень 2: периодический, временный TH. Тем же самым аналитикам, которые уже прокачали свои знания по форензике, сетям и прикладной части вменяется в обязанность регулярное занятие (спринт) Threat Hunting'ом, скажем, неделя в месяц. К инструментам добавляются полное исследование данных от сетевых устройств, автоматизация анализа данных от EDR и частичное использование расширенных возможностей EDR.
Уровень 3: превентивный, частые случаи TH. Наши аналитики организовались в выделенную команду, стали обладать отличными знаниями форензики и вредоносного ПО, также знаниями о методах и тактиках работы атакующей стороны. Процесс уже осуществляется в режиме 24/7. Команда способна частично проверять гипотезы TH, полностью используя расширенные возможности EDR с полным охватом данных от сетевых устройств. Также аналитики способны конфигурировать инструменты под свои потребности.
Уровень 4: лидирующий, использование TH. Та же команда приобрела способность к исследованиям, умение генерировать и автоматизировать процесс проверки гипотез TH. Теперь к инструментам прибавилась тесная интеграция источников данных, разработка ПО под потребности и нестандартное использование API.
Техники Threat Hunting
Базовые техники Threat Hunting
К техникам TH в порядке зрелости используемой технологии относятся: базовый поиск, статистический анализ, техники визуализации, простые агрегации, машинное обучение и байесовские методы.
Самый простой метод — базовый поиск, используется для того, чтобы с помощью определенных запросов сузить область исследования. Статистический анализ применяют, например, для построения типовой пользовательской или сетевой активности в виде статистической модели. Техники визуализации используются для наглядного отображения и упрощения анализа данных в виде графиков и диаграмм, на которых гораздо проще уловить закономерности в выборке. Техника простых агрегаций по ключевым полям используется для оптимизации поиска и анализа. Чем большего уровня зрелости достигает в организации процесс TH, тем более актуальным становится использование алгоритмов машинного обучения. Они также широко используются в том числе при фильтрации спама, обнаружении вредоносного трафика и детектирования мошеннических действий. Более продвинутый тип алгоритмов машинного обучения – байесовские методы, которые позволяют проводить классификацию, уменьшение размерности выборки и тематическое моделирование.
Модель алмаза и стратегии TH
Серджио Калтагирон, Эндрю Пендегаст и Кристофер Бетц в своей работе «The Diamond Model of Intrusion Analysis» показали основные ключевые составляющие любой вредоносной активности и базовую связь между ними.
Модель алмаза для вредоносной активности
В соответствии с этой моделью есть 4 стратегии Threat Hunting, которые опираются на соответствующие ключевые составляющие.
1. Стратегия, ориентированная на жертву. Предполагаем, что у жертвы есть противники, и они будут доставлять «возможности» через электронную почту. Ищем данные врага в почте. Поиск ссылок, вложений и тп. Ищем подтверждения этой гипотезы определенный срок (месяц, две недели), если не нашли, то гипотеза не сыграла.
2. Стратегия, ориентированная на инфраструктуру. Существует несколько методов использования этой стратегии. В зависимости от доступа и видимости некоторые из них легче, чем другие. Например, производим мониторинг серверов доменных имен, известных для размещения вредоносных доменов. Или проводим процесс отслеживания всех новых регистраций доменных имен на предмет известного паттерна, используемого противником.
3. Стратегия, ориентированная на возможности. Помимо стратегии, ориентированной на жертву, используемой большинством сетевых защитников, есть стратегия, ориентированная на возможности. Она является второй по популярности и фокусируется на обнаружении возможностей от противника, а именно «вредоносных программ» и возможность применения противником таких легитимных инструментов, как psexec, powershell, certutil и других.
4. Стратегия, ориентированная на противника. Подход, ориентированный на противника, фокусируется на самом противнике. Сюда относят использование открытой информации из общедоступных источников (OSINT), сбор данных о противнике, его техниках и методах (TTP), анализ ранее произошедших инцидентов, данных Threat Intelligence и т.п.
Источники информации и гипотез в TH
Некоторые источники информации для Threat Hunting
Источников информации может быть очень много. Идеальный аналитик должен уметь добывать информацию из всего, что есть вокруг. Типовыми источниками практически в любой инфраструктуре будут данные от средств защиты: DLP, SIEM, IDS/IPS, WAF/FW, EDR. Также типовыми источниками информации будут являться всевозможные индикаторы компрометации, сервисы Threat Intelligence, данные CERT и OSINT. Дополнительно можно использовать информацию из даркнета (например, внезапно есть заказ на взлом почтового ящика руководителя организации, или своей активностью засветился кандидат на должность сетевого инженера), информацию, полученную от HR (отзывы о кандидате с прошлого места работы), информацию от службы безопасности (например, результаты проверки контрагента).
Но прежде, чем пользоваться всеми доступными источниками, необходимо иметь хотя бы одну гипотезу.
Для того, чтобы проверять гипотезы, их необходимо сначала выдвинуть. А чтобы выдвигать много качественных гипотез, необходимо применять системный подход. Более подробно процесс генерации гипотез описан в статье, за основу процесса выдвижения гипотез очень удобно взять эту схему.
Основным источником гипотез будет являться матрица ATT&CK (Adversarial Tactics, Techniques and Common Knowledge). Она, по сути, является базой знаний и моделью для оценки поведения злоумышленников, реализующих свои активности на последних шагах нападения, обычно описываемого с помощью понятия Kill Chain. То есть на этапах после проникновения злоумышленника во внутреннюю сеть предприятия или на мобильное устройство. Первоначально в базу знаний входило описание 121 тактики и техники, используемых при нападении, каждая из которых подробно описана в формате Wiki. В качестве источника для генерации гипотез хорошо подходит разнообразная аналитика Threat Intelligence. Особо следует отметить результаты анализа инфраструктуры и тестов на проникновение – это наиболее ценные данные, которые могут дать нам железные гипотезы в силу того, что они опираются на конкретную инфраструктуру с ее конкретными недостатками.
Процесс проверки гипотез
Сергей Солдатов привел хорошую схему с подробным описанием процесса, она иллюстрирует процесс проверки гипотез TH в отдельно взятой системе. Укажу основные этапы с кратким описанием.
Этап 1: TI Farm
На этом этапе необходимо выделить объекты (путем их анализа совместно со всеми данными об угрозах) с присвоением им меток их характеристик. Это файл, URL, MD5, процесс, утилита, событие. Проводя их через системы Threat Intelligence, необходимо навесить метки. То есть этот сайт был замечен в CNC в таком-то году, эта MD5 была связана с такой-то малварой, эта MD5 качалась с сайта, который раздавал малвары.
Этап 2: Cases
На втором этапе смотрим на взаимодействие между этими объектами и выявляем взаимосвязи между всеми этими объектами. Получаем промаркированные системы, которые делают что-то нехорошее.
Этап 3: Аналитик
На третьем этапе дело передается опытному аналитику, имеющему огромный опыт анализа, он и выносит вердикт. Он разбирает до байтов, что, откуда, как, зачем и почему делает этот код. Это тело было зловредом, этот компьютер был заражен. Раскрывает связи между объектами, проверяет результаты прогона через песочницу.
Результаты работы аналитика передаются далее. Digital Forensics исследует образы, Malware Analysis исследует найденные «тела», а команда Incident Response может выехать на место и исследовать что-то уже там. Итогом работы будет подтвержденная гипотеза, выявленная атака и пути противодействия ей.
Итоги
Threat Hunting – достаточно молодая технология, способная эффективно противостоять кастомизированным, новым и нестандартным угрозам, которая имеет большие перспективы с учетом роста числа таких угроз и усложнения корпоративной инфраструктуры. Для нее нужны три составляющие – данные, инструменты и аналитики. Польза от Threat Hunting не ограничивается упреждением реализации угроз. Не стоит забывать, что в процессе поиска мы погружаемся в свою инфраструктуру и ее слабые места глазами аналитика-специалиста в области безопасности и можем эти места дополнительно усилить.
Первые шаги, которые, на наш взгляд, нужно сделать, чтобы положить начало процессу TH у себя в организации.
- Позаботиться о защите конечных точек и сетевой инфраструктуры. Позаботиться о видимости (NetFlow) и контроле (firewall, IDS, IPS, DLP) всех процессов в вашей сети. Знать свою сеть от граничного маршрутизатора до самого последнего хоста.
- Изучить MITRE ATT&CK.
- Проводить регулярный пентест хотя бы ключевых внешних ресурсов, анализировать его результаты, выделять основные цели для атаки и закрывать их уязвимости.
- Внедрить систему Threat Intelligence с открытым исходным кодом (например, MISP, Yeti) и проводить анализ логов совместно с ней.
- Внедрить платформу реагирования на инциденты (IRP): R-Vision IRP, The Hive, песочницу для анализа подозрительных файлов (FortiSandbox, Cuckoo).
- Автоматизировать рутинные процессы. Анализ логов, заведение инцидентов, информирование персонала – огромное поле для автоматизации.
- Научиться эффективно взаимодействовать с инженерами, разработчиками, технической поддержкой для совместной работы над инцидентами.
- Документировать весь процесс, ключевые точки, достигнутые результаты, чтобы вернуться к ним потом или поделиться этими данными с коллегами;
- Помнить о социальной стороне: будьте в курсе, что происходит с вашими сотрудниками, кого вы принимаете на работу и кому даете доступ к информационным ресурсам организации.
- Быть в курсе трендов в области новых угроз и способов защиты, повышать свой уровень технической грамотности (в том числе и в работе IT-сервисов и подсистем), посещать конференции и общаться с коллегами.
Готов обсудить организацию процесса TH в комментариях.
Автор: arudakov