この記事では、マルウェアの動的解析とハニーポットとペネトレーションテストについて、初心者にも分かりやすく、図解付きで丁寧に解説しています!
マルウェアの動的解析
- マルウェアをサンドボックスで実行して、マルウェアの挙動を分析することをマルウェアの動的解析と呼ぶ。実際に使っているシステムとは切り離されたテスト環境をサンドボックスと呼ぶ。
ハニーポット
- 本当の攻撃者に実際に攻撃されるように脆弱性を持たせたシステムをハニーポットと呼ぶ。ハニーポットに攻撃させることで、攻撃者の攻撃方法を知ることができる。
ペネトレーションテスト
- ペネトレーションテストでは攻撃者と同じ方法で、実際に使っているシステムに侵入できるか確かめる。
システムの脆弱性を検証する
システムや情報資産に攻撃を加えて損害を与える存在を脅威と言います。脅威はシステムや情報資産の弱点を突いて損害を与えようとします。そのような弱点のことを脆弱性と言います。もちろん、脆弱性がないようにシステムを開発しますが、悪意のある技術も日々進歩しているので、残念ながら数年経ったら脆弱性が出てきてしまう可能性もあります。

なので、システムを導入した後でも最新の脅威に対応できているか検証する必要がありますし、脆弱性が見つかったら対応する必要があるんですね。
マルウェアの動的解析
悪意のあるソフトウェアをマルウェアと呼びます。知らない間にマルウェアに感染し、大切な情報が漏洩したり破損することがあるので、最新のマルウェアが出てきたら、そのマルウェアの挙動について知ることが重要になってきます。マルウェアの挙動を知る方法の1つがマルウェアの動的解析です。
マルウェアの動的解析では、マルウェアをテスト環境に感染させてみて、マルウェアの挙動を確認し、マルウェアへの対応策に必要な情報を取得します。マルウェアを感染させるテスト環境は、通常使う環境と切り離されている必要があります。このような環境をサンドボックスと呼びます。

ハニーポット
マルウェアの動的解析では自分達で実際にマルウェアを実行し、マルウェアの挙動を確認しましたが、ハニーポットを使った検証では、おとりのシステムを作り、実際に攻撃者に襲わせてみて攻撃方法を分析します。脆弱性があるが魅力的なシステムを意図的に作ることで、蜜に寄る虫のように攻撃者をおびき寄せるんですね。

ペネトレーションテスト
ペネトレーションテストでは、実際に使っているシステムの脆弱性を検証するために、攻撃者と同じ手法でシステムに侵入・不正アクセスできるか試します。

基本情報技術者試験での出題例
サンプル問題問35、令和元年度秋期問36
基本情報技術者
科目A サンプル問題問35、午前試験 令和元年度秋期問36
マルウェアの動的解析に該当するものはどれか。
ア 検体のハッシュ値を計算し,オンラインデータベースに登録された既知のマルウェアのハッシュ値のリストと照合してマルウェアを特定する。
イ 検体をサンドボックス上で実行し,その動作や外部との通信を観測する。
ウ 検体をネットワーク上の通信データから抽出し,さらに,逆コンパイルして取得したコードから検体の機能を調べる。
エ ハードディスク内のファイルの拡張子とファイルヘッダの内容を基に,拡張子が偽装された不正なプログラムファイルを検出する。
正解は”イ”
マルウェアの動的解析ではマルウェアをサンドボックス上で動かし、その挙動を確認します。
令和6年度問9
基本情報技術者
科目A 令和6年度問9
ペネトレーションテストに該当するものはどれか。
ア 検査対象の実行プログラムの設計書,ソースコードに着目し,開発プロセスの各工程にセキュリティ上の問題がないかどうかをツールや目視で確認する。
イ 公開Webサーバの各コンテンツファイルのハッシュ値を管理し,定期的に各ファイルから生成したハッシュ値と一致するかどうかを確認する。
ウ 公開Webサーバや組織のネットワークの脆弱性を探索し,サーバに実際に侵入できるかどうかを確認する。
エ 内部ネットワークのサーバやネットワーク機器のIPFIX情報から,各PCの通信に異常な振る舞いがないかどうかを確認する。
正解は”ウ”
ペネトレーションテストではネットワークやサーバなど実際に使っているシステムに侵入できるかどうか確認します。
平成31年度春期問44
基本情報技術者
午前試験 平成31年度春期問44
侵入者やマルウェアの挙動を調査するために,意図的に脆弱性をもたせたシステム又はネットワークはどれか。
ア DMZ
ウ ハニーポット
イ SIEM
エ ボットネット
正解は”ウ”
攻撃者に実際に攻撃させて、その攻撃方法を知るために、意図的に脆弱性を持たせたシステムをハニーポットと呼びます。
平成29年度秋期問45
基本情報技術者
午前試験 平成29年度秋期問45
コンピュータやネットワークのセキュリティ上の脆弱性を発見するために,システムを実際に攻撃して侵入を試みる手法はどれか。
ア ウォークスルー
ウ ペネトレーションテスト
イ ソフトウェアインスペクション
エ リグレッションテスト
正解は”ウ”
ペネトレーションテストではネットワークやサーバなど実際に使っているシステムに侵入できるかどうか確認します。