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