マナビング基本情報技術者

ペネトレーションテストは何をする検査か、見分け方を確認

基本情報技術者試験 令和6年度 問9 / セキュリティ › セキュリティ技術評価

過去問にチャレンジ

令和6年度 問9

ペネトレーションテストに該当するものはどれか。

  1. ア

    検査対象の実行プログラムの設計書,ソースコードに着目し,開発プロセスの各工程にセキュリティ上の問題がないかどうかをツールや目視で確認する。

  2. イ

    公開Webサーバの各コンテンツファイルのハッシュ値を管理し,定期的に各ファイルから生成したハッシュ値と一致するかどうかを確認する。

  3. ウ

    公開Webサーバや組織のネットワークの脆弱性を探索し,サーバに実際に侵入できるかどうかを確認する。

  4. エ

    内部ネットワークのサーバやネットワーク機器のIPFIX情報から,各PCの通信に異常な振る舞いがないかどうかを確認する。

会話形式の解説

講師講師
今回はペネトレーションテストとは何かを問う問題です。選択肢はどれもセキュリティ対策の説明なので、その中から「ペネトレーションテストに当たるもの」を見分けることになります。
受験者受験者
名前は聞いたことがあるのですが、どの選択肢もセキュリティを確認しているように読めて、違いがよく分かりません。
講師講師
ペネトレーションテストは「侵入テスト」とも呼ばれます。攻撃者と同じ立場で、実際にシステムへの侵入を試みる検査です。ですから「実際に侵入を試しているかどうか」に注目すると見分けやすくなります。
受験者受験者
それなら、サーバやネットワークの脆弱性を探して、実際に侵入できるかを確かめる選択肢がそのまま当てはまりそうです。
講師講師
そのとおりです。弱点を見つけるだけで終わらず、侵入が成功するかまで確認している点がポイントです。ほかの選択肢がなぜ違うのかも確かめておきましょう。
受験者受験者
設計書やソースコードを確認する選択肢は、問題を探しているという点では近いように思います。
講師講師
問題を探す点は同じですが、これはセキュリティレビューや静的解析、つまりプログラムを動かさずに中身を点検する作業に当たります。開発工程に問題がないかを見るもので、動いているシステムに侵入を試みてはいません。
受験者受験者
コンテンツファイルのハッシュ値を定期的に比べる選択肢は、ファイルが書き換えられていないかを確かめているのでしょうか。
講師講師
はい、改ざん検知、つまり完全性の監視です。内容が変わっていないかを確認する仕組みで、脆弱性を突いて侵入する行為ではありません。
受験者受験者
IPFIX情報から通信の異常を確認する選択肢は、IPFIXという言葉を知らなくて迷いました。
講師講師
IPFIXは、通信のフロー情報、つまり誰がどこへどれくらい通信したかといった流れの情報を書き出す仕組みです。この選択肢は流れている通信を受け身で観察するネットワーク監視や異常検知なので、侵入を試みる検査ではありません。
受験者受験者
整理すると、ソースコードの確認はレビュー、ハッシュ値の比較は改ざん検知、フロー情報の分析は監視で、自分から侵入を試すのがペネトレーションテスト、ということですね。
講師講師
よく整理できています。補足すると、脆弱性診断は弱点を見つけることが中心で、必ずしも侵入までは試みません。この違いが問われることもあります。また、担当者に与える情報の量によって、ブラックボックス型、ホワイトボックス型、グレイボックス型といった種類があります。
受験者受験者
実際に侵入するとなると、勝手に行ってよいものではなさそうです。
講師講師
そうです。許可を得ずに同じ行為をすると違法になります。実施する前に、対象範囲・期間・手法などについて合意し、許可を得ることが欠かせません。

まとめ

ペネトレーションテスト(侵入テスト)は、攻撃者の立場で実際にシステムへの侵入を試み、侵入できるかを確認する検査です。見分けるときは「実際に侵入を試すかどうか」を基準にします。設計書やソースコードの確認はセキュリティレビュー(静的解析)、ハッシュ値の比較は改ざん検知、IPFIXによるフロー情報の分析はネットワーク監視であり、どれも侵入は試みません。弱点を探すことが中心の脆弱性診断との違いや、実施前に合意と許可が必要な点もあわせて押さえておきましょう。

解答・解説

正解はウです

この問題のテーマ

ペネトレーションテストとは何かを理解し、ソースコードレビュー・改ざん検知・ネットワーク監視といった他のセキュリティ対策と見分けられるかを問う問題です。

解き方の考え方

ペネトレーションテストは「侵入テスト」とも呼ばれ、攻撃者と同じ立場で実際にシステムへの侵入を試みる検査です。そこで、各選択肢が「実際に侵入を試しているかどうか」に注目します。設計書を読む、ハッシュ値を比べる、通信記録を監視するといった行為は、侵入を試みるものではありません。侵入を試みる記述を含む選択肢が正解になります。

選択肢ごとの解説

  1. ×ア  検査対象の実行プログラムの設計書,ソースコードに着目し,開発プロセスの各工程にセキュリティ上の問題がないかどうかをツールや目視で確認する。
    アの設計書やソースコードを確認する説明は、セキュリティレビューや静的解析に当たります。開発工程に問題がないかを点検する作業で、動いているシステムに実際に侵入を試みる検査ではありません。
  2. ×イ  公開Webサーバの各コンテンツファイルのハッシュ値を管理し,定期的に各ファイルから生成したハッシュ値と一致するかどうかを確認する。
    イのコンテンツファイルのハッシュ値を定期的に比べる説明は、ファイルの改ざん検知(完全性の監視)に当たります。内容が書き換えられていないかを確かめる仕組みで、脆弱性を突いて侵入を試みる行為ではありません。
  3. ○ウ  公開Webサーバや組織のネットワークの脆弱性を探索し,サーバに実際に侵入できるかどうかを確認する。
    ウのサーバやネットワークの脆弱性を探し、実際に侵入できるかを確かめる説明は、ペネトレーションテストの定義に合っています。弱点を見つけるだけで終わらず、攻撃者の立場で侵入が成功するかまで確認する点がポイントです。
  4. ×エ  内部ネットワークのサーバやネットワーク機器のIPFIX情報から,各PCの通信に異常な振る舞いがないかどうかを確認する。
    エのIPFIX情報から各PCの通信に異常がないかを確認する説明は、ネットワーク監視や異常検知に当たります。IPFIXは通信のフロー情報を書き出す仕組みです。流れている通信を受け身で観察するだけなので、侵入を試みる検査ではありません。

補足

脆弱性診断は弱点を見つけることが中心で、必ずしも侵入までは試みません。この点がペネトレーションテストとの違いとして問われることがあります。また、テスト担当者に与える情報の量によって、ブラックボックス型、ホワイトボックス型、グレイボックス型といった種類があります。許可を得ずに同じ行為を行うと違法になるため、事前の合意が欠かせません。

POINT

  • ペネトレーションテストは、攻撃者の立場で実際にシステムへの侵入を試み、侵入できるか、侵入後にどこまで影響が及ぶかを確認する検査です。
  • 見分けるときは「実際に侵入を試すかどうか」を基準にするのが有効です。
  • 設計書やソースコードの確認はセキュリティレビュー(静的解析)、ハッシュ値の比較は改ざん検知、フロー情報の分析はネットワーク監視です。
  • 実施する前に、対象範囲・期間・手法などについて合意し、許可を得る必要があります。

※出典:令和6年度 基本情報技術者試験 科目A 問9