Свяжитесь с нами:

Практические советы по анализу угроз

Информационная безопасность

Практические советы по анализу угроз

mm

Многие люди говорят, что разведка угроз (TI) приятна на вкус, но мало кто понимает, как ее готовить. Еще меньше тех, кто знает, какие процессы задействовать, чтобы ТИ работало и приносило прибыль. Более того, ничтожное количество людей знает, как выбрать поставщика фида, где проверить индикатор ложных срабатываний и стоит ли блокировать домен, который вам прислал коллега по WhatsApp.

У нас было две коммерческих подписки на APT, десять обменов информацией, около дюжины бесплатных фидов и обширный список выходных узлов TOR. Также мы использовали пару мощных реверсоров, мастер-скрипты Powershell, сканер Loki и платную подписку VirusTotal. Не то чтобы центр реагирования на инциденты безопасности не будет работать без всего этого, но если вы готовы отлавливать сложные атаки, вам придется выложиться по полной.

Что меня особенно беспокоило, так это потенциальная автоматизация проверки индикаторов компрометации (IOC). Нет ничего более аморального, чем искусственный интеллект, заменяющий человека в деятельности, требующей мышления. Однако я понял, что моя компания рано или поздно столкнется с этой проблемой, поскольку число наших клиентов росло.

За несколько лет постоянной активности на TI я наступил на кучу граблей и хочу дать несколько советов, которые помогут новичкам избежать типичных ошибок.

Совет 1. Не возлагайте слишком больших надежд на отлов по хэшам: большинство вредоносных программ в наши дни полиморфны

Данные об угрозах поступают в разных форматах и ​​в различных формах. Это могут быть IP-адреса центров управления и контроля ботнета, адреса электронной почты, задействованные в фишинговые кампании, а также статьи о методах уклонения, которые APT-группы собираются начать использовать. Короче говоря, это могут быть разные вещи.

Чтобы разобраться во всей этой неразберихе, Дэвид Бьянко предложил использовать так называемый Пирамида Боли. В нем описывается корреляция между различными индикаторами, которые вы используете для обнаружения злоумышленника, и количеством «боли», которую вы причините злоумышленнику, если вы идентифицируете конкретный IOC.

Например, если вы знаете хэш MD5 вредоносного файла, его можно легко и точно обнаружить. Однако это не причинит большой боли злоумышленнику, потому что добавление всего 1 бита информации в этот файл полностью изменит его хэш.

Совет 2. Попробуйте использовать индикаторы, изменение которых злоумышленнику покажется технически сложным или дорогим

Предвосхищая вопрос, как узнать, существует ли в сети нашего предприятия файл с заданным хешем, скажу следующее: есть разные способы. Один из самых простых способов — использовать решение, которое поддерживает базу данных хэшей MD5 всех исполняемых файлов на предприятии.

Вернемся к Пирамиде Боли. В отличие от обнаружения по хэш-значению, более продуктивно идентифицировать TTP злоумышленника (тактику, методы и процедуры). Это сложнее сделать и требует больше усилий, но вы причините больше боли противнику.

Например, если вы знаете, что группа APT, нацеленная на ваш сектор экономики, отправляет фишинговые электронные письма с файлами *.HTA на борту, то создание правила обнаружения, которое ищет такие вложения электронной почты, ударит злоумышленника ниже пояса. Им придется изменить тактику рассылки спама и, возможно, даже потратить немного долларов на покупку эксплойтов 0-day или 1-day, которые недешевы.

Совет 3. Не возлагайте чрезмерных надежд на правила обнаружения, созданные кем-то другим, потому что вам придется проверять эти правила на наличие ложных срабатываний и тонко настраивать их

Когда вы приступите к созданию правил обнаружения, всегда есть соблазн использовать готовые. Сигма является примером бесплатного репозитория. Это независимый от SIEM формат методов обнаружения, который позволяет переводить правила из языка Sigma в ElasticSearch, а также правила Splunk или ArcSight. Репозиторий включает в себя сотни правил. Вроде бы и здорово, но дьявол, как всегда, кроется в деталях.

Давайте посмотрим на одно из правил обнаружения мимикаца. Это правило обнаруживает процессы, которые пытались прочитать память процесса lsass.exe. Mimikatz делает это при попытке получить хэши NTLM, и правило идентифицирует вредоносное ПО.

Однако для нас — экспертов, которые не только обнаруживают инциденты, но и реагируют на них, — важно убедиться, что это действительно злоумышленник. К сожалению, существует множество законных процессов, которые считывают память lsass.exe (например, некоторые антивирусные инструменты). Следовательно, в реальном сценарии подобное правило вызовет больше ложных срабатываний, чем пользы.

Я не хочу никого обвинять в этом — все решения дают ложные срабатывания; это нормально. Тем не менее, специалисты по анализу угроз должны понимать, что перепроверка и доработка правил, полученных как из открытых, так и из закрытых источников, по-прежнему необходима.

Совет 4. Проверяйте доменные имена и IP-адреса на предмет вредоносного поведения не только на прокси-сервере и брандмауэре, но и в журналах DNS-сервера — и обязательно обращайте внимание как на успешные, так и на неудачные попытки разрешения

Вредоносные домены и IP-адреса являются оптимальными показателями с точки зрения простоты обнаружения и степени боли, которую вы причиняете злоумышленнику. Однако только на первый взгляд они кажутся простыми в обращении. Как минимум, вы должны задать себе вопрос, где взять лог домена.

Если вы ограничите свою работу только проверкой журналов прокси-сервера, вы можете пропустить вредоносный код, который пытается запросить сеть напрямую или запрашивает несуществующее доменное имя, сгенерированное с помощью DGA, не говоря уже о туннелировании DNS — ни один из них не будет указан в списке. логи корпоративного прокси-сервера. Преступники также могут использовать VPN-сервисы там с расширенными функциями или создавать собственные туннели.

Совет 5. Мониторить или блокировать — решайте, что выбрать, только после того, как выясните, какой именно индикатор вы обнаружили, и признав возможные последствия блокировки

Перед каждым экспертом по ИТ-безопасности стоит нетривиальная дилемма: блокировать угрозу или отслеживать ее поведение и начинать расследование, как только она срабатывает. Некоторые инструкции недвусмысленно рекомендуют вам выбрать блокировку, но иногда это является ошибкой.

Если индикатором компрометации является доменное имя, используемое APT-группой, не блокируй это – вместо этого начните следить за ним. Современная тактика проведения целевых атак предполагает наличие дополнительного скрытого канала связи, такого как, например, приложения для отслеживания клеток которые можно обнаружить только путем глубокого анализа. Автоматическая блокировка не позволит вам найти этот канал в этом сценарии; кроме того, противники быстро поймут, что вы заметили их махинации.

С другой стороны, если IOC является доменом, используемым шифровальщиком, это должно быть заблокировано немедленно. Но не забывайте отслеживать все неудачные попытки запроса заблокированных доменов — в конфигурации вредоносного кодировщика может быть несколько URL-адресов серверов управления и контроля. Некоторые из них могут отсутствовать в лентах и ​​поэтому не будут заблокированы. Рано или поздно инфекция доберется до них, чтобы получить ключ шифрования, который будет мгновенно использован для шифрования хоста. Единственный надежный способ убедиться, что вы заблокировали все C&C, — это перевернуть образец.

Совет 6. Проверяйте актуальность всех новых индикаторов перед их мониторингом или блокировкой

Имейте в виду, что данные об угрозах генерируются людьми, склонными к ошибкам, или машинами. алгоритмы обучения, которые не защищены от ошибок или. Я был свидетелем того, как разные поставщики платных отчетов об активности APT-групп случайно добавляли легальные образцы в списки вредоносных хэшей MD5. Учитывая, что даже платные отчеты об угрозах содержат низкокачественные IOC, отчеты, полученные из открытых источников, обязательно должны быть проверены на актуальность. Аналитики TI не всегда проверяют свои индикаторы на наличие ложных срабатываний, а это означает, что клиент должен выполнять эту проверку за них.

Например, если вы получили IP-адрес, используемый новой итерацией TrickBot, прежде чем использовать его в своих системах обнаружения, вы должны убедиться, что он не является частью услуги хостинга или исходит от вашего IP. В противном случае вам будет трудно справиться с многочисленными ложными срабатываниями всякий раз, когда пользователи, посещающие сайт, расположенный на этой платформе хостинга, переходят на совершенно безопасные веб-страницы.

Совет 7. Максимально автоматизируйте все рабочие процессы с данными об угрозах. Начните с полной автоматизации проверки ложных срабатываний с помощью списка предупреждений, одновременно давая указание SIEM отслеживать IOC, которые не вызывают ложных срабатываний.

Во избежание большого количества ложных срабатываний, связанных с разведкой и полученных из открытых источников, можно запустить предварительный поиск этих показателей в списках предупреждений. Для создания этих списков вы можете использовать топ-1000 веб-сайтов по трафику, адреса внутренних подсетей, а также домены, используемые крупными поставщиками услуг, такими как Google, Amazon AWS, MS Azure и другими. Также отличной идеей будет реализовать решение, которое динамически изменяет списки предупреждений, состоящие из самых популярных доменов/IP-адресов, к которым обращались сотрудники компании за последнюю неделю или месяц.

Создание этих списков предупреждений может быть проблематичным для SOC среднего размера, поэтому имеет смысл рассмотреть возможность внедрения так называемых платформ анализа угроз.

Совет 8. Сканируйте все предприятие на наличие индикаторов хостов, а не только хосты, подключенные к SIEM

Как правило, не все хосты на предприятии подключены к SIEM. Поэтому проверить их на наличие вредоносного файла с определенным именем или путем, используя только стандартный функционал SIEM, невозможно. Вы можете решить эту проблему следующими способами:

  1. Используйте Сканеры IOC, такие как Loki. Вы можете использовать SCCM, чтобы запустить его на всех хостах предприятия, а затем отправить результаты в общую сетевую папку.
  2. Используйте сканеры уязвимостей. Некоторые из них имеют режимы соответствия, позволяющие проверять сеть на наличие определенного файла по определенному пути.
  3. Напишите скрипт Powershell и запустите его через WinRM.

Как упоминалось выше, эта статья не предназначена для использования в качестве всеобъемлющей базы знаний о том, как правильно проводить анализ угроз. Однако, судя по нашему опыту, следование этим простым правилам позволит новичкам избежать критических ошибок при работе с различными индикаторами компрометации.

Алекс — исследователь кибербезопасности с более чем 20-летним опытом анализа вредоносных программ. У него отличные навыки удаления вредоносных программ, и он пишет для многочисленных публикаций, связанных с безопасностью, чтобы поделиться своим опытом в области безопасности.