ペネトレーションテストと脆弱性診断、目的も検証方法も異なります。
それぞれの特徴を比較しながら、自社にはどちらが向いているのかを解説します。
ペネトレーションテストと脆弱性診断は、目的が異なります。
ペネトレーションテストは、実際のサイバー攻撃を想定し、侵入や攻撃が成立するか、その場合にどのような影響が生じるかを検証するテストです。
一方、脆弱性診断は、システムに存在する脆弱性や設定不備などを把握し、改善につなげるための診断です。
自社が確認したいリスクによって、適した手法は異なります。
本記事では、両者の違いと使い分けの考え方を整理します。
ペネトレーションテストと脆弱性診断とは
ペネトレーションテストと脆弱性診断は、どちらもシステムのセキュリティリスクを確認する手法ですが、目的や検証方法が異なります。まずは、それぞれの基本的な特徴を確認しておきましょう。
ペネトレーションテストとは?
ペネトレーションテストとは、実際の攻撃者が用いる手法を再現し、サイバー攻撃を想定したシナリオに沿って侵入を試みることで、攻撃が成立するか、成立した場合にどのような影響が生じるかを検証するテストです。
脆弱性を発見すること自体が目的ではなく、攻撃経路や侵入後の影響まで確認することを重視しています。対象もWebアプリケーションに限らず、社内ネットワークやIoT機器、場合によっては物理的な侵入経路まで含めて検証することがあります。
【ペネトレーションテストで確認できること】
攻撃者が侵入に利用し得る経路
侵入後に到達できる範囲
権限昇格・横展開の可能性
既存のセキュリティ対策(ファイアウォール・監視体制等)の実効性
ペネトレーションテストの仕組みや種類、実施の流れについて詳しくは、「ペネトレーションテストとは」をご覧ください。
脆弱性診断とは?
脆弱性診断とは、システムやアプリケーションに存在する脆弱性・設定不備などを把握し、リスクを評価してセキュリティ対策につなげるための診断です。「既知の脆弱性を探すだけのもの」に限定されるわけではなく、設定不備やアクセス制御の不備なども確認対象に含まれます。
診断の方法はサービスによって異なり、自動診断ツールだけでなく、専門家による手動診断を組み合わせる場合もあります。自動診断は広い範囲を短期間・低コストでカバーできますが、手動診断では自動ツールでは検出しづらいビジネスロジックの不備なども確認できます。
SynXでは、自動診断ツールによる検出に加え、ホワイトハッカーによる手動診断を組み合わせて実施しています。
【脆弱性診断で確認できること】
システムやアプリケーションに存在する脆弱性・設定不備の有無
検出された問題のリスクの程度
改善すべきセキュリティ対策のポイント
脆弱性診断の種類や実施方法について詳しくは、「脆弱性診断とは」の記事で解説しています。
ペネトレーションテストと脆弱性診断の5つの違い
ペネトレーションテストと脆弱性診断は、目的だけでなく、実施方法や検証の深さ、得られる結果、費用・期間にも違いがあります。
ここでは5つの観点から比較し、それぞれの違いが自社の選択にどう影響するのかを整理します。
| 比較項目 | ペネトレーションテスト | 脆弱性診断 |
|---|---|---|
| 1. 目的 | 想定した攻撃シナリオが成立するか、その影響までを検証する | 脆弱性・設定不備などを把握し、リスクを評価してセキュリティ対策につなげる |
| 2. 実施方法 | 攻撃者が用いる手法を想定し、攻撃シナリオに沿って実際に侵入を試みる | あらかじめ定めた対象・診断項目に沿って、自動診断ツールや手動診断で脆弱性・設定不備を確認する |
| 3. 対象範囲・検証の深さ | 想定する脅威や攻撃シナリオに応じて対象範囲を設定し、侵入経路や侵入後の影響まで検証する | あらかじめ決めたWebアプリケーションやネットワークなどを対象に、診断項目に沿って範囲内の脆弱性・設定不備を確認し、個々の弱点を検証する |
| 4. 得られる結果 | 攻撃者の侵入経路や、既存のセキュリティ対策を突破された場合の影響範囲を把握する | 対象範囲のどこに、どのような脆弱性・設定不備があるかを把握し、それぞれのリスクや改善すべき箇所を確認できる |
| 5. 費用・期間 | 対象範囲や攻撃シナリオ数、検証内容、必要な工数によって費用・テスト期間は変動する | 対象範囲やリクエスト数・IPアドレス数、診断内容、手動診断の有無などによって費用・診断期間は変動する |
1. 目的の違い
ペネトレーションテストは、想定した攻撃シナリオが成立するか、成立した場合にどのような影響があるかを検証することが目的になります。たとえば、機密情報の窃取やシステムの停止、権限の奪取など、実際の被害につながるかどうかまで踏み込んで確認します。
一方、脆弱性診断は、脆弱性や設定不備などを把握し、そのリスクを評価して必要なセキュリティ対策につなげることが目的です。
まず現状の弱点を把握したいのか、実際に攻撃を受けた場合の影響まで確認したいのかによって、選ぶべき診断は変わります。
2. 実施方法の違い
ペネトレーションテストは、攻撃者が用いる手法を想定して攻撃シナリオを設計し、そのシナリオに沿って実際に侵入を試みることで、攻撃の成立可否や影響を検証します。
これに対し、脆弱性診断は、あらかじめ定めた対象・診断項目に沿って、自動診断ツールと手動診断を組み合わせながら、脆弱性や設定不備の有無を確認します。
つまり、ペネトレーションテストは「攻撃シナリオ」を起点に検証を進めるのに対し、脆弱性診断は「あらかじめ定めた診断項目」を起点に確認を進める点が、実施方法における大きな違いです。
3. 対象範囲・検証の深さの違い
ペネトレーションテストは、想定する脅威や攻撃シナリオに応じて対象範囲を設定し、攻撃経路や侵入後にどこまで影響が及ぶかまで検証します。
一方、脆弱性診断は、あらかじめ設定したWebアプリケーションやネットワークなどを対象に、範囲内に存在する脆弱性や設定不備を確認します。
ただし、対象範囲や検証内容によって確認の深さは異なるため、「ペネトレーションテストは狭く深く、脆弱性診断は広く浅い」と一律に分けられるものではありません。
4. 得られる結果の違い
ペネトレーションテストでは、攻撃者がどのような経路で侵入できる可能性があるか、既存のセキュリティ対策を突破された場合にどこまで影響が及ぶかを把握できます。
対して、脆弱性診断では、対象範囲のどこにどのような脆弱性や設定不備があるかを把握し、それぞれのリスクや改善すべき箇所を確認できます。
そのため、実際の攻撃が成立した場合の影響まで確認したいのか、システム内の弱点を特定して改善につなげたいのかによって、得られる結果が異なります。
5. 費用・実施期間の違い
ペネトレーションテストは、対象範囲や攻撃シナリオ数、検証内容、必要な工数などによって費用・テスト期間が変わります。
一方、脆弱性診断は、対象範囲やリクエスト数・IPアドレス数、診断内容、手動診断の有無などによって費用・診断期間が変わります。
具体的な金額や期間はいずれも実施条件によって異なるため、個別の見積もりが必要です。コストを抑えてまず全体像を把握したいのか、費用がかかっても実践的な検証まで行いたいのかによって、選ぶべき診断は変わります。
監修者の一言|費用面ではどう違う?
石田篤史取締役COO 兼 セキュリティグループ長
実際のご相談では、セキュリティに対する考え方や予算が診断を選ぶ際の判断材料になることも多いです。
一般的には脆弱性診断の方が少ない予算で実施できるため、診断を受けたことがなく「まずは現在の状態を把握したい」という場合や、サービスリリース前に一通りリスクを確認したい場合は、脆弱性診断のみで十分なケースもあります。
一方、ペネトレーションテストは技術的にもより深い領域を検証するため、その分費用も高くなる傾向があります。
ペネトレーションテストの費用について詳しくは、「ペネトレーションテストの費用相場」の記事をご覧ください。
自社にはペネトレーションテストと脆弱性診断のどちらが必要?
選ぶべき診断は、自社が今何を確認したいかによって変わります。
必要に応じて、両方を組み合わせて実施する場合もあります。
自社に適した方法を検討する際の目安は、以下のとおりです。
| 確認したいこと・状況 | 検討しやすい方法 |
|---|---|
| 攻撃された場合の侵入経路や影響を確認したい | ペネトレーションテスト |
| 重要資産まで攻撃者が到達できるか確認したい | ペネトレーションテスト |
| まず現状の脆弱性や設定不備を把握したい | 脆弱性診断 |
| セキュリティ状態を定期的に確認したい | 脆弱性診断 |
| サービスのリリース前に弱点を確認したい | 脆弱性診断 |
| 脆弱性診断後、さらに実践的な攻撃耐性を確認したい | 併用を検討 |
この表だけで判断がつかない場合は、次に紹介する「向いているケース」や実際の事例もあわせてご確認ください。
ペネトレーションテストが向いているケース
ペネトレーションテストは、脆弱性の有無だけでなく、攻撃を受けた場合にどこまで侵入され、どのような影響が生じるかまで確認したい場合に向いており、対象はWebアプリケーションに限らず、IoT機器などの実機を含む場合もあります。攻撃者の視点で自社のセキュリティ対策を評価したい場合や、顧客データベース・決済システムなど重要な資産を守れているかを確認したい場合にも適しています。
たとえばSynXが支援したJGC Digital様のケースでは、IoT機器に対して、デバイス奪取を想定した物理アクセスや、実機・ファームウェア、ポート経由の侵入可能性などを検証しました。
脆弱性診断が向いているケース
脆弱性診断は、まず現在の脆弱性や設定不備を把握し、必要なセキュリティ対策を整理したい場合に適しています。
特に、これまで診断を実施していない場合や、サービスのリリース前に弱点を確認したい場合、継続的にシステムのセキュリティ状態を確認したい場合に検討しやすい方法です。対象もWebアプリケーションだけでなく、社内システムやAPI、クラウド環境など幅広く適用でき、比較的短期間で結果を得やすい点も特徴です。
【SynX事例】脆弱性診断とペネトレーションテストを併用した例
ペネトレーションテストと脆弱性診断は、どちらか一方しか選べないものではありません。システムや確認したいリスクに応じて、両方を組み合わせて実施する場合があります。
NTTデータ関西様では、自治体向けクラウドサービスの電子申請関連システムに対して、Webアプリケーション診断とネットワークペネトレーションテストを実施しました。
診断は本番環境で実施し、ネットワークペネトレーションテストについては、住民向けサービスへの影響を考慮して21時〜翌3時の深夜帯に実施しました。
このように、1つのシステムに対してペネトレーションテストと脆弱性診断を組み合わせて検証するケースもあります。
まず脆弱性診断で幅広く弱点を洗い出したうえで、重要度の高いシステムに対してペネトレーションテストを実施することで、より実践的なリスク評価につなげることができます。
監修者の一言|実際の相談ではどう判断している?
石田篤史取締役COO 兼 セキュリティグループ長
金融・ブロックチェーンなどのミッションクリティカルなシステムや、行政・医療など個人情報を扱うシステム、ゲームなどでは、ペネトレーションテストが選ばれるケースが多いです。
また、定期的に脆弱性診断を実施している場合や、診断後に一定の改善を行ったシステムに対して、次の段階としてペネトレーションテストを実施するケースもあります。
ペネトレーションテストと脆弱性診断に関するよくある質問
ここまでの内容を踏まえても、実際に検討する際には「脆弱性診断だけで十分なのか」「どちらを先に実施すべきか」といった疑問が残ることがあります。ここでは、判断に迷いやすいポイントをQ&A形式で整理します。
Q脆弱性診断を実施していればペネトレーションテストは不要?
A脆弱性診断を実施していても、目的によってはペネトレーションテストが必要になる場合があります。
脆弱性や設定不備の把握に加えて、実際の攻撃シナリオが成立するか、成立した場合にどのような影響があるかまで確認したい場合は、ペネトレーションテストも検討対象になります。特に、個人情報や決済情報など重要度の高いデータを扱うシステムでは、脆弱性診断で改善を行った後にペネトレーションテストで実際の攻撃耐性を確認しておくと安心です。
Qペネトレーションテストと脆弱性診断はどちらを先に実施すべき?
Aこれまで脆弱性診断を実施していない場合は、まず脆弱性診断から検討するのが一つの方法です。
脆弱性診断で現在の弱点や設定不備を把握したうえで、必要に応じてペネトレーションテストを実施します。ただし、対象システムや確認したい内容によっては、ペネトレーションテストから実施する場合もあります。たとえば、重要な資産を守れているかをまず確認したい場合や、経営層への説明のために実際の攻撃シナリオでの検証結果が必要な場合などは、ペネトレーションテストを先に検討するケースもあります。
まとめ|違いを理解し、目的に合った診断方法を選ぶ
ペネトレーションテストは、実際の攻撃を想定し、攻撃者の侵入経路や成立可否・影響を検証するテストです。
脆弱性診断は、脆弱性や設定不備などを把握し、改善につなげるための診断です。
確認したい目的に応じて選び、必要な場合には併用を検討しましょう。
自社でどこまで実施すべきか判断が難しい場合は、対象システムや確認したいリスクを整理したうえで、SynXまでご相談ください。
自社に適した診断方法について、SynXの専門スタッフにご相談いただけます。
セキュリティ診断のご相談はこちら
