世の中のサイバー攻撃の中でも大半を占めるマルウェア。マルウェアには様々な種類が存在するため、その攻撃から身を護るには、マルウェアがどのような性質を持つものなのか解析し、その防御策を講じる必要があります。
解析の方法は数多く存在しますが、ここでは代表的な3つのステップを見てみましょう。
ステップ1:表層解析
まず、下記のようなマルウェアの表層的な特徴を元に、インターネットや過去の解析データ等を調査する「表層解析」を行います。この解析は、マルウェアを動作させずに解析することが可能なので、比較的危険度が低いと言われています。
・ファイル名
・ファイル種別
・ハッシュ値(注1)
ステップ2:動的解析
次に、実際にマルウェアを動作させて、その挙動を見る「動的解析」を行います。実際に動作させるわけですから、どのような悪影響が及ぶかわかりません。そのため、動作させる端末はネットワークから完全に切り離された、いわゆるスタンドアロン環境を用いるのが一般的です。
動作させてみて、システムのどの部分が書き換えられるのか、通信を行おうとするのであれば、どのような手段を用いるのか、といったマルウェアの目的や手段を解明します。それに加え、マルウェアもプログラムですから、メモリなどコンピュータのリソースを消費します。その使用量やタイミングなどもマルウェア対策の大きなヒントになります。
実際に動的解析を行った例を記載したサイトがありますので、ご覧になってみてください。
参照リンク:https://cyberforensic.focus-s.com/support/1284/ |
ステップ3:静的解析
最後に、マルウェアのプログラムコード自体を解析する「静的解析」を行います。一般的なプログラムの場合であれば、可読性の高い言語や手法で記述されているはずですが、マルウェアは悪意のあるプログラムなので、わざわざ難読化されています。それを頭から1行ずつ解析していては時間の無駄なので、マルウェア用に開発されている解析ソフトを用います。
このように、マルウェアを解析する場合には、下記の3つの側面で切り分けます。
・ファイルの特性=表層解析
・マルウェアの挙動=動的解析
・マルウェアの作成手法=静的解析
そうすることで、マルウェアの特徴を多角的に捉えることができるようになるので、より確度の高いマルウェア対策を講じることが可能となります。
※注1:データの受け渡しや保管の際に、そのデータが改変されていないか確認するために使われている技術のひとつ。 参考:リンク |