テクノロジーが進化するにつれて、システムへのサイバー攻撃も多様化・巧妙化しつつあります。こうした中で、重要性が高まっているのが「ペネトレーションテスト」です。ペンテストや侵入テストと呼ばれることもあります。
ペネトレーションテストは、システムのセキュリティ性を高めるうえで重要となります。
今回はペネトレーションテストの概要と目的、脆弱性診断との違いについてご紹介します。また、ペネトレーションテストの種類や、実施するメリット・デメリットについて解説しますので、ぜひ最後までご覧ください。
- もくじ
1.ペネトレーションテスト(侵入テスト)とは?
ペネトレーションテストの概要、目的や、混同されやすい「脆弱性診断」との違いについて解説します。
1-1 ペネトレーションテストとは
ペネトレーションテストとは、サイバー攻撃が行われた際のシステムの振る舞いを検証するテスト手法です。「侵入」「貫通」などを意味する英語のペネトレーション(penetration)に由来し、侵入テスト、ペンテストとも呼ばれます。
具体的には、テスター(テスト実行者)が仮想的な攻撃者となり、テスト対象システムへの侵入や攻撃を試みます。このとき、システムがサイバー攻撃を適切に防御・遮断できるかを検証します。
また、ペネトレーションテストの主な目的は、システムにおけるセキュリティ対策の強度を評価することです。
特定のサイバー攻撃を再現した際に、正しい防御反応が行われるかを確かめることで、その攻撃に対するセキュリティ対策が十分なのかが分かります。
仮にサイバー攻撃を許してしまうのであれば、適切なセキュリティ対策を講じなければなりません。実践的なペネトレーションテストによって脆弱性を検出することは、システムのセキュリティ性向上につながります。
1-2 脆弱性診断との違い
ペネトレーションテストと混同されやすいものに「脆弱性診断」があります。
脆弱性診断 | システムに脆弱性がないかを網羅的にチェックし診断する |
---|---|
ペネトレーションテスト | 現実に起こりえる攻撃シナリオをもとに、システムがサイバー攻撃を受けた際に攻撃を防御できるかなどの耐性をテストする |
脆弱性診断とは、システムに脆弱性(サイバー攻撃を許しかねない弱み)がないか診断することです。ソースコードや運用体制など幅広い観点で脆弱性がないか探し、見つかった脆弱性ごとに対策を講じます。必ずしもサイバー攻撃を実践するわけではありません。
一方でペネトレーションテストは、特定のサイバー攻撃に焦点を当てたシナリオを作成し、それを実践することで脆弱性が顕在化しないかを検証します。想定・懸念されるサイバー攻撃や脆弱性が前提に存在するのが、脆弱性診断との大きな違いです。
手法は異なりますが、どちらもシステムのセキュリティ性を高めるために必要な点は変わりません。なお、脆弱性診断については、以下の記事をご覧ください。
2.ペネトレーションテストの種類
ペネトレーションテストの主な種類は、「内部ペネトレーションテスト」「外部ペネトレーションテスト」の2つです。それぞれの種類について、特徴を解説します。
2-1 内部ペネトレーションテスト
「内部ペネトレーションテスト」は、システム内部からしかアクセスできない要素に対して実行します。
主に内部犯行のサイバー攻撃を想定したペネトレーションテストです。たとえば、外部に公開していないデータベースサーバーや認証サーバーなどに侵入・攻撃を試みます。
また、万が一システム外部の攻撃者に侵入された場合に、内部で被害を拡大させないためにも重要です。
2-2 外部ペネトレーションテスト
「外部ペネトレーションテスト」は、システム外部からアクセスできる要素に対して実行します。
主に外部犯行のサイバー攻撃を想定したペネトレーションテストです。たとえば、外部からの受信が許可されたメールサーバーに侵入・攻撃を試みます。
外部のさまざまな攻撃者を想定する必要があるため、漏れなく実施するためには多くのテストケースが必要です。
3.ペネトレーションテストの手法
ペネトレーションテストの手法として、主に「ホワイトボックステスト」「ブラックボックステスト」の2つがあります。それぞれの特徴やメリット・デメリットについて解説します。
3-1 ホワイトボックステスト
「ホワイトボックステスト」は、システムの内部構造を踏まえて実施するテスト手法です。内部の機器やコンポーネントの構成、プログラムの処理フローなどを把握したうえでシナリオを作成します。具体的な脆弱性を想定できるため、サイバー攻撃のシナリオを正確に作成しやすいでしょう。
ただし、開発者目線でのシナリオが中心となるため、外部の攻撃者目線でのテストケースは網羅できません。
ホワイトボックステストについては、以下の記事で詳しく解説しています。
3-2 ブラックボックステスト
「ブラックボックステスト」は、システムの内部構造を考慮せず、主に仕様のみを踏まえて実行するテスト手法です。テストケース作成者やテスト実施者は、システムの内部構造を把握していない状態でテストを進めます。開発者目線の前提がない分、攻撃者目線に立ったシナリオを漏れなく作成可能です。
ただし、内部構造から脆弱性に当たりを付けられない分、システムの実態に即したシナリオの作成は難しいでしょう。
ブラックボックステストについては、以下の記事で詳しく解説しています。
4.ペネトレーションテストのメリット
ペネトレーションテストを実施するメリットについてご紹介します。
4-1 現状のセキュリティ対策・体制を評価できる
ペネトレーションテストを実施することで、システムの現状のセキュリティ体制が評価することができます。
具体的には、導入しているセキュリティツールやソリューションが有効的に機能しているか、サイバー攻撃に対しての耐性があるかなど、システムのセキュリティ対策状況を確認することができます。
4-2 セキュリティ対策の改善判断ができる
ペネトレーションテストを実施することで、現状のセキュリティ対策について改善判断にも役立ちます。
なぜなら、攻撃者の目線で疑似攻撃を実施し、機密情報や個人情報の窃取を試みることで、具体的な改善箇所が洗い出されるからです。
またリスクの優先度も明確になり、早急に対応すべきことも判断できるようになるでしょう。
より効果的なセキュリティ対策の改善を実施するために、ペネトレーションテストは有効的です。
5.ペネトレーションテストのデメリット
ペネトレーションテストの実施を検討する上では、デメリットについても把握しておきましょう。
5-1 費用がかかる
ペネトレーションテストを実施する場合、費用がかかります。
特に大規模なシステムに対して精密にテストを実施すると、その分コストが高くなるため、慎重な検討が必要です。
費用をおさえて実施したい場合は、リスクの高い部分や変更のあった機能部分のみなど、範囲を限定して実施するなど工夫しましょう。
5-2 実施者によって成果に差が出る
ペネトレーションテストはテストの性質上、実施する人によって成果に差が生じることがあります。
なぜなら、脆弱性診断と比べるとツールでカバーできない手動プロセスが多いからです。
そのため、高品質なペネトレーションテストを実施するのであれば、セキュリティやシステム構造などに知見のある技術者の選定が重要です。
当サイトを運営するバルテスのペネトレーションテストサービスでは、企業のシステムや目的に合わせて適切にテストを実行します。ペネトレーションテストを正しく実施できるか不安がある場合は、ぜひご活用ください。
まとめ
ペネトレーションテストとは、サイバー攻撃が行われた際のシステムの振る舞いを検証するテスト手法です。
システムのセキュリティ対策の強度を評価することを目的といて行われます。攻撃者によるサイバー攻撃を想定して実行するため、適切な実行にはセキュリティやテストなどに関する専門知識が求められます。
システムのセキュリティを強化するためには、適切なペネトレーションテストを実行することが大切です。ペネトレーションテストを実行する際には、今回の内容をぜひ参考にしてみてください。