テクノロジ系

脆弱性診断とペネトレーションテスト — 攻撃者の目で守る

導入

「自分たちのシステムに本当に穴はないか」を確認するために、あえて攻撃者の視点でシステムに侵入を試みる手法があります。これが脆弱性診断とペネトレーションテストです。

なぜ重要か

サイバー攻撃は日々高度化しており、「攻撃されてから対応する」では手遅れになる場面が増えています。金融機関や医療機関ではシステム障害が人命や資産に直結するため、事前に弱点を発見して塞いでおくことが不可欠です。企業にとっては情報漏洩や業務停止による損害だけでなく、信頼失墜による顧客離れも深刻な問題になっています。

脆弱性診断とペネトレーションテストは、こうしたリスクを「攻撃が起きる前」に特定する代表的な手段です。また、PCI DSS(クレジットカード業界のセキュリティ基準)やISO 27001(情報セキュリティマネジメント)などの規格でも定期的な実施が求められており、コンプライアンスの観点からも重要性が高まっています。ITパスポートでは「セキュリティ対策の種類を区別する」という出題が多く、この二つを正確に理解しておくことが得点につながります。

くわしく知ろう

脆弱性診断とは、システムやアプリケーションに存在するセキュリティ上の弱点(脆弱性)を自動化ツールなどで網羅的に洗い出す作業を指します。スキャンツールがポートやサービスを調べ、既知の脆弱性データベース(CVEなど)と照合して問題点を一覧化します。対象範囲を広く確認するのに適していますが、見つかった問題が実際に悪用できるかどうかは別途確認が必要です。

ペネトレーションテスト(ペンテスト)は、実際の攻撃者が行うような手法を意図的に試み、どこまで侵入できるかを検証する作業を指します。専門家が手作業でシステムの振る舞いを確認しながら進めるため、脆弱性診断より深い検証が可能です。事前にテスト範囲や実施条件(ルール)を明確にする「スコープ定義」が必要になります。

ペネトレーションテストにはアプローチの違いもあります。ブラックボックステストは内部情報を一切与えずに外部からの攻撃を模擬する方式、ホワイトボックステストはシステム設計図やソースコードを開示した上で行う方式です。グレーボックステストはその中間に位置し、部分的な情報を与えた状態で実施します。

どちらの手法も、実施後は「診断レポート」として問題点の深刻度(クリティカル・高・中・低)と修正推奨策をまとめます。発見した脆弱性はリスク評価に基づいて優先順位をつけて修正し、修正後に再診断を行うサイクルが推奨されています。

具体例で理解する

たとえば、脆弱性診断ツールはウェブサイト全体のURLを自動的にスキャンして弱点候補を列挙します。一方、ペネトレーションテストでは専門家が実際にSQLインジェクション攻撃を試み、データベースへの侵入が成功するかどうかを確認します。銀行のシステムであれば、ログイン画面から認証を突破して口座情報へアクセスできるルートがないかを、許可を得た上で実際に試みるのがペネトレーションテストの典型的な場面です。

試験での出題パターン

【パターン1:脆弱性診断とペネトレーションテストの違いを問う問題】

最も頻出のパターンです。「自動ツールで網羅的に洗い出す」「専門家が手動で侵入を試みる」というキーワードで区別します。「広く・自動」が脆弱性診断、「深く・手動」がペネトレーションテストというイメージで整理しておくと判断が速くなります。

【パターン2:スコープ定義の意味を問う問題】

「ペネトレーションテストを実施する前に必要な手順として適切なものはどれか」という形式で、「テスト範囲・実施条件・期間を事前に取り決めること(スコープ定義)」が正解となる問題が出題されます。スコープ定義なしに実施すると不正アクセスとみなされる可能性があるため、法的な観点からも重要なステップです。

【パターン3:CVEの意味を問う問題】

「CVE」は Common Vulnerabilities and Exposures の略で、世界共通の脆弱性識別番号のことです。脆弱性診断ツールはこのデータベースを参照して既知の問題を検出します。略語の定義として出題されることがあります。

よくある間違い・紛らわしいポイント

【脆弱性診断とペネトレーションテストを逆に覚えてしまう】

「自動ツール=脆弱性診断」「手動で侵入試行=ペネトレーションテスト」というセットで記憶してください。「ペネトレーション(penetration)=貫通・侵入」という英単語の意味から「実際に侵入を試みる手法」と結びつけると覚えやすくなります。

【「脆弱性診断=完全なセキュリティ保証」という誤解】

脆弱性診断は既知の脆弱性との照合が中心であり、ゼロデイ脆弱性(まだ公開されていない新種の弱点)は検出できません。また、検出した問題が「実際に悪用可能か」は確認しておらず、そこを掘り下げるのがペネトレーションテストの役割です。

【ペネトレーションテストを「無許可で実施してよい」と思い込む】

許可なく他者のシステムに侵入を試みると不正アクセス禁止法違反になります。必ず事前に書面での合意を取り、スコープを明確にした上で実施することが前提です。試験でも「許可を得た上で実施する」という文脈で正解を判断することがあります。

まとめ・試験ポイント

  • 脆弱性診断=ツールで網羅的に弱点を洗い出す(広く・自動)
  • ペネトレーションテスト=実際の攻撃手法で侵入可否を検証(深く・手動)
  • CVE=共通脆弱性識別子(既知の脆弱性データベース)
  • スコープ定義=テスト範囲と実施条件を事前に取り決めること
  • ブラックボックス・ホワイトボックス・グレーボックスの3種のペンテスト方式がある
  • 試験では「脆弱性診断とペネトレーションテストの違い」と「スコープ定義の目的」が問われやすい

学習した内容を試験形式で確認しよう。ITパスポート入門試験100問に挑戦できます。

入門試験100問に挑戦する