最終更新日時:2024.04.01 (公開日:2024.03.15)

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

システムのセキュリティ対策のひとつとして、脆弱性診断やペネトレーションテストが挙げられます。脆弱性診断やペネトレーションテストはどちらもセキュリティに関わる診断を指します。一見すると同じようなものに見られますが、実際にはそれぞれに違いがあります。本記事では、脆弱性診断とペネトレーションテストそれぞれを説明し、その上で脆弱性診断とペネトレーションテストの違いを解説します。 

脆弱性診断とは

脆弱性診断とは、コンピューターシステムやソフトウェアに存在する潜在的なセキュリティ上の問題を網羅的に特定するプロセスを指します。脆弱性診断を行うことで、情報漏洩や改ざんに悪用されるシステムの脆弱性を洗い出し、脆弱性への対策を実施することでシステムを保護し、信頼性を高めます。 

脆弱性診断の詳しい目的や有用性に関しましては、別途以下の記事にて紹介しています。合わせてご覧いただければと思います。 

「脆弱性診断(セキュリティ診断)とは?脆弱性診断サービスの目的と必要性を紹介」 
https://security.valtes.co.jp/blog/perfectvulnerabilitydiagnosisservice_vol_4/

脆弱性診断を実施するには、脆弱性を悪用する側の知識やノウハウが必要となります。知識やノウハウが伴わない脆弱性診断では、網羅的な脆弱性診断が行えないおそれがあります。 

これら専門性の高い技術の習熟は容易ではなく、脆弱性診断業務に特化した事業者が専門のサービスを提供しています。 

それらの事業者に脆弱性診断業務を委託する際の流れの一例を解説します。 

脆弱性診断は「ヒアリング」→「見積」→「診断」→「報告」→「再診断」の流れで実施されます。 

【ヒアリング】 

診断事業者から委託元に対してヒアリングを行います。ヒアリングする内容は、診断対象のシステム情報や診断を実施可能な期間・時間帯、緊急連絡先、禁止事項などが挙げられます。 

【見積】 

ヒアリングしたシステムに対して、システム情報やシステムの規模に応じて脆弱性診断実施費用見積が作成されます。 

見積方式には、システムへの事前アクセスを実施して精緻な金額を算出する方式やヒアリングをもとに大まかな金額を算出する方式があります。前者は算出に時間を要するものの正確な金額を算出可能であり、後者は精緻な金額を算出するのが困難である反面、短期での算出が可能であるという特徴があります。 

【診断】 

脆弱性診断を実施します。 見積時に事前アクセスを実施しなかった場合、診断開始前に対象システムの全容を把握するための疎通確認を実施するケースもあります。 

また、診断サービスの仕様によって、診断中、緊急性の高い脆弱性を検出した場合、次のフェーズである報告を待たずに即時報告する場合があります。 

【報告】 

脆弱性診断にて検知した脆弱性を報告します。 報告内容は診断サービスの仕様によって様々ですが、発見された脆弱性の箇所・内容・リスクの大きさ、脆弱性を再現する手順、脆弱性への対応の方向性などが含まれます。報告の方法は報告書の提供や報告会の開催などがあります。 

【再診断】 

診断事業者が報告した脆弱性を開発者が改善した後に、正しく脆弱性が対策されているかを確かめる工程です。診断サービスの仕様によって、実施有無・費用(有償/無償)が異なります。 

詳細なフローやサービス内容は委託先の診断事業者により異なりますので、サービスの詳細な説明は委託する診断業者への問合せを推奨します。 

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

ペネトレーションテストとは、依頼者と実施者が合意形成した実施内容に基づき、外部の攻撃者の視点を模倣してシステムやネットワークに対する攻撃を実施することを指します。脆弱性診断との違いは、発見された脆弱性を利用し、実際にシステムに被害を与える手順までを検証する点です。 

ペネトレーションテストに関しても、脆弱性診断と同様に専門的な知識やノウハウが必要となります。そのため、多くの組織が、様々なシステムのペネトレーションテストを実施している専門的なテスト事業者のサービスを活用しています。ペネトレーションテストを外部の事業者に委託する際の流れの一例を、以下に解説します。 

ペネトレーションテストの特徴は、「リスクシナリオの設定」が特徴であり、依頼者と実施者の間で、想定したリスクが実際に顕在化するか否かを確かめます。そのため、「ヒアリング」→「リスクシナリオ設定」→「見積」→「テスト実施」→「報告」等、見積前にリスクシナリオの設定プロセスが実施されます。 

【ヒアリング】 

診断業者から委託元に対してヒアリングを行います。 ヒアリングする内容は、対象のシステム情報、想定するリスクや期間、禁止事項(実際に情報の窃取や破壊まで実施するか、リスクを発見した時点で報告するか、等)になります。 

【シナリオ設定】 

ヒアリングした内容に基づいてリスクシナリオを作成します。 リスクシナリオには、想定リスク(サーバーへの侵入、情報の窃取・改ざん・破壊など)、使用する攻撃手法、達成条件などが記載されています。 

【見積】 

合意形成されたリスクシナリオに基づき、実施費用の見積が作成されます。 

【テスト実施】 

リスクシナリオに沿ってペネトレーションテストを実施します。 

【報告】 

ペネトレーションテストを実施した結果、実際に達成できた目標の情報を報告します。例えば、不正に取得できた個人情報や侵入が可能な内部サーバーの情報などです。報告の方法は報告書の提供や報告会の開催などがあります。 

ペネトレーションテストに関しても、詳細なフローやサービス内容は委託先のテスト事業者により変わります。サービスの活用にあたっては、テスト事業者から詳細な説明を受け、実施目的に適ったサービスを選定することが重要です。 

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

ここまで、脆弱性診断とペネトレーションテストの概要をそれぞれ解説しました。 ここからは、脆弱性診断とペネトレーションテストとの違い、どのように異なるのかについて、大きく5つの観点で解説します。

脆弱性診断 ペネトレーションテスト
目的 システムの脆弱性を網羅的に発見 脆弱性を悪用された場合の挙動を確認
確認範囲 システム全体を網羅的に確認 特定の箇所を集中的に確認 
脆弱性発見時の対応 発見された脆弱性を報告 脆弱性を悪用できるかを確認 
評価方法 発見した脆弱性の数や危険度に基づいて評価 想定リスクに対する攻撃の結果発生する事象や実現度合いをもとに評価 
用途 脆弱性の有無を広く調査したい場合に利用機密体の高い特定の情報漏えいなどの具体的な被害の実現度を調査したい場合に利用 
図:脆弱性診断とペネトレーションテストの違いの概略 

【目的】 

脆弱性診断の目的は、システムの脆弱性を網羅的に発見するところにあります。一方で、ペネトレーションテストの目的は、実際に第三者に脆弱性を悪用された場合の挙動を確認するところにあります。 

【確認範囲】 

脆弱性診断は、システム全体を網羅的に確認するのに対し、ペネトレーションテストはシステムの特定の箇所に攻撃目標を定めて集中的に調査します。 

【脆弱性発見時の対応】 

脆弱性診断は脆弱性の発見をゴールとし、発見された脆弱性の悪用までは実施しません。一方、ペネトレーションテストでは発見された脆弱性を実際に悪用し、テスト対象のシステムへの侵入・情報窃取・改ざん・システム停止などを試みます。 

【評価方法】 

脆弱性診断は主にシステムの脆弱性を特定し、発見された脆弱性の数や危険度に基づいてシステムを評価します。一方で、ペネトレーションテストは、想定リスクに対する実際の攻撃手法や、攻撃の結果発生する事象を報告します。報告対象は想定リスクの実現度合となります。 

【用途】 

脆弱性診断は、特定のリスクを想定せず、悪用されるおそれがある脆弱性の有無を広く調査したい場合に適しています。ペネトレーションテストは、機密体の高い特定の情報の漏えいや、内部サーバーへの侵入等、具体的な被害が顕在化する実現度を確かめるために活用されます。 

まとめ

「脆弱性診断とペネトレーションテストの違いとは?」と題してご説明しました。脆弱性診断とペネトレーションテストは、どちらもセキュリティ対策を強化するために重要な役割を果たすプロセスです。脆弱性診断はシステムの安全性を広く評価し、潜在的な脆弱性を特定するための手法です。一方で、ペネトレーションテストは具体的なリスクシナリオを設定して、セキュリティ対策の有効性を検証します。 

組織のセキュリティ対策状況と照らし合わせ、有用な手法を選定または組み合わせて活用していくことが重要です。また、脆弱性診断とペネトレーションテストは、どちらとも専門的な知識やノウハウを要します。実施にあたっては、要求される専門性の高さと費用のバランスを考慮し、外部専門事業者への委託要否、採用する手法を選定することで有用性の向上が望めます。 

当サイトではWebサイト、モバイル、IoTへの脆弱性のリスク対策を検討されている方や、サイバー攻撃の脅威から守るWAFに興味がある方へ、ダウンロード資料をご用意しております。ぜひ資料をダウンロードいただき、ご活用ください。 

Copyright © VALTES CO.,LTD. All Rights Reserved.