Правила YARA для обнаружения вредоносного ПО
Пишите правила YARA на основе строк, последовательностей байтов и структуры файлов для обнаружения семейств вредоносного ПО.
«Правила YARA для обнаружения вредоносного ПО» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.
Что такое YARA
YARA — это инструмент сопоставления шаблонов, предназначенный для классификации вредоносных программ. Правила описывают семейства, объединяя шаблоны строк, последовательности байтов и логические условия. YARA сканирует файлы, процессы или память и сообщает о совпадениях.
Структура правила YARA
Правило состоит из трёх разделов: meta (метаданные, например автор и дата), strings (шаблоны для поиска) и condition (логика, объединяющая строки). Правила компилируются в сканер для быстрого обхода файловой системы.
rule ExampleRule {
meta:
author = "analyst"
strings:
$a = "malicious_string"
$b = { 4D 5A 90 00 }
condition:
$a and $b
}Шаблоны строк
YARA поддерживает три типа строк: строки обычного текста (с модификаторами nocase и wide), шестнадцатеричные шаблоны с подстановочными знаками ({ 4D 5A ?? ?? }) и регулярные выражения (/pattern/). Модификатор wide обрабатывает строки UTF-16, часто встречающиеся во вредоносных программах для Windows.
Шестнадцатеричные шаблоны и подстановочные знаки
Используйте ?? для подстановки одного байта и [n-m] для переходов переменной длины в шестнадцатеричных шаблонах. Пример: { 60 89 E5 31 C0 [4-8] 5D C3 } соответствует фрагменту оболочки независимо от переменных участков.
Логика условий
Условия объединяют строки операторами and, or и not. Используйте any of them, all of them или 2 of ($a*) для гибкого сопоставления. Пороговые условия, например 5 of ($s*), уменьшают число ложных срабатываний на обычных строках.
Условия свойств файла
YARA может проверять размер файла (filesize < 1MB), свойства заголовка PE (pe.imphash()) и байты точки входа (uint16(0) == 0x5A4D). Условия модуля PE обнаруживают определённые артефакты компилятора и метаданные компоновщика.
Написание правил на основе поведенческого анализа
Используйте строки, извлечённые во время статического и динамического анализа, в качестве строк правила. URL C2, уникальное имя мьютекса, конкретное сообщение об ошибке или последовательность байтов из фрагмента оболочки — всё это хорошие строки YARA с низкой вероятностью FP.
Тестирование правил YARA
Проверяйте с помощью yara rule.yar /path/to/sample. Проверяйте правила на корпусе чистых файлов, чтобы измерить уровень ложных срабатываний. Используйте --no-warnings для вывода без лишних сообщений и -r для рекурсивного сканирования каталогов.
yara -r rules/family.yar /malware_corpus/
yara -r rules/family.yar /System32/ 2>/dev/nullYARA в продуктах безопасности
Правила YARA работают внутри ClamAV, OSSEC, Velociraptor, Splunk и платформ EDR. Централизуйте правила в репозитории Git, версионируйте их, проводите экспертную проверку перед развёртыванием и отслеживайте статистику срабатываний, чтобы удалять правила с низкой ценностью.
Как избежать распространённых ошибок
Слишком общие строки вызывают ложные срабатывания. Очень короткие шестнадцатеричные шаблоны совпадают со случайными данными. Перед развёртыванием всегда проверяйте правила на типичных чистых образцах. По возможности используйте all of them, а не any of them, чтобы повысить точность.
Ресурсы сообщества YARA
YARA-Forge объединяет высококачественные правила сообщества. Репозитории вредоносных программ, например MalwareBazaar, предоставляют образцы для тестирования. Репозитории поставщиков на GitHub (Mandiant, Kaspersky) публикуют правила исследовательского качества, которые можно изучать и адаптировать.
Проверка знаний
Что означает условие YARA 2 of ($s*)?
Итоги
Правила YARA объединяют шаблоны строк, последовательности байтов и логические условия для классификации семейств вредоносных программ. Создание правил на основе результатов поведенческого анализа, проверка на корпусах чистых файлов и развёртывание через платформы безопасности обеспечивают масштабируемое покрытие обнаружения.
Изучай Cyber Security Academy с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 76
- Уроки
- 303
Часто задаваемые вопросы
Урок «Правила YARA для обнаружения вредоносного ПО» бесплатный?
Да — полный текст урока «Правила YARA для обнаружения вредоносного ПО» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Правила YARA для обнаружения вредоносного ПО»?
Пишите правила YARA на основе строк, последовательностей байтов и структуры файлов для обнаружения семейств вредоносного ПО. Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cyber Security Academy?
Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Правила YARA для обнаружения вредоносного ПО»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cyber Security Academy?
Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Статический анализ: строки, хеши и заголовки PE
- Динамический анализ в песочнице
- Поведенческие IOC: реестр, сеть и файловые артефакты
- Правила YARA для обнаружения вредоносного ПО