全3072文字
PR

 マルウエアによる感染被害を最小限に抑えるには、その動きを知ることが何よりも重要だ。セキュリティーの専門家は様々な方法でマルウエアを解析している。そこで今回はマルウエアの解析方法を解説しよう。

解析方法は3種類

 マルウエアの解析方法は(1)表層解析、(2)動的解析、(3)静的解析の3つに分けられる(図1)。それぞれ見るポイントが異なる。(1)の表層解析はマルウエアを実行せずにファイルの情報を見る。

図1●マルウエアの解析方法は大きく分けて3つある
図1●マルウエアの解析方法は大きく分けて3つある
表層解析、動的解析、静的解析という3つの解析方法を組み合わせて、マルウエアの実態を探っていく。それぞれ見るポイントが異なる。
[画像のクリックで拡大表示]

 (2)の動的解析はマルウエアを実行して、実際の挙動を見る

 (3)の静的解析はプログラムのコードを見る。コードを読み解くことで、動きを推測する。

 これらを組み合わせて、マルウエアの実態を探っていく。

表層解析はすぐに実施できる

 では、それぞれの解析方法を詳しく見ていこう。

 マルウエア解析で最初に取りかかるのが表層解析である。他の方法に比べて、すぐに実施できることがメリットだ。

 表層解析では「ファイル名」「ファイル拡張子」「プロパティー情報」「ファイル内の文字列」「ファイルの構造」「ファイルのハッシュ値」などの情報を見る(図2)。いずれの情報も、マルウエアを実行したり、特別なツールを使ったりしなくてもすぐに分かる。

図2●マルウエアの表層解析
図2●マルウエアの表層解析
表層解析ではマルウエアのファイル名や拡張子、プロパティーといった情報を使って分析する。暗号化などで情報が隠蔽されていると解析しにくい。
[画像のクリックで拡大表示]

 これらの情報を基に、マルウエアの開発者をプロファイリングしたり、過去に検出されたマルウエアとの共通点を見つけたりする。

 例えば、プロパティー情報からマルウエア開発者が関係する国や地域、開発環境、開発した日時などが分かる場合がある。

 表層解析で見るファイル内の文字列とは、バイナリーエディターなどを使ってマルウエアのプログラムファイルを開くだけで確認できる文字列である。Windowsのメモ帳のようなテキストエディターでも文字列を確認できる場合がある。

 この文字列には、マルウエアがアクセスするIPアドレスやURLが含まれている可能性がある。また脅迫文とみられる文字列が見つかれば、マルウエアはランサムウエアだと推測できる。

 マルウエアのハッシュ値は、過去に見つかったマルウエアとの照合に使える。EDR製品などを導入していれば、ハッシュ値を基に感染した端末を洗い出すことができる。あらかじめ指定したハッシュ値のファイルを遮断するようにすれば、感染予防にもつなげられる。

 以上のように表層解析は一見単純だが、マルウエアの性質や動作のヒントを見つけられる重要な解析方法である。その後の解析の方向性を決めるのに役立つ。

 ただ弱点もある。ファイルを暗号化されていると、入手できる情報が制限されてしまう。