BLOG

ペネトレーションテストとは?

システムに脆弱性が存在すると、クラッカーによる攻撃によって、機密情報の漏洩や金銭的な損失だけでなく、企業の信用にも関わる重要な問題に発展することがあります。しかしながら、存在する脆弱性を自社内で漏れなくダブりなく(MECEな状態)検査するには、時間やコストがいくらあっても不十分です。そこで取り入れたいのがセキュリティ企業によるペネトレーションテストです。

ペネトレーションテストはサイバーセキュリティの専門家によるクラッカーの視点を取り入れたテスト手法です。セキュリティの検査には脆弱性診断もありますが、それとは少し異なります。今回はペネトレーションテストの概要を紹介し、脆弱性診断との違いについて詳しく解説していきます。

ペネトレーションテストとは

ペネトレーションテストとは、インターネットなどの外部ネットワークに接続されているシステムに対して、クラッカーの視点で様々な技術を駆使して侵入を試みることで、システムにセキュリティ上の脆弱性やセキュリティホールが存在するかどうかテストする手法のことを言います。

日本語では「侵入実験」や「侵入テスト」とも呼ばれます。ペネトレーションテストに特化したツールもあり、手軽にテストを実施することもできます。しかし、漏れなくダブりなくテストを実施するには、ペネトレーションテストに特化したセキュリティ企業などに依頼することも必要です。

ペネトレーションテストと脆弱性診断の違い

ペネトレーションテストと脆弱性診断は、どちらもセキュリティ対策の一環として現状を把握するために実施されるという共通点がありますが、目的や手法は大きく異なります。

ペネトレーションテストは、特定の意図をもつクラッカーが攻撃に成功するかどうかを検証するテストです。検証対象のシステムの構成などに応じて、想定される攻撃のシナリオを作成し、実際に攻撃が成功するかどうかをテストします。システム全体の構成要素に対して網羅的にテストするのではなく、特定の脆弱性や問題点を発見することを目的としています。

一方、脆弱性診断とはシステムに存在する脆弱性やセキュリティ的な不備を網羅的に検査します。アプリケーションやファイアウォール、ルーターやサーバーなどの構成要素に対して、システムやネットワーク内の潜在的な脆弱性の特定をすることが目的です。そのため検査範囲はペネトレーションテストよりも広範囲なものであり、ツールなどを使って定型的な手法が使われることもあります。既知の脆弱性に対しては効果的ですが、ゼロデイのリスクの検出はできません。

ペネトレーションテストは攻撃を予防するために実施する検査、脆弱性診断は攻撃されるリスクを発見するための検査というように理解することができます。

ペネトレーションテストの方法

ペネトレーションテストを実施するセキュリティ企業や、ツールやサービスなどによって、中身は対象違いますが、概ね以下のような流れで実施されます。

1.ヒアリング・準備 テスト対象のシステムのネットワークの構成、個人情報や機密情報の保管状態、アクセスログなどの取得状況などをヒアリングし、どのような診断・テストが必要なのかをシナリオにまとめます。
2.攻撃・侵入テスト シナリオに従って攻撃・侵入を試み、結果を記録します。自動的に行われるテストや、サイバーセキュリティの専門家による手動テストや確認など様々な方法で攻撃・侵入を行います。
3.報告書の作成 テスト結果をまとめ、報告書を作成します。

テストにおける攻撃・侵入の試行方法は大きく分けて4つあります。

ホワイトボックステスト テスト対象のシステムの内部の構造を把握した上で、顧客に合わせた内容で行うテスト(ヒアリング内容を基に最適化した攻撃を実施)
ブラックボックステスト テスト対象のシステムの内部構造は考慮せずに、外部から把握できる機能を検証するテスト(ヒアリング内容を考慮せず、外部から見える情報のみでの攻撃を実施)
外部ペネトレーションテスト 攻撃者がシステムの外部から攻撃してくることを想定したテスト
内部ペネトレーションテスト システムの内部にすでに攻撃者が侵入していることを想定したテスト

ヒアリング・準備段階でテストのシナリオを作成し、ホワイトボックステストやブラックボックステストを組み合わせて複合的にテストを実施します。

ペネトレーションテストの実施後に、テスト結果をまとめたレポートや報告書を作成します。攻撃に成功した回数や時間、権限の取得経路などをまとめたものです。明らかになった脆弱性やセキュリティホールに対して、具体的な対策方法などが提示されます。

ペネトレーションテストの費用

ペネトレーションテストは個人向けの無料で行えるツールもありますが、一般的にはペネトレーションテストを専門で行っているセキュリティ企業に依頼することが多いと思います。テスト実施者のスキルやシナリオの内容によって、必要な費用は数十万円から数千万円規模になることもあります。

弊社でもペネトレーションテストを専門的に扱っており、様々なお客様にサービスを提供しておりますが、予算との兼ね合いで実施内容を調整するケースが多く想定シナリオを全網羅するケースは少ないように思います。

ペネトレーションテストのメリット

ペネトレーションテストには以下の3つのメリットがあります。

実際にシステムに侵入されるリスクがどの程度あるのか安全に調査できる

クラッカー視点での様々な攻撃手法で検査するため、実際のシステムへの侵入を許すケースがどの程度存在するのか知ることができます。また、あくまでもテストとして侵入検査を行うため、安全な環境で調査できます。

システムの環境に合わせたテストが実施できる

テストの前に、システムやネットワーク構成などの環境についてヒアリングの場を設けるため、テスト対象のシステムに応じたテストが実行できます。

テスト後に調査結果をまとめた報告書が得られる

ただテストを行うだけでなく、テストの実施者による報告書を作成してもらえます。これにより、脆弱性やセキュリティホールを把握するだけでなく対策方法や対策優先度などの情報を得ることができます。

ペネトレーションテストのデメリット

ペネトレーションテストには以下の2つのデメリットがあります。

テストの内容によっては膨大なコストがかかる

テスト対象の規模の大きさや、テスト項目の多さによっては、膨大なコストがかかることがあります。ただし、実施内容はセキュリティ企業に相談・調整が可能なため、必ずしもコストが重くなるわけではありません。密に相談することで最適な内容・ボリューム感を探ることが大事です。

テスト実施者のスキルによって、成果が異なる

ペネトレーションテストの実施には高度なスキルが求められるため、テスト実施者のスキルやツールの操作方法の熟練度によって、検証される脆弱性や対策方法などの、テストの成果が異なることがあります。

ペネトレーションテストの注意点

ペネトレーションテストを実施する前に、何を目的としてテストを実施するのかをはっきりとさせておくことが大事です。

サイトによっては、事前にテストしたい項目を決めておくことが大事などと書かれていることがありますが、目的をはっきりさせることで、ヒアリングを充実させることができるため、まずは目的が大事だと考えます。

実施内容やボリューム感については、目的がはっきりしていれば、セキュリティ企業からのアドバイスに基づいて予算と相談しつつ判断していけば良いでしょう。

また、ペネトレーションテストを実施するためのツールもありますが、実施結果をもとに結局のところ最終的には人間が判断することになります。(セキュリティの深い知見が必要となります)

ペネトレーションテストはシステムの開発時に一度だけ実施すれば良いというものではありません。システムの改修や、使用しているソフトウェアのバージョンアップなど、システムの環境が変化したタイミングでの再実施も重要です。

システムへの攻撃手法も日々進化しています。定期的なペネトレーションテストの実施により、新しい攻撃手法への対策を講じることもできるのです。

まとめ

ペネトレーションテストの概要と脆弱性診断との違いについて紹介してきました。自社のセキュリティ対策としてどちらをやればいいのか、気になると思いますが、結論からすれば両方やることが推奨されます。しかし限られた予算でセキュリティ対策を行う必要がある担当者にとって、両方とも実施するのは難しいかもしれません。

システムの特徴や環境によって、どちらを優先させるのか変わってきます。テスト実施者と相談した上で、より効果的な方を選択することが重要です。

Spin & Companyでは、ペネトレーションテストサービスを提供しています。安全なシステムのプロフェッショナル集団としての知見を活かし、お客さまのシステムに最適なテストを実施いたします。

サイバーセキュリティ、ペネトレーションテストについては、ぜひSpin & Companyへお問い合わせください。

関連記事一覧

検索

最近の投稿