Едва ли преувеличением будет сказать, что словосочетание «индикаторы компрометации» (или аббревиатура IOC, Indicators of compromise) встречается во всех отчетах на сайте Securelist. Как правило, после него перечисляются хэши MD5[1], IP-адреса и другие технические данные, которые помогают специалистам по информационной безопасности бороться с конкретными угрозами. Но как именно они используют индикаторы компрометации в ежедневной работе? Этот вопрос мы задали трем экспертам «Лаборатории Касперского»: Пьеру Дельшеру, старшему исследователю безопасности в Глобальном центре исследования и анализа угроз (GReAT), Роману Назарову, главе направления консультационных услуг для центров мониторинга и реагирования (SOC), и Константину Сапронову, руководителю отдела оперативного решения компьютерных инцидентов (GERT).
Что такое данные о киберугрозах и как мы используем их в GReAT?
Команда GReAT занимается обнаружением, анализом и описанием существующих и прогнозируемых угроз (стараясь уделять больше внимания ранее неизвестным угрозам), чтобы обеспечивать клиентов «Лаборатории Касперского» подробными отчетами, техническими данными и защитными решениями. Эту сложную работу мы называем сбором данных о киберугрозах. Она требует от нас больших временных затрат, междисциплинарных навыков, инновационных решений и самоотдачи. Кроме того, мы не можем обойтись без накопленных за продолжительное время обширных комплексных знаний о кибератаках, злоумышленниках и используемых ими инструментах. Сбором данных о киберугрозах мы занимаемся с 2008 года, и в этом нам помогают многолетний опыт и уникальные технологии «Лаборатории Касперского». Но зачем вообще этим заниматься?
Данные, которые мы предлагаем клиентам, содержат контекстную информацию — такую как типы атакуемых организаций, TTP (тактики, техники и процедуры) злоумышленников и признаки, позволяющие провести атрибуцию атаки, — а также подробный анализ используемых вредоносных инструментов, индикаторы компрометации и методы обнаружения. Они помогают организациям определять угрозы, прогнозировать возможные атаки и достигать глобальных целей в современном постоянно развивающемся ландшафте угроз на трех уровнях:
- Стратегический уровень: принятие решений об объеме ресурсов, выделяемых на кибербезопасность. Для этого используется предоставленная нами контекстная информация, которая позволяет предсказывать вероятность атак и возможности киберпреступников.
- Операционный уровень: принятие решений о приоритетных направлениях киберзащиты. Ни одна организация в мире не может похвастать безграничными ресурсами и способностью остановить или предотвратить любую киберугрозу. Детальные знания о киберпреступниках и их методах позволяют сконцентрировать ресурсы для защиты от атак, их обнаружения и реагирования на них на тех участках, которые являются целью злоумышленников сейчас или могут стать ей в обозримом будущем.
- Тактический уровень: принятие решений о технических процессах обнаружения, сортировки и активного поиска актуальных угроз, что позволяет своевременно предотвратить угрозу или остановить ее распространение. Для этого мы предоставляем полученные на основе анализа стандартизованные описания методов атак и детальные индикаторы компрометации.
Что такое индикаторы компрометации?
В практическом смысле индикаторы компрометации представляют собой технические данные, которые можно использовать для идентификации действий или инструментов атакующих, например вредоносной инфраструктуры (имена хостов, доменные имена, IP-адреса), коммуникаций (URL-адреса, схемы обмена данными) или имплантов (хэши, пути к файлам, разделы и значения реестра Windows, артефакты, записанные вредоносными процессами в память, и др.). Хотя в большинстве своем IOC являются хэшами файлов, позволяющими определить вредоносные импланты, и доменными именами, указывающими на вредоносную инфраструктуру (например, командные серверы), в целом их происхождение, формат и способы представления могут быть любыми. Для обмена IOC используются специальные стандарты, например STIX.
Как уже было сказано, индикаторы компрометации — один из результатов действий по сбору данных о киберугрозах. Их используют на операционном и тактическом уровнях для выявления вредоносных объектов и их привязки к известным угрозам. Клиенты получают IOC в отчетах об угрозах и потоках технических данных (которые могут использоваться автоматическими системами). Также IOC интегрированы в продукты и сервисы «Лаборатории Касперского» (песочницы, Kaspersky Security Network, решения для обнаружения угроз на рабочих местах и в сети, а также в Kaspersky Threat Intelligence Portal).
Как GReAT определяет IOC?
В процессе активного поиска угроз (одного из видов деятельности по сбору данных об угрозах — см. рисунок ниже) GReAT старается получить как можно больше индикаторов компрометации, связанных с конкретной угрозой или группой злоумышленников, чтобы дать своим клиентам возможность уверенно определять или находить угрозы, используя доступные ресурсы и инструменты. Но как мы находим и собираем индикаторы компрометации? Как показывает практика, единого рецепта для активного поиска и сбора вредоносных артефактов нет: в каждом конкретном случае используется комбинация нескольких источников и методов. Чем более полно мы исследуем эти различные источники, тем глубже можем проанализировать данные и тем больше индикаторов компрометации получим. Эффективно координировать эту исследовательскую работу могут только опытные аналитики, использующие обширный спектр источников данных и надежные технологии.
Общая схема деятельности GReAT по сбору данных о киберугрозах
Аналитики команды GReAT используют перечисленные ниже источники и методы анализа для сбора данных, в том числе индикаторов компрометации, — здесь представлены самые распространенные варианты, но на практике их значительно больше, и ограничены они только изобретательностью исследователей и фактической доступностью.
- Собственные технические данные «Лаборатории Касперского». Статистика обнаружений (мы часто называем эти данные телеметрией[2]), проприетарные файлы, журналы и коллекции данных, собранные за длительный период, а также специализированные системы и инструменты для запроса данных из этих систем. Это наиболее ценные источники, которые предоставляют уникальные надежные данные, собранные доверенными системами и технологиями. В таких проприетарных данных аналитики могут найти вместе с известным индикатором компрометации (например, хэшем файла или IP-адресом) связанные с ним тактики кибератак, признаки вредоносного поведения, файлы и информацию о коммуникациях, которые напрямую указывают на дополнительные индикаторы компрометации или позволяют получить их в результате анализа. Портал «Лаборатории Касперского» Kaspersky Threat Intelligence Portal (TIP), доступный клиентам как сервис, предлагает ограниченный доступ к таким техническим данным.
- Открытые и коммерческие источники. К ним относятся различные сервисы и коллекции данных о файлах, доступные бесплатно или продаваемые сторонними компаниями: онлайн-сервисы сканирования файлов (например, VirusTotal), сетевые поисковые системы (например, Onyphe), базы данных Passive DNS, открытые отчеты об обнаружении угроз в песочницах и т. д. Аналитики могут использовать эти данные наряду с проприетарными. Хотя часть этих данных открыта для всех, в них часто отсутствует информация о контексте получения или выполнения, первичном источнике или способах обработки. Из-за этого аналитики GReAT не могут доверять им в той же степени, что и данным «Лаборатории Касперского».
- Сотрудничество. Предоставляя данные об угрозах надежным партнерам (поставщикам защитного ПО и цифровых сервисов, командам реагирования на киберинциденты, некоммерческим организациям, правительственным агентствам кибербезопасности и даже некоторым клиентам «Лаборатории Касперского»), аналитики команды GReAT налаживают отношения с ними и иногда также получают взамен дополнительную полезную информацию. Обмен информацией — важный аспект сбора данных об угрозах, позволяющий организовывать реагирование в международных масштабах, дополнять сведения о злоумышленниках и проводить дальнейшие исследования, которые в противном случае были бы невозможны.
- Анализ. Выполняется автоматизированными средствами и вручную. Состоит в тщательном изучении вредоносных артефактов, таких как сэмплы или дампы памяти, с целью получения дополнительных данных. Также включает в себя реверс-инжиниринг и выполнение вредоносных имплантов в контролируемой среде. Выполняя эти действия, аналитики часто обнаруживают скрытые (обфусцированные или зашифрованные) индикаторы: инфраструктуру командных серверов вредоносного ПО, уникальные методы разработки, применяемые авторами вредоносного ПО, или вредоносные инструменты, внедрение которых является дополнительным этапом атаки.
- Активные исследования. Специальные процедуры с использованием инструментов или систем (иногда их называют роботами) для активного поиска угроз, которые аналитики создают для непрерывного отслеживания вредоносных действий в среде клиента, применяя общий и эвристический подходы. Сюда относятся использование ханипотов[3], sinkholing[4], сканирование интернета и некоторые методы поведенческого анализа, применяемые в продуктах для обнаружения угроз на рабочих местах и в сети.
Как GReAT использует IOC?
Итак, GReAT предоставляет индикаторы компрометации клиентам и даже раскрывает их в общедоступных публикациях. Однако команда также использует их в своей деятельности. IOC позволяют аналитикам GReAT в ходе анализа вредоносного импланта обнаруживать дополнительные файлы и переходить от одного источника данных к другому. Таким образом они служат общим элементом для всех исследовательских процессов. Например, предположим, что один из наших эвристических методов активного поиска выявил прежде неизвестное вредоносное ПО в системе клиента. Поиск по хэшу файла в телеметрии «Лаборатории Касперского» помогает обнаружить дополнительные попытки его выполнения и вредоносные инструменты, использованные атакующими еще до первой зарегистрированной попытки выполнения. Реверс-инжиниринг найденных вредоносных инструментов позволяет получить дополнительные индикаторы компрометации сети: схемы вредоносных коммуникаций или IP-адреса командных серверов. Проверяя эти IP-адреса в нашей телеметрии, мы можем найти дополнительные файлы и использовать их хэши для дальнейшего поиска. IOC обеспечивают непрерывность цикла исследований — команда GReAT запускает его, а клиент продолжает с использованием индикаторов компрометации, предоставленных среди прочих данных об угрозах.
IOC используются не только сами по себе, они также тщательно классифицируются и связываются с известными вредоносными кампаниями или группами злоумышленников, и GReAT применяет их в собственных инструментах для расследования. Такой процесс управления IOC позволяет осуществлять два важных и тесно связанных вида деятельности:
- Отслеживание угроз. Связывая известные IOC (а также расширенные сигнатуры и методы обнаружения) с вредоносными кампаниями и группами злоумышленников, мы можем организовать автоматический мониторинг и сортировку обнаруженных вредоносных операций. Это упрощает дальнейший поиск угроз и их расследование, так как существующие IOC с их связями можно использовать как точку отчета для исследования большинства новых обнаружений.
- Атрибуция угроз. Сравнивая новые IOC с используемыми, мы можем быстро установить связи между неизвестными угрозами и вредоносными кампаниями или группами злоумышленников. Хотя общий индикатор компрометации между известной кампанией и только что обнаруженной угрозой не может служить достаточным основанием для атрибуции, он всегда будет полезной зацепкой.
Сценарии использования IOC в центрах мониторинга и реагирования
Каждый центр мониторинга и реагирования (SOC) так или иначе использует известные индикаторы компрометации в своей деятельности. Но прежде чем говорить о сценариях их использования, примем, что IOC является признаком известной атаки.
«Лаборатория Касперского» разрабатывает и сопровождает операции SOC в различных форматах для компаний из различных отраслей, и в структуру SOC, которую мы предлагаем для внедрения своим клиентам, всегда входит использование и управление IOC. Теперь подробнее рассмотрим некоторые сценарии использования индикаторов компрометации в SOC.
Предотвращение
Как правило, современные практики SOC направлены на предотвращение потенциальных угроз на как можно более ранних этапах атаки. Зная точные индикаторы атаки, мы сможем ее блокировать, предпочтительно на нескольких уровнях (и сети, и рабочих мест) защищаемой среды. Это концепция многоуровневой безопасности. Любые попытки подключиться к вредоносному IP-адресу, обращения к доменному имени C2 или запуск ВПО с известным хэшем блокируются — это помогает предотвратить или, по крайней мере, затруднить атаку. Это также экономит время аналитиков SOC и сокращает количество ложноположительных уведомлений, поступающих в SOC. Однако для такой блокировки необходимо использовать только IOC, в которых вы полностью уверены. В противном случае чрезмерное количество правил для блокирования ложноположительных уведомлений повлияет на бизнес-процессы в защищаемой среде.
Обнаружение
Наиболее популярный сценарий использования IOC в центре мониторинга и реагирования — автоматическое сопоставление телеметрии инфраструктуры с огромной коллекцией всевозможных IOC. Чаще всего для этого используются системы SIEM. Сценарий обнаружения широко используется по ряду причин:
- SIEM ведет журналы различных типов. Мы можем сопоставить один и тот же IOC с разными журналами — например, доменное имя с журналом DNS-запросов, полученных от корпоративных DNS-серверов, и журналом запрашиваемых URL, полученных от прокси-сервера.
- Сопоставление в системе SIEM позволяет получить расширенный контекст анализируемых событий. Дополнительная информация об инциденте может рассказать аналитику, почему сработало уведомление на базе IOC, какой тип угрозы обнаружен, каков уровень достоверности и т. д.
- Доступ ко всем данным на одной платформе позволяет команде SOC тратить меньше усилий на обслуживание инфраструктуры и устраняет необходимость организовывать дополнительную маршрутизацию событий (как в следующем случае).
Еще одно популярное решение для сопоставления индикаторов — платформа обработки данных об угрозах (Threat Intelligence Platform, TIP). Как правило, она поддерживает более эффективные сценарии сопоставления (например, с использованием подстановочных символов) и оказывает меньшую нагрузку на процессы, чем SIEM. Еще одно огромное преимущество TIP — решения такого типа изначально разрабатываются для работы с IOC. Они поддерживают соответствующую схему данных и позволяют управлять IOC, обладают более гибкими функциями для настройки логики обнаружения на базе конкретных индикаторов.
При использовании детектирования в TIP требования к уровню достоверности в IOC ниже, чем при блокировании, так как ложноположительные уведомления, хотя и нежелательные, в процессе обнаружения генерируются довольно часто.
Расследование
Еще один сценарий использования индикаторов компрометации — расследование инцидента. В этом случае мы обычно ограничены теми индикаторами компрометации, которые были обнаружены в ходе конкретного инцидента. Эти IOC требуются для определения дополнительных скомпрометированных хостов в нашей среде и оценки реального масштаба инцидента. В ходе расследования команда SOC выполняет цикл переиспользования IOC:
- Определение IOC, связанного с инцидентом.
- Поиск IOC на других хостах.
- Определение дополнительных IOC на выявленных целях, повторение шага 2.
Сдерживание, устранение и восстановление
Индикаторы компрометации используются и на последующих шагах устранения инцидента. Команда SOC применяет индикаторы компрометации, собранные во время анализа инцидента, в следующих целях:
- Сдерживание — найденные IOC блокируются, чтобы ограничить возможности киберпреступников.
- Устранение угрозы и восстановление систем — отслеживается поведение, связанное с IOC, после восстановления систем. Такой контроль позволяет, вместе с остальными мерами, убедиться что угроза была успешно устранена.
Активный поиск угроз (Threat Hunting)
Активным поиском угроз мы называем действия по выявлению угроз, способных обойти инструменты предотвращения и обнаружения SOC. В основе активного поиска угроз лежит «презумпция нарушения» — она предполагает, что, несмотря на все действия по предотвращению и обнаружению угроз, мы пропустили атаку и должны проанализировать инфраструктуру как скомпрометированную, чтобы найти признаки взлома.
Здесь мы снова используем индикаторы компрометации. Команда SOC анализирует информацию, связанную с атакой, и оценивает применимость угрозы к защищаемой среде. Если угроза может быть реализована, исследователь пытается найти индикатор компрометации в прошедших событиях (DNS-запросах, попытках подключения к определенным IP-адресам и выполняемых процессах) или в самой инфраструктуре — индикатором может быть присутствие определенного файла в системе, конкретное значение в реестре и т. д. Как правило, для этого используются решения SIEM, EDR и TIP. Для активного поиска угроз подходят индикаторы компрометации, полученные из отчетов об APT-угрозах или собранные исследователями из других компаний.
Рассказывая о сценариях использования IOC, мы говорили о разных типах индикаторов компрометации в зависимости от происхождения. Давайте подытожим информацию о них:
- Потоки данных от поставщиков. Поставщики защитных решений предоставляют по подписке индикаторы компрометации в виде потоков данных. Как правило, они содержат огромное количество IOC, наблюдаемых в различных атаках. Уровень надежности индикаторов у поставщиков различается, поэтому команда SOC должна учитывать специализацию и региональные характеристики поставщика, чтобы выбирать актуальные IOC. Использование потоков данных для предотвращения и активного поиска угроз не слишком эффективно из-за потенциально большого количества ложноположительных срабатываний.
- IOC инцидентов. Эти индикаторы компрометации получает команда SOC при анализе инцидентов безопасности. Как правило, это самый надежный тип IOC.
- IOC из данных о киберугрозах. Огромное семейство IOC, получаемых специалистами по сбору данных об угрозах. Качество этих индикаторов напрямую зависит от уровня квалификации аналитиков. Использование таких IOC для предотвращения атак во многом зависит от качества данных об угрозах. Они могут вызвать слишком много ложноположительных срабатываний и помешать выполнению бизнес-процессов.
- IOC других организаций и открытых источников. Этими индикаторами компрометации делятся другие компании, государственные организации и профессиональные сообщества. Их, как правило, считают подмножеством IOC из данных о киберугрозах или из инцидентов, в зависимости от того, кто их предоставил.
Обобщив рассмотренные сценарии, источники IOC и их применимость и сопоставив эти сведения с этапами устранения инцидентов, описанными NIST[5], мы составили следующую таблицу.
Сценарии использования индикаторов компрометации в SOC
Во всех этих сценариях предъявляются разные требования к качеству индикаторов компрометации. Как правило, в нашем SOC не возникает проблем с IOC из инцидентов, но качество остальных индикаторов мы должны отслеживать и каким-то образом контролировать. Чтобы контроль качества был более эффективным, для каждого типа источников IOC необходимо использовать метрики, позволяющие оценить источник, а не полученные из него индикаторы. Вот несколько базовых метрик, определенных нашей командой консультирования SOC, которые можно использовать для оценки качества IOC:
- Конверсия — доля IOC, срабатывания по которым выявили реальный инцидент. Применяется в сценариях обнаружения.
- Доля ложноположительных уведомлений, генерируемых IOC. Используется для сценариев обнаружения и предотвращения.
- Уникальность — эта метрика применяется к источнику IOC и показывает, насколько набор предоставленных IOC отличается от наборов других поставщиков.
- Устаревание — актуальность IOC из данного источника.
- Количество IOC из данного источника.
- Контекстная информация — применимость и полнота контекста, предоставленного вместе с IOC.
Чтобы получить эти метрики, команда SOC должна тщательно отслеживать для каждого IOC его источник, сценарий использования и результат применения.
Как команда GERT использует IOC в своей работе?
GERT специализируется на расследовании инцидентов, и основными источниками информации для нас являются цифровые артефакты. Эксперты анализируют их и находят информацию о действиях, напрямую связанных с расследуемым инцидентом. Таким образом индикаторы компрометации позволяют установить связь между исследуемым объектом и инцидентом.
Мы используем различные IOC на разных этапах цикла реагирования на инциденты информационной безопасности. Как правило, когда мы связываемся с жертвой инцидента, мы получаем индикаторы компрометации, которые могут помочь подтвердить инцидент, приписать инцидент конкретной группе злоумышленников и принять решение о начальных мерах реагирования. Возьмем один из самых типичных инцидентов — атаку с использованием шифровальщика. В этом случае исходным артефактом будут файлы. Индикаторами компрометации в таком случае являются имена или расширения файлов, а также их хэш-суммы. Такие первичные индикаторы позволяют определить тип шифровальщика, атакующую группу и присущие ей методы, тактики и процедуры. Кроме того, они помогают сформулировать рекомендации по начальному реагированию.
Следующий набор IOC — индикаторы, полученные в процессе анализа данных собранных на этапе классификации инцидента. Как правило, они показывают продвижение атакующих в сети и позволяют определить дополнительные системы, затронутые инцидентом. В большинстве своем это имена скомпрометированных пользователей, хэш-суммы вредоносных файлов, IP-адреса и URL-адреса. Здесь следует отметить возникающие трудности. Злоумышленники часто используют легитимные программы, уже установленные в атакуемых системах (так называемые LOLBins). Вредоносное выполнение такой программы трудно отличить от легитимного. Например, только тот факт, что интерпретатор PowerShell запущен, не может указывать на атаку, если неизвестны контекст и полезная нагрузка. В таких случаях необходимо использовать дополнительные индикаторы, например временные метки, имя пользователя, связи между событиями.
Наконец, все найденные IOC используются для поиска скомпрометированных сетевых ресурсов и блокирования действий атакующих. Кроме того, на их основе создаются индикаторы атаки, которые используются для превентивного обнаружения злоумышленников. На последнем этапе реагирования найденные индикаторы используются для проверки отсутствия атакующих в сети.
После каждого расследования составляется отчет, содержащий все индикаторы компрометации и основанные на них индикаторы атаки. Команды мониторинга должны добавлять эти индикаторы в свои системы и использовать их для проактивного поиска угроз.
[1] Хэш — сравнительно короткая, но достаточно уникальная битовая последовательность фиксированной длины, получаемая в результате применения алгоритма хэширования (математической функции, например, MD5 или SHA-256) к произвольному набору данных. Восстановить набор данных по хэшу нельзя, однако он обладает полезным свойством: применив к двум идентичным файлам один и тот же алгоритм хэширования, мы получим один и тот же хэш, однако если файлы отличаются незначительно, хэши будут совершенно разными. Так как хэш — краткое представление данных, его удобнее использовать для обозначения и поиска файла, чем полное содержимое.
[2] Телеметрия — статистика детектирования и сведения о вредоносных файлах, которые продукты для обнаружения угроз отправляют в Kaspersky Security Network с согласия клиентов.
[3] Слабые, уязвимые и (или) привлекательные для злоумышленников системы, которые исследователи подключают к интернету и намеренно оставляют незащищенными в качестве приманки для киберпреступников. В случае атаки используются специальные методы мониторинга для определения новых угроз, методов эксплуатации или инструментов атакующих.
[4] Перехват трафика известных вредоносных командных серверов для нейтрализации вредоносных действий, отслеживания коммуникаций и определения возможных жертв, которых исследователи могут предупредить об угрозе. Sinkholing часто проводится при содействии поставщиков услуг интернет-хостинга, исследователи также могут использовать ошибки киберпреступников и перехватывать брошенную ими инфраструктуру.
[5] NIST. Computer Security Incident Handling Guide. Special Publication 800-61 Revision 2 («NIST. Руководство по устранению инцидентов компьютерной безопасности. Специальное издание 800-61, редакция 2»)
Индикаторы компрометации (IOC): как мы их собираем и используем