セキュリティテスト

脆弱性診断 ぜいじゃくせいしんだん

ペネトレーションテストセキュリティ診断OWASPリスク評価ポートスキャンサイバー攻撃
脆弱性診断について教えて

簡単に言うとこんな感じ!

システムやWebサイトに「鍵のかかっていない窓や扉がないか」をプロが調べてくれるサービスだよ。攻撃者に狙われる前に弱点を見つけて直しておく、いわばセキュリティの「健康診断」なんだ!


脆弱性診断とは

脆弱性診断とは、システム・Webアプリケーション・ネットワーク機器などに存在するセキュリティ上の弱点(脆弱性)を、実際の攻撃者の視点から洗い出す評価活動のことです。人間の「健康診断」に例えると、血圧や血糖値を調べて病気の芽を早期発見するように、システムの「悪用できるほころび」を先回りして発見することを目的としています。

診断では、ツールによる自動スキャンと、セキュリティ専門家による手動確認を組み合わせるのが一般的です。発見された脆弱性は深刻度(リスクレベル)とともにレポートにまとめられ、優先順位をつけて修正対応を行います。システム発注側の担当者にとっては「何を直すべきか」の判断材料として非常に重要なドキュメントになります。

情報セキュリティ基本法やISMS(情報セキュリティマネジメントシステム)の観点からも、定期的な脆弱性診断の実施は強く推奨されており、金融・医療・ECサイトなど個人情報を扱う業種では事実上の必須対応となりつつあります。


脆弱性診断の種類と手法

種別対象主な手法特徴
Webアプリ診断Webサイト・APISQLインジェクション検査、XSS検査など利用者が直接触れる画面の脆弱性を重点調査
ネットワーク診断サーバー・ルーター・FWポートスキャン、設定ミス確認インフラ全体の露出面を確認
プラットフォーム診断OS・ミドルウェアパッチ適用状況の確認、設定監査既知の脆弱性(CVE)との照合が中心
ペネトレーションテストシステム全体実際の攻撃シナリオを模倣診断より踏み込んだ「侵入成功可否」の確認

覚え方:「Webは画面・ネットは裏側・ペネトレは総仕上げ」

Webアプリ診断=利用者が見える「玄関まわり」、ネットワーク診断=裏口や窓などの「外壁全体」、ペネトレーションテスト(通称ペンテスト)=実際に鍵を壊して侵入を試みる「総合訓練」、と覚えると種類を混乱しにくいです。

リスクレベルの分類(CVSS準拠)

CVSS(Common Vulnerability Scoring System)はリスクの深刻度を数値化する国際基準です。

スコアレベル対応目安
9.0〜10.0Critical(緊急)即時対応(数日以内)
7.0〜8.9High(高)速やかに対応(1〜2週間以内)
4.0〜6.9Medium(中)計画的に対応(次回リリースで修正)
0.1〜3.9Low(低)リスク受容も検討可

歴史と背景

  • 1988年 — Morris Worm(モリスワーム)がインターネット上で拡散。脆弱性を悪用したサイバー攻撃の脅威が初めて広く認識される
  • 1999年CVE(Common Vulnerabilities and Exposures)プロジェクトが開始。脆弱性に共通IDを付与する仕組みが生まれる
  • 2001年OWASP(Open Worldwide Application Security Project)が設立。Webアプリのセキュリティ標準化が加速
  • 2003年CVSS(共通脆弱性評価システム)の原型が策定され、業界横断の評価軸が整備される
  • 2005年頃〜 — SQLインジェクションやXSSを悪用した情報漏洩事件が多発し、Webアプリ診断の需要が急増
  • 2017年 — 経済産業省がサイバーセキュリティ経営ガイドラインを改定し、脆弱性診断の実施を経営者の責任として明記
  • 2020年代〜 — クラウド・API・コンテナ環境の普及に伴い、診断対象・手法が多様化。DevSecOpsの文脈で継続的な自動診断(DAST/SAST)も普及

ペネトレーションテストとの違い

脆弱性診断とペネトレーションテスト(ペンテスト)はよく混同されますが、目的と深度が異なります。

脆弱性診断 Vulnerability Assessment 🎯 目的:弱点の網羅的な洗い出し 🔍 手法:スキャン+手動確認 📋 成果物:脆弱性一覧レポート 💰 コスト:比較的安価 ペネトレーションテスト Penetration Test 🎯 目的:侵入成功可否の実証 🔍 手法:攻撃シナリオを実際に実行 📋 成果物:攻撃経路・影響範囲の報告 💰 コスト:高め(数百万〜) ※まず脆弱性診断で弱点を洗い出し、重要システムにはペンテストも追加するのが王道

診断フローの全体像

① スコープ定義
   └─ 対象URL・IPアドレス・除外条件を明確にする

② 情報収集・スキャン
   └─ ツール(Nessus / Burp Suite など)で自動スキャン

③ 手動検証
   └─ 専門家がツールで検出できない論理的欠陥を確認

④ リスク評価
   └─ CVSSスコアで深刻度を算定

⑤ レポート作成
   └─ 発見事項・再現手順・推奨対策をまとめる

⑥ 修正・再診断(オプション)
   └─ 修正後に同箇所を再チェック(クローズ確認)

関連する規格・RFC

規格・RFC番号内容
RFC 9116security.txt — 脆弱性報告の窓口をWebサイトで明示するための形式

関連用語

  • ペネトレーションテスト — 実際の攻撃手法を使ってシステムへの侵入を試みる実践的セキュリティ評価
  • OWASP Top 10 — Webアプリの代表的な脆弱性カテゴリを10種類にまとめた国際的指標
  • CVE — 世界共通の脆弱性識別番号。「CVE-2021-44228」のように番号で脆弱性を特定する
  • CVSS — 脆弱性の深刻度を0〜10のスコアで数値化する国際評価基準
  • ファイアウォール — 不正な通信をブロックするネットワークの関門役
  • WAF — Webアプリ専用のファイアウォール。SQLインジェクションなどをリアルタイム遮断する
  • ISMS — 組織全体で情報セキュリティを継続的に管理するためのマネジメント体系(ISO 27001)
  • DevSecOps — 開発・運用プロセスにセキュリティ検査を組み込む開発文化・手法