Категория > Новости > Yara. Пишем правила, чтобы искать малварь и не только - «Новости»
Yara. Пишем правила, чтобы искать малварь и не только - «Новости»17-11-2020, 00:00. Автор: Livingston |
Хеш четкий и хеш нечеткий») мы рассказали, как загружали заранее классифицированные объекты и при этом полностью уповали на знания рандомных аналитиков и верили (конечно, не до конца!), что там действительно находится малварь конкретного семейства. Такое часто происходит в реальном мире, вредоносное ПО настолько быстро появляется, что информацию о том, как идентифицировать угрозу и быстро реализовать правило детектирования, порой бывает почти что вопросом жизни или смерти. YARA — это опенсорсный инструмент, который помогает исследователям искать и классифицировать вредоносные семплы и даже проводить Threat Hunting. Утилита выполняет сигнатурный анализ на основе формальных YARA-описаний (правил). В них содержатся индикаторы компрометации для разных типов вредоносного ПО. Фишка в том, что делать правила легко и не занимает много времени. Именно поэтому YARA используют в AlienVault, Avast, ESET, FireEye, Group-IB, Kaspersky, Trend Micro, Virus Total, x64dbg... В общем, почти все, кто имеет дело с анализом вредоносного ПО. YARA-правила могут обрабатывать не только исполняемые файлы, но и документы, библиотеки, драйверы, — все что угодно. Ими же можно сканировать сетевой трафик, хранилища данных, дампы памяти. Эти правила можно включать в другие инструменты, такие как SIEM, антифишинг, IDS, песочницы. Давай разберемся, как же выглядят эти правила и как их составлять. Структура правилОбычно правила хранятся в текстовом формате в файле .yar и состоят из двух секций:
Выглядит это так:
rule SomeMalwareName {
meta:
author = "AuthorName"
strings:
…
condition:
…
}
Применяем YARAМинимально необходимые секции — это название правила и его условия. Например, правилом ниже мы будем детектировать объекты только по их imphash (на тестовых объектах из предыдущей статьи):
import "pe"
rule MyLittleAgentTeslaRuleDetect {
condition:
pe.imphash() == "b21a7468eedc66a1ef417421057d3157" or
pe.imphash() == "f34d5f2d4577ed6d9ceec516c1f5a744"
}
Сохраним файл как
Результат — все из всех. Как ты мог заметить, правила YARA поддерживают импорт полезных модулей. Соответственно, можно написать свои модули. Вот несколько наиболее часто используемых:
Полный список ты всегда можешь глянуть в официальной документации по YARA. Перейти обратно к новости |