Yara

1. はじめに

YARAについての覚書として.

YARAとはマルウェア等を識別するツールである. いわゆるシグネチャマッチングができる. 

 

YARA is nutshell

 

 

2.  rule

今回テストとしてEICARテストファイルを使用する. 

テンプレートを示しておく. conditionに判定を記述する.

なおコメントアウトは/* ~ */ or // で記述する.

インデント等は自由に記述できる

・strings

 文字列を特定する. stringsでは16進数, 文字列, 正規表現を利用できる.

 文字列 "EICAR-STANDARD-ANTIVIRUS-TEST-FILE" かつ16進数として 0x58 0x35 0x4f 0x21 を含む, もしくは 0x58 0x35 0x4f 0x21 0x50 0x25 or 0x58 0x35 0x11 0x11 0x50 0x25 のファイルを検知する.

# yara EICAR_string_rule.yara eicar.com

Eicar_rule eicar.com

 

 

・hash

 各種hashが利用できる. 今回はmd5, sha1, sha256を使用した. 

 hashモジュールをimportする. import hashではなくimport "hash"とすることに注意.

 なお md5(offset,size)である.

 

 

 ImportHashも利用できる.

 peモジュールをimportする.

 

・その他

 様々なモジュールが利用できる. Cuckooとも連携したり, エントロピーで判定できたりする.

 詳しくは参考文献参考.

 

3. 参考文献

YARA - The pattern matching swiss knife for malware researchers

Writing YARA rules — yara 3.5.0 documentation

Modules — yara 3.5.0 documentation