しっかりとセキュリティを意識して開発したシステムでも、開発者の視点では想定もしていなかった脆弱性が隠れていることがあります。対策をしないでそのまま運用してしまうと、悪意のある第三者の攻撃対象となり、様々な被害にあうことが想定されます。
システムの開発が完了したら、運用する前にしっかりとした攻撃者視点でのテストが必要です。それがペネトレーションテストです。
ペネトレーションテストは侵入テストとも呼ばれ、セキュリティに特化した内容のテストです。テストが大事なのはわかるけど、どれくらいのコストが必要なのか気になるでしょう。今回はペネトレーションテストの概要と価格について詳しくご紹介します。
この記事の目次
ペネトレーションテストとは
ペネトレーションテストとは、インターネットなどのネットワークに接続されているシステムに対して、様々な技術を駆使して侵入を試みることで、システムにセキュリティ上の脆弱性が存在するかどうかテストする手法のことを言います。
日本語では「侵入実験」や「侵入テスト」とも呼ばれることがあります。ペネトレーションテストに特化した無料ツールもあり、簡単なテストを実施することもできます。しかし、しっかりとしたテストを実施するには、ペネトレーションテストに特化したセキュリティ企業などに依頼することも必要です。
ペネトレーションテストの価格
ペネトレーションテストの価格は、ペネトレーションテストを実施する企業や内容、担当者のスキル、必要な時間、使用するツールなどの種類によって大きく異なります。それこそ数万円から数千万円とピンキリです。しかし中には無料でペネトレーションテストを行えるツールもあります。
例えば、「Kali Linux」というOSにはペネトレーションテスト向けの機能を標準で搭載しており、だれでも無料で使用できます。他にも「Maltego」「OWASP Zed Attack Proxy(ZAP)「Skipfish」などのペネトレーションテスト用の無料ツールが公開されています。詳しくは当サイトの以下の記事をご覧ください。
これらの無料ツールを使ったペネトレーションテストでは、予め決められた基本的な項目しか検証することができません。もっと詳細に技術的に奥まで踏み込んだペネトレーションテストを行う場合は、自社のシステムやネットワーク構成に応じてシナリオを作成し、長い時間をかけて実施するため、高額になりがちです。
しっかりとしたペネトレーションテストを実施するためには、事前の情報収集やシステム構成を把握する作業が必要不可欠です。作業内容によってコストも大幅に異なります。そのため詳しい価格を知るためには、ペネトレーションテスト実施者に個別に見積りを依頼する必要があるケースがほとんどです。
ペネトレーションテストの方法
ペネトレーションテストを実施する企業や、使用するツールやサービスなどによって、方法は異なりますが、概ね以下のような流れでペネトレーションテストは実施されます。
1.ヒアリング・準備 | テスト対象のシステムのネットワークの構成、個人情報や機密情報の保管状態、アクセスログなどの取得状況などを考慮し、どのような診断・テストを行うかシナリオを作成します。 |
---|---|
2.攻撃・侵入テスト | 作成したシナリオに従って攻撃・侵入を実施して、結果を記録します。自動的に行われるテストや、手動で行うテストや確認など様々な方法で攻撃・侵入を行います。 |
3.報告書の作成 | テスト結果をまとめ、報告書を作成します。 |
テストにおける攻撃・侵入の方法は大きく分けて4つあります。
ホワイトボックステスト | テスト対象のシステムの内部の構造を把握した上で、顧客に合わせた内容で行うテスト |
---|---|
ブラックボックステスト | テスト対象のシステムの内部構造は考慮せずに、外部から把握できる機能を検証するテスト |
外部ペネトレーションテスト | 攻撃者がシステムの外部から攻撃してくることを想定したテスト |
内部ペネトレーションテスト | システムの内部にすでに攻撃者が侵入していることを想定したテスト |
ヒアリング・準備段階でテストのシナリオを作成し、ホワイトボックステストやブラックボックステストを組み合わせて複合的にテストを実施します。
ペネトレーションテストの実施後に、テスト結果をまとめたレポートや報告書を作成します。攻撃に成功した回数や時間、権限の取得経路などをまとめたものです。明らかになった脆弱性に対して、具体的な対策方法などが提示されます。
ペネトレーションテストのメリット
ペネトレーションテストには以下の3つのメリットがあります。
実際にシステムに侵入できるか安全に調査できる
あくまでもテストとして侵入検査を行うため、安全な環境で調査できます。
システムの環境に合わせたテストが実施できる
テストの前に、システムやネットワーク構成などの環境を調査するため、テスト対象のシステムに応じたテストが実行できます。
テスト後に調査結果をまとめた報告書が得られる
ただテストを行うだけでなく、テストの実施者による報告書を作成してもらえる。脆弱性の内容や対策方法を得ることができるだけでなく、報告会が行われることもあります。
ペネトレーションテストのデメリット
ペネトレーションテストには以下の2つのデメリットがあります。
テストの内容によっては膨大なコストがかかる
テスト対象の規模の大きさや、テスト項目の多さによっては、膨大なコストがかかることがあります。
テスト実施者のスキルによって、成果が異なる
ペネトレーションテストの実施には高度なスキルが求められるため、テスト実施者のスキルやツールの操作方法の熟練度によって、検証される脆弱性や対策方法などの、テストの成果が異なることがあります。
ペネトレーションテストのメリットとデメリットについては、当サイトの別の記事にまとめてあります。ご参照ください。
ペネトレーションテストの注意点
ペネトレーションテストを実施する前に、どのような項目をテストし、どの程度まで脆弱性を探るのか、あらかじめ決めておくことが必要です。
またペネトレーションテストを専門で行うツールなどもありますが、ツールで明らかになった結果は、最終的には人間が判断することになります。ペネトレーションテストはシステムの開発時に一度だけ実施すれば良いというものではありません。システムの改修や、使用しているソフトウェアのバージョンアップなど、システムの環境が変化したタイミングでの再実施も重要です。
システムへの攻撃手法も日々進化しています。定期的なペネトレーションテストの実施により、新しい攻撃手法への対策を講じることもできるのです。
まとめ
今回はペネトレーションテストの価格について重点的に紹介してきました。無料のツールを使った簡単なテストから、セキュリティ企業による本格的なペネトレーションテストまで、必要な価格は大きく異なります。
基本的に高い価格のペネトレーションテストほど、より効果的の高いペネトレーションテストになります。しかし闇雲にコストをかければ良いものではありません。自社のシステムに求められるセキュリティ基準を把握し、適切なシナリオを作成するためには、ペネトレーションテストの実施者と綿密な打ち合わせが必要不可欠です。