0Pricing
Reverse Engineering & Binary Analysis Basics · Урок

Индикаторы компрометации и правила YARA

Превращайте результаты анализа вредоносных программ в повторно используемые средства обнаружения: извлекайте индикаторы компрометации и пишите правила YARA для выявления связанных образцов.

«Индикаторы компрометации и правила YARA» — бесплатный урок Reverse Engineering & Binary Analysis Basics на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Reverse Engineering & Binary Analysis Basics, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Reverse Engineering & Binary Analysis Basics содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

From Analysis to Detection

You can classify malware types, perform basic behavioral analysis, and unpack samples. The payoff is detection: converting what you learned into signals that catch the same threat elsewhere.

What Is an IOC?

An Indicator of Compromise (IOC) is an observable artifact that suggests an intrusion.

  • File hashes (MD5, SHA-256)
  • Domains and IP addresses
  • Registry keys, mutexes, file paths

Hashes: Precise but Brittle

A SHA-256 hash uniquely fingerprints one file. But changing a single byte changes the hash, so attackers evade hash-only detection easily.

That is why we need more resilient indicators.

sha256sum sample.exe
# 9f86d0818...  sample.exe

Fuzzy and Behavioral IOCs

More robust indicators survive minor changes:

  • A unique mutex name the malware creates
  • A hardcoded user-agent string
  • A characteristic command-and-control URL pattern

These catch whole families, not just one sample.

Introducing YARA

YARA is a pattern-matching tool that describes malware via rules. Each rule has metadata, strings, and a condition.

YARA scans files or memory and reports matches, making your findings reusable.

Anatomy of a YARA Rule

A rule has three sections: meta for documentation, strings for patterns, and condition for the matching logic.

rule Example_Trojan {
  meta:
    author = 'analyst'
    desc = 'Detects sample family X'
  strings:
    $a = 'evil-c2.example.com'
    $b = { 6A 40 68 00 30 00 00 }
  condition:
    $a or $b
}

Text vs Hex Strings

YARA matches both text strings (with modifiers like nocase, wide) and hex byte sequences.

Hex patterns with wildcards (??) catch code that varies slightly.

strings:
  $ua = 'Mozilla/4.0 (compatible; Evil)' wide nocase
  $stub = { E8 ?? ?? ?? ?? 83 C4 04 }

Writing Good Conditions

Conditions combine strings with logic and counts.

  • all of them requires every string
  • 2 of ($a, $b, $c) needs at least two
  • Add filesize or PE checks to reduce false positives
condition:
  uint16(0) == 0x5A4D and 2 of ($s*)

Avoiding False Positives

A rule that matches common library strings will fire on innocent files. Choose strings that are unique to the malware, and test against a clean goodware set.

Tight conditions keep analysts trusting your rules.

Sharing Detection

IOCs and YARA rules are shareable threat intelligence. Distribute them via formats like STIX or simple rule files so other defenders benefit.

This is how one analysis protects an entire community.

yara -r my_rules.yar /samples/

Hunting with Rules

Beyond scanning one file, you can sweep a whole estate. Recursively scan endpoints or even live memory to find every machine matching the family.

This turns a single analysis into proactive threat hunting.

yara -r -p 8 trojan.yar /mnt/hosts/ > hits.txt

Quick Check

Why is a SHA-256 hash a brittle indicator of compromise on its own?

Recap

You now operationalize malware analysis:

  • Extract IOCs: hashes, domains, mutexes, behaviors
  • Prefer resilient indicators over brittle hashes
  • Write YARA rules with meta, strings, and tight conditions
  • Test against goodware and share as threat intel

Часто задаваемые вопросы

Урок «Индикаторы компрометации и правила YARA» бесплатный?

Да — полный текст урока «Индикаторы компрометации и правила YARA» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Reverse Engineering & Binary Analysis Basics, подпишись на CoddyKit PRO. Курс Reverse Engineering & Binary Analysis Basics содержит 4 уроков всего.

Чему я научусь в уроке «Индикаторы компрометации и правила YARA»?

Превращайте результаты анализа вредоносных программ в повторно используемые средства обнаружения: извлекайте индикаторы компрометации и пишите правила YARA для выявления связанных образцов. Ты практикуешь Reverse Engineering & Binary Analysis Basics с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Reverse Engineering & Binary Analysis Basics?

Предыдущий опыт не требуется. Reverse Engineering & Binary Analysis Basics на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Индикаторы компрометации и правила YARA»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Reverse Engineering & Binary Analysis Basics?

Да. Каждый урок Reverse Engineering & Binary Analysis Basics включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Виды вредоносных программ и их поведение
  2. Основы анализа поведения
  3. Введение в распаковку вредоносных программ
  4. Индикаторы компрометации и правила YARA
← Назад к Reverse Engineering & Binary Analysis Basics