ペネトレーションテスト
ペネトレーションテストとは
ペネトレーションテスト(侵入テスト、略してペンテスト)は、正式な許可のもとで、攻撃者の視点からシステムへの侵入を試み、防御の穴を実証する検証活動です。「攻撃されたらどこまでやられるのか」を、実害が出る前に安全な形で確かめることが目的です。
大前提として、ペンテストは対象組織との契約と明確な許可の範囲の中でだけ行われます。許可なく他人のシステムに侵入を試みる行為は、目的を問わず不正アクセス禁止法などに触れる犯罪です。
脆弱性診断との違い
似た言葉に「脆弱性診断」がありますが、目的が異なります。
| 脆弱性診断 | ペネトレーションテスト | |
|---|---|---|
| 目的 | 脆弱性を網羅的に洗い出す | 目標(機密データ到達など)を定めて侵入できるかを実証する |
| 進め方 | ツール+手動で既知の項目を幅広く検査 | 攻撃シナリオに沿って複数の弱点を組み合わせる |
| 結果 | 脆弱性の一覧と深刻度 | 「どの経路で、どこまで到達できたか」のストーリー |
診断が「健康診断」なら、ペンテストは「実際に泥棒役を雇って侵入できるか試す」イメージです。
進め方の概要
- 計画・合意 — 対象範囲、期間、緊急連絡先、やってはいけない操作を文書で確定する
- 調査 — 公開情報や構成から攻撃の入り口候補を洗い出す
- 侵入の試行 — 合意した範囲で弱点の悪用可否を検証する
- 報告 — 到達できた範囲・使われた弱点・再現条件と、優先度付きの改善提案をまとめる
報告書がゴールです。見つかった弱点は [[脆弱性管理とCVE]] のサイクルに乗せて修正し、必要なら再テストで解消を確認します。
初学者向けポイント
- 「攻撃の技術」より先に「守る側の基礎」([[Webセキュリティ]] の代表的な脆弱性、ネットワーク、OS)を学ぶのが王道です
- 練習は自分専用の学習環境や、公式に許可された演習プラットフォームで行います。他人のシステムで試すのは絶対に不可です
- テスト中の攻撃的な通信は [[IDSとIPS]] や監視のアラート発報訓練を兼ねることもあります
- 防御側(ブルーチーム)と攻撃側(レッドチーム)が協調して防御力を上げる演習形式もあります
関連技術とのつながり
- [[脆弱性管理とCVE]] — ペンテストの発見事項を修正につなげる受け皿
- [[Webセキュリティ]] — Web アプリを対象にする場合の基礎知識
- [[IDSとIPS]] — 侵入の試行を検知できたかの評価にもつながる
- [[インシデント対応]] — 「侵入されたら」の対応計画をテスト結果で磨く
Q: ペネトレーションテストの大前提はどれ?
- [x] 対象組織との契約と明確な許可の範囲内で行うこと
- [ ] 誰にも知らせず抜き打ちで無許可実施すること
- [ ] 本番データを持ち出して検証すること
解説: 許可のない侵入の試みは犯罪です。ペンテストは必ず契約と合意された範囲の中で行います。
Q: 脆弱性診断と比べたペネトレーションテストの特徴はどれ?
- [ ] 脆弱性を網羅的に一覧化することが目的
- [x] 目標を定めて実際に侵入できるかを実証することが目的
- [ ] ツールを一切使わないことが条件
解説: 診断は網羅的な洗い出し、ペンテストは攻撃シナリオに沿った侵入可否の実証と、目的が異なります。
Q: ペンテストの成果物として最も重要なのはどれ?
- [ ] 侵入に使ったツール一式
- [ ] 攻撃の実演動画
- [x] 到達範囲と改善提案をまとめた報告書
解説: ペンテストのゴールは報告書です。発見された弱点を脆弱性管理のサイクルに乗せて修正につなげます。