JPCERT コーティネーションセンター(JPCERT/CC)は、カスタマイズした「YARA」(マルウェア解析、検知ツール)のルールを使って、インシデント対応などの際にマルウェアの有無を調査できるツール「YAMA」をGitHubに公開した。難読化されたマルウェアやファイルレス型にも対応するという。
YAMAは、動作中の「Windows」コンピューター上のメモリーでYARAによるスキャンを実施する。ユーザーがカスタマイズしたYARAルールを記述すれば、ユーザーニーズに合わせたマルウェアスキャンを実行できる。インストールが不要で、スキャン結果をテキストもしくはJSON形式で出力する。
JPCERT/CCは、現代のサイバー攻撃では、ファイルレスマルウェア(ファイル形式ではない不正プログラム)や、暗号化技術を複雑に多用するなどの方法で難読化したマルウェアが使われ、ファイル単体で悪意の有無を判断することが難しいと解説。こうした不正プログラムの検出には、AIやサンドボックス(仮想コンピューティング環境)、EDR(エンドポイント脅威検知・対応)などのツールで不審な挙動を確認する方法が一般的だが、コンピューターを1台ずつ手動で調査する必要があり、ネットワーク内部に潜伏している可能性があるマルウェアの有無を網羅的に調査するには手間がかかるとする。
また、YARAルールを使ってファイルやコンピューターの個別のプロセスをスキャンすることができるものの、現状のツールではライブメモリー全体を調査することができないという。JPCERT/CCは、こうしたことを踏まえてインシデント対応時におけるマルウェア調査を効率的に行えるようYAMAを公開したという。
「YAMA」のコマンドラインインターフェース(GitHubより)
使い方は、まずGitHubでYAMAのリポジトリーをフォークし、「GitHub Actions」からYAMAスキャナーをコンパイルする。次に、「rsrc/ioc/rule.yara」のファイルでYARAルールをカスタマイズし、コミットする。この後、ビルドされたYAMAスキャナーをダウンロードする。
ユーザーが作成するYAMAスキャナーはシングルバイナリーのため、調査対象のコンピューターにコピーするだけで使用できる。なお、管理者権限で動作しているプロセスをスキャンするには、YAMAスキャナーを管理者権限で実行する必要がある。また、ログをEvent Logとして出力する場合は、別途「Event Message File」をインストールしておく。
JPCERT/CCは、YAMAの開発に協力した谷知亮氏に謝辞を表明し、今後はJPCERT/CC独自のYARAルールを搭載するYAMAの公開も予定しているという。