ペネトレーションテストとは、ホワイトハッカーがシステムやネットワークに対して実施する、シミュレーション化されたサイバー攻撃です。こうしたシミュレーションは、実際の攻撃者が悪用する可能性のある脆弱性、設定ミス、エラーなどの弱点を検出することを目的としています。
ペンテスターは、セキュリティ体制の改善を依頼した組織と緊密に連携します。ただし、最適な結果を得るには、さまざまな種類のペネトレーションテストや手法、ベストプラクティスに従う必要があります。
ペネトレーションテストのさまざまな手法と種類
企業がペネトレーションテストサービスを利用する場合、通常はブラックボックス、ホワイトボックス、グレーボックスという3種類のシミュレーションから選択します。これらは、シミュレーション攻撃の実施前にペンテスターへ提供される情報量が異なります。
- ブラックボックステスト:知識ゼロで行うブラックボックステストは、ペネトレーションテストの中でも最も時間と費用がかかる種類です。一方で、最も現実に近いテストでもあります。実際の攻撃者がたどる手順に非常に近いものです。ペネトレーションテスターには情報が一切与えられず、「盲目的に」作業を開始しなければなりません。まずインフラ全体をマッピングし、弱い侵入口を見つけ、重要な業務資産の所在を特定します。
- グレーボックステスト:限定的な知識を用いるテストとも呼ばれるグレーボックステストでは、組織がペンテスターに一部の情報を提供しますが、アーキテクチャを完全には開示しません。通常、提供される情報には、雇用主のアクセス認証情報や内部ネットワークまたはアプリケーションに関する知識が含まれます。
- ホワイトボックステスト:ホワイトボックスのペネトレーションテストでは、組織が倫理的ハッカーにシステムとシミュレーション対象に関する情報を提供します。提供される情報には、アプリケーションのソースコード、ユーザー認証情報、特権管理者アクセス権限など、内部からの攻撃をシミュレーションするために利用できる重要データが含まれる場合があります。アクセス情報の多くが事前に提供されるため、これらのテストはブラックボックステストよりも低コストです。
また、テストには包括的なものと限定的なものがあります。限定的なテストでは、ネットワーク、IoT(モノのインターネット)デバイス、物理セキュリティ、クラウドセキュリティ、Webアプリケーションなど、より狭い対象やその他のシステムコンポーネントに焦点を当てることができます。
包括的テストと限定的テスト
ペネトレーションテストは、組織がネットワーク、システム、エンドポイント全体を検証する包括的なものにも、特定のインフラコンポーネントに限定したものにもできます。大規模なテストは、まれで、費用が高く、実施も困難です。
組織には通常、テストを定期的に実施する計画を定めたペネトレーションテストプログラムがあるため、テストは1つまたは少数のコンポーネントに限定される傾向があります。限定的なテストは、特定の環境をより深く調査でき、更新や新しいアプリケーションに利用でき、対象を絞って実施できるうえ、安価かつ迅速です。
限定的なペネトレーションテストには、次のようなものがあります。
- ネットワークペンテスト:脆弱性を特定するため、内部または外部からの侵入経路となり得るすべての箇所を対象にテストを実施します。
- ワイヤレスペンテスト:無線ネットワークとデバイスのセキュリティを評価します。
- 物理ペンテスト:ペネトレーションテスターは、ピックツール、RFIDクローン、ソーシャルエンジニアリングなど、さまざまなツールと手法を使って物理的な場所へのアクセスを試みます。
- Webアプリケーションペンテスト:倫理的ハッカーがWebアプリケーションやソフトウェアアプリケーションのセキュリティをテストします。
- クラウドペンテスト:クラウド環境、インフラ、アプリケーション、サービスのセキュリティを評価します。
- モバイルペンテスト:Webアプリケーションペンテストと同様に、モバイルアプリケーションの脆弱性をテストします。
- IoTペンテスト:IoTに接続されたデバイスとネットワークを対象にテストを実施します。
関連記事:ペネトレーションテストと脆弱性テストの違い:重要な相違点
対象の規模によっては、1人の倫理的ハッカーがペネトレーションテストを実施できます。ただし、複数のチームが対象への攻撃または防御に積極的に取り組む場合もあります。
レッドチームとブルーチーム
3種類すべてのペンテストにおいて、セキュリティチームとペネトレーションテスターは、ときどきレッドチーム対ブルーチーム戦略と呼ばれる取り組みを行います。
レッドチームを装うペンテスターは、攻撃能力を駆使して対象のネットワークやアプリケーションを攻撃することに注力します。一方、ブルーチームは攻撃者から自らの資産を検知・防御することに注力します。この戦略により、セキュリティチームは実際の攻撃がどのようなものかを学び、対応とパフォーマンスを測定できます。
- レッドチーム:レッドチームは通常、倫理的ハッカー、鍵師、プログラマー、ソーシャルエンジニアで構成される少人数のグループです。ネットワークやアプリケーションへの侵入を試みる実際の攻撃者を模倣するため、さまざまな戦術を使い、その結果を報告する役割を担います。
- ブルーチーム:ブルーチームは、サイバー攻撃から組織のシステムとネットワークを守ります。これには、ネットワークやデバイスの維持、ユーザーアクセスの管理、脆弱性やセキュリティ問題への対処などが含まれます。ブルーチームは、ネットワークセキュリティ、エンドポイントセキュリティ、セキュリティオペレーションセンター(SOC)など、複数のチームで構成される場合があります。
最近では、レッドチームとブルーチームのメンバーが協力し、攻撃と防御の戦略を積極的に見極める、パープルチーム戦略も導入されています。これは個々のペンテストを超え、効果を最大化するための包括的かつ継続的なテスト目標を含むものです。
どのチームや戦略を選ぶにしても、企業とそのIT・セキュリティチームは、自社のニーズを満たすペネトレーションテストプログラムを策定する必要があります。これは、あらゆる脅威から資産を守ろうとする組織にとって極めて重要です。
レッドチーム、ブルーチーム、パープルチームの違いについて詳しくは、この記事をご覧ください。
ペンテストプログラムの始め方
多くの組織はペネトレーションテストの実施を外部企業に依頼しますが、セキュリティチームの規模が大きい企業では、独自の内部プログラムを開始することもあります。内部にペネトレーションテストチームを置くメリットは、より継続的で包括的なテストプログラムを実施できることです。
外部企業に依頼する場合でも内部チームを立ち上げる場合でも、ペネトレーションテストのプロセスを理解しておくことが重要です。これにより、目標を達成し、最も重要な資産を確実に保護できるペンテストプログラムを設計できます。
ペンテストプログラムの設計とチーム編成について詳しくは、ペネトレーションテストプログラムを実装する10の手順をご覧ください。
ペネトレーションテストの6つの手順
ペネトレーションサービスを利用する企業は、各評価フェーズについても理解しておく必要があります。倫理的ハッカーは、しばしば省略される最初と最後の手順を含め、すべての手順を熟知していなければなりません。ペネトレーションテストのフェーズは次のとおりです。
- 事前準備:このフェーズでは、ペネトレーションテスターと顧客が、評価の範囲、ルール・オブ・エンゲージメント、承認済みのツールと手法、その他の手順を決定します。
- 偵察と情報収集:この評価では、テスターが対象について可能な限り多くの情報を収集します。この情報は、ペネトレーションテストの後続フェーズで使用されるため重要です。
- スキャンと分析:スキャンと分析のフェーズでは、ペネトレーションテスターがツールなどの手法を使い、ネットワーク、アプリケーション、デバイスの脆弱性や弱点を特定して検証します。
- エクスプロイト:エクスプロイトのフェーズでは、ペネトレーションテスターが前のフェーズで見つかった情報と脆弱性を悪用し、対象へのアクセスを取得します。
- 侵入後:このフェーズは侵入に成功した後に行われます。テスターは対象システムに関するさらなる情報とアクセス権を取得し、権限昇格を試み、ネットワークの他の部分へ移動、つまり「ピボット」します。
- 報告と評価後の対応:ペネトレーションテストの完了後、テスターは全プロセス、発見された脆弱性、使用したエクスプロイトツールと手法、取得したアクセスレベルを説明する報告書を作成し、顧客に提出しなければなりません。さらに、評価中に発見された脆弱性の修正・改善方法や、セキュリティ体制を強化する方法も提案します。
ペネトレーションテストのフェーズは変わりませんが、従う手法によって方法論は異なる場合があります。
ペネトレーションテストのライフサイクルについて詳しくは、「ペネトレーションテストのフェーズと手順を解説」という記事をご覧ください。
ペネトレーションテストの方法論
主要な組織は、倫理的ハッカー向けの設計図となる独自のペネトレーションテスト方法論を策定しています。これらの方法論は、ペンテストの実施方法について明確な指針を示します。ただし、方法論は企業や組織のニーズによって異なります。たとえば、国家安全保障や連邦政府の基準を満たす手法もあれば、民間企業に重点を置く手法もあります。
こうした組織には、PTES、OSSTMM、NIST、OWASPなどがあります。
- NIST:National Institute of Science and Technologyが策定したNIST Special Publication 800-115(情報セキュリティテストおよび評価の技術ガイド)は、最初から最後まで最も具体的な指針を示します。高いセキュリティ基準を満たしたい企業は、この方法論をペネトレーションテストに採用します。NISTは複数の企業や組織にとって必須でもあります。
- OSSTMM:Institute for Security and Open Methodologies(ISECOM)が策定したOpen Source Security Testing Methodology Manual(OSSTMM)は、広く利用されているペンテスト方法論です。具体性にも優れ、ホワイトハッカーは組織固有の要件に合わせてテストをカスタマイズできます。広く使われているOSSTMMは、認められたテスト基準を定め、査読を経ており、科学的なアプローチに基づいています。
- OWASP:「Open Web Application Security Project(OWASP)」は、Webおよびモバイルアプリケーション、IoTデバイス、API(アプリケーションプログラミングインターフェース)向けに方法論を設計しました。ペネトレーションテスターを支援でき、アプリ開発の初期段階で利用されます。また、セキュリティコミュニティが最新技術に対応できるよう、方法論は更新されています。
- PTES:「Penetration Testing Execution Standard(PTES)」フレームワークは、ペンテストの全段階に関する指針を提供します。7つの主要セクションで構成され、初期コミュニケーション、情報収集、脅威モデリングのフェーズ、脆弱性調査、エクスプロイト、侵入後の活動など、テスターに必要なすべてを網羅しています。さらに、PTESは各フェーズ向けに包括的で詳細な技術ガイドを策定しています。
- コンプライアンステスト:Department of Health and Human ServicesやPCI Standards Councilなどの組織も、HIPAAおよびPCI-DSS基準への準拠を目指す組織向けにペンテストのガイダンスを公開しています。
評価に適した方法論を把握することは、ペネトレーションテスターとテスト対象の組織にとって重要です。さらに、業務で使うツールを知ることも同じく重要です。
ペネトレーションテストのフレームワークについて、特におすすめのものも含めて紹介したこの記事をご覧ください。
代表的なペンテストツール
市場には複数のペネトレーションテストツールがあり、無料で使えるものもあれば、商用ソリューションもあります。ペンテスターが利用する代表的で効果的なソリューションには、Kali Linux、Burp Suite、Wireshark、John the Ripperなどがあります。
- Kali Linux:Kali Linuxは、Offensive Securityが保守するオープンソースのオペレーティングシステムで、ペネトレーションテスト、セキュリティフォレンジックなどを支援します。Kali Linuxは、600種類のオープンソースセキュリティツールを含むオールインワンシステムです。
- Burp Suite:PortSwiggerが開発したアプリケーションセキュリティテストツール群で、無料版と有料版のライセンスオプションがあります。人気のBurp Proxyも含まれており、ペネトレーションテスターはWebサーバーとブラウザーの間に入り、ネットワークトラフィックなどの情報を調査し、脆弱性を評価・悪用したり、アプリケーションのその他のセキュリティ問題を見つけたりできます。
関連記事:Burp Suiteを始める:ペンテストチュートリアル

- Wireshark:このオープンソースツールは、ネットワーク監視用に設計されています。Wiresharkを使うと、ペネトレーションテスターはさまざまな種類のネットワークからリアルタイムデータを自動的に読み取れます。
- John the Ripper:John the Ripperは無料のパスワード解析ツールで、複数のオペレーティングシステムに対応しています。JtRは、ユーザーのパスワードハッシュにアクセスしたペネトレーションテスターが、暗号化を解読し、パスワードを平文で迅速に取得するために使用します。
ペネトレーションテスターは、さらに多くのツールを使用します。あらゆる種類のテストに使われる標準的なツールもあれば、特定のニッチなケースで使われるツールもあります。ペネトレーションテスターは、それぞれのシナリオでどのツールと手法を使うべきかを把握していなければなりません。しかし、これはプロセスの一段階にすぎません。評価が終わった後にも、いくつもの手順が必要です。
利用可能な多数のペンテストツールについて詳しくは、代表的なペネトレーションテストツールをご覧ください。
ペネトレーションテスト後に行うこと
ペネトレーションテストは、ホワイトハッカーが脆弱性を検出して悪用した時点で終わりではありません。報告と改善対応は不可欠な要素であり、決して省略してはなりません。大手のペンテストベンダーは、エラー、結果、セキュリティ上の欠陥を修正・パッチ適用するための推奨事項を360度の視点で示す、完全な報告書を提供します。
報告は、セキュリティチーム、IT部門、開発者、従業員、経営層にも役立ちます。報告を通じて、組織全体の業務とパフォーマンスを向上させる必要があります。ペネトレーションテストの主な目的は弱点を検出することではなく、効率とセキュリティを高め、リスクを防ぐことです。
さらに、ペネトレーションテスターと組織にとって、攻撃前の元の状態にシステムを戻すことも適切な慣行です。ペンテスターが構成や設定を変更したり、ソフトウェアをインストールしたり、システムにその他の変更を加えたりした場合は、クリーンアップして復元しなければなりません。
また、ペネトレーションテストを実施する企業は、ペンテストプログラムとフレームワークの中でテストを実行すべきです。改善対応後、ペンテストチームはセキュリティのアップグレードとパッチを監視し、次回の予定されたテストの実施に備える必要があります。ペネトレーションテストは一度実施して終わるプロセスではなく、正しく行えば多くのメリットをもたらす継続的な取り組みです。ただし、いくつかの課題もあります。
悪意のある攻撃者やその他の脅威からネットワークを保護する方法について詳しくは、こちらをご覧ください。
ペネトレーションテストのメリットとデメリット
すべてのセキュリティソリューションやアプローチと同様に、ペネトレーションテストにもメリット、リスク、課題があります。組織でプログラムを導入する際は、ペネトレーションテストのメリットとデメリットを把握し、理解することが重要です。
| メリット | デメリット |
|---|---|
| 自動化されたセキュリティ技術では、実際の状況におけるハッカーの手法を再現できません。そのため、攻撃者が何を実行できるかについて技術的な知見を提供するペネトレーションテスターが不可欠です。 | セキュリティ専門家やコンサルタントを雇用すると、高額になる場合があります。組織は、ペネトレーションテスターを雇うための適切な予算を確保すべきです。 |
| ペネトレーションテストは柔軟性も高く、カスタマイズできます。これにより、組織はさまざまなシナリオをテストし、現実に現れる最新の脅威に適応できます。 | テストの効率は、ペネトレーションテスターとそのスキルセットに左右されます。そのため企業は、候補となるペネトレーションテスターを調査し、適切なレベルのスキルと経験を備えているかどうかを判断すべきです。 |
| ほとんどのペネトレーションテスターは、発見事項に対する改善推奨事項を提示します。これにより組織は、弱点がどこにあるかだけでなく、その修正方法と取るべき対策も把握できます。 | ネットワークやアプリケーションに対して実行するスキャンやエクスプロイトは、慎重に管理しなければ通常の業務を中断させる可能性があります。 |
結論:優れたハッカーを雇う
ペネトレーションテストは、ハッカーに悪用される前にセキュリティホールを発見できる、重要なサイバーセキュリティ対策です。脅威ハンティングと同様、ツールだけでは実行できず、人間の要素を必要とする取り組みです。そして、担当者は業務を正しく遂行できるよう訓練を受け、準備しておく必要があります。容易に管理できる取り組みではありませんが、あらゆる組織が可能な限り実施すべきものです。
ペネトレーションテスターの仕事を知るために、無料ツールを試してみたい方は、代表的なオープンソースのペネトレーションテストツールの一覧をご覧ください。

