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

http://www.k3.dion.ne.jp/~dt2/usamimihurricane/webhelp/_RESOURCE/MenuItem/another/anotherAboutYARA.html