脆弱性診断ツールは、ネットワークやシステムのセキュリティホールを調査し、診断するサービスです。診断手法として、独自ツールによる自動診断や、過去の攻撃データや専門エンジニアの経験に基づく擬似攻撃による手動診断があります。
外部脅威全般および、標的型攻撃による内部端末のマルウェア感染、オペレーションミスや内部犯行などによる情報漏えいなどが診断対象となります。
以下、脆弱性診断ツールについて、それぞれの特徴や機能、契約プランを紹介します。製品の選定に際して、導入メリットや選び方などの詳細を確認したい方は、選定ガイドをご参照ください。
本記事では、脆弱性診断ツールについて、その役割やサービス比較のポイントを紹介しています。
脆弱性診断ツールとは
脆弱性診断ツールとは、自社で開発したアプリケーションをはじめ、サーバーやOS、ネットワーク機器などに対し、セキュリティ上の脆弱性を網羅的に調査するツール、またはサービスです。
診断対象にセキュリティホールがないかを把握し、脆弱性が確認された場合は、原因を解明して適切な処置を診断します。
脆弱性診断とペネトレーションテストの違い
ペネトレーションテストと脆弱性診断は、どちらもシステムに対するセキュリティテストという点は共通していますが、目的や実施方法、診断結果が異なります。
以下は脆弱性診断とペネトレーションテストの主な違いです。
| 脆弱性診断 | ペネトレーションテスト | |
| 目的 | システムの脆弱性を網羅的に洗い出す | 攻撃シナリオに基づきシステムの脆弱性から発生しうるリスクを発見、評価する |
| 実施方法 | システムをセキュリティ規格などに照らし合わせ、一定の基準を満たしているかどうかを確認 | さまざまなサイバー攻撃を用いて、攻撃目標が達成できるかを試行 |
| 診断結果 | ・発見した脆弱性リスト ・脆弱性の発生原因、解決方法 | ・攻撃シナリオ ・攻撃による被害や影響の範囲 |
ペネトレーションテスト(侵入テスト)は、明確な意図を持ったサイバー攻撃を疑似的に仕掛け、脆弱性対策の有効性を評価するテストのことです。
具体的には、攻撃者の目標と行動に基づいたシナリオを作成し、それに沿って疑似攻撃を行うことで、目標の達成リスクや脆弱性が悪用される可能性を検証します。
シナリオに沿った検証という特徴上、単に脆弱性の発見そのものを目的とはしておらず、「その脆弱性を突いてシステムに侵入されるか否か」「この侵入ルートで情報の窃取は可能か」など、特定の攻撃に対する成否を導き出し、評価することを目的としています。
脆弱性診断ツールの選び方・比較ポイント
脆弱性診断ツールを選ぶ前に、診断実施のタイミングを明確にしておく必要があります。開発・システム担当者と相談し、システムがまだリリースされていない場合は開発プロセスのどこに診断を組み込むのか、すでに運用しているシステムであれば、ユーザーに影響が出にくいタイミングはどこかなど、担当者の意見をもとにタイミングを決定しましょう。
脆弱性診断ツールの選び方・比較ポイントは以下4つです。
- 診断対象
- 診断方法
- 診断結果のとサポートの信頼性
- 利用料金
1. 診断対象
脆弱性診断ツールは、製品やサービスによって診断可能な対象が異なります。まずは診断対象を明確にし、診断の重要度に応じて優先順位をつけましょう。
- Webアプリケーション
- サーバー
- ネットワーク機器
- OS、ミドルウェア
- Webコンテンツ
- ソースコード
- スマホアプリ
診断対象に応じて、マルウェアの検知やWebサイトの改ざん検知などの診断項目が設定されています。自社が課題としているセキュリティリスクを基に、診断項目をここで決めましょう。
2. 診断方法
脆弱性診断を実施する方法は、以下の3種類に分かれます。
- ツールによる自動診断
- 専門技術者による手動診断
- ツール診断+技術者診断
ツールを用いた診断は、人的負担が少なく、診断に時間がかからないため、コストを抑えつつ短期間で多くのテストを行うことができます。しかし、あらかじめ診断ツール上でプログラムされた条件(パターン)での診断となるため、手動の診断に比べると柔軟性が低いです。
技術者による診断は、複数のパターンの検証など柔軟かつ細かい診断が可能なため、精度が高いです。ただし、人員の確保に時間がかかったり、人的コストがかかるため、費用が高くなる傾向があります。
ツールによる自動診断と検査員による手動診断を組み合わせて行うサービスは、高精度の診断を希望する場合に選ぶと良いでしょう。時間とコストはかかりますが、個人情報を大量に扱うECサイトやSNS、大規模なサービスの運営会社は依頼する価値があります。
3. 診断結果のとサポートの信頼性
脆弱性診断ツールは、進化するサイバー攻撃に対応するために脆弱性の診断結果の信頼性が高くなければいけません。
サービスサイトに掲載されている実績では、過去に診断実績があるサービス領域の事例が多く掲載されています。信頼性を確認するために、自社に近いサービスや規模、課題を持った企業の事例を参考にするといいでしょう。
また、セキュリティ上の課題や問題点が判明しただけで、改善できなければ診断する意味がありません。診断内容レポートやフィードバックに加えて、改修後の再診断やウイルスの駆除などがサポートされているかを担当者に聞いておきましょう。
4. 利用料金
脆弱性診断ツールの料金体系は診断項目数、診断範囲ごとに料金が変化するのが一般的です。目的から診断項目を明確にし、妥当性のある料金プランを選びましょう。
脆弱性診断ツールの中には無料で提供されているものもあり、無料のツールを提供しているベンダーが有料版のツールも提供しているのであれば、診断の精度そのものに変わりはありません。
自社が目指すセキュリティ強度を満たせるのであれば無料のものでも問題はありませんが、利用の際には下記2点の注意が必要です。
- サポートがついていない
- 診断項目やスキャンの範囲に制限がある
上記の理由から、企業で脆弱性診断ツールを導入する場合、無料版はレポートの見やすさや管理のしやすさを確認するための体験版に留め、有料のツール・サービスを検討することを推奨します。
脆弱性診断の主な診断項目
以下は脆弱性診断ツールによる診断項目の一覧です。※機能名称や内容は製品によって異なることがあります。
- プロダクトバージョン検査
- 脆弱性検査
- OS/ソフトウェアの脆弱性検査
- SQLインジェクション
- OSコマンドインジェクション
- ホスト情報
- TCP/UDPなどのサーバー・ネットワーク機器検査
- サービス設定検査
- 不要ディレクトリ検査
- サーバー設定の問題有無
- アカウント検査
- 脆弱パスワード利用検査