全3678文字
PR

 今回はオープンソースのマルウエア検知ツール「YARA」を通して、一般的なマルウエア検知で用いられるシグネチャーの仕組みを見ていこう。YARAはマルチプラットフォーム対応であり、Windows版は公式サイトからダウンロードできる。

 YARAでは、マルウエアの特徴を「YARAルール」と呼ばれる文字列で記述する。1つの特徴が1つのYARAルールに対応する。そして複数のYARAルールをまとめたファイルがシグネチャーになる。

 YARAが検体とシグネチャーを照合し、特徴が一致したファイルをマルウエアとして検知する(図1)。シグネチャーを使ったマルウエア検知(シグネチャー検知)は、指紋照合に例えられる。YARAは、ルール次第でマルウエア以外の検知にも使える。またYARAルールはYARA以外の多くのセキュリティー製品が対応している。

図1●マルウエア検知ツールYARA
図1●マルウエア検知ツールYARA
YARAはマルウエアの調査や検知などに使われる。マルウエアの特徴を「YARAルール」に記述してシグネチャーを作成。これを照合して、特徴が一致したファイルをマルウエアとして検知する。
[画像のクリックで拡大表示]

ルールをテキストで記述

 YARAルールは基本的にテキストで記述するので、Windows標準の「メモ帳」など任意のテキストエディターで作成できる

 YARAルールは、主に「metaセクション」「stringsセクション」「conditionセクション」で構成される(図2)。またYARAルールごとに「ルール名」が付けられる。

図2●検知用のルールをファイルに記述
図2●検知用のルールをファイルに記述
1つひとつのルールを「YARAルール」と呼ぶ。1つのファイルに複数のYARAルールを記述できる。ルール用のファイルの拡張子は任意に指摘できるが、「.yara」または「.yar」とするのが慣習だ。
[画像のクリックで拡大表示]