脆弱性スキャンは、システムやネットワークの弱点を特定し、リスクを低減するとともに、組織のセキュリティ防御を強化するうえで重要な役割を果たします。本記事では、脆弱性スキャンを成功させる方法、実施時に考慮すべき主な要素、脆弱性スキャンと脆弱性評価の違いについて解説します。
脆弱性スキャンの10ステップ
さまざまな種類の脆弱性スキャンがありますが、効果を最大限に高めるために必要なプロセスはほぼ同じです。スコープの定義から定期的なスキャンスケジュールの維持まで、以下の10ステップでは、組織のセキュリティ防御を強化し、脆弱性を検出・解決し、起こり得る攻撃に対する全体的なレジリエンスを高めるための、脆弱性スキャンプロセスの重要な側面を取り上げます。
ステップ1:スコープと目的を定義する
脆弱性スクリーニングの手順を開始する前に、スコープと目的を明確に定めることが重要です。どの資産、システム、ネットワークを脆弱性の検査対象にするかを決定します。既知の脆弱性の検出、パッチ管理の有効性分析、設定上の欠陥の特定など、スキャンプロセスの具体的な対象を定めます。
検査するシステムまたはネットワークを選択します。評価対象となるシステムの境界と構成要素を定義します。IPアドレス、ホスト名、ネットワーク範囲などが含まれます。
ステップ2:適切なスキャンツールを選択してインストールする
正確かつ迅速に脆弱性を発見するには、適切なスキャンツールを選ぶことが重要です。組織では、エンドポイント、クラウド資産、データベース、ネットワークデバイスなど、ITインフラのさまざまな側面を評価するために、複数の脆弱性スキャンソリューションを利用することがよくあります。
さまざまなニーズに対応する商用およびオープンソースの脆弱性スキャンソリューションが数多く提供されています。各ツールの機能、性能、互換性を調査し、自社のニーズに最も適したツールを判断します。
- 脆弱性スキャナーツールをダウンロードし、インストール手順に従います。必要なシステム仕様を満たすコンピューターまたはサーバーにプログラムをインストールします。
- インストール中に、スキャン対象のネットワークインターフェース、認証スキャン用の認証情報、スケジュール設定など、特定のパラメーターを構成する必要がある場合があります。セットアップを完了するには、ツールの指示に従ってください。
- インストールが完了したら、PCまたはサーバー上にインストールされた脆弱性スキャナーユーティリティを見つけ、アプリケーションを起動します。
チュートリアルもご覧ください:脆弱性スキャンにNmapを使う方法
ステップ3:ツールの設定を構成する
正確なスキャン結果を得るには、適切な対象タイプを選択し、パラメーターを正しく調整することが重要です。特定の資産、ネットワークセグメント、アプリケーションを正確かつ徹底的にスキャンするため、インストール後に設定が必要なツールもあります。
脆弱性スキャナーは通常、脆弱性をデフォルトで次の3つのリスクレベルに分類します。
- 低:サイバーセキュリティへの直接的な脅威はない
- 中:測定可能だが、セキュリティ脅威への露出は最小限
- 高:サイバーセキュリティへの深刻な脅威にさらされている
ステップ4:スキャン設定を構成する
スコープを定義し、ツールを選択・構成したら、具体的な脆弱性スキャンの設定とポリシーをセットアップします。
ツールによってインターフェースや用語が異なるため、具体的な手順についてはベンダーのドキュメントまたはユーザーガイドを参照してください。例えば、Greenbone OpenVASには、さまざまなスキャンニーズに対応する多様なスキャン設定があります。要件に応じて、独自のスキャン設定を作成したり、既存の設定を変更したりできます。これらの設定には、ポート範囲、スキャン戦略、時間パラメーターなどの選択肢が含まれ、環境に合わせてスキャンをカスタマイズできます。まず、固有の環境に合わせてスキャンツールを設定します。
- 対象を作成する。基本的な脆弱性スキャンを設定する最初のステップは、脆弱性をスキャンするシステムまたはネットワークを特定することです。通常は、対象エンティティのIPアドレス、ホスト名、IP範囲、ネットワーク範囲を指定します。対象を指定することでスキャンのスコープが定まり、どのシステムまたはネットワークを脆弱性の検査対象にするかが明確になります。

- スキャンの深度(完全または対象限定)、スキャン手法、スキャン設定を指定します。個々のニーズと目的に合わせてスキャンパラメーターをカスタマイズします。自社の要件と制約に適合するよう、スキャンの強度を調整します。
- タスクを作成する。対象を定義したら、次にスキャン固有のパラメーターと設定を定めるタスクまたはスキャン構成を作成します。スキャンの選択肢と使用する手法(ポートスキャン、Webアプリケーションスキャンなど)を決定し、時間設定や除外対象などの追加パラメーターを指定します。

これらの設定では、どのシステムまたはネットワークをスキャンするか、どの脆弱性を探すか、適用する特別な条件や除外対象を指定します。ツールのメニュー、オプション、ドキュメントを確認し、スキャン設定の調整方法を学びましょう。
スキャン構成を適切に管理し、脆弱性スキャンプロセスを整理することが重要です。さまざまな状況や環境に応じて複数のスキャン設定を作成できます。構成は簡単に名前を変更、複製、削除できるため、保守や変更が容易になります。

製品と関連する脆弱性を正確に検出するには、事前にシステム全体のスキャンを実行する必要があります。包括的な構成によるこの徹底したスキャンは、システム上で稼働しているソフトウェアやサービスの特定に役立ち、CVEスキャンを成功させるうえで重要です。
有効なログイン認証情報を入力する認証付きの完全スキャンを実行すると、特定されるCVEの件数が増える可能性があります。認証により、スキャナーは追加のシステム情報にアクセスでき、潜在的な脆弱性をより包括的に検査できます。
資産対象の構成
スキャンを実行する前に、エンドポイント、サーバー、ネットワークデバイス、クラウドインスタンスなど、会社のすべての資産を把握していることを確認します。各項目について、IPアドレス、ホスト名、オペレーティングシステムなどの関連情報をインベントリに記載します。脆弱性スキャンツールを、正しい資産セットを対象にスキャンするよう設定することが重要です。
自動検出ができない場合や、すべての資産を正確に把握できない可能性がある場合は、資産リストを手動で変更する必要があります。現在の資産インベントリを確認し、ITチームと連携して新たな追加資産や環境の変更を特定します。新たに導入したサーバーやネットワーク機器などを含めるため、資産リストを更新します。
一部の脆弱性スキャンツールには、資産を自動的に検出する機能があります。これらの技術は、ネットワークスキャン、IP範囲スキャン、資産管理システムとの連携など、さまざまな手法を使って対象環境内の資産を自動的に特定します。これにより手作業が減り、資産リストを最新の状態に保てます。
ステップ5:スキャンを開始して実行する
対象とタスクの設定が完了したら、 スキャンタスクを実行して脆弱性スキャンを開始します。
スキャンを開始し、設定済みの条件に基づいてツールが対象システムの脆弱性を検査するのを待ちます。スキャンの所要時間は、ネットワークの規模、スキャンの深度、インフラの複雑さなどによって決まります。スキャナーは対象を能動的に調査し、潜在的な弱点を特定して、分析に必要なデータを収集します。スキャン結果から、対象環境のセキュリティ上の欠陥を把握できます。
自動脆弱性スキャン
自動脆弱性スキャンソリューションを使って、脆弱性スキャンを自動的に実施することもできます。一般に、自動脆弱性スキャナーは、ポートスキャン、バナー取得、OS・サービス検出、シグネチャーベースの検出を行います。これによりスキャンツールは対象システムの情報を収集します。シグネチャーベースの検出技術を使い、提供された情報をツールの脆弱性データベースと照合して、潜在的な欠陥を発見します。その後、検出された脆弱性と深刻度を詳しく示すレポートを作成します。
優れた脆弱性スキャンツールには、スキャンを計画したり、イベントや状況に応じてスキャンを開始したりする機能が備わっています。これにより、ユーザーはスキャンを毎日、毎週、毎月の単位でスケジュールし、一貫性のあるプロアクティブな脆弱性管理を実現できます。
手動スキャンと比べると、自動脆弱性スキャンは高速で効率的です。ただし、不適切な時間帯に実施すると、ITインフラ内でパフォーマンスの問題が発生する可能性がある点に注意してください。誤検知ではなく見逃しをなくすには、脆弱性データベースを最新の状態に保つことが重要です。
オンデマンドスキャン
脆弱性スキャンにおけるオンデマンドスキャンとは、通常のスケジュールや間隔以外に、主に大規模なIT変更に応じて実行するスキャンです。新しい機器の追加、新しいアーキテクチャの導入、ソフトウェア更新、ネットワーク構成の変更など、IT環境における重要な変更が対象になります。
これらの変更によって新たな脆弱性が生じたか、既存の脆弱性が変化したかを判断します。変更が大きい場合は、スキャンツールの脆弱性ナレッジベースを最新情報で更新することが重要です。これにより、スキャンに最新の脆弱性シグネチャーと検出機能が反映されます。
オンデマンドスキャンは、フォルダーやファイルの共有イベントを検出し、適切な是正措置が取られるようにすることで、コラボレーションや共有に関連する修復プロセスを促進するためにも利用できます。スキャンのたびに新規または更新されたファイルだけをマルウェアスキャンの対象にしたり、特定のユーザーやフォルダーだけを対象にしたりできます。
完全スキャンは増分スキャンより時間がかかるため、オフボーディング前の指定ユーザーだけをスキャンすることもできます。データ範囲として増分モードを使用すると、前回のスキャン以降に発生した変更だけをスキャンできます。
IT変更の影響を受けた場所をオンデマンドスキャンするようスキャンツールを設定したら、指定したパラメーターでオンデマンド脆弱性スキャンを開始します。スキャンプログラムは選択した場所を検査し、既知の脆弱性を探して、発見された問題のレポートを作成します。
ステップ6:スキャンを監視する
スキャンプロセスが順調に進んでいるかを確認します。ツールによっては、スキャン済みの資産数、検出された脆弱性、完了予定時刻などをリアルタイムで表示します。スキャン中に発生する可能性のあるエラーや問題を監視します。
資産リストを更新する際は、スキャン対象となる適切な資産セットを脆弱性スキャンツールに設定する必要があります。資産リストは常に更新・維持する生きた文書として扱います。正確なスキャン範囲を維持するため、新規導入、廃止した機器、IPアドレスの変更など、資産インベントリの変更を速やかに資産リストへ記録します。
スキャンの種類によっては、アプリケーションやIT機器が不安定になる可能性があります。スキャンの目的によっては、大量のネットワークまたはシステムトラフィックを発生させたり、セキュリティ対策を作動させたり、さらには脆弱性を悪用したりして、業務を中断させることがあります。
このような場合は、スキャンを一時停止し、通常の活動に干渉しない時間帯に再スケジュールすることが推奨されます。代替策として、一部のシステムが不安定になる可能性を防ぐため、今後のスキャンから一部のプログラムや機器を除外する方法もあります。セキュリティ評価の必要性と業務の安定性のバランスを取ってください。
脆弱性スキャンの進捗と結果を常に把握することが重要です。優れた脆弱性スキャンプログラムには、スキャンの完了時や特定の条件が満たされたときにアラートを受け取れるよう、通知をカスタマイズする機能があります。
スキャン結果や発見された問題をできるだけ早く受け取れるよう、メール通知を設定できます。製品には通知を正常にカスタマイズする手順を説明したドキュメントが用意されているはずです。これにより、脆弱性スキャン運用を常に把握できます。
ステップ7:スキャン結果を解釈して優先順位を付ける
自動脆弱性スキャナーによって検出は容易になりますが、完全ではなく、誤検知が生じる可能性があります。そのため、報告された脆弱性を手動で検証し、対象システムへの影響を評価することが非常に重要です。
自動テストと手動テストは互いに補完するため、組織は一方だけに頼らず、理想的には両方を実施すべきです。
スキャンを実行すると、生成されたレポートにはスキャン対象の一覧が含まれるはずです。この一覧を確認し、必要なすべての資産(エンドポイント、アプリケーションなど)が正常にスキャンされたことを確認します。
スキャン結果を確認するには、ツールのインターフェースまたは生成されたレポートを開きます。検出された脆弱性、深刻度、潜在的な影響が詳しく示されているはずです。スキャンデータを入念に調査・評価し、潜在的な被害とその深刻度を特定します。
脆弱性の重大度と、システムやデータへの潜在的な影響に基づいて、優先順位を付けます。優先順位付けでは、パッチ適用、設定変更、セキュリティのベストプラクティス導入など、関連する修復方法も考慮します。ニーズに合わせたカスタムレポートを作成し、社内で発見されたリスクを明確に共有することもできます。


ステップ8:脆弱性を修正・軽減する
発見された脆弱性とその優先順位に基づき、修復戦略を作成します。組織のITチームおよびセキュリティチームと連携し、ソフトウェア更新の展開、設定変更、セキュリティ対策の導入、ツールやセキュリティ専門家が推奨するベストプラクティスの遵守などによって脆弱性を修正します。
システム管理者、ネットワークエンジニア、セキュリティチームなどの主要な関係者と協力して、適切な修復手順を策定・実行します。ソフトウェア更新の適用、設定変更、セキュリティのベストプラクティス導入、追加のセキュリティ対策の展開などが含まれます。
スキャン結果に基づいて、発見された脆弱性に優先順位を付け、修正します。脆弱性を解消し、システム全体のセキュリティ体制を強化するため、レポートに記載された推奨軽減策に従うか、他のリソースを参照してください。
脆弱性スキャン技術は検出された脆弱性への対策や軽減策を提示しますが、すべての推奨事項が組織固有のITインフラに適している、または実行可能であるとは限らない点にも注意が必要です。
推奨された軽減策の中には、業務停止のリスクを高めたり、既存のシステムや要件と衝突したりするものがあります。選択した対策が意図しない結果や中断を招くことなく脆弱性に効果的に対処できるよう、業務への影響や既存システムとの互換性を考慮し、特定された各脆弱性に最適な解決策を十分に検討・評価する必要があります。
ステップ9:再スキャンして検証する
修復後、別の脆弱性スキャンを実行し、発見された脆弱性が適切に解消されたことを確認できます。この段階では、使用した修復方法の成功を検証し、システムのセキュリティをさらに確認します。
脆弱性管理チームは、脆弱性解消の進捗と有効性を示す詳細なレポートを作成するとともに、修復作業の効果を証明する必要があります。これらのレポートは、社内利用、経営層への報告、コンプライアンスなど、さまざまな用途に使われます。通常、検出された脆弱性、深刻度スコア、実施した修復作業、解消の成功確認など、対処済みの脆弱性に関する情報が含まれます。
レポートには、未解決の脆弱性も示し、継続中の修復作業の優先順位付けを支援するとともに、組織全体のセキュリティ体制を追跡できるようにする必要があります。これらのレポートは、組織の関係者、経営陣、規制当局に対して、透明性、説明責任、コンプライアンスの証拠を提供するうえで重要な役割を果たします。
ステップ10:定期的なスキャンと継続的なセキュリティを維持する
脆弱性スキャンは定期的に実施する必要があります。ソフトウェアのアップグレード、システム変更、新たな脅威によって生じる可能性のある新しい脆弱性を検出するため、頻繁なスキャンをスケジュールします。包括的なセキュリティ体制を維持するには、脆弱性スキャンをペネトレーションテスト、リスク評価、セキュリティ意識向上トレーニングなどの追加のセキュリティ手順と組み合わせます。
脆弱性スキャンは一度きりの活動ではなく、継続的なプロセスと捉えるべきです。新たな脆弱性が出現し、システムが変化するため、セキュリティ上の新たな欠陥を検出・修正するために頻繁なスキャンを実施することが重要です。継続的な監視と迅速な脆弱性修正を可能にする、定期的な脆弱性スキャン計画を作成します。
表1.一般的な企業に推奨されるスキャン頻度 | |
|---|---|
| リスク評価 | 推奨頻度 |
| インフラストラクチャスキャン | |
| 高 | 毎月 |
| 中 | 四半期ごと |
| 低 | 半年ごと |
| Webアプリケーションスキャン | |
| 高 | 四半期ごと、または大幅な変更後 |
| 中 | 半年ごと |
| 低 | 毎年 |
一般的な企業に推奨される脆弱性スキャンの頻度は、組織の規模、満たす必要のあるコンプライアンス基準、リソースの可用性など、いくつかの要因によって異なる場合があります。
収益が大きく、攻撃対象領域も広い大企業では、網羅的にカバーするため、より頻繁なスキャンが必要になることがあります。同様に、特定のスキャン間隔がコンプライアンス規則によって義務付けられている場合もあります。専任のセキュリティチームやスキャンツールなど、利用可能なリソースもスキャン頻度に影響する可能性があります。企業はこれらの変数を考慮し、強固なセキュリティ体制の維持とリソースの効率的な配分とのバランスを見いだす必要があります。
脆弱性スキャンで考慮すべき要素
脆弱性スキャンを使用する際は、さまざまな要素がスキャンの速度と精度に影響する可能性があります。スキャン速度は、接続の種類、認証、ホスト数、システムリソースの影響を受けます。
接続の種類(リモートまたはローカル)
利用する接続の種類によって、脆弱性スキャンの速度と精度が影響を受ける可能性があります。リモートスキャンはネットワーク経由で実行されるため、固有の遅延やその他のネットワーク上の制限により、遅くなることがあります。一方、ローカルスキャンは対象マシン上で直接実行されるため、通常はより高速です。リモートスキャンとローカルスキャンのどちらを選ぶか決める際は、ネットワークインフラと接続を考慮してください。
大企業の場合、リモートスキャンは通常、あるオフィスから別のオフィスへのスキャンを指し、ローカルスキャンは同じネットワーク内で実行されます。リモートスキャンとローカルスキャンのどちらを選ぶか決める際は、ネットワークインフラと接続品質を評価してください。
さらに、クラウドベースの脆弱性スキャナーによって、スキャン機能はローカルやリモートの制約を超えて拡張されています。クラウドスキャナーはインターネット接続を利用し、利用可能な帯域幅に応じた速度で複数のネットワークをスキャンするため、より柔軟でスケーラブルです。
ただし、リモートスキャンは、特にインフラが脆弱な場所や、天候または停電の影響を受けやすい場所では、困難を伴う可能性があることを理解しておくことが重要です。帯域幅の大きい場所にいるIT管理者は、そのような状況でリソースが直面する問題を見落とすことがあります。リモートスキャンソリューションの実用性と信頼性を評価する際は、こうした困難を考慮する必要があります。
最終的に、リモートスキャンとローカルスキャンのどちらを選ぶか決める際、企業はネットワーク構成を入念に調査し、接続の可用性と安定性を考慮したうえで、スキャンの速度、精度、全体的な信頼性への影響を評価すべきです。
認証(認証済みスキャンまたは未認証スキャン)
脆弱性スキャンは、認証情報を使用して実行することも、使用せずに実行することもできます。認証情報の有無によってスキャン結果は異なる可能性があるため、完全な評価を行うには両方のプロセスを実施すべきです。認証済みスキャンでは、対象システムまたはネットワークにアクセスするために有効なログイン認証情報が必要です。システム情報へのアクセス範囲が広く、より詳細な分析を実行できるため、より包括的な結果を得られます。未認証スキャンは高速で、潜在的な外部攻撃者の視点を提供しますが、一部の脆弱性に対する可視性が制限され、誤った安心感を与える可能性があります。徹底的に確認するには、認証済みスキャンと未認証スキャンの両方を使用することが推奨されます。
スキャン対象のホスト数
スキャンするホスト数は、スキャン全体の所要時間とリソース使用量に影響する可能性があります。より多くのホストをスキャンすれば、当然ながら時間も長くかかります。スキャン範囲を決める際は、利用可能なリソースだけでなく時間的な制約も考慮することが重要です。ワークロードを適切に管理するため、重要なシステムのスキャンを優先したり、グループ単位でスキャンを実行したりする必要がある場合があります。
システムリソース
一部の脆弱性スキャナーはリソースを大量に消費し、大きな計算能力、メモリ、ネットワーク帯域幅を必要とします。スキャンシステムで利用可能なリソースと、スキャナーが他のプロセスに及ぼす可能性のある影響を確認することが重要です。リソースの制約は、スキャンシステムの速度、精度、さらには安定性にも影響を及ぼす可能性があります。選択した脆弱性スキャナーをサポートするのに十分なリソースがスキャンシステムにあることを確認してください。
脆弱性スキャンと脆弱性評価の比較
| 脆弱性スキャン | 脆弱性評価 | |
|---|---|---|
| 定義 | 脆弱性スキャンとは、スキャンツールを使用して、システム、ネットワーク、またはアプリケーションに存在する既知の脆弱性を特定するプロセスです。より大きな脆弱性評価プロセスの一部にあたります。 | 脆弱性評価とは、コンピューターシステム、ネットワーク、またはアプリケーションの脆弱性を検出、評価、優先順位付けする体系的なプロセスです。 |
| 目的 | 脆弱性スキャンの主な目的は、対象環境に存在する脆弱性や設定ミスを、可能な限り迅速かつ効率的に発見することです。 | 脆弱性評価の基本的な目的は、セキュリティ体制全体を評価し、攻撃者に悪用される可能性のある穴を検討して、脆弱性管理戦略を決定することです。リスクに基づいて優先順位を付ける必要がある脆弱性もあれば、受容が必要な脆弱性もあります。 |
| 方法 | 脆弱性スキャンでは主に、脆弱性のシグネチャやパターンのデータベースに基づいて既知の脆弱性を検索する自動プログラムが使用されます。 | 自動技術と人手による技術の両方を使って、システムとネットワークを徹底的に調査します。 |
| 範囲 | 脆弱性スキャンは、システム設定やルールを詳細に分析することなく、既存の脆弱性を特定してレポートを作成することに重点を置きます。 | 脆弱性評価には、既知の脆弱性のスキャンに加えて、システム設定、ルール、制御の調査も含まれます。 |
| 結果 | 脆弱性スキャンでは、多くの場合、検出された脆弱性、その深刻度評価、場合によっては修復の推奨事項の一覧が作成されます。 | 脆弱性評価の結果には通常、発見された脆弱性、その深刻度、修復案をまとめた詳細なレポートが含まれます。 |
まとめ:継続的な改善に向けた脆弱性スキャンの実施
適切な修復手法とともに、脆弱性スキャンは安全でレジリエントなITインフラを維持するうえで極めて重要です。脆弱性スキャンの実施方法を理解することは、サイバーセキュリティ体制の改善を目指す企業にとって重要なスキルです。脆弱性スキャンは継続的な活動であり、安全でレジリエントなネットワーク環境を実現するには、他のセキュリティ手順と組み合わせる必要があることを覚えておいてください。
関連記事:





