マルウェアの動的解析はどれか、静的解析との違いで見分ける
情報セキュリティマネジメント試験 2022年 サンプル問題 問29 / セキュリティ › 情報セキュリティ対策
過去問にチャレンジ
マルウェアの動的解析に該当するものはどれか。
- ア
検体のハッシュ値を計算し,オンラインデータベースに登録された既知のマルウェアのハッシュ値のリストと照合してマルウェアを特定する。
- イ
検体をサンドボックス上で実行し,その動作や外部との通信を観測する。
- ウ
検体をネットワーク上の通信データから抽出し,さらに,逆コンパイルして取得したコードから検体の機能を調べる。
- エ
ハードディスク内のファイルの拡張子とファイルヘッダーの内容を基に,拡張子が偽装された不正なプログラムファイルを検出する。
会話形式の解説
講師今回は、マルウェアを調べる手法のうち、どれが「動的解析」に当たるかを見分ける問題です。見るポイントはひとつで、検体、つまり調べる対象のプログラムを実際に動かしているかどうかです。
受験者動的というくらいなので、動きを見る手法だろうとは思いました。ただ、通信データから検体を取り出す選択肢も、ネットワークが関係していて動きがありそうに見えて迷いました。
講師そこが引っかけになりやすいところです。その選択肢は、取り出した検体を逆コンパイルして、得られたコードから機能を調べています。逆コンパイルは、実行形式のプログラムを人が読めるコードの形に戻す作業です。検体そのものは一度も実行していません。
受験者コードを読んで動作を推測しているだけなので、静的解析ということですか。
講師そのとおりです。静的解析は、検体を実行せずにコードなどを読んで機能を調べる手法です。通信データから取り出す手順があっても、解析の中心はコードを読むことなので静的解析になります。
受験者ハッシュ値を計算して、既知のマルウェアのリストと照合する選択肢はどうですか。マルウェアを特定できるので、解析の一種に思えます。
講師これはコンペア法と呼ばれる手法です。ハッシュ値は、ファイルの内容から計算される固有の値と考えてください。値が一致するかどうかだけで判定し、検体を実行して挙動を観察してはいないので、動的解析には当たりません。
受験者拡張子とファイルヘッダーを比べて、偽装されたプログラムを見つける選択肢も、実行はしていませんね。
講師はい。ファイルの属性情報を照らし合わせて偽装を見つける検出手法で、振る舞いの観測はしていません。残るのが、検体をサンドボックス上で実行し、動作や外部との通信を観測する選択肢です。サンドボックスは、ほかの環境に影響を与えないように隔離された実行環境のことです。
受験者隔離した場所で実際に動かして、何をするか観察するわけですね。実行と観測がそろっているのはこれだけなので、これが動的解析だと分かりました。
講師よく整理できています。補足すると、動的解析はブラックボックス解析、静的解析はホワイトボックス解析と呼ばれることもあります。語句の印象に引っ張られず、検体を実行しているかどうかで判断すると迷いにくくなります。
まとめ
マルウェアの動的解析は、サンドボックスのような隔離された環境で検体を実際に実行し、動作や外部との通信を観察する手法です。これに対して静的解析は、検体を実行せず、逆コンパイルしたコードなどを読んで機能を調べます。ハッシュ値を既知のリストと照合するコンペア法や、拡張子とファイルヘッダーの照合による偽装検出も、検体を実行しないので動的解析には当たりません。見分けるときは「検体を実行して挙動を観測しているか」を基準にすると判断しやすくなります。
解答・解説
正解はイです
この問題のテーマ
マルウェアを調べる手法のうち、どれが「動的解析」に当たるかを見分ける問題です。動的解析と静的解析、そして解析ではない検出手法の違いを理解しているかが問われます。
解き方の考え方
動的解析の要点は「検体を実際に動かして、その振る舞いを観察する」ことです。そこで、各選択肢で検体を実行しているかどうかを確かめます。実行せずにコードやファイルの情報だけを見ている手法は、静的解析か検出手法なので外せます。実行と観測の両方がそろっているのは、サンドボックスで動かして通信などを観測する選択肢だけです。
選択肢ごとの解説
- ×ア 検体のハッシュ値を計算し,オンラインデータベースに登録された既知のマルウェアのハッシュ値のリストと照合してマルウェアを特定する。アのハッシュ値を既知のマルウェアのリストと照合する方法は、コンペア法と呼ばれる手法です。検体を実行せず、値が一致するかどうかだけで判定します。挙動を観察していないので、動的解析には当たりません。
- ○イ 検体をサンドボックス上で実行し,その動作や外部との通信を観測する。イのサンドボックス上で検体を実行し、動作や外部との通信を観測する方法は、動的解析そのものです。動的解析は、隔離された環境で検体を実際に動かし、挙動を観察する手法です。サンドボックスは周りに影響を与えない隔離環境なので、安全に実行して観測できます。
- ×ウ 検体をネットワーク上の通信データから抽出し,さらに,逆コンパイルして取得したコードから検体の機能を調べる。ウの逆コンパイルで取得したコードから機能を調べる方法は、静的解析に当たります。静的解析は検体を実行せず、コードを読んで動作を推測する手法です。ネットワーク上の通信データから検体を取り出す手順はありますが、検体そのものは実行していません。
- ×エ ハードディスク内のファイルの拡張子とファイルヘッダーの内容を基に,拡張子が偽装された不正なプログラムファイルを検出する。エの拡張子とファイルヘッダーの内容を照合して偽装を見つける方法は、ファイルの属性情報を比べる検出手法です。プログラムを実行して振る舞いを観測しているわけではないので、動的解析には当たりません。
補足
動的解析はブラックボックス解析、静的解析はホワイトボックス解析と呼ばれることもあります。ウのように「通信データから抽出」といった動きのありそうな語が入っていても、解析の中心が逆コンパイルしたコードの読解であれば静的解析です。語句の印象ではなく、検体を実行しているかどうかで判断しましょう。
POINT
- 動的解析は、隔離された環境で検体を実際に実行して挙動を観察する手法です。
- 静的解析は、検体を実行せず、逆コンパイルしたコードなどを読んで機能を調べる手法です。
- サンドボックスは、ほかの環境に影響を与えないように隔離された実行環境です。
- ハッシュ値の照合(コンペア法)は検体を実行しないので、動的解析ではありません。
- 見分けるときは「検体を実行しているかどうか」を基準にすると判断しやすくなります。
