テクノロジ系

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

導入

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

くわしく知ろう

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

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

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

具体例

たとえば、脆弱性診断ツールはウェブサイト全体のURLを自動的にスキャンして弱点候補を列挙します。一方、ペネトレーションテストでは専門家が実際にSQLインジェクション攻撃を試み、データベースへの侵入が成功するかどうかを確認します。

まとめ・試験ポイント

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

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

入門試験100問に挑戦する