今回はオープンソースのマルウエア検知ツール▼「YARA」を通して、一般的なマルウエア検知で用いられるシグネチャーの仕組みを見ていこう。YARAはマルチプラットフォーム対応であり、Windows版は公式サイト▼からダウンロードできる。
YARAでは、マルウエアの特徴を「YARAルール」と呼ばれる文字列で記述する。1つの特徴が1つのYARAルールに対応する。そして複数のYARAルールをまとめたファイルがシグネチャーになる。
YARAが検体とシグネチャーを照合し、特徴が一致したファイルをマルウエアとして検知する(図1)。シグネチャーを使ったマルウエア検知(シグネチャー検知)は、指紋照合に例えられる。YARAは、ルール次第でマルウエア以外の検知にも使える。またYARAルールはYARA以外の多くのセキュリティー製品が対応している。
ルールをテキストで記述
YARAルールは基本的にテキストで記述するので、Windows標準の「メモ帳」など任意のテキストエディターで作成できる▼。
YARAルールは、主に「metaセクション」「stringsセクション」「conditionセクション」で構成される(図2)。またYARAルールごとに「ルール名」が付けられる。