ペネトレーションテストとは?基本情報からメリット・デメリット、実施手順まで解説

「ペネトレーションテスト」をご存じでしょうか?企業を狙ったサイバー攻撃のニュースが絶えない中、そのようなサイバー攻撃に備える手法があります。
本記事では、ペネトレーションテストの基本から脆弱性診断との違い、メリット・デメリットなどをまとめてご紹介いたします。
1. ペネトレーションテストの基本
1-1 ペネトレーションテストとは
ペネトレーションテストとは、企業のコンピューターシステムにセキュリティ上の脆弱性がないかどうかを調べるための手法の一種です。ホワイトハットハッカーなどが実際にシステムへの攻撃を行い侵入を試みるため、侵入テストとも呼ばれます。
ペネトレーションテストは、「サイバー攻撃が起こった場合に自社のシステムにどれだけ侵入可能か」という攻撃者目線で安全性の評価を行うことが特徴です。
1-2 ペネトレーションテストと脆弱性診断の違い
ペネトレーションテストと脆弱性診断は混同されやすいですが、両者の違いはその目的にあります。
ペネトレーションテストは、システムの脆弱性を利用して実際にサイバー攻撃の目的を達成できるかどうかの検証を通して脆弱性を診断することが目的です。一方、脆弱性診断の目的は、システム自体のセキュリティ上の欠陥や不具合を網羅的に洗い出すことにあります。
ペネトレーションテスト |
脆弱性診断 |
|
目的 |
システムの脆弱性を利用して実際にサイバー攻撃の目的を達成できるかどうかの検証を通し、脆弱性を診断すること |
システム自体のセキュリティ上の欠陥や不具合を網羅的に洗い出すこと |
診断方法 |
ホワイトハットハッカーなどのセキュリティ専門家が実際に攻撃を仕掛ける |
ツールや人手で診断する |
調査対象 |
インフラや、人・組織も含むシステム全般 |
Webアプリケーションが中心 |
調査タイミング・頻度 |
運用中のシステムに対し、年に1~2回など |
アプリケーションの開発後やアップデート後のタイミング |
2. ペネトレーションテストの種類
ペネトレーションテストには、外部ペネトレーションテストと内部ペネトレーションテストの2種類があります。
2-1 外部ペネトレーションテスト
外部ペネトレーションテストは、名前の通り外部からアクセスできるシステムや機器に対するペネトレーションテストのことを指します。具体的には、インターネットに公開している
Webサーバーやメールサーバーなどが挙げられます。
2-2 内部ペネトレーションテスト
一方、内部ペネトレーションテストは外部からアクセスできない内部のシステムに対するペネトレーションテストのことを指します。外部から社内ネットワークに侵入された場合や、内部犯行が行われた場合を想定したテストです。
3. ペネトレーションテストの手法
ペネトレーションテストの手法には、ホワイトボックス型・ブラックボックス型・グレイボックス型の3種類があります。
3-1 ホワイトボックス(WhiteBox)型
ホワイトボックス型は、事前に対象となるシステムやアプリケーションの構成・機器情報を共有した上で実施する方法です。システムの内部構造を把握した上で実施されるため、開発者が気づかないような細かな脆弱性も見つけやすいという利点があります。
ただし、内部構造が誤って伝わってしまうと正確なテスト結果を得られないデメリットもあります。
3-2 ブラックボックス(BlackBox)型
ブラックボックス型は、対象システムやアプリケーションの内部構造を共有せず、外部から把握できる情報のみをもとにテストする方法です。システムを利用する外部の立場から検証できるため、より攻撃者に近い目線のテストとなるのが特徴です。
テスターは時間をかければある程度の情報を取得することはできますが、情報量と時間が限られている中でのテストになるため、費用対効果はホワイトボックス型に及ばない可能性があります。
3-3 グレーボックス(GrayBox)型
グレーボックス型は、ホワイトボックス型とブラックボックス型を組み合わせた手法です。テスターは一部の内部構造を把握した上で、それ以外の情報は外部から見たままでテストを実施します。このようにすることで、ホワイトボックス型とブラックボックス型のメリットを取り入れながら、より効率的にテストを実施することができるため、最近はこちらの型で実施されることも多いです。
4. ペネトレーションテストのメリット
ペネトレーションテストには大きく3つのメリットがあります。
4-1 より具体的な検証で脆弱性を評価できる
ペネトレーションテストでは、実際のサイバー攻撃を想定したシナリオで実施されます。正規ではない技術・方法も使って検証するため、かなりリアリティのある検証ができることがメリットの1つです。
4-2 自社の環境に即したテストが実施できる
ペネトレーションテストのシナリオは、自社のシステムや環境に基づいて作成されます。汎用的に実施されるセキュリティテストとは違い、自社用にカスタマイズされた環境で実施できるため、より細かく脆弱性を評価することができます。
4-3 効率的・効果的に脆弱性を把握できる
セキュリティ対策の評価を一つずつ社内で実施しようと考えると、時間も手間もかかります。しかし、ペネトレーションテストを実施すれば、攻撃者という第三者の視点から効率的・効果的に脆弱性を洗い出せるのもメリットの1つです。
5. ペネトレーションテストのデメリット
ペネトレーションテストにはデメリットもあります。
5-1 テスト実施者のレベルにより結果が左右される
ペネトレーションテストはセキュリティやシステムに関する専門的な知識を必要とします。また、脆弱性を発見できるかどうかは侵入テストを行う実施者の技術や知見に依存してしまうため、実施者のレベルによってテストの結果に差が出る可能性があります。
ペネトレーションテストを依頼する場合は、実施者のレベルや知見などをしっかりと確認しておくことが重要です。
5-2 大規模・複雑になるほどコストがかかる
ペネトレーションテストの相場は数十万円~数千万円と言われており、かなり幅があります。当たり前ですがよりレベルの高い実施者をアサインする場合や調査対象のシステムが大規模である場合などは、それに伴って費用が高くなりますので、自社の予算を踏まえて慎重に検討するようにしましょう。
6. ペネトレーションテストの実施方法
ここからは、ペネトレーションテストの実施方法についてご説明します。
6-1 ペネトレーションテストの実施プロセス概要
ペネトレーションテスト実施は大きく以下の3ステップで行われます。具体的な手順については後述します。
- 準備
- テスト実施
- レポート
6-2 ペネトレーションテストの具体的な実施手順
6-2-1 準備段階:目標の設定と範囲の定義
まず、ペネトレーションテストの準備段階ではテスト対象のシステム環境や構造を把握・分析し、テスト範囲や目標を確定します。そして、それに基づきテスト用のシナリオを作成します。また、この時にテストに必要なツールの準備やセッティングなども行っておきます。
6-2-2 実施段階:攻撃シミュレーションとデータ収集
準備ができたら、実際に侵入テストを行います。テストにより脆弱性が見つかった場合は、その脆弱性によってどのようなリスクや被害が想定されるかまで検証します。もしくは、あらかじめターゲットとなる情報を絞っておき、侵入後にその情報へのアクセスができるかどうかを調べることもできます。
6-2-3 結果分析:報告書の作成と脆弱性の優先順位付け
テストの実施結果をもとに、発見された脆弱性とその優先順位付けなどをレポートとしてまとめます。ペネトレーションテストでは、テストの実施結果をもとに対策を立て、それが適切に機能しているかどうかまで確認することでサイバー攻撃によるリスクを軽減することができます。
テストを実施して終わりではなく、その後の対策までしっかり検討するようにしましょう。
7. まとめ
本記事では、ペネトレーションテストの基本的な内容からペネトレーションテストの実施手順までご紹介しました。一般的にペネトレーションテストは年に1~2回実施することが推奨されていますので、実施できていない企業の担当者は早い段階での導入をおすすめします。ペネトレーションテストを効果的に活用するためには、適切な準備と信頼できる専門家の選定が重要です。
弊社Priv Techでは、国内外のホワイトハッカーネットワークを活用し、ペネトレーションテストや脆弱性診断などのサイバーセキュリティサービスを提供しています。中でも特に、世界的に高い評価と豊富な実績を持つHackerOneやBugcrowd と提携して成果報酬型で実施するバグバウンティプログラムの運用支援は、コストパフォーマンスと効果の両面で優れており、セキュリティ強化に大きく寄与します。
ご相談は無料ですので、お気軽にお問い合わせください。