マナビング情報セキュリティマネジメント

マルウェアの動的解析はどれ?実行するかで見分ける

情報セキュリティマネジメント試験 令和元年度秋期 午前 問22 / セキュリティ › 情報セキュリティ対策

過去問にチャレンジ

令和元年度秋期 午前 問22

マルウェアの動的解析に該当するものはどれか。

  1. ア

    検体のハッシュ値を計算し,オンラインデータベースに登録された既知のマルウェアのハッシュ値のリストと照合してマルウェアを特定する。

  2. イ

    検体をサンドボックス上で実行し,その動作や外部との通信を観測する。

  3. ウ

    検体をネットワーク上の通信データから抽出し,さらに,逆コンパイルして取得したコードから検体の機能を調べる。

  4. エ

    ハードディスク内のファイルの拡張子とファイルヘッダーの内容を基に,拡張子が偽装された不正なプログラムファイルを検出する。

会話形式の解説

講師講師
今回は、マルウェアを調べる方法のうち、どれが「動的解析」に当たるかを選ぶ問題です。見るポイントは、検体を実際に実行しているかどうかです。
受験者受験者
検体というのは、調べる対象のマルウェアのことですか。
講師講師
はい。調べる対象のマルウェアのファイルです。動的解析は、その検体を実際に実行して、挙動を観測する手法です。
受験者受験者
それなら、サンドボックスで実行して動作や通信を観測する選択肢が当てはまりそうです。サンドボックスは安全な場所という意味でしょうか。
講師講師
そうです。サンドボックスは、外部に影響が及ばないよう隔離した実行環境です。そこで検体を動かし、ファイル操作や外部との通信を観察します。動的解析の定義そのものなので、これが正解です。
受験者受験者
逆コンパイルしてコードから機能を調べる選択肢も、中身を詳しく見ているので解析っぽく感じて迷いました。
講師講師
逆コンパイルは、実行形式のプログラムを人が読めるコードに戻すことです。コードを読むだけで、検体は実行しません。実行せずに調べる手法は静的解析なので、動的解析には当たりません。
受験者受験者
ハッシュ値を既知のマルウェアのリストと照合する方法も、実行していないから違うということですね。
講師講師
その通りです。ハッシュ値は、ファイルの内容から計算する固定長の値です。値を計算して照合するだけで、検体を一度も実行しないので動的解析ではありません。
受験者受験者
拡張子とファイルヘッダーを突き合わせる方法はどうでしょう。ファイルヘッダーがよく分かっていません。
講師講師
ファイルヘッダーは、ファイルの先頭にある、形式を示す情報です。この方法で調べているのはファイルの形式で、プログラムを実行して動作を観察してはいません。なので、これも動的解析ではありません。
受験者受験者
まとめると、実行して挙動を見るのが動的解析で、実行せずにコードや値を調べるのは動的解析ではない、と区別すればよいのですね。
講師講師
はい、その区別で大丈夫です。補足すると、サンドボックスはほかの環境に影響が及ばないよう隔離した領域なので、使える機能やネットワーク接続が制限されています。

まとめ

マルウェアの動的解析とは、検体を実際に実行して挙動を観測する手法です。代表的なのは、隔離した実行環境であるサンドボックスで検体を動かし、動作や外部との通信を観測する方法で、この問題の正解です。逆コンパイルしてコードを読む方法は、実行せずに調べるので静的解析です。ハッシュ値の照合やファイルヘッダーの検査も実行を伴わないので、動的解析には当たりません。見分けるときは、検体を実行しているかどうかに注目します。

解答・解説

正解はイです

この問題のテーマ

マルウェアを調べる方法のうち、動的解析に当たるものを選ぶ問題です。動的解析と静的解析の違いがわかっているかを問います。

解き方の考え方

まず、各選択肢で検体(調べる対象のマルウェアのファイル)を実際に実行しているかを確かめます。次に、実行して動作を観測しているかを、動的解析の定義と照らします。実行せずにファイルの値やコードを調べる方法は、動的解析ではありません。この基準で見ると、検体を実行しているのはイだけです。

選択肢ごとの解説

  1. ×ア  検体のハッシュ値を計算し,オンラインデータベースに登録された既知のマルウェアのハッシュ値のリストと照合してマルウェアを特定する。
    アは、検体のハッシュ値(ファイルの内容から計算する固定長の値)を既知のマルウェアの値と照合する方法です。この方法では、検体を一度も実行しません。そのため、アのハッシュ照合は動的解析には当たりません。
  2. ○イ  検体をサンドボックス上で実行し,その動作や外部との通信を観測する。
    イは、検体をサンドボックス(外部に影響が及ばないよう隔離した実行環境)で動かし、動作や通信を観測する方法です。動的解析は、検体を実際に実行して挙動を観測する手法です。イの説明はこの定義に合っています。したがって、イが正解です。
  3. ×ウ  検体をネットワーク上の通信データから抽出し,さらに,逆コンパイルして取得したコードから検体の機能を調べる。
    ウは、検体を逆コンパイル(実行形式のプログラムを人が読めるコードに戻すこと)し、コードを読んで機能を調べる方法です。コードを読むだけなので、検体は実行しません。このように実行せずに調べる手法は静的解析です。したがって、ウの逆コンパイルによる調査は誤りです。
  4. ×エ  ハードディスク内のファイルの拡張子とファイルヘッダーの内容を基に,拡張子が偽装された不正なプログラムファイルを検出する。
    エは、ファイルの拡張子とファイルヘッダー(ファイルの先頭にある、形式を示す情報)を突き合わせ、偽装を見つける方法です。調べているのはファイルの形式で、プログラムを実行して動作を観察してはいません。そのため、エの拡張子の検査は動的解析ではありません。

補足

サンドボックスは、ほかの環境に影響が及ばないよう隔離した領域です。そのため、使える機能やネットワーク接続が制限されています。

POINT

  • 動的解析は、検体を実際に実行して、その挙動を観測する手法です。
  • 動的解析では、隔離したサンドボックスで検体を動かし、ファイル操作や外部への通信を観察します。
  • 静的解析は、検体を実行せず、逆コンパイルしたコードなどを読んで動作を調べる手法です。
  • ハッシュ値の照合やファイルヘッダーの検査は実行を伴わないので、動的解析ではありません。

※出典:令和元年度秋期 情報セキュリティマネジメント試験 午前 問22