「ペネトレーションテスト」は、アタックサーフェス(※)が多様化・複雑化した現代においてサイバーセキュリティの必須事項といっても過言ではありません。しかし、どのように計画すればよいのか、攻撃シナリオでは何を定義するべきかなど検討すべき点は多く、まだ実施できていないという企業も多くみられます。
そこで、本記事ではペネトレーションテストの実施計画の立て方や実施のコツ、脆弱性診断やレッドチーム演習との違いなどについて分かりやすく解説します。
※アタックサーフェスについて詳しくは『製造業のサイバー攻撃対策で網羅すべき「アタックサーフェス」』をぜひご覧ください。
「ペネトレーションテスト(ペンテスト・侵入テスト)」は、ホワイトハッカーが意図的にサイバー攻撃を行い脆弱性の特定や分析を行う“サイバーセキュリティの実践検証”です。
ペネトレーションテストと脆弱性診断は、ともにサイバーセキュリティの弱点を特定する手法ですが、そのアプローチには明確な違いがあります。脆弱性診断は、システムやアプリケーション内の既知の脆弱性を特定するためのプロセスです。そのため、診断対象の脆弱性やその優先度について、網羅的に診断することにその焦点は置かれます。
一方、ペネトレーションテストは、ハッカーの攻撃シナリオを再現し、脆弱性を悪用してシステム内部に侵入しようと試みます。この手法では、現実にサイバー攻撃はどのように行われるのか、その際にどのように対処できるのかの検証に焦点が当てられます。そのため、システムの脆弱性のみならず、標的型攻撃やソーシャルエンジニアリングなどそのテスト対象は幅広く存在します。
また、ペネトレーションテストと関連する用語に「レッドチーム演習」もあります。レッドチーム(攻撃者役)とブルーチーム(防御者役)の間で実際の攻撃と防御のシナリオを再現する手法であり、ペネトレーションテストの中でも、実践的な模擬演習の意味合いが強いものを指します。どちらかといえば技術的な側面に焦点をあて、網羅的な脆弱性の検証を目指すほかのペネトレーションテストに対し、レッドチーム演習では、組織の反応速度、対応能力、および脅威から回復する能力(レジリエンス)など、より実践的な組織のサイバーセキュリティ能力の検証が主な目的となります。
ペネトレーションテストは実際にはどのような手順で実施することになるのか、5つのステップで見ていきましょう。
まずはテストの目的を明確にし、どのシステムをテストするのか、どのような攻撃が認可されるのかについての範囲(スコープ)を定義します。システムの構造を理解した上で行う「ホワイトボックステスト」、完全に外部の視点から実施する「ブラックボックステスト」、その中間の「グレーボックステスト」のいずれを実行するのかについてもこの段階で議論されます。
テスト対象のシステムやアプリケーションに関する情報を収集します。対象となる情報はOSの種類や使用されているソフトウエアのバージョン、既知の脆弱性など基礎情報・セキュリティにまつわるものすべてです。
攻撃のタイミングや使用するツール、報告のフォーマット、テストの期間なども具体的に定め、攻撃シナリオを作成します。
実際に攻撃をシミュレートし、システムのセキュリティを検証します。
ペネトレーションテストの結果を詳細に報告したレポートを作成し、見つかった脆弱性とそれを解決するための推奨策を共有します。その内容を踏まえて、再度テストを行い修正が有効であることを確認します。
ペネトレーションテストは、高度な専門知識を要するため、通常はセキュリティ専門の企業やコンサルタントに依頼して行います。しかし近年は、ペネトレーションテストを自動化するツールも普及・進化しており、両者の組み合わせでコストや頻度を最適化しつつ実施できる環境が整いつつあります。外部の視点を取り入れたペネトレーションテストは少なくとも年1回は実施することが推奨されています。
ペネトレーションテストの実施に当たって注意すべきポイントを三つ見ていきましょう。
本番環境でペネトレーションテストを実施した場合、システムやサービスのダウンといった影響が生じる可能性があります。そのため、事前にリスク評価を行った上で、ピークタイムを避ける、テスト環境を用意するなど、コストや目的と照らし合わせた対策が講じられる必要があります。とはいえ、ビジネスへの影響を考えてテスト範囲が限定されすぎ、リスクの具体的な検証が不十分になっては本末転倒です。重要なのは、リスクと効果のバランスです。
ホワイトボックステスト、ブラックボックステスト、グレーボックステスト、レッドチーム演習などペネトレーションテストにさまざまな手法が存在するのは、各テストはその目的によって性質が大きく異なるからです。セキュリティ問題の解決や検証、未知の脆弱性の発見や自社のセキュリティ体制の検証など、目的に応じて手法を組み合わせることがペネトレーションテスト成功のカギとなります。
ペネトレーションテストには、攻撃者が侵入に成功したことを前提に実施する内部ペネトレーションテストと、外部から侵入を試みる外部ペネトレーションテストが存在します。ゼロトラスト時代、外部からの侵入を防ぐことはもちろん、侵入後の被害を最小限にとどめ、問題の解決を図ることの重要性が高まっています。そのため、ペネトレーションテストを以前から実施している企業もその目的やスコープをアップデートし、外部だけでなく内部にも目を向けた攻撃シナリオの作成に取り組むことが推奨されます。
ペネトレーションテストとは何か、どのように実施すれば良いのかについて解説してまいりました。ペネトレーションテストはその効果が認識されつつも、それなりのコストや手間が発生することからまだまだ十分に活用されているとは言いがたい状況です。しかし、今後サイバーセキュリティの重要性が高まるとともに、実施されるケースも増えていくでしょう。その際は、ぜひ本記事に参考になさってください。