Skip to the content.

まず結論

  • 脆弱性診断は、システムやアプリケーションに存在する脆弱性を、広く洗い出すための確認です。
  • ペネトレーションテストは、攻撃者の視点で実際に侵入や権限取得が可能かを検証するテストです。
  • SG試験では、「弱点を一覧で見つける」のか「攻撃シナリオで侵入できるかを確かめる」のかで切り分けます。

直感的な説明

脆弱性診断とペネトレーションテストは、どちらもセキュリティの弱点を調べる活動です。

ただし、目的が少し違います。

たとえるなら、建物の防犯確認です。

  • 脆弱性診断:窓やドアの鍵、監視カメラ、照明などを一覧で点検する
  • ペネトレーションテスト:泥棒役になって、実際に侵入できる経路があるか試す

脆弱性診断は、弱点を広く見つけることが中心です。

ペネトレーションテストは、見つかった弱点などを使って、実際にどこまで攻撃が成立するかを確認します。

つまり、判断基準は次のとおりです。

広く脆弱性を洗い出す → 脆弱性診断
攻撃者の視点で侵入可能性を検証する → ペネトレーションテスト

定義・仕組み

脆弱性診断は、Webアプリケーション、ネットワーク機器、サーバ、クラウド設定などに対して、既知の脆弱性や設定不備がないかを確認する活動です。

確認する内容には、次のようなものがあります。

  • 古いソフトウェアや未適用の修正プログラム
  • 危険な設定
  • 不要なポートやサービスの公開
  • 入力値チェックの不備
  • 認証やアクセス制御の不備

診断結果は、脆弱性の一覧、危険度、修正方法などとして整理されます。

一方、ペネトレーションテストは、攻撃者の視点でシナリオを作り、実際に侵入や権限昇格、情報取得が可能かを検証する活動です。

たとえば、次のような観点で確認します。

  • 外部から社内システムに侵入できるか
  • 一般利用者の権限から管理者権限に昇格できるか
  • 複数の脆弱性を組み合わせて重要情報に到達できるか
  • 実際の攻撃手順として成立するか

IPAでは、脆弱性対策情報や脆弱性関連情報の取扱いについて整理しています。脆弱性そのものの考え方を確認する場合は、IPAの脆弱性対策が参考になります。

大切なのは、脆弱性診断とペネトレーションテストは対立するものではなく、目的が異なる補完関係にあることです。

どんな場面で使う?

脆弱性診断は、システムの状態を定期的に確認したい場面で使われます。

たとえば、次のような場面です。

  • 新しいWebサービスを公開する前
  • 定期的なセキュリティ確認
  • 修正プログラム適用後の確認
  • クラウドやネットワーク設定の棚卸し
  • 委託先にシステム運用を任せる前の確認

脆弱性診断では、見つかった弱点をリスト化し、優先順位を付けて対応します。

一方、ペネトレーションテストは、より実践的な攻撃リスクを確認したい場面で使われます。

たとえば、次のような場面です。

  • 重要システムに対する侵入リスクを確認したい
  • 実際の攻撃シナリオでどこまで被害が広がるか知りたい
  • 多層防御が本当に機能するか確認したい
  • 経営層に実際のリスクを説明したい
  • セキュリティ対策の実効性を検証したい

ただし、ペネトレーションテストは、許可された範囲で慎重に行う必要があります。

攻撃に近い操作を行うため、対象範囲、実施時間、禁止事項、連絡体制などを事前に決めておくことが重要です。

SG試験では、単に「攻撃を試す」と覚えるより、事前に合意した範囲で、攻撃者視点の検証を行うと押さえると安全です。

よくある誤解・混同

脆弱性診断とペネトレーションテストは、どちらも弱点を調べるため、混同しやすいです。

観点 脆弱性診断 ペネトレーションテスト
主な目的 脆弱性を広く洗い出す 攻撃が成立するか検証する
視点 点検・診断の視点 攻撃者の視点
結果 脆弱性一覧、危険度、修正案 侵入経路、到達範囲、攻撃シナリオ
範囲 比較的広い 目的に応じて限定されることが多い
既知の脆弱性や設定不備の確認 権限昇格や重要情報への到達可否の確認

SG試験では、次のような表現に注意します。

  • 「既知の脆弱性を網羅的に確認する」
    → 脆弱性診断を疑います。

  • 「設定不備や未修正の脆弱性を一覧化する」
    → 脆弱性診断です。

  • 「攻撃者の立場で侵入可能性を確認する」
    → ペネトレーションテストを疑います。

  • 「複数の弱点を組み合わせて、どこまで到達できるか確認する」
    → ペネトレーションテストです。

  • 「許可なく他者のシステムに侵入を試みる」
    → ペネトレーションテストではなく、不正アクセスになり得ます。

よくあるひっかけは、ペネトレーションテストを単なる脆弱性一覧作成だと思うことです。

ペネトレーションテストでは、弱点の有無だけでなく、攻撃として成立するか、どこまで被害が広がるかを確認します。

逆に、脆弱性診断は、必ずしも実際に侵入を成功させることが目的ではありません。

まとめ(試験直前用)

  • 脆弱性診断は、脆弱性や設定不備を広く洗い出す活動です。
  • ペネトレーションテストは、攻撃者視点で侵入や被害拡大の可能性を検証する活動です。
  • 「一覧化・危険度・修正案」なら脆弱性診断を疑います。
  • 「攻撃シナリオ・侵入可能性・到達範囲」ならペネトレーションテストを疑います。
  • SG試験では、広く点検するのか、攻撃として成立するかを見るのかで判断します。

確認問題

脆弱性診断とペネトレーションテストの違いとして、最も適切なものはどれか。

ア. 脆弱性診断は通信を暗号化する方法であり、ペネトレーションテストは暗号鍵を管理する方法である。
イ. 脆弱性診断は既知の脆弱性や設定不備を広く洗い出す活動であり、ペネトレーションテストは攻撃者の視点で侵入や被害拡大の可能性を検証する活動である。
ウ. 脆弱性診断はマルウェア感染端末を隔離する仕組みであり、ペネトレーションテストは安全な端末だけネットワーク接続を許可する仕組みである。
エ. 脆弱性診断は必ず実際に管理者権限を奪取する活動であり、ペネトレーションテストはソースコードを実行せずに確認する活動である。

回答と解説を表示 正解は **イ** です。 脆弱性診断は、既知の脆弱性や設定不備を広く洗い出し、危険度や修正方法を整理する活動です。 ペネトレーションテストは、攻撃者の視点で、実際に侵入できるか、権限昇格できるか、重要情報に到達できるかなどを検証する活動です。 アは暗号化や鍵管理の説明であり、両者の説明ではありません。 ウは検疫ネットワークに近い説明です。 エは前半と後半が逆方向に誤っています。脆弱性診断は必ず侵入を成功させる活動ではなく、ソースコードを実行せずに確認する活動は静的解析に近い説明です。

🔗 関連記事


🏠 情報セキュリティマネジメントトップに戻る