脆弱性スキャンツールが重要な理由
セキュリティチームには、頻繁に変化する環境全体にわたる弱点を見つけるための信頼できる方法が必要です。脆弱性スキャンツールは、既知の脆弱性、欠落しているパッチ、エクスポージャーのあるサービス、安全でない設定、その他リスクを高める可能性がある問題について資産を自動的にチェックすることで役立ちます。
これらのツールは、システム、ソフトウェア、設定を、脆弱性データベース、シグネチャ、セキュリティチェック、ポリシールールと比較します。ただし、すべての問題が悪用可能であることを証明するわけではなく、より詳細なテストの代わりになるものでもありません。その代わりに、リスクが存在する可能性のある箇所をチームが再現可能な方法で把握できるようにします。
脆弱性スキャンツールは、チームが以下のことを行うのに役立つため有用です。
- 資産とサービスの可視性を構築
- 未適用のパッチや古いソフトウェアを検出
- システム全体およびクラウド環境全体で誤設定を特定
- 手動レビュー作業を削減
- 定期的な脆弱性検査をサポート
- 脆弱性管理とスキャンのワークフローにフィード
最後の点が重要となるのは、スキャナーが検出結果を生成しても、チームが次に何を行うかによって真の価値が生まれるためです。スキャン結果を測定可能なリスク軽減へとつなげるには、コンテキスト、検証、優先順位付け、修正プロジェクト、レポート作成が必要です。
脆弱性スキャンツールの仕組み
ほとんどの脆弱性スキャンツールは、対象とする資産が異なる場合でも、同様のプロセスに従います。これらのツールは環境に関する情報を収集し、既知の弱点と比較して、セキュリティチームとITチームが確認できる検出結果を生成します。一般的なスキャンワークフローには、次のアクションが含まれます。
- 資産の検出:スコープ内のシステム、アプリケーション、デバイス、ワークロード、またはサービスを特定します。
- 詳細の収集:ソフトウェアのバージョン、オープンポート、サービス、パッケージ、設定、クラウド設定などの情報を収集します。
- チェックを実行:それらの詳細を、既知の脆弱性、CVE、誤設定ルール、またはポリシーベースラインと比較します。
- 調査結果のリソース:検出された問題、影響を受ける資産、SDLC、証拠、推奨される次のステップを一覧表示します。
- 優先順位付けと割り当て:リスクのコンテキストを使用して、どの検出結果に最初に対応する必要があるかを判断します。
- 修正の検証:修正プロジェクトの実施後に再スキャンまたは再テストを行い、問題が解決されたことを確認します。
一部のスキャンは非認証スキャンであり、外部の観測者がシステムを見るのと同様に、ツールが外部から確認できる内容をチェックすることを意味します。その他は認証スキャンであり、スキャナーが承認された認証情報でログインして、ソフトウェアのバージョン、パッチレベル、設定の詳細をより深く検査することを意味します。
認証スキャンはより優れた可視性を提供できますが、慎重な設定が必要です。チームは、認証情報を管理し、スコープを定義し、本番システムへの不要な影響を避ける必要があります。
脆弱性スキャンツールの主な種類
異なる環境向けに、異なるスキャンツールが構築されています。単一のスキャナーですべての資産、アプリケーション、依存関係、クラウドリソースを同様に適切に把握できるわけではないため、多くの組織では複数のタイプが使用されています。
ネットワーク脆弱性スキャナー
ネットワークスキャナーは、内部または外部ネットワーク全体のデバイス、サービス、ポートを検査します。ネットワークからアクセス可能なシステムに関連する、公開されたサービス、古いプロトコル、安全でない設定、既知の脆弱性を特定する場合があります。これらのツールは、一般的に次の項目のスキャンに使用されます。
- サーバーとエンドポイント
- ルーター、スイッチ、ファイアウォール
- インターネットに公開されているサービス
- オープンポートと実行中のサービス
- 内部ネットワークセグメント
ネットワークスキャナーは、到達可能な対象や、一般的な弱点が存在する可能性のある箇所を把握するのに役立ちます。これらは、多くの場合、より広範な脆弱性検査や、定期的なセキュリティ衛生プログラムの一部です。
ホスト脆弱性スキャナー
ホストスキャナーは、個々のシステムをより詳細に調査します。エージェントまたは認証済みアクセスを使用して、オペレーティングシステム、インストール済みのアプリケーション、パッチレベル、ローカル設定、エンドポイント固有の脆弱性を検査する場合があります。ホストスキャンは、次のような質問への回答に役立ちます。
- このサービスには重要なパッチが不足していますか?
- サポートされていないソフトウェアがインストールされていますか?
- ローカル設定はセキュリティベースラインよりも弱いですか?
- その資産には、既知の脆弱性に関連付けられたソフトウェアがありますか?
このカテゴリーは、チームがネットワークのみのスキャンで得られる以上の深い可視性を必要とする場合に特に役立ちます。
WebアプリケーションおよびAPIスキャナー
Webアプリケーションスキャナーは、Webサイト、Webアプリケーション、APIの一般的なセキュリティ問題をチェックします。ツールによっては、インジェクションの脆弱性、クロスサイトスクリプティング、認証の弱点、安全でないヘッダー、公開された管理者パス、その他のアプリケーション層のリスクをテストする場合があります。
これらのスキャナーは、包括的なアプリケーションセキュリティレビューや侵入テストと同じものではありません。特にリリース前やアプリケーションに大きな変更を加えた後の反復可能なチェックに役立ちますが、複雑なロジック上の欠陥については、依然として人によるテストが必要になる場合があります。
コードおよび依存関係スキャナー
コードおよび依存関係スキャナーは、アプリケーションコード、サードパーティのライブラリ、オープンソースパッケージ、ソフトウェアコンポーネントを検査します。ソフトウェアが本番環境に導入される前に、チームが脆弱な依存関係、古いパッケージ、既知の問題を特定するのに役立ちます。
このようなスキャンは、開発パイプラインでよく使用されます。例えば、チームはプルリクエスト、コンテナビルド、またはパッケージマニフェストをスキャンして、ソフトウェア開発プロセスのより早い段階で既知の脆弱性を検出することができます。
コンテナとクラウドのスキャナー
コンテナスキャナーは、脆弱なパッケージや安全でない設定について、コンテナイメージ、レジストリ、ときには実行中のワークロードを検査します。クラウドスキャナーは、クラウド資産、ID権限、ストレージ設定、公開されているサービス、設定に関するリスクを評価します。
クラウド環境は急速に変化するため、これらのツールは重要です。新しいワークロード、権限、サービスは、従来のスキャンスケジュールで追跡できるよりも速く出現する可能性があります。クラウドおよびコンテナのスキャナーは、チームがその変化のスピードに合わせて可視性を維持するのに役立ちます。
例とユースケース
脆弱性スキャンツールは、チームが検査する必要のある環境に合わせてスキャナの種類を選択したときに最も効果を発揮します。
内部ネットワークのスキャン
セキュリティチームは、内部ネットワーク範囲をスキャンして、公開されているサービス、古いシステム、適用されていないパッチを検出します。この結果は、ITチームがアップデートや設定変更が必要な資産を特定するのに役立ちます。
外部攻撃対象領域のスキャン
チームはインターネットに公開されている資産をスキャンして、一般にアクセス可能な対象を把握します。これにより、オープンポート、公開されているログインページ、期限切れの証明書、あるいはインターネットからアクセスされるべきではないサービスなどを明らかにできます。
アプリケーションのリリースチェック
エンジニアリングチームは、リリース前にWebアプリケーションと依存関係のスキャンを実行します。目標は、変更が本番環境に反映される前に、アプリケーションコード、オープンソースパッケージ、またはAPIの行動に存在する既知の脆弱性を検出することです。
クラウド設定スキャン
クラウドセキュリティチームは、リスクの高い設定を見つけるために、ストレージ、ID、ワークロード、ネットワーク設定をスキャンします。検出結果には、過度に広範な権限、公開されたストレージ、または必要なセキュリティ制御が不足しているワークロードが含まれる場合があります。
コンテナイメージのスキャン
DevOpsチームは、デプロイメント前にレジストリ内のコンテナイメージをスキャンします。重要なパッケージの脆弱性が見つかった場合、チームは更新されたベースイメージやパッケージバージョンを使用してイメージを再構築できます。
セキュリティ運用における脆弱性スキャンツールの位置付け
脆弱性スキャンツールは、技術的なチェックを実行可能な検出結果に変換することで、セキュリティ運用をサポートします。これらは脆弱性管理プログラムのすべてではありませんが、多くの場合、そのプログラムが依存する生データを提供します。
この定義により、スキャンツールと関連するセキュリティアクティビティを区別しやすくなります。
- 脆弱性スキャンツールは、資産、アプリケーション、コード、コンテナ、クラウド環境全体における既知の弱点を検知します。
- 脆弱性検査では、特定の時点におけるエクスポージャーを把握するために、スキャンデータと分析を使用します。
- 脆弱性優先付けテクノロジー(VPT) は、リスクのコンテキストに基づいて最も重要な検出結果をチームが判断するのに役立ちます。
- 脆弱性の修正プロジェクトは、検出結果を修正、緩和、または受け入れられたリスクへと変換します。
- 脆弱性管理プログラムは、これらすべての作業に関する再現可能なプロセス、オーナーシップ、報告、ガバナンスを定義します。
この区別により、スキャン結果が単なる新たなバックログになるのを防ぎます。スキャナーは数百または数千もの検出結果を報告することがありますが、データを有効活用するには、セキュリティチームに資産のコンテキスト、悪用可能性、ビジネスへの影響、所有権、検証が必要です。
脆弱性スキャンは、セキュリティ運用の他の領域とも重複します。セキュリティ オペレーションセンター(SOC)チームは、インシデント発生時にスキャン結果を活用してエクスポージャーを把握できます。クラウドチームは、スキャンを利用してリスクのある設定ドリフトを検知できます。アプリケーションセキュリティチームは、コードや依存関係のスキャンを活用して、リリース前に既知の問題を減らすことができます。