Threat Hunting с помощью нового решения Cisco Visibility
Представьте, что вы прочитали статью в «Коммерсанте» о том, что в Интернете оказался в публичном доступе полный пакет для атак на банки Pegasus. Вероятно вы захотите узнать, а не попали ли и вы под раздачу и не сидит ли в вашей сети вредоносный код. С одной стороны у вас есть куча логов и событий безопасности от различных средств защиты, а с другой, возможно, вы получаете информацию об угрозах в рамках подписки на какой-либо платный или бесплатный сервис Threat Intelligence (например, от BI.ZONE, ГосСОПКИ или ФинЦЕРТ). С одной стороны у вас куча данных для анализа, но вы не знаете, есть ли в них следы того, что вы ищете. С другой стороны, вы имеете информацию о следах (то есть индикаторы компрометации), но не знаете насколько они применимы именно к вам. Вам нужно объединить эти два набора данных, осуществив то, что обычно называют Threat Hunting'ом или поиском следов атак в вашей инфраструктуре. Давайте посмотрим, как можно автоматизировать данную задачу с помощью недавно выпущенного бесплатного решения Cisco Visibility.
Вы не знаете с чего начать? Где искать следы интересующей вас угрозы? Перед вами чистый лист и в Cisco Visibility он выглядит так:
В это окно вы загружаете все, что вы будете искать. Давайте в качестве примера шифровальщика TeslaCrypt (в реальной жизни вместо TeslaCrypt вы будете подставлять любую другую угрозу, следы которой вам нужно будет найти или доказать ее отсутствие на время проведения Threat Hunting). Для начала вам нужно собрать воедино все индикаторы компрометации для чего вы используете имеющиеся сервисы Threat Intelligence. Например, данные по TeslaCrypt вы берете из блога Cisco Talos. Перед вами 9 индикаторов — IP-адресов, хэшей файлов вредоносных программ и доменов, с которыми контактирует развернувшийся шифровальщик для получения дополнительных команд и оплаты выкупа в криптовалюте. Вы все эти индикаторы загружаете в Cisco Visibility:
Здесь необходимо сделать небольшое отступление. Cisco Visibility сейчас работает с данными от Cisco AMP for Endpoints, то есть с решением класса EDR (Endpoint Detection and Response), которое устанавливается на персональные и мобильные компьютеры под управлением Windows, Linux, MacOS, Android, iOS. Поэтому Threat Hunting с помощью Cisco Visibility осуществляется сейчас на оконечных устройствах, которые в 70% и являются мишенью для злоумышленников.
Что мы видим после загрузки индикаторов в Cisco Visibility? Основную площадь экрана занимает граф взаимоотношений, который отражает взаимодействия между индикаторами компрометации, событиями безопасности, которые собираются с инфраструктуры заказчика, и внешним окружением. Вы можете масштабировать картинку, чтобы получить общее представление о картине происходящего.
Над графом взаимодействий находится панель, которая отображает сводную информацию по всем интересующим нас моментам:
- Цели или жертвы. Кликнув по данному полю, вы сразу получите список всех узлов вашей сети, на которых найдены следы, которые вы ищете. Это именно то, что вам нужно для того, чтобы понять масштаб бедствия и насколько вы пострадали. Если здесь не показывается ни одного узла, значит у вас нет узлов, участвующих в атаке.
- Следы. Кликнув по данному полю, вы получите список следов, которые вы ищете, с цветовой подсветкой, отражающей факт нахождения этих следов в базах данных Cisco Threat Intelligence.
- Индикаторы. Кликнув по данному полю, вы увидите поведенческие шаблоны, которые были обнаружены в вашей инфраструктуре, соответствующие искомым следам.
- Домены, хэши, IP-адреса и URL. Данные поля показывают соответствующие следы.
- Модули. Этот пункт меню отражает список модулей, с помощью которых происходило обогащение данных и обнаружение следов атак. Таких модулей несколько и к ним относятся как решения Cisco (например, Cisco ThreatGrid, Cisco Umbrella, Cisco AMP Global Intelligence, Talos Intelligence), так и решения третьих фирм (например, VirusTotal). Список этих модулей будет расширяться.
Учитывая, что агенты AMP4E могут быть установлены на сотнях и тысячах компьютеров, нас интересуют не все они, а только те, кто «попал под раздачу» (если попал, конечно). Кликнув по полю «Цели» (Target), мы получаем список тех узлов, где были найдены следы угрозы. В нашем случае это всего один узел.
Кликнув на имени этого узла, мы сразу получаем область графа взаимодействий, который отражает все связи между искомыми следами и скомпрометированным узлом.
Сразу видно, что пострадала лишь небольшая часть инфраструктуры, на которой можно и сосредоточиться.
Найденные следы были обогащены с помощью различных модулей, включая и решения третьих фирм (в данном случае VirusTotal). Это позволяет нам быть более уверенными в результатах анализа, так как подтверждение найденных следов получено из разных источников Threat Intelligence. В данном случае расследование было обогащено данными TI из 5 источников:
Индикаторов компрометации, то есть поведенческих шаблонов, применительно к искомым следам найдено немало (19):
Область экрана «Sightings Timeline» показывает нам временную шкалу, отражающую два важных вопроса — когда найденные следы были найдены в нашей локальной инфраструктуре и когда они были обнаружены за пределами компании, в мире (отображаются последние 30 дней, чтобы не слишком уводить аналитиков от текущего момента). Такое сравнение двух временных шкал позволяет нам сделать вывод о том, является ли вредоносная активность глобальной (и мы просто попали под раздачи как и многие другие) или она было фокусной, разработанной специально для нас.
В самой нижней части экрана мы увидим раздел, где можно получить детали по каждому найденному следу, артефакту, индикатору компрометации и перейти для более детального их анализа. Обратите внимание, что из всех следов, которые мы ищем, у нас в сети встретился только один — хэш вредоносного файла.
Например, вот так выглядит информация по обнаруженным в нашей инфраструктуре вредоносным файлам с соответствующим хэшом. Однако стоит обратить внимание на такой важный момент. По каждому следу мы видим несколько вкладок. Первая из них — Judgements (мнение). В ней мы видим отсылки на различные модули, которые «видели» данные следы когда-нибудь. Например, мы видим, что в базе VirusTotal соответствующий хэш имеется и он распознается разными антивирусными движками. Значит ли это, что данная угроза есть в нашей сети? Еще нет. Возможно это старый вредонос, который больше не действует. Например в поле Expiration может быть пометка, что данный след последний раз фиксировался «в диком виде» два месяца назад.
Гораздо важнее вкладка Verdict (окончательный приговор), которая и позволяет нам сделать окончательный вывод (за счет оценки разных данных, взвешенный результат которой и отображается на вкладке Verdict) о наличии или отсутствии угрозы в нашей инфраструктуре.
Вкладка Sightings показывает нам артефакты по угрозе и где они были обнаружены:
Вкладка Indicators показывает подробное описание каждого индикатора, присущего обнаруженным следам:
Обратите внимание, у нас тут и взаимодействие с Tor, и удаление резервных копий, и распознавание антивирусами, и создание большого количества артефактов и т.п. Мы в своих базах Threat Intelligence анализируем около 1000 различных индикаторов.
После получения информации о найденных в нашей инфраструктуре следах атаки, мы можем провести более детальное расследование с помощью инструментов, которые отдавали в Cisco Visibility исходные данные. Например, мы можем запустить AMP for Endpoints для того, чтобы получить подробный анализ конкретного события, которое и привело к возможности обнаружения угрозы.
Мы видим всю картину происходящего. Вредоносный файл, созданный процессом explorer.exe в 20:00:00 по московскому времени 15-го июля. Мы видим, где находится этот файл и значения его хэшей по различным алгоритмам (SHA1 и MD5).
С помощью технологии ретроспективной безопасности и механизма визуализации Device Trajectory мы можем визуализировать все действия, осуществленные или осуществляемые интересующим нас файлом. В данном случае мы видим, что файловый объект t.exe, созданный процессом explorer.exe, запустил вполне легальную утилиту Windows — vssadmin.exe, которая управляет теневыми копиями и, в том числе, часто используется шифровальщиками для их удаления (чтобы нельзя было восстановить зашифрованные данные). Если посмотреть описание TeslaCrypt, то мы увидим, что этот шифровальщик действительно задействует vssadmin в своей деятельности.
К слову, недавно мы обновили механизм Device Trajectory и теперь он выглядит немного по иному:
В примере выше файл t.exe не был заблокирован и не был помещен в карантин, хотя в реальной жизни AMP for Endpoints именно это и делает. Но для целей данной статьи AMP4E работает в режиме аудита, что позволяет налюдать за событиями, но не блокировать их. Кстати, если бы вместо vssadmin был запущен PowerShell (тоже вполне легальный инструмент системного администрирования), то мы бы увидели и это, и параметры командной строки, используемые в PowerShell.
Вот так, вкратце, выглядит работа с Cisco Visibility при осуществлении поиска следов угроз в локальной инфраструктуре и обогащении имеющихся событий безопасности данными из различных источников Threat Intelligence.
P.S.: Базируется Cisco Visibility на разработанной нами модели Cisco Threat Intelligence Model (CTIM), которая, в свою очередь, базируется на стандарте обмена данными Threat Intelligence — STIX. Но в отличие от STIX модель CTIM ориентирована не на формализации формата данных об угрозах, а на процессе сбора, хранения и анализа этих данных. Опираясь на Cisco Threat Intelligence API (это open source проект и его можно использовать и в своих решениях), мы планируем расширять список источников, с которыми будем работать, как в части получения событий безопасности, так и в части получения данных Threat Intelligence. Кроме того, мы планируем добавить в Cisco Visibility возможность работы не только с атомарными индикаторами компрометации (IP, хэш, домен, URL), но и с данными об уязвимостях (CVE), програмах в конфигурации (CWE), базой шаблонов атак (CAPEC) и базой знаний о методах, тактиках и процедурах злоумышленников (ATT&CK). Эта работа сейчас ведется.
P.P.S.: В начале заметки я немного слукавил. Cisco Visibility действительно является бесплатным решением, но для его использования необходимо, как минимум, иметь установленный в организации Cisco AMP for Endpoints (а откуда тогда брать данные для threat hunting?). Также желательно (но необязательно) иметь доступ к сервисам Cisco Threat Grid (песочница) и Cisco Umbrella (анализ DNS). В этих случаях можно будет проводить более глубокий анализ угроз (следов и индикаторов) уже внутри указанных сервисов, запускаемых из Cisco Visibility. Ну и конечно надо иметь доступ к внешним сервисам Threat Intelligence, которые интегрируются с Cisco Visibility. Пока это только VirusTotal (но мы не стоим на месте и будем расширять их число), доступ к которому может получить любой желающий.