Yara Rule とは(セキュリティ)
YARAとは、マルウェアの研究者たちのために作られた、マルウェアを検知・解析・分類するための、オープンソースのプログラム(Pythonベース)です。
基本機能としては、条件として指定した文字列やバイト列を、対象とするファイルやプロセスメモリのバイナリデータ上でスキャンし、指定した条件との合致があればそのスキャン結果を出力します。この文字列の条件は「正規表現」という柔軟な指定方法に対応しています。バイト列の条件に関しても、バイト数が不定のワイルドカードといった柔軟な指定が可能です。さらに、スキャン対象がPEファイルならば、特定インポート関数の有無や、PEヘッダ内の各項目の状況(格納値)を条件に指定、さらにはネット・レジストリ・ファイルへのアクセスという「ふるまい」も条件に指定してスキャンすることもできます。スキャンする条件のセットは「ルール」と呼ばれ、複数の条件を一度に指定し、一つのルールとしてその合致を判別させることも、さらに複数のルールを指定して一度にスキャンさせることも可能です。基本的に、ルールは文字列としてWindows ANSI(Shift-JIS)形式のテキストファイルに記述します。
一般的なルールでは、ルール名、タグ(必須ではない)、説明等の付属データ(必須ではない)、条件「strings」、合致状況「condition」を記述します。
rule silent_banker : banker
{
meta:
description = "This is just an example"
thread_level = 3
in_the_wild = true
strings:
$a = {6A 40 68 00 30 00 00 6A 14 8D 91}
$b = {8D 4D B0 2B C1 83 C0 27 99 6A 4E 59 F7 F9}
$c = "UVODFRYSIHLNWPEJXQZAKCBGMT"
condition:
$a or $b or $c
}
(Data Source)
http://yara.readthedocs.io/en/v3.5.0/
https://oss.sios.com/security/antivirus-security-20151215
http://virustotal.github.io/yara/
http://blog.macnica.net/blog/2014/11/post-fca5.html