基本情報技術者 2019年 秋期 午前(科目A) 問36
問題文
マルウェアの動的解析に該当するものはどれか。
選択肢
ア:検体のハッシュ値を計算し、オンラインデータベースに登録された既知のマルウェアのハッシュ値のリストと照合してマルウェアを特定する。
イ:検体をサンドボックス上で実行し、その動作や外部との通信を観測する。(正解)
ウ:検体をネットワーク上の通信データから抽出し、さらに、逆コンパイルして取得したコードから検体の機能を調べる。
エ:ハードディスク内のファイルの拡張子とファイルヘッダの内容を基に、拡張子が偽装された不正なプログラムファイルを検出する。
マルウェアの動的解析に該当するものはどれか。【午前2 解説】
要点まとめ
- 結論:正解は イ。検体をサンドボックス上で実際に実行して挙動や外部通信を観測する行為が動的解析です。
- 根拠:動的解析は実行時のプロセス生成、ファイル/レジストリ操作、ネットワーク通信などの振る舞いを直接観察して解析する手法です。
- 差がつくポイント:ハッシュ照合や逆コンパイル、拡張子検査は静的解析やフォレンジクス寄りで、実行による挙動観察の有無で区別します。
正解の理由
正解は イ です。問題文のイは「検体をサンドボックス上で実行し、その動作や外部との通信を観測する」とあり、これはまさに動的解析(ダイナミックアナリシス)の定義に合致します。動的解析ではサンプルを隔離環境で実行して、プロセスの生成・終了、ファイルやレジストリの変更、API 呼び出し、ネットワーク通信などの実行時振る舞いを観測してマルウェアの挙動を判断します。
よくある誤解
- ハッシュ照合を「動的解析」と誤認する:ハッシュ照合はファイルの静的識別であり、実行や挙動観察は伴いません。
- 逆コンパイル=動的解析と思う:逆コンパイルはコードを静的に解析する行為で、実行して観測する動的解析とは別です。
- ネットワークから抽出したサンプルの解析も自動的に動的解析とは限らない:抽出自体はフォレンジクスや静的解析に含まれる場合があります。
解法ステップ
- 問題文で「動的解析」の定義を頭に入れる(実行して挙動を観測すること)。
- 各選択肢のキーワードを探す:「実行」「サンドボックス」「観測」「ハッシュ」「逆コンパイル」「拡張子」など。
- 「実行して観測する」を含む選択肢を正として、残りを静的解析やファイル検査として除外する。
選択肢別の誤答解説
- ア: 検体のハッシュ値を計算して既知のリストと照合する行為は静的識別であり、実行や挙動観察を行わないため動的解析ではありません。
- イ: サンドボックスで実行して動作や通信を観測するため、動的解析そのものです(正解)。
- ウ: ネットワーク上の通信データから抽出するのはフォレンジクスやトラフィック解析寄り、逆コンパイルしてコードから機能を調べるのは静的解析です。実行して挙動を観測する手順は含まれておらず、動的解析とは言えません。
- エ: ファイル拡張子とヘッダを比較して偽装を検出するのは静的なファイル検査であり、実行観測を行う動的解析ではありません。
補足コラム
動的解析はマルウェアの実運用に近い挙動を把握できる一方で、サンドボックス検知やアンチサンドボックス技術によって挙動を隠すマルウェアも存在します。実行前にスナップショットを取り、ネットワークを隔離しログを詳細に取得すること、複数のサンドボックスや手動操作を組み合わせることが有効です。代表的なツール例:Cuckoo Sandbox、Procmon、Wireshark、Sysinternals。
FAQ
Q1: ハッシュ照合が役に立たない場面は?
A1: 変種が多いマルウェアやファイル改変が行われる場合、ハッシュは一致しないため検出に限界があります。
A1: 変種が多いマルウェアやファイル改変が行われる場合、ハッシュは一致しないため検出に限界があります。
Q2: 動的解析だけで十分ですか?
A2: いいえ。静的解析と動的解析を組み合わせることで、コード構造と実行時挙動の双方から総合的に判断できます。
A2: いいえ。静的解析と動的解析を組み合わせることで、コード構造と実行時挙動の双方から総合的に判断できます。
Q3: サンドボックスで実行するとマシンが汚染されませんか?
A3: サンドボックスは隔離環境として設計されますが、完全ではないためネットワークやホストの隔離、スナップショット運用が必須です。
A3: サンドボックスは隔離環境として設計されますが、完全ではないためネットワークやホストの隔離、スナップショット運用が必須です。
関連キーワード: マルウェア解析、動的解析、サンドボックス、静的解析、逆コンパイル、ハッシュ照合、ネットワークフォレンジクス、プロセス監視、アンチサンドボックス技術

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

