Vysvětlil: YARA pravidla

    Pieter ArntzPieter Arntz
    4 lety

YARA logo

YARA pravidla jsou způsob, jak identifikovat malware (nebo jiné soubory) tím, že vytváří pravidla, která podívat na určité vlastnosti. YARA byl původně vyvinut Victorem Alvarezem z Virustotal a používá se hlavně při výzkumu a detekci malwaru. Byl vyvinut s myšlenkou popsat vzory, které identifikují konkrétní kmeny nebo celé rodiny malwaru.

syntaxe

každé pravidlo musí začínat slovem pravidlo, za nímž následuje název nebo identifikátor. Identifikátor může obsahovat libovolný alfanumerický znak a znak podtržítka, ale první znak nesmí být číslice. Existuje seznam klíčových slov YARA, která nelze použít jako identifikátor, protože mají předdefinovaný význam.

podmínka

pravidla se skládají z několika částí. Sekce podmínka je jediná, která je vyžadována. Tato část určuje, kdy je výsledek pravidla pravdivý pro objekt (soubor), který je předmětem šetření. Obsahuje booleovský výraz, který určuje výsledek. Podmínky jsou konstrukčně Booleovské výrazy a mohou obsahovat všechny obvyklé logické a relační operátory. Můžete také zahrnout další pravidlo jako součást svých podmínek.

Strings

Chcete-li dát podmínce význam, budete také potřebovat sekci strings. Sekce řetězce je místo, kde můžete definovat řetězce, které budou v souboru hledány. Podívejme se na jednoduchý příklad.

rule vendor
{
strings:
$text_string1 = "Vendor name" wide
$text_string2 = "Alias name" wide
condition:
$text_string1 or $text_string2
}

výše uvedené pravidlo se jmenuje vendor a hledá řetězce „Vendor name“ a „Alias name“. Pokud je nalezen některý z těchto řetězců, je výsledek pravidla pravdivý.

existuje několik typů řetězců, které můžete hledat:

  • hexadecimální, v kombinaci s divokými kartami, skoky a alternativami.
  • textové řetězce s modifikátory: nocase, fullword, wide a ascii.
  • regulární výrazy se stejnými modifikátory jako textové řetězce.

existuje mnoho pokročilejších podmínek, které můžete použít, ale jsou mimo rozsah tohoto příspěvku. Pokud se chcete dozvědět více, najdete jej v dokumentaci YARA.

Metadata

Metadata mohou být přidána, aby pomohla identifikovat soubory, které byly vyzvednuty určitým pravidlem. Za identifikátory metadat vždy následuje znaménko rovnosti a nastavená hodnota. Přiřazené hodnoty mohou být řetězce, celá čísla nebo booleovská hodnota. Všimněte si, že dvojice identifikátor / hodnota definované v sekci metadata nelze použít v sekci podmínka, jejich jediným účelem je uložit další informace o pravidle.

shrnutí

YARA je nástroj, který lze použít k identifikaci souborů, které splňují určité podmínky. Používá se hlavně výzkumnými pracovníky v oblasti bezpečnosti ke klasifikaci malwaru.

odkazy

detekce založená na podpisu pomocí YARA

nejnovější dokumentace YARA

YARA: Jednoduchý a efektivní způsob, jak pitvat Malware

screenshoty byly provedeny pomocí Yara Editor Adlice Software

Pieter Arntz



+