セキュリティの脅威が巧妙になっている現代において、Webサービスを開発・運用するにあたり、セキュリティ対策は必須の事項といえます。
開発したサービスが外部からの攻撃に耐えられるかを確認するために利用するのが「ペネトレーションテスト」です。
本記事では、ペネトレーションテストの基本的な知識や流れ、具体的なサービスを含めた実施方法について詳しく解説します。サービスを選ぶ際に注意すべきポイントや、おすすめのペネトレーションテストとサービスもいくつか紹介しますので導入の参考にしてください。
ペネトレーションテストとは
ペネトレーションテストは、システムやネットワークのセキュリティを評価するために、実際の攻撃者の手法を模倣して脆弱性を探し出すテストです。システムの防御力を実証的に確認し、潜在的な脆弱性を発見して修正することで、セキュリティの向上を図ります。
ペネトレーションテストの基礎知識
ペネトレーションテストは、セキュリティ評価の一環として実施されるテストです。ペネトレーションとは「貫通」、「侵入」といった意味を持ち、外部からの攻撃を模倣することにより、システムの脆弱性を明らかにすることを目的としています。
システムに侵入するため、ネットワーク、アプリケーション、物理的なセキュリティなどのさまざまな側面でテストが実施されます。
このテストは、ホワイトボックス、ブラックボックス、グレーボックスの3つのアプローチに分けられます。
ホワイトボックステストは、システムの内部情報を全て開示した状態で行うテストで、ブラックボックステストは外部からの視点でシステムの情報を持たない状態で行います。グレーボックステストはその中間のアプローチ方法で、その名前の通り、ブラックボックスとホワイトボックスの中間にあたる攻撃を行う手法です。
脆弱性診断との違い
ペネトレーションテストと脆弱性診断は、どちらもセキュリティ評価手法の一部ですが、その目的とアプローチに違いがあります。
脆弱性診断は、システム内の既知の脆弱性をスキャンし、特定します。自動化されたツールを使用して、システムやネットワークの潜在的な弱点を広範囲にわたってチェックすることで、対象のシステムの脆弱性を見つけ出すのです。
一方、ペネトレーションテストは、実際の攻撃シナリオを模倣してシステムへ侵入しようと試みることで、より深く具体的な脆弱性を発見します。攻撃者が行う可能性のある手法を使用して、システムの防御力を試すため、診断結果はより実践的です。
これにより、脆弱性診断では見逃されがちな複雑な攻撃パターンや組み合わせによる脆弱性も発見できると考えましょう。
ペネトレーションテストと脆弱性診断の違いについては以下の記事で詳しく解説していますので参考にしてください。
S7-1ペネトレーションテスト 脆弱性診断 違い
ペネトレーションテストの必要性
情報セキュリティの重要性が増す中、ペネトレーションテストは企業や組織にとって欠かせないプロセスといえます。ここでは、このテストを実施する必要性について、その目的や実施すべき具体的なシーンなどを解説します。
ペネトレーションテストの目的
主な目的は、システムやネットワークの脆弱性を発見し、その脆弱性がどの程度のリスクを持つかを評価することです。また、発見された脆弱性に対する具体的な対策を提供し、システムのセキュリティを強化することも目的としています。
特に、個人情報や機密情報を取り扱うようなシステムの場合、外部からの攻撃によって情報が漏えいした場合、大きな損害を受ける可能性があります。そのようなシステムのセキュリティを担保するためにも、ペネトレーションテストは非常に重要といえるでしょう。
ペネトレーションテストを実施すべきシーン
大きく分けて以下のタイミングで実施するとよいでしょう。
- システムのサービス開始前
- OSやミドルウェアの更新や、ネットワークに変更があった場合
- 定期的に実施する
情報システムの脅威は日々高度になっており、新しい脆弱性が定期的に発見されます。
このテストは、1度実施したら終わりではなく定期的に実施することが大事です。
新しい脅威や脆弱性に気づき、素早く対応することがセキュリティ対策の定石といえるでしょう。
ペネトレーションテストの流れ
以下の手順に沿って実施します。
ここでは、各手順について解説していきます。
- テストを実施する対象を明確にする
- テストのシナリオを作成する
- 攻撃の準備を行う
- テスト対象への攻撃を実施する
- テスト結果の報告書を作成する
テストを実施する対象を明確にする
まずは、テストを実施する対象であるシステムやネットワークの範囲を明確にします。
社内にある全てのシステム・ネットワークを対象としてもよいのですが、そうなるとテストの実施にコストや時間がかかってしまいます。
そのため、個人情報や機密情報を扱っているシステムや、業務のコアに関する部分に特化してテストを実施するとよいでしょう。
テストのシナリオを作成する
実際にどのような手法やツールを使用するかを決定し、具体的なテストシナリオを作成します。シナリオは、「実際に攻撃する際の手段や流れ」を記述します。
「ハッカーやクラッカーといった攻撃者がどうやってそのシステムを攻撃するのか」ということが記述される、と考えるとよいでしょう。具体的には、攻撃の種類、攻撃する手段、予想される結果などが含まれます。シナリオを基にしたテストを実施することで、計画的かつ効果的なテストが可能となるのです。
攻撃の準備を行う
シナリオに基づき、必要なツールや環境を準備します。攻撃用のスクリプトの作成や、テスト環境のセットアップ等が準備に含まれます。
また、ペネトレーションテストは悪意のある攻撃を想定してテストする関係上、システムに重大な脆弱性や不具合があった場合、テストの結果システム内のデータが破壊される可能性があります。
テスト実施前にシステムのバックアップを取ることも忘れないようにしましょう。
テスト対象への攻撃を実施する
準備が整ったら、テスト対象への攻撃を開始します。
計画したシナリオに従って攻撃を実施し、システムの脆弱性を確認します。攻撃の過程で発見された脆弱性や、攻撃に対するシステムの反応を詳細に記録していきましょう。
テスト結果の報告書を作成する
最後に、テスト結果を基に報告書を作成します。報告書に記述されるのは、発見された脆弱性の詳細、攻撃の手法、推奨される対策などです。
この報告書は、システムの管理者や経営層に対する説明資料として使用します。この報告書の内容をもとに対策を講じることになるため、回避策や修正方針などが報告書内に盛り込まれている必要がある、と考えましょう。
ペネトレーションテストを実施する方法
ペネトレーションテストは、ツールを使って自社で行う方法と、外部の専門サービスを利用する方法があります。それぞれの方法についてメリットをからめて解説します。
ペネトレーションテストツールを使って自社で行う
自社でペネトレーションテストを行う場合、専用のツールを使用して実施します。
自社で実施する場合にはコストが低く実施できるため、定期的にテストを実施したい場合には有用です。ただし、内部の知見を深める利点がありますが、高度な技術と知識が必要であることを忘れないようにしましょう。
高度な専門知識がない場合、適切なシナリオを設定できなかったり、脆弱性が見つかったとしても誤った対応策を講じたりする可能性があります。
ペネトレーションサービスを使ってテストを委託する
ペネトレーションテストを専門として提供している業者に依頼し、テストを実施します。
この方法は、専門家による詳細な分析と報告が期待でき、セキュリティに関する専門的な知識がなくてもテストを実施することが可能です。
ただし、自社で実施する場合と比較してコストが高くなり、一般的には500万円〜1,000万円程度の費用が発生します。料金が高い分、より正確かつ網羅的なテストが実現できると考えましょう。
ペネトレーションテストツール&サービスを選ぶ際のポイント
ペネトレーションテストツールやサービスを選ぶ際には、3つのポイントを踏まえて選択するとよいでしょう。
- テスト対象とするシステムやネットワークに適したツールやサービスを選択する
- 信頼できるベンダーや、利用実績のあるツールを利用する
- 予算にあったツールやサービスを検討する
ペネトレーションテストは、非常に高度な専門知識が必要なだけでなく、過去の実績や経験則に基づいたシナリオ作成が必要です。そのため、安いというだけでベンダーを選択した結果、満足な効果を得られなかった、という可能性もあります。
テストを実施する際には、実績のあるツールやサービスを選択し、効果的にテストを実施することが重要であると考えましょう。
おすすめのペネトレーションテストツール3選
ここからは、自社でペネトレーションテストを実施する際におすすめのツールを3つ紹介します。いずれも利用実績が多いため、他社事例を参考にテストを実施するとよいでしょう。
Kali Linux
Kali Linuxは、オープンソースのLinuxディストリビューションであり、ペネトレーションテストやセキュリティ監査を目的として設計されています。
脆弱性診断やリバースエンジニアリングといった、ペネトレーションテストに活用できるさまざまなツールを内包しているのが大きな特徴です。カスタマイズ性も高く、ペネトレーションテストのシナリオに応じてスクリプトを作成することで、テストの自動化も可能です。
USBまたはCDから起動できるため、Linuxに関する基礎知識があれば、容易に利用開始できることも大きなメリットといえるでしょう。
hydra
hydraはオープンソースのパスワードクラックツールです。ブルートフォース攻撃や辞書攻撃といった攻撃手法を用いてログインを試行します。Webアプリケーションへのログインだけでなく、FTPやSSH、メールといった多くのプロトコルへの攻撃が可能であるため、さまざまなサービスやサーバーに対してパスワードクラックを実行できます。
hydraは、大量にIDとパスワードのリストを用意し、並列実行してログインを試行します。攻撃に脆弱な状態ではすぐにパスワードがクラックされてしまう可能性があるため、パスワードの長さを調整したり、アクセス制限をかけたりする必要があると考えましょう。
sqlmap
sqlmapは、オープンソースの自動化されたSQLインジェクションツールであり、Webアプリケーションのデータベースセキュリティを評価するために使用するソフトウェアです。
MySQLやPostgreSQL、OracleDatabaseといった主流なデータベースだけでなく、Microsoft Accessにも対応しています。情報システムにおける機密情報や個人情報の多くはデータベースに保存されています。情報漏えいを防ぐためには、データベースのセキュリティ対策は必須といえるでしょう。
おすすめのペネトレーションテストサービス3選
本章では、ペネトレーションテストを実施してくれるサービスを3つ紹介します。それぞれ強みとしている部分や特徴、料金が異なりますので、自社に合ったサービスを選ぶ際の参考にしてください。
三和コムテック株式会社提供
三和コムテックの「SCT SECUREセキュリティ診断」は、ペネトレーションテストだけでなくさまざまなセキュリティ診断を総合的に実施してくれるセキュリティソリューションです。
経験豊富な診断士が診断を実施するため、お客様の要件を確認した上で診断内容をカスタマイズします。グループ企業を含めた一括対応や、セキュリティ要件に対応してPCI DSS準拠やOWASP TOP10などの適切な診断を提案します。
診断内容の選定からまかせられるため、セキュリティに対する知識や知見がなくても高レベルなセキュリティ診断が実現できます。
また、セキュリティの専門家による分かりやすいレポートを提供している点も特徴です。診断対象となるサービスによって料金が異なりますので、対象サービスを決めた上で一度見積もりを依頼してみましょう。
NRIセキュアテクノロジーズ株式会社提供
NRIセキュアテクノロジーズの「ペネトレーションテストサービス」は、攻撃者の視点から組織のシステムを疑似攻撃することで、脆弱性やリスクを評価するサービスです。
同社では、脅威動向に精通したコンサルタントがヒアリングを行った上でサービスを分析します。
その上で、サイバーアタックシミュレーション(侵入検証サービス)を通じて得た攻撃観点を踏まえてテストシナリオを設定し、テストを実施します。
料金は700万円からとなりますが、サービスの規模や実施内容に応じて料金が異なります。
PCI DSS準拠支援に強みを持つサービスとなるため、自社サービスを提供している企業はサービスの利用を検討するとよいでしょう。
株式会社レイ・イージス・ジャパン提供
レイ・イージス・ジャパンの提供するペネトレーションテストサービスは、インターネットに公開しているサービスに対して、一般的なプラットフォーム診断およびAIを活用した簡易的なペネトレーションテストを実施するサービスです。
迅速なセキュリティ診断が可能で、最短で3営業日内でペネトレーションテストを実施してくれるため、「すぐにセキュリティ診断を実施したい」という場合に最適のソリューションです。システムの脆弱性を発見する機能や、IDとパスワードの組み合わせでログイン試行を繰り返すブルートフォース攻撃が機能として含まれており、Webアプリケーションに対する基本的な脆弱性診断を提供しています。
個人情報を扱うサイトの場合、1つのサイトあたり98万円で実施できるため、診断対象や診断内容を自社で判断できるのであれば、非常に安価でペネトレーションテストを実施できます。
自社でツールを使った診断は難しいが、実施したいテストはある程度決められるような企業であれば、同社のサービスを検討するとよいでしょう。
まとめ
ペネトレーションテストは、システムやネットワークのセキュリティを評価し、脆弱性を発見・修正するための重要なプロセスといえます。
定期的なテストと適切な対策により、情報セキュリティの向上を図り、潜在的な脅威に備えることが可能です。適切なツールやサービスを選び、実施することで、組織のセキュリティ体制を強化しましょう。
三和コムテック株式会社では、ペネトレーションテストを含めて、さまざまなセキュリティ対策ソリューションを用意しています。セキュリティ診断サービスはもちろん、セキュリティにおいて不安な点がある場合はお気軽にご相談ください。
- トピックス:
- セキュリティ