ペネトレーションテスト ぺねとれーしょんてすと
簡単に言うとこんな感じ!
「プロに頼んで、うちのシステムに本気でハッキングしてもらう」テストだよ!泥棒を雇って「うちの金庫、本当に破れないか試してみて」って頼む感じ。実際に攻撃してみることで、「弱いところはどこか」をリアルに把握できるんだ!
ペネトレーションテストとは
ペネトレーションテスト(通称: ペネトレ・ペンテスト)とは、セキュリティの専門家が実際の攻撃者と同じ手法を用いて、対象システムやネットワークに意図的に侵入を試みるセキュリティ評価手法です。「侵入テスト」とも呼ばれ、pentest や pen test と略されることもあります。
単にツールで脆弱性を一覧するだけの脆弱性スキャンとは異なり、ペネトレーションテストでは「実際に攻撃が成功するかどうか」まで踏み込んで確認します。たとえば「パスワードの総当たり攻撃でログインできるか」「そこから社内ネットワークの奥まで侵入できるか」といった、攻撃のシナリオを現実に即して追います。
ITシステムを発注・運用するビジネスパーソンにとっては、「セキュリティ投資が本当に効いているか」を客観的に確認できる数少ない手段のひとつです。コンプライアンス(法令遵守)やビジネスパートナーからの要求として実施を求められるケースも増えており、システム選定・委託先評価の判断材料としても重要度が高まっています。
ペネトレーションテストの種類と進め方
ペネトレーションテストは「どこを狙うか」「どれだけ情報を渡すか」によっていくつかに分類されます。
| 分類軸 | 種類 | 概要 |
|---|---|---|
| 情報量 | ブラックボックステスト | 攻撃者と同じく、内部情報ゼロの状態から開始 |
| グレーボックステスト | 一部の情報(ネットワーク図など)を渡した状態で実施 | |
| ホワイトボックステスト | ソースコード・設計書・アカウント情報など全情報を開示して実施 | |
| 対象 | ネットワークテスト | サーバー・ルーター・ファイアウォールへの侵入試験 |
| Webアプリテスト | Webサイト・APIへの攻撃シミュレーション | |
| 物理テスト | 入退室管理・物理的な侵入のテスト | |
| ソーシャルエンジニアリング | フィッシングメール送付など人を騙す手口の検証 |
実施の流れ(一般的な5ステップ)
① 事前合意・スコープ定義
↓ 何を・どこまで・いつテストするかを契約で明確化
② 情報収集・偵察(Reconnaissance)
↓ 公開情報やスキャンで対象を調査
③ 脆弱性の特定(Scanning & Enumeration)
↓ ポートスキャンや既知の脆弱性を洗い出す
④ 侵入・攻撃の実行(Exploitation)
↓ 実際に攻撃を試み、侵入の深さを確認
⑤ 報告書作成・改善提案(Reporting)
↓ 発見した問題・影響・優先度・対策を報告
覚え方:「ペンを刺してみる」
「Penetration(ペネトレーション)=貫通・侵入」という英語の意味どおり、ペンで突いてみる感覚で「本当に穴が開くか試す」テストです。穴があると分かれば塞ぐ、なければ安心できる、というシンプルな発想が根本にあります。
歴史と背景
- 1960〜70年代 — 米国防総省が「タイガーチーム」と呼ばれる内部攻撃チームを組成し、自国のコンピュータシステムの堅牢性を検証したのが起源とされる
- 1980年代 — パソコンとネットワークの普及にともない、外部からの不正アクセス事例が増加。セキュリティ評価の必要性が高まる
- 1990年代 — インターネット商用化とともにWebシステムが急増。ハッカーコミュニティで攻撃手法が体系化され、防御側もその知識を活用し始める
- 2001年 — OWASP(Open Web Application Security Project) が設立。Webアプリの脆弱性トップ10など、ペネトレーションテストの共通基準が整備される
- 2000年代後半〜 — PCI DSS(クレジットカード情報のセキュリティ基準)などでペネトレーションテストの定期実施が義務化。金融・EC分野で広く普及
- 2010年代〜現在 — クラウド・IoT・スマホアプリへ対象が拡大。「バグバウンティ(脆弱性報奨金)プログラム」により一般のハッカーが合法的に企業システムを試す仕組みも登場
脆弱性スキャンとの違い・関連手法の比較
「診断」「テスト」「レッドチーム」など似た言葉が並ぶので、整理しておきましょう。
| 手法 | 自動化 | 実際の侵入 | 目的 | コスト感 |
|---|---|---|---|---|
| 脆弱性スキャン | ◎ 主に自動 | ✗ しない | 弱点の一覧化 | 低〜中 |
| ペネトレーションテスト | △ 手動+自動 | ✓ 試みる | 攻撃の成否確認 | 中〜高 |
| レッドチーム演習 | ✗ 主に手動 | ✓ 深く侵入 | 組織全体の対応力評価 | 高 |
| バグバウンティ | ✗ 外部研究者 | ✓ 試みる | 継続的な脆弱性発見 | 成果報酬 |
発注者が押さえておくべきポイント
ペネトレーションテストを外部委託する際には、以下の点を必ず事前に確認しましょう。
- スコープ(対象範囲)の明文化 — 「どのIPアドレス・URLまでを対象とするか」を契約書に明記しないと、意図せず本番サービスに影響が出るリスクがある
- 実施期間・時間帯 — 業務時間外に実施するか、深夜帯に限定するかなどを調整する
- 報告書の形式 — 経営層向けのエグゼクティブサマリーと、技術者向けの詳細レポートが両方あるか確認
- 脆弱性の重大度分類 — CVSS(共通脆弱性評価システム)スコアを使って優先度が示されているか
関連する規格・RFC
| 規格・番号 | 内容 |
|---|---|
| OWASP Testing Guide | Webアプリケーションのペネトレーションテスト手法の標準ガイド |
| PTES(Penetration Testing Execution Standard) | ペネトレーションテストの実施標準。スコープ定義〜報告まで網羅 |
| NIST SP 800-115 | 米国国立標準技術研究所によるセキュリティテストガイドライン |
| ISO/IEC 27001 | 情報セキュリティマネジメントの国際規格。ペネトレーションテストを推奨 |
| PCI DSS v4.0 | クレジットカード業界のセキュリティ基準。定期的なペネトレーションテストを義務付け |
関連用語
- 脆弱性スキャン — 自動ツールでシステムの弱点を一覧化する手法
- ファイアウォール — ネットワークの境界で通信を制御するセキュリティ装置
- CVSS — 脆弱性の深刻度を数値化する共通評価システム
- ゼロデイ攻撃 — パッチが存在しない未知の脆弱性を突いた攻撃
- ソーシャルエンジニアリング — 人間の心理を操作して情報を詐取する攻撃手法
- OWASP — Webセキュリティの脆弱性対策を推進する国際的な非営利団体
- レッドチーム演習 — 高度な攻撃者を模した組織全体のセキュリティ対応力評価
- インシデントレスポンス — セキュリティインシデント発生時の対応・復旧プロセス