簡単に言えば、脆弱性スキャン(VulScan)で潜在的な問題を見つける一方、ペネトレーションテスト(ペンテスト)で問題が悪用可能かを検証します。
組織はセキュリティ向上のための有効なツールとして、どちらか一方を利用することもできます。しかし、成熟度の高い組織では、セキュリティ上のメリットを最大化するため、脆弱性スキャンとペネトレーションテストを組み合わせて利用します。以下の表に、本記事の主なポイントをまとめました。分析に基づく推奨事項を示す前に、それぞれの論点を詳しく解説します。以下の表の見出しを使えば、関心のあるセクションに直接移動できます。
| 脆弱性スキャンとペネトレーションテスト | ||
|---|---|---|
| 脆弱性スキャン | ペネトレーションテスト | |
| 利用するタイミング | インフラをスキャンし、既知の脆弱性を発見するため | 発見された脆弱性を調査して悪用可能かどうか、悪用によってどのような被害が生じるかを検証するため、または重要なシステムにおける脆弱性以外の露出を発見するため |
| 利用方法 | 主にツールを使用し、自動化も可能 | 主にハッカーの知見を用い、必要に応じてツールを使用 |
| 普及度 | ITプロフェッショナルの間ではあまり普及していないが、侵襲性が低く実行しやすいため、組織ではより広く利用されている | コストがかかり、範囲の設定も難しいため組織ではあまり普及していないが、ハッキングのほうがクールだと考えられているため、ITプロフェッショナルの間ではより人気がある |
| 実施頻度 | 大半は四半期ごとに脆弱性スキャンを実施し、インフラに大きな変更を加えた後にも追加でスキャンする | 外部向けのペネトレーションテストは、年1回実施する組織が多い |
| 内部または外部 | 内部で行われる傾向がある | 外部で行われる傾向がある |
| 実施にかかる時間 | 通常は数時間だが、大規模なインフラでは数日かかることもある | 通常は数週間かかるが、包括的なテストでは数カ月に及ぶこともある |
| 誤検知 | 定期的に発生する。また、実際には問題があっても、関連するリスクが無視できるものを検出することもある | ペネトレーションテストの結果によって悪用リスクが検証されるため、基本的に誤検知はゼロ |
| 網羅性 | スキャンツールの機能による制限を除き、該当するインフラをすべてスキャンする | 予算、時間的制約、実施能力によって、対象範囲が限定される傾向がある |
| 最低要件 | パッチ適用。ただし、コンプライアンス規制によって異なる | 外部テスト。ただし、コンプライアンス規制によって異なる |
| 運用の中断 | 脆弱性スキャンによって、ネットワーク帯域幅の問題やシステムの不安定化が発生する可能性がある | 特定の種類のペネトレーションテストによって、データ破損や運用の中断が発生する可能性がある |
| 過負荷への対処方法 | 既知の脆弱性を除外する。CSVランキングまたはリスクランキング | ローリングテストまたは部分テスト |
| コスト | 中程度から低コスト。ツールの費用に加え、インストール、設定、保守、利用、分析にかかるITセキュリティ担当者の時間が必要 | 高コスト。通常、高度な訓練を受けたペネトレーションテストの専門家を擁する外部ベンダーが必要になる |
| メリット | 検証、分類、優先順位付け、軽減の対象となる脆弱性を特定する | 悪意ある攻撃者が被害を引き起こす前に、脆弱性が悪用可能かどうかと、被害が発生するリスクを検証する |
共通の基準を設けるため、まずは両概念の基本的な定義、すなわちネットワークセキュリティに不可欠な定義を確認しましょう。
脆弱性スキャンとは?
「脆弱性スキャン」またはVulScanは、既知のセキュリティホールを探すためにITシステムを体系的に検査します。脆弱性スキャンには2種類あります。
ITインフラの脆弱性スキャンは、IT部門またはサイバーセキュリティチームが、管理者レベルの権限を使って社内ITシステムを検査し、以下に存在する既知の脆弱性を探します。
- スイッチやルーターなどの内部ネットワーク機器
- ファイルサーバー
- ネットワーク接続ストレージ(NAS)デバイス
- 個々のコンピューター
- プリンターやスキャナーなどの周辺機器
- モノのインターネット(IoT)デバイス(防犯カメラ、テレビなど)など、ネットワークに接続された
- 重要なアプリケーションや内部プロセス(Active Directory(AD)、Domain Name System(DNS)、会計・銀行業務・運用管理ソフトウェアなど)
アプリケーションまたはWebサイトの脆弱性スキャンは、開発運用(DevOps)または開発セキュリティ運用(DevSecOps)のプログラマーが実施し、ソフトウェアライブラリ、アプリケーション・プログラミング・インターフェース(API)、サプライチェーンのコンポーネントに既知の脆弱性がないかをスキャンします。
ペネトレーションテストとは?
ペネトレーションテスト(ペンテスト)は、システムに弱点がないかを調査し、悪用可能かどうかを判断します。一般的なブラックボックス型ペネトレーションテストでは、組織の外部ITインフラ(ファイアウォール、Webサーバー、Webアプリケーション、ゲートウェイ、VPNサーバーなど)をスキャンします。これらのテストは、システムに関する高度な知識がない状態で実施されますが、ペネトレーションテストの種類によっては、認証情報を使用したり、物理セキュリティをテストしたり、ソーシャルエンジニアリング、フィッシング攻撃、USBメモリを放置する攻撃、テストシステムのボリューム容量の上限検証なども行います。
バグ報奨金制度は、ペネトレーションテストの一形態とみなすことができます。これは、事前に合意した契約を通じてではなく、欠陥を発見した後に報酬を支払うことで、契約関係にない倫理的なハッカーにインセンティブを与えるものです。ただし、報奨金制度は予測が難しく、非常に有用ではあるものの、正式なペネトレーションテストの代替として依存すべきではありません。
関連記事:ペネトレーションテストの7種類:ペンテストの手法と種類に関するガイド
脆弱性スキャンとペンテストを利用するタイミング
脆弱性スキャンとペンテストのどちらを選ぶかについて、簡潔にまとめると次のようになります。
- 脆弱性スキャン:インフラをスキャンし、既知の脆弱性を発見する
- ペネトレーションテスト:発見された脆弱性を調査して悪用可能かどうか、悪用によってどのような被害が生じるかを検証する、または重要なシステムにおける脆弱性以外の露出を発見する
詳しく説明すると、脆弱性スキャンでは商用またはオープンソースのツールを使用します。経験の浅いIT担当者やセキュリティ担当者でも、定期的、あるいは自動またはオンデマンドでテストを実施できます。これらのテストは、既知の脆弱性を迅速かつ低コストで検出できます。
しかし、脆弱性スキャンツールでは、検出された脆弱性がどの程度容易に悪用されるか、また悪用によってどの程度の被害が生じるかを判断できません。検出された脆弱性が実際に悪用可能かどうかと、潜在的な被害の範囲を検証するには、通常はペネトレーションテストという形で、人間の専門知識を活用する必要があります。
ペネトレーションテストでは、脆弱性スキャンでは検出できない、組織をリスクにさらす可能性のある追加の欠陥も発見できます。たとえば、ペンテストでは、脆弱なパスワード、セキュリティ上の抜け、または不十分なセキュリティアーキテクチャに起因するその他のセキュリティ上の弱点を発見できます。
脆弱性スキャンとペンテストを利用する方法
脆弱性スキャンは主にツールベースであるため、セキュリティチームがツールを導入し、社内利用向けに設定することがよくあります。リソースが限られている組織では、脆弱性スキャンがマネージドITサービスプロバイダー(MSP)やマネージドITセキュリティサービスプロバイダー(MSSP)のサービスに含まれている場合や、サービスとしての脆弱性管理(VMaaS)を利用できる場合もあります。
ペネトレーションテストは、社内チームが侵害および攻撃シミュレーション(BAS)ツールを導入して実施することもできます。しかし、社内チームにはシステムを徹底的にテストする専門知識が不足している場合があり、IT環境の潜在的な欠陥を経営陣から隠そうとする利益相反が生じることもあります。そのため通常、組織は、テスト対象となる関連資産(アプリケーション、Webサイト、ファイアウォール、コンテナなど)について、ペネトレーションテストの専門知識を持つ外部のペネトレーションテストベンダーやMSSPに依頼します。
ペンテストベンダーは、一般的な組織では雇用できない経験豊富な倫理的ハッカーを擁することができます。こうしたハッカーは経験を活かしてシステムを迅速に評価し、悪用される可能性が最も高い脆弱性を標的にし、必要に応じてハッキングツールを使用します。
脆弱性スキャンとペンテストの普及度
脆弱性スキャンとペネトレーションテストの相対的な普及度は非常に興味深いものです。専門家の間での人気が、実際の利用状況や需要とは逆になっているためです。ITおよびセキュリティの専門家の間では、脆弱性スキャンはペネトレーションテストほど人気がありません。ハッキングほど技術的に興味深いものではなく、宿題のように感じられるためです。一方、脆弱性スキャンは侵襲性が低く、費用も安く、実行しやすいため、組織でははるかに頻繁に利用されています。
ペネトレーションテスト(レッドチーム演習とも呼ばれます)の人気は、防御的なブルーチームの手法と比べて、レッドチームの手法に関する講座や認定資格の数と需要が多いことから測ることができます。この人気には、ペネトレーションテスターは成功するために侵入経路を1つ見つければよいのに対し、ブルーチームの防御担当者は、考えられるあらゆるレッドチームの戦術に対処できるスキルを身につける必要があるという現実も影響しています。ITチームは防御で勝てるとは思えないため、ハッキングのほうが楽しそうに見えるのです。
しかし、ペネトレーションテストははるかに費用が高く、組織にとって範囲の設定や内容の理解が難しい場合があります。そのため、日常的なニーズには脆弱性スキャンを利用し、コンプライアンス基準で義務付けられていない限り、ペネトレーションテストを避ける組織もあります。
脆弱性スキャンとペンテストの実施頻度
大半の組織は少なくとも四半期ごとに脆弱性スキャンを実施し、ITインフラに大きな変更を加えた後やアプリケーションを更新した後にも追加でスキャンします。より積極的な組織では、毎月、毎週、あるいは継続的にスキャンすることもあります。発見された脆弱性を軽減した後は、修正を検証するために再スキャンまたはペネトレーションテストが必要になります。
コンプライアンス基準では、脆弱性スキャンとペンテストの実施頻度が定められていることがよくあります。PCIデータセキュリティ基準(PCI DSS)では、少なくとも四半期ごと、およびITインフラ、セキュリティツール、またはアプリケーションに大きな変更を加えるたびに、脆弱性テストを実施することが求められています。Veracodeによる最近の調査では、脆弱性スキャンの頻度を高めることで、脆弱性の典型的な件数が3分の1減少し、脆弱性の修正にかかる時間が30%超短縮されたことが明らかになっています。
ペネトレーションテストを一度も実施しない組織も多く、実施する組織でも、外部向けのペネトレーションテストを年1回だけ行うケースが少なくありません。より成熟した組織では、年2~4回など、より頻繁にテストを実施します。また、インフラに大きな変更を加えた後(特にインターネットからアクセス可能なシステムの場合や、以前発見された問題を修正した後)にもペンテストを追加します。
脆弱性スキャンとペンテストは内部と外部のどちらで行うのか
脆弱性スキャンツールは、外部システムや、組織が管理していないシステムにも適用できます。しかし、脆弱性ツールは隠密性を意図しておらず、主に内部システムで使用される傾向があります。
ペネトレーションテストは、サイバー攻撃者の視点から外部に公開されている資産を対象に実施される傾向があります。ただし、侵害された低権限の認証情報を攻撃者が入手した状況をシミュレートするため、認証情報なしで内部的に実施することもできます(グレーボックス型ペンテスト)。また、より徹底したテストを行うために、完全な認証情報を使って実施することもあります(ホワイトボックス型ペンテスト)。
関連記事:ペネトレーションテストの7種類:ペンテストの手法と種類に関するガイド。
脆弱性スキャンとペンテストの実施にかかる時間
脆弱性スキャンは通常、数時間で完了しますが、合計所要時間はスキャンするシステムの数と種類によって大きく異なります。大規模なシステムではスキャンの完了まで数日かかることがありますが、小規模なオフィスを対象とした単純なスキャンなら、脆弱性スキャンは数分で終わることもあります。
脆弱性スキャンと同様に、ペネトレーションテストの期間も、テストするシステムの数と必要なペンテストの種類によって大きく異なります。通常のテストは完了まで数週間かかりますが、包括的なテストでは数カ月に及ぶこともあります。特に、多国籍で複数の拠点を持ち、ソーシャルエンジニアリングや物理セキュリティのテストなど、時間のかかるペンテストを求める組織では、その傾向が顕著です。
脆弱性スキャンとペンテストは誤検知を生むのか
脆弱性スキャンでは、誤検知と判断される脆弱性が検出されることがよくあります。また、実際には問題があっても、関連するリスクが無視できるものを検出することもあります。いずれにしても、検出された各脆弱性を検証し、軽減するか、無視するものとして記録する必要があります。
既製ソフトウェアしか使用しない低価格のペンテストでは、脆弱性スキャンを悩ませているものと同じ誤検知が発生します。効果的なペネトレーションテストでは、通常、誤検知はゼロです。ペネトレーションテストの結果は、ハッカーが保護されたデータにアクセスしたり、業務を妨害したりできることを実証し、悪用リスクを検証するためです。
当然ながら、誤検知を考慮した後は、偽陰性が発生する可能性についても考える必要があります。どちらのテストも、発見された脆弱性についてのみ報告し、他の資産に脆弱性がないことは報告しません。ただし、厳密な定義に照らせば、一般的に偽陰性は発生しません。どちらのテスト手順も、欠陥が検出されなかったシステムについて「問題なし」とする報告書を作成するものではないためです。
しかし、どちらのテストでも脆弱性を見落とす可能性はあります。脆弱性スキャンでは、データベースにまだ登録されていない脆弱性や、スキャンされていない資産の脆弱性は必ず見落とします。資産が見落とされるのは、ツールがある資産クラス(Kubernetesコンテナなど)をスキャンできないか、スキャン前に資産リストが更新されていなかったためです。
ペネトレーションテストは対象範囲が狭い傾向があり、通常、すべてのシステムや考えられるすべての脆弱性をテストすることはできません。最も経験豊富なペンテスターでも、考えられるすべての脆弱性を把握することはできず、多くの組織には考えられるすべてのシステムをテストする予算も時間もありません。そのためペンテスターは、脆弱性が存在する可能性が最も高いシステムと、悪用される可能性が最も高い脆弱性に重点を置きます。
脆弱性スキャンとペンテストの網羅性
脆弱性スキャンは該当するすべてのインフラを対象とし、スキャンツールの機能による制限を受ける傾向があります。多くのツールは数万件の脆弱性をスキャンできますが、セキュリティチームは、脆弱性ツールがスキャンできるのは、既知で、スキャナーにあらかじめプログラムされており、スキャン対象として検出されたデバイス上に存在する脆弱性だけだという点も認識する必要があります。
セキュリティチームが、スキャンしたシステムであっても脆弱性がないとはみなせないことを認識している限り、この制限は珍しいものでも問題でもありません。ITチームとセキュリティチームは、利用可能なすべての資産をスキャンできるようツールを更新し、スキャン可能な資産が単に見落とされないようにする必要もあります。
脆弱性スキャナーの多くは、資産クラスごとに特化されています。たとえば、アプリケーションやWebサイトだけをスキャンできるものもあれば、WindowsやmacOSのオペレーティングシステムだけをスキャンできるものもあります。ネットワーク機器、周辺機器(プリンター、外付けハードドライブなど)、モノのインターネット(IoT)、産業用制御システム(ICS)、産業技術または運用技術(OT)など、あまり一般的でない資産クラスでは、専用の脆弱性スキャンツールや手動調査が必要になることがよくあります。
ペネトレーションテストは、予算、時間的制約、テスターの能力によって対象範囲が限定される傾向があります。ペンテストでは既知の脆弱性をテストするだけでなく、未知の脆弱性、セキュリティ上の抜け、技術的には脆弱性ではないセキュリティ上の弱点(単にセキュリティアーキテクチャが不十分である状態)も発見できます。しかし、脆弱性スキャンより深く調査できる場合がある一方で、ペンテストは網羅性では劣る傾向があり、ペンテスターの専門知識や、組織がテストにかけられるシステムを中心に実施されます。
脆弱性スキャンとペンテストの最低要件
脆弱性スキャンの最低レベルはパッチ管理に相当し、従来型のITシステム(サーバー、ワークステーション、ノートPC)を調査して、パッチが適用されていないシステムを探します。ペネトレーションテストでは、最低レベルはインターネットからアクセス可能なシステムに対する外部ペンテストとなる傾向があります。
しかし、いずれの最低限のケースでも、最低要件のテストだけでは組織がリスクにさらされたままになる可能性が高いことを認識する必要があります。多くの組織は費用を最小限に抑えるために最低限のテストを実施しますが、こうした最低要件でさえ、具体的なコンプライアンス規制によって異なります。
しかし、今後数年でこの状況は変化していく可能性があります。ニューヨーク州ではすでに、金融機関に対してペネトレーションテストと脆弱性評価の両方を義務付けています。また、PCI DSSと、米国国立標準技術研究所(NIST)のサイバーセキュリティフレームワーク(800-115)では、脆弱性スキャンが基本要件として定められています。
一部のベンダーやコンサルタントは低価格の自動ペンテストを提供していますが、こうしたテストは効果がないことが多く、脆弱性スキャンと同様の結果になります。これらの最低限のアプローチでは、見つけやすく広く知られた脆弱性を検出できますが、通常、ほとんどのコンプライアンス要件を満たせるほど厳密ではありません。
関連記事:ペンテストフレームワークとは?代表的な7つのフレームワークを解説。
脆弱性スキャンとペンテストによる運用の中断
脆弱性スキャンでは、既知の脆弱性をテストするために各デバイスの各ポートを調査するため、ネットワーク帯域幅の問題やシステムの不安定化が発生する可能性があります。より高度なテストでは、ネットワーク機器を調査して設定ミスを確認するため、システムにさらに大きな負荷がかかります。
多くの組織は、運用の中断を最小限に抑えるため、業務時間外に脆弱性スキャンを予定します。また、スキャンに敏感であることが分かっている特定のシステムを対象から除外することもあります。脆弱性スキャンを自動化できる組織では、新しいデバイスがネットワークに接続されるたびにスキャンを実施することもできます。これにより、以後の脆弱性スキャンを増分的に実施し、前月または前四半期にスキャンしていない特定の脆弱性やデバイスに集中することも可能になります。
特定の種類のテストでは、ペネトレーションテストによって運用が中断されることもあります。しかし、ペネトレーションテスターは通常、どの程度の中断が生じる可能性があるかを把握し、復旧に備えて組織に事前準備を促すことができます。データ損失や業務の全面停止を引き起こしかねない、壊滅的な中断を伴うテストでは、ハッカーが調査するためのテスト環境を組織が用意することもあります。そうすれば、ハッキングが成功しても運用に影響は及びません。
ペネトレーションテストは、データを盗むためにシステムへ侵入する演習だと考えられることがよくあります。これは間違いではありませんが、インフラの容量テストなど、他の形態のペネトレーションテストを見落としています。たとえば、分散型サービス拒否(DDoS)への耐性をテストする場合です。
脆弱性スキャンとペンテストによる過負荷への対処方法
脆弱性スキャンやペネトレーションテストを実施する必要がある組織の多くは、リソース(予算、人員など)の制約により、結果への対応に追われることがあります。
脆弱性スキャンでは、既知の脆弱性を無視したり、CVSSやリスクベースのランキングを使って脆弱性をフィルタリングしたりすることで、過負荷を抑えられることがよくあります。同様に、ペネトレーションテストによる過負荷は、ローリングテストまたは部分テストによって抑えられる場合があります。
たとえば、医療施設の脆弱性スキャンでは、多くの問題が見つかることで知られています。多くの医療用画像処理機器が、もはや更新を受け取れないオペレーティングシステム上で動作しているためです(修正できないセキュリティリスクから身を守る3つの方法を参照)。スキャンのたびに同じ脆弱性リストを作成するのではなく、既知の脆弱性があるデバイスを通常のスキャンから除外し、新たな問題に集中することができます。
スキャンでは、CVSS(共通脆弱性評価システム)の低い評価の脆弱性が大量に検出され、組織が対応に追われることもあります。こうした脆弱性は、大きな被害を引き起こせないか、悪用が難しいものです。過負荷を避けるため、組織は選択したランキング未満のスキャン結果を無視したり、脆弱性管理ソフトウェアで脆弱性をフィルタリングしたりして、優先度の高い脆弱性に集中することができます。
リスクベースのフィルタリングはCVSSによるフィルタリングに似ていますが、脆弱性ではなく、資産の重要性と悪用される可能性に焦点を当てます。たとえば、組織に与える潜在的な被害を考慮し、公開されているマーケティング資料を保存しているサーバーの、評価の高いデータ流出の脆弱性を無視して、クレジットカード決済データベースに存在する、評価は低いものの権限昇格につながる脆弱性への対応を優先することが考えられます。
ペネトレーションテストでは、一定期間内に特定の種類のテストや特定のシステムに対象を絞り、他のテストを後回しにすることがよくあります。
組織は、これらすべての手法を使って対象範囲や規模を制限できますが、そうした制限によって、無視されたシステムや脆弱性を介した攻撃の可能性にさらされることも認識する必要があります。
もちろん、アウトソーシングによって追加のリソースを確保できる組織にとっては、サービスプロバイダーも別の選択肢になります。さまざまなMSP、MSSP、さらにはサービスとしての脆弱性管理(VMaaS)のプロバイダーを利用することで、組織は攻撃リスクの上昇にさらされることなく、過負荷に対処できるようになります。
脆弱性スキャンとペネトレーションテストのコスト
脆弱性スキャンは中程度から低コストの選択肢となる傾向があり、費用の中心はツールのコストです。ただし、組織は、ITチームやセキュリティチームがツールのインストール、設定、保守、利用、結果の分析に費やす時間も考慮する必要があります。
ペネトレーションテストは通常、コストが高くなります。高度な訓練を受けたペネトレーションテストの専門家を擁する外部ベンダーが必要になることが多いためです。幸い、ペンテストのコストは抑制できます。組織が事前準備と対象範囲の管理を行うことで、コストを抑えられます。
脆弱性スキャンとペネトレーションテストのメリット
脆弱性スキャンとペネトレーションテストは、どちらもあらゆる組織に大きな価値をもたらします。
脆弱性スキャンは、検証、分類、優先順位付け、軽減の対象となる脆弱性を特定します。自動化ツールを使えば、リスクにさらされているシステムやサービスを迅速かつ継続的に特定できるため、攻撃者に悪用される機会を減らせます。
ペネトレーションテストは、脆弱性が悪用可能かどうかを検証し、データの悪用やシステムの損害につながる可能性のあるその他のセキュリティ上の抜けを確認します。効果的なペンテストによって、組織はシステムをさらに強化し、悪意ある攻撃者が被害を引き起こす機会を最小限に抑えられます。
結論:最良の結果を得るには、脆弱性スキャンとペンテストの両方を利用する
ITチームが業務量に対応しきれないと、強固な境界セキュリティが整備されている場合でさえ、脆弱性スキャンやペネトレーションテストは割に合わない面倒な作業に思えてきます。しかし、たった1回の不適切なクリックで、攻撃者が組織内に侵入し、利用可能な弱点を悪用する可能性があります。
脆弱性スキャンとペンテストの両方を利用することで、組織はより多くの見落とし、ミス、セキュリティ上の抜けを発見できます。侵害に伴う頭痛の種やリスク、結果を本当に避けたい組織は、ペネトレーションテストと脆弱性スキャンを定期的に実施します。データ侵害のコストが高いことを考えれば、予防にかける費用は十分に価値があります。
関連記事:





