動的解析と静的解析

動的解析と静的解析

動的解析

マルウェアの解析現場では「動的解析」という言葉を耳にすることがあります。動的解析とは、マルウェアを実際に動作させて、その挙動を追いかけることで、マルウェアがどのような悪さをするかを解析する方法です。

動的解析の長所と短所

動的解析では実際にマルウェアを動作させて、その動作を解析するため、マルウェアの実際の挙動を把握しやすいという特徴があります。また「静的解析」よりも早く解析結果を得られる可能性が高いです。この点も長所の1つといえます。一方で、動的解析を行うには動作するマルウェア(マルウェアファイル)が必要なので、これが残っていないと解析を行うことはできません。また、マルウェアファイルが残っている場合でも、動作させるには「マルウェアが動作する条件や設定」を解明することが必要です。

また、動的解析はその解析方法の特性上、仮想マシンなどで構成されたサンド*ックス内 で行われることが多いのですが、このことは攻撃者(マルウェアの作成者)も理解しており、自身が作成したマルウェアを簡単に解析·駆除させないために、最近では「サンドボックス内では動作しないマルウェア」というものも登場しています(マルウェア自身が、実行環境が仮想環境なのか、そうでないのかを判別できるということです)。このように、攻撃側と防御側の攻防は一進一退のいたちごっこ状態になっていますが、動的解析が有効な場面はまだまだ多いため、まずはこのような解析方法があるということ覚えておき、必要に応じて活用してみてください。

表層解析 ~解析済みの情報を探す手法~

表層解析とは、ファイル名やファイルの種類(実行ファイル、画像ファイルなど、ファイルのハッシュ値などの外形的な情報をもとに、すでに存在する解析情報を、1ンターネット上などから探し出す手法です。表層解析の段階で十分な情報を取得でき場合に、動的解析や静的解析を行います

静的解析

動的解析が「マルウェアを実際に動作させてその挙動を確認する。解析方法であるのに対して、静的解析は「マルウェアは実行せす、実際に植にあったコンピューターに残されたファイルや、メモリに残存するマルウェア関連報などの中身を見て解析する方法」です。

静的解析の長所と短所

静的解析では、マルウェアを動作させる必要がないため、動的解析のようにサンドボックスを用意したり、特定のソフトウェアや設定ファイルなどを用意したりする必要がありません。動作するマルウェアがなくても、マルウェアの解析を進めることが可能です。

一方で、静的解析には大きく、以下の3つの短所があります。

時間がかかる
膨大な知識が必要
解析対象のプログラムに記述されている以上のことはわからない

動作させればすぐにわかることでも、プログラムを読み解いて解明しようとすると非常に時間がかかります。また、静的解析を行うには膨大な知識が必要です。たとえば、プログラムが動作する環境の知識も必要ですし、解析対象のプログラムが外部のホストと通信するような場合には、外部のホスト上で動作するプログラムに関する知識や、プログラムがやりとりするデータに関する知識も必要になります。

動的解析と静的解析の使い分け方

動的解析と静的解析にはそれぞれに一長一短があります。そのため、両方の解析方法を組み合わせることをお勧めします。たとえば、動的解析を行うために必要なデータがそろわない場合は、不足したデータを静的解析で調査するなど、それぞれの特を活かして相互に解析を進める方法がお勧めです。

セキュリティカテゴリの最新記事