この概念が出た関連問題

この試験の対策ガイド

基本情報技術者試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は イ

解説

マルウェア解析の手法に関する問題です。マルウェアの解析は大きく静的解析と動的解析に分けられます。静的解析は検体(マルウェアのファイル)を実行せずに調べる手法で、ハッシュ値の照合、ファイル構造の調査、逆アセンブル・逆コンパイルによるコードの解読などが含まれます。動的解析は検体を実際に実行してその振る舞いを観測する手法です。ただし実環境で実行すると感染被害が出るため、サンドボックスと呼ばれる隔離された仮想環境内で実行し、ファイルの作成・変更、レジストリの操作、外部の C&C サーバとの通信などの動作を安全に観測します。イの「検体をサンドボックス上で実行し、その動作や外部との通信を観測する」はまさに動的解析の説明であり、正解です。「実行するかどうか」が静的・動的を分ける唯一の基準なので、各選択肢の記述に「実行」が含まれるかを確認すれば確実に判別できます。サンドボックス、C&C サーバ、ハッシュ値照合などの周辺用語もセキュリティ分野で頻出です。

なぜ他の選択肢は違うのか

選択肢 ア
検体のハッシュ値を計算し、オンラインデータベースに登録された既知のマルウェアのハッシュ値リストと照合して特定する手法は、検体を実行せずに行う静的解析(シグネチャ照合)の一種です。VirusTotal のようなサービスで既知のマルウェアを素早く特定するのに有効ですが、検体をサンドボックスなどで実際に動かしてその振る舞いを観測するわけではないため、動的解析には該当しません。
選択肢 ウ
検体をネットワーク上の通信データから抽出し、逆コンパイルして取得したコードから機能を調べる手法は静的解析に該当します。逆コンパイル(リバースエンジニアリング)はプログラムを実行せずにコードの内容を解読する代表的な静的解析手法です。コードを読んで機能を「推定」する点が、実行して挙動を「観測」する動的解析との違いです。
選択肢 エ
ハードディスク内のファイルの拡張子とファイルヘッダの内容を照合し、拡張子が偽装された不正なプログラムファイルを検出する手法は、ファイルを実行せずに行う検査であり静的な検出手法です。マルウェアがよく使う拡張子偽装(例えば実行ファイルを文書ファイルに見せかける)への対策ですが、検体の動作を観測する動的解析ではありません。

解くときのポイント

静的解析=実行しない(ハッシュ照合・逆コンパイル・ファイル検査)、動的解析=実行して観測(サンドボックス・挙動監視)。選択肢に「実行し」があるかどうかだけで判別できる。