マルウエアによる感染被害を最小限に抑えるには、その動きを知ることが何よりも重要だ。セキュリティーの専門家は様々な方法でマルウエアを解析している。そこで今回はマルウエアの解析方法を解説しよう。
解析方法は3種類
マルウエアの解析方法は(1)表層解析、(2)動的解析、(3)静的解析の3つに分けられる(図1)。それぞれ見るポイントが異なる。(1)の表層解析はマルウエアを実行せずにファイルの情報を見る。
(2)の動的解析はマルウエアを実行して、実際の挙動を見る▼。
(3)の静的解析はプログラムのコードを見る。コードを読み解くことで、動きを推測する。
これらを組み合わせて、マルウエアの実態を探っていく。
表層解析はすぐに実施できる
では、それぞれの解析方法を詳しく見ていこう。
マルウエア解析で最初に取りかかるのが表層解析である。他の方法に比べて、すぐに実施できることがメリットだ。
表層解析では「ファイル名」「ファイル拡張子」「プロパティー情報」「ファイル内の文字列」「ファイルの構造」「ファイルのハッシュ値」などの情報を見る(図2)。いずれの情報も、マルウエアを実行したり、特別なツールを使ったりしなくてもすぐに分かる。
これらの情報を基に、マルウエアの開発者をプロファイリングしたり、過去に検出されたマルウエアとの共通点を見つけたりする。
例えば、プロパティー情報からマルウエア開発者が関係する国や地域、開発環境、開発した日時などが分かる場合がある。
表層解析で見るファイル内の文字列とは、バイナリーエディターなどを使ってマルウエアのプログラムファイルを開くだけで確認できる文字列である。Windowsのメモ帳のようなテキストエディターでも文字列を確認できる場合がある。
この文字列には、マルウエアがアクセスするIPアドレスやURLが含まれている可能性がある。また脅迫文とみられる文字列が見つかれば、マルウエアはランサムウエアだと推測できる。
マルウエアのハッシュ値▼は、過去に見つかったマルウエアとの照合に使える。EDR▼製品などを導入していれば、ハッシュ値を基に感染した端末を洗い出すことができる。あらかじめ指定したハッシュ値のファイルを遮断するようにすれば、感染予防にもつなげられる。
以上のように表層解析は一見単純だが、マルウエアの性質や動作のヒントを見つけられる重要な解析方法である。その後の解析の方向性を決めるのに役立つ。
ただ弱点もある。ファイルを暗号化されていると、入手できる情報が制限されてしまう。