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

ペネトレーションテストとは何か、他の検査とどう違うか

情報セキュリティマネジメント試験 平成31年度春期 午前 問18 / セキュリティ › セキュリティ技術評価

過去問にチャレンジ

平成31年度春期 午前 問18

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

  1. ア

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

  2. イ

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

  3. ウ

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

  4. エ

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

会話形式の解説

講師講師
今回はペネトレーションテストがどんな検査かを問う問題です。選択肢にはどれもセキュリティの確認作業が並んでいるので、それぞれ何をしているのかを見分けるのがポイントです。
受験者受験者
どれもセキュリティをチェックしているように見えて、正直迷いました。ペネトレーションテストという名前から、何をするのかがすぐには浮かびません。
講師講師
ペネトレーションは「侵入」という意味で、日本語では侵入テストと呼ばれます。攻撃者の立場で擬似的な攻撃、つまり本物に似せた攻撃を行い、システムに実際に侵入できるかを確かめる検査です。なので「攻撃を試して、侵入できるかを確かめているか」を基準に選択肢を見ていきましょう。
受験者受験者
そうすると、脆弱性を探してサーバに実際に侵入できるかを確かめる、という選択肢がそのまま当てはまりそうです。
講師講師
そのとおりです。弱点があるかどうかだけでなく、悪用されたらどこまで侵入されるかも確かめられるのが特徴です。ほかの選択肢も確認しておきましょう。設計書やソースコードをツールや目視で確認するものはどうでしょうか。
受験者受験者
セキュリティ上の問題を探してはいますが、プログラムを動かして攻撃しているわけではないですね。
講師講師
はい。これはセキュリティレビューや静的解析に当たります。静的解析は、プログラムを実行せずにコードを調べる方法です。侵入できるかを試す行為ではありません。
受験者受験者
ファイルのハッシュ値を定期的に照合するものは、ファイルが書き換えられていないかの確認でしょうか。
講師講師
そうです。ハッシュ値の照合は改ざん検知で、運用中の監視の手段です。残る一つのIPFIX情報は通信のフロー情報、つまりどこからどこへどれだけ通信したかの記録です。そこから各PCの異常な振る舞いを調べるのは通信の監視・分析で、これも侵入を試す検査ではありません。
受験者受験者
コードを読む、ハッシュ値を比べる、通信ログを分析する、はどれも攻撃を試していないので外れて、実際に侵入を試すものだけがペネトレーションテスト、という整理で合っていますか。
講師講師
合っています。補足すると、ペネトレーションテストは脆弱性検査の一種で、弱点を悪用される前に見つけて直すことが目的です。実際に攻撃を試すため、事前に合意した範囲と手順でのみ実施します。また、自動の脆弱性スキャンは脆弱性を見つける助けにはなりますが、侵入できるかの確認とは別物です。選択肢に「実際に侵入できるか」を確かめる記述があるかどうかが、判断の有力な手がかりになります。

まとめ

ペネトレーションテスト(侵入テスト)は、攻撃者の立場で擬似的な攻撃を行い、システムに実際に侵入できるかを確かめる検査です。設計書やソースコードの確認はレビューや静的解析、ハッシュ値の照合は改ざん検知、IPFIXによるフロー情報の分析は通信の監視であり、どれも侵入を試す検査ではありません。ペネトレーションテストは脆弱性検査の一種で、事前に合意した範囲と手順でのみ実施します。選択肢では「実際に侵入できるか」を確かめる記述があるかどうかが、見分ける有力な手がかりになります。

解答・解説

正解はウです

この問題のテーマ

ペネトレーションテストとはどんな検査かを問う問題です。ソースコードのレビュー、改ざん検知、通信の監視といった、ほかのセキュリティ対策と区別できるかがポイントです。

解き方の考え方

ペネトレーションテストは「侵入テスト」という意味です。攻撃者の立場で擬似的な攻撃を行い、システムに実際に侵入できるかを確かめる検査です。そこで、各選択肢が「攻撃を試して侵入の可否を確かめているか」を基準に見ていきます。コードを読む、ハッシュ値を照合する、通信ログを分析するといった行為は、どれも攻撃を試すものではありません。こうして候補を外していくと、正解のウに絞れます。

選択肢ごとの解説

  1. ×ア  検査対象の実行プログラムの設計書,ソースコードに着目し,開発プロセスの各工程にセキュリティ上の問題がないかどうかをツールや目視で確認する。
    設計書やソースコードをツールや目視で確認する説明です。これはセキュリティレビューや静的解析に当たります。プログラムを動かして攻撃するわけではなく、侵入できるかどうかを確かめる行為ではありません。
  2. ×イ  公開Webサーバの各コンテンツファイルのハッシュ値を管理し,定期的に各ファイルから生成したハッシュ値と一致するかどうかを確認する。
    コンテンツファイルのハッシュ値を定期的に照合する説明です。これはファイルの改ざん検知、つまり同一性のチェックです。運用中の監視の手段であり、侵入を試す検査ではありません。
  3. ○ウ  公開Webサーバや組織のネットワークの脆弱性を探索し,サーバに実際に侵入できるかどうかを確認する。
    脆弱性を探し、サーバに実際に侵入できるかを確かめる説明です。これはペネトレーションテストそのものです。攻撃者の立場で擬似的な攻撃を行うため、脆弱性があるかどうかだけでなく、悪用されたときにどこまで侵入されるかも確かめられます。
  4. ×エ  内部ネットワークのサーバやネットワーク機器のIPFIX情報から,各PCの通信に異常な振る舞いがないかどうかを確認する。
    IPFIX情報(通信のフロー情報)から、各PCの通信に異常がないかを調べる説明です。これは通信の監視・分析に当たります。脆弱性があるかどうかや、侵入できるかどうかを直接試す行為ではありません。

補足

ペネトレーションテストは実際に攻撃を試すため、事前に合意した範囲と手順でのみ実施します。自動の脆弱性スキャンは脆弱性を見つける助けにはなりますが、侵入できるかどうかの確認とは別物です。選択肢に「実際に侵入できるか」「攻撃者の視点で」といった表現があれば、ペネトレーションテストを指していると判断する手がかりになります。

POINT

  • ペネトレーションテストは、攻撃者の立場で擬似的な攻撃を行い、実際に侵入できるかを確かめる検査です。
  • ペネトレーションテストは脆弱性検査の一種で、弱点を見つけて悪用される前に直すことを目的としています。
  • 設計書やソースコードを確認するのはレビューや静的解析で、侵入テストとは区別されます。
  • ハッシュ値の照合は改ざん検知、フロー情報の分析は通信の監視であり、どちらも攻撃を試す検査ではありません。

※出典:平成31年度春期 情報セキュリティマネジメント試験 午前 問18