ペネトレーションテスト
コンピュータやネットワークのセキュリティ上の弱点を見つけるために、攻撃者と同じ方法で、システムを実際に攻撃して侵入を試みるテスト。
イマシルちゃんの解説
お城の守りが本当に大丈夫か確かめるには、どうしたらいいと思う?
いちばん確かなのは、味方のチームが、わざと敵のふりをして攻めてみることなんだ。
「この門は開いちゃった」「この壁は登れちゃった」ってわかれば、本物の敵が来る前に直せるよね。
コンピュータの世界でも、許可をもらって、本気で攻めてみるテストがあるんだよ。
より深い解説
定義
ペネトレーションテストは、専門家(ペネトレーションテスター)が、システムの所有者の許可を得て、実際の攻撃者が使う手法でシステムを攻撃し、どこまで侵入できるか、どのような被害が起き得るかを確かめる検査である。
脆弱性診断との違い
| 脆弱性診断 | ペネトレーションテスト | |
|---|---|---|
| 目的 | 既知の脆弱性を、網羅的に洗い出す | 特定の目標(機密情報の取得など)を達成できるかを確かめる |
| 方法 | ツールや手作業で、設定や版数を検査する | 複数の弱点を組み合わせて、実際に侵入を試みる |
| 結果 | 脆弱性の一覧 | 侵入できた経路と、その影響 |
テストの種類
| 種類 | 内容 |
|---|---|
| 外部からのテスト | インターネットから、公開しているサーバなどを攻撃する |
| 内部からのテスト | 社内のPCが乗っ取られたと想定し、内部ネットワークから攻撃する |
| ブラックボックス | システムの情報をほとんど与えずに行う(外部の攻撃者を想定) |
| ホワイトボックス | 構成や設計の情報を与えて行う |
ソーシャルエンジニアリング(標的型メールの訓練など)を含めることもある。攻撃側と防御側に分かれて、検知と対応の能力まで含めて試す演習を、レッドチーム演習という。
実施するときの注意
- 対象の範囲、期間、手法を、事前に所有者と文書で取り決める(許可のない攻撃は不正アクセスになる)
- 本番環境で行う場合は、サービスを止めないよう、時間帯や手法に配慮する
- テストで見つかった弱点の情報は、機密として扱う