脆弱性管理とは?

脆弱性管理によって、攻撃者によって悪用されたり、不注意による機密データの流出につながったり、業務の中断が発生したりする可能性のあるソフトウェアの問題や設定ミスを特定、優先順位付け、対応できます。

現代のサイバーエコシステムは決して静的なものではありません。それは絶えず変化し、進化し続ける存在であり、絶えず拡大して新しいテクノロジー、システム、個人を包囲しています。残念ながら、そのためにセキュリティは困難な作業になります。

新しいデジタル脆弱性はほとんど毎日発見されており、毎年何千もの悪用される可能性のある新しい脅威ベクトルの原因となり、基本的にあらゆる業界の組織に大きな問題を引き起こしています。Ponemon Institute によると、米国におけるデータ侵害にかかるコストの全体的な平均は 864 万ドルにのぼります。そのため、攻撃が発生した後の対応だけでは、効果的な防御にはまったくなりません。

さらに、システムとサービスはますます複雑になると同時に、現代社会にとって不可欠なものとなっています。ユーザーが環境にテクノロジーやデバイスを設定、保守、追加することが増えるにつれて、ミスも発生しやすくなります。ミスが起きるたびにそれは問題が発生するきっかけとなります。

1 つの解決策が脆弱性管理です。

脆弱性管理の定義

脆弱性管理とは、組織のソフトウェアとシステム内のセキュリティ脆弱性と設定ミスを特定、評価、処理、報告するためのさまざまなプロセス、ツール、戦略を指す用語です。言い換えると、脆弱性管理によって会社のデジタル環境を監視して潜在的なリスクを特定し、最新のセキュリティステータスを把握できます。

セキュリティ脆弱性

大雑把に言えば、脆弱性とは弱点であり、悪用される可能性のある欠陥です。コンピュータサイエンスでは、セキュリティ脆弱性も本質的に同じものです。セキュリティの脆弱性は、脅威となる人物の標的になります。攻撃者は、脆弱性を見つけて悪用し、アクセス制限されたシステムにアクセスしようとします。

脆弱性スキャナー

システム、ネットワーク、アプリケーション全体の脆弱性を特定するには、特定のツールが必要です。脆弱性スキャナーは、デジタルシステム内を移動し、潜在的な弱点を発見して、脆弱性の管理を可能にするように設計されたプログラムです。

リスクベースの脆弱性管理

脆弱性管理の拡張版であるリスクベース脆弱性管理プログラムは、ソフトウェア、ハードウェア、インフラストラクチャなどのデジタルシステムに固有の弱点に対処できるように設計されています。リスクベース脆弱性管理は、機械学習を利用して、脆弱性管理を従来の IT 資産だけではなく、クラウドインフラストラクチャ、IoT デバイス、Web アプリなどを含めるように拡張します。これにより企業は、攻撃対象領域全体に関するインサイトにアクセスできます。

リスクベース脆弱性管理では、リスクベースの優先順位付けの正確性を高めることもできます。それにより企業は、重大度の低い脆弱性を後回しにして、最初に、侵害につながる可能性が最も高い弱点を特定して修復することに集中することができます。

脆弱性管理と脆弱性評価

脆弱性管理も脆弱性評価も、共にサイバーセキュリティ脆弱性への効果的な対処と解決に貢献するものです。しかし、脆弱性管理と脆弱性評価は同義語ではありません。

脆弱性評価は、脆弱性管理の最初の段階に過ぎません。ほとんどの企業は、スキャンツールを使用してネットワーク上のデバイスを確認し、インストールされているソフトウェアのバージョンに関する情報を収集し、その情報をソフトウェアベンダーが発表した既知の脆弱性と対照させています。使用中のソフトウェアの範囲 (アプリケーション、オペレーティングシステム、クラウドサービスプロバイダーなど) をカバーするには、複数のスキャンツール (エージェントや資格情報の必要なものとそうでないもの) が必要になるのが一般的です。企業はスケジューリングされた間隔 (通常は毎月あるいは四半期ごと) でスキャンを実行し、リスト (多くの場合スプレッドシートとして電子メールで送信される) を使用して、アップグレードやパッチ適用タスクを割り当てます。ゼロデイ脆弱性が発表され、それが積極的に悪用されており、パッチがまだ入手利用できない可能性がある場合、企業は、インフラストラクチャの規模と構成に応じて数日から数週間かかる可能性のあるオンデマンドスキャンを実行する場合があります。

対して脆弱性管理はライフサイクルであり、単にスケジューリングされたスキャンやアドホックスキャンを指すわけではありません。評価から優先順位付けや修復までを行う継続的なプログラムです。複数のデータソースを使用して、ソフトウェアとサービスの現在の状態を継続的に評価・再評価します。脆弱性管理システムは、評価ツールによって生成されたソフトウェア情報にビジネス、脅威、悪用、リスクコンテキストを追加することによって、直ちに対処しなければならない脆弱性に効率よく注意を喚起し、最善の解決策や緩和策を提案することさえできます。脆弱性に関する継続的な評価、修復、レポートにより、セキュリティ脆弱性を日常的に管理・対処できます。つまり、弱点を迅速に発見でき、最も影響の大きい問題に優先的に対処でき、見落とされる脆弱性が少なくなります。

簡単に言えば、脆弱性評価は、IT ソフトウェアの状態のスナップショットを提供します。脆弱性管理は、進化し続けるリアルタイムのインテリジェンス、修復ガイダンス、レポートを提供します。

ますます多くの情報が生み出され、デジタルシステム内に格納され、組織がモバイルテクノロジーと IoT デバイスの採用を増やし続ける中、新しいセキュリティの脆弱性が出現しています。以下に、脆弱性管理に最も関連性の高い統計をいくつか紹介します。

  • 2020 年に特定され公表されたセキュリティ脆弱性は 17,002 件 (Stack Watch)。
  • 平均的な脆弱性の重大度は 7.1 (最大が 10) (Stack Watch)。
  • 組織の 48% が過去 2 年にデータ侵害が発生したと報告 (ServiceNow)。
  • データ侵害が発生した組織の 60% は、既知の脆弱性に対するパッチが適用されていなかったために発生したと報告 (ServiceNow)。
  • データ侵害が発生した組織の 62% が、データ侵害発生の前に脆弱性があることに気付いていなかった (ServiceNow)。
  • アンケート回答者の 52% が、自分の組織が手動プロセスを使用しているため、脆弱性への対応に不利であると回答 (ServiceNow)。

2020 年に最も多くの脆弱性を文書で発表した 5 つのベンダーは、Microsoft、Google、Oracle、Apple、IBM (Stack Watch)。

脅威となる人物が標的とする脆弱性に事欠かないことは明らかです。また、データ侵害の結果生じる可能性のある損害 (財務的損失だけでなく、業務の中断、顧客の信頼とブランドの評判への損害、さらには法律上の面倒な問題が発生する可能性まで) を考えると、脆弱性を発見して修正することは絶対に必要です。

効果的な脆弱性管理システムがあれば、重要な保護レイヤーを追加され、IT セキュリティの欠陥を継続的に管理・修正することが可能になります。

脆弱性管理の議論は、エクスプロイトとは何か、エクスプロイトにどのように備えるべきかということに触れずには完結しません。

エクスプロイトは、悪意のあるソフトウェア (マルウェア) プログラムです。エクスプロイトは、システム内の既知の脆弱性を利用する特殊なコードで構成されています。脅威アクターは最初にエクスプロイトを使用してネットワークや関連システムにリモートでアクセスします。それによって、データを盗んだり変更したり、システム権限を自分に付与したり、許可されたユーザーをロックアウトしたり、ネットワークの奥深くに入り込んだり、他のマルウェアや攻撃手法のためにドアを開いたりすることができます。

考えるべき重要な点の 1 つは、エクスプロイトは、既知の脆弱性を、またはゼロデイの場合は未知であるためパッチが適用されない脆弱性を標的にして利用するように設計されたソフトウェアプログラムであることです。組織に脆弱性管理を導入することにより、エクスプロイトの標的となる脆弱性に対処し、修復することができます。

脆弱性管理を続けると同時に、次の方法でエクスプロイトに対して備えることができます。

  • 全従業員に IT セキュリティトレーニングを提供する
    発生する可能性がある攻撃を防御する方法を知る必要があるのは、IT 部門だけではありません。あらゆる従業員に IT セキュリティのベストプラクティスのトレーニングを行うと同時に、組織のサイバーセキュリティポリシーが最新のものであることを確認しましょう。
  • トラフィックのフィルタリングとスキャンを導入する
    トラフィックのフィルタリングとスキャンにより、ネットワークトラフィックの可視性が高まり、適切な種類のトラフィックを適切なセキュリティ監視ツールに送ることができるようになります。これにより、トラフィックのボトルネックがなくなり、遅延が減少し、悪意のあるエージェントの特定と対応が速くなります。
  • 定期的なパッチ適用を行う
    ソフトウェアベンダーは、新たな脆弱性から自社の製品を保護するためにパッチとアップデートを定期的に提供します。パッチがあるか定期的にチェックし、すべてのシステムとアプリケーションが最新バージョンで動作していることを確認することによって、既知の脆弱性が悪用されるのを防ぎます。

重要な IT エコシステムの保護に関するインサイトの詳細については、「Implementing Agile Security Response: The Essential Checklist (アジャイルセキュリティ応答の導入:必須チェックリスト)」を参照してください。

ベンダーや開発者がソフトウェアソリューションをリリースするとき、製品を市場に投入する前に、考えられるすべての脆弱性を特定して対処する時間が常にあるとは限りません。そのため、欠陥やバグがしばらくの間発見されないことがあります。

ベンダー、セキュリティエージェンシー、テスター、従来のユーザーが新しい脆弱性を発見すると、その脆弱性は適切なチャネルを通じて報告・開示されるのが普通です。その後ベンダーは、脅威にさらされている製品にパッチを適用する責任があります。脆弱性の重大度によりますが、ベンダーはパッチをリリースするために多かれ少なかれ迅速に行動します。大規模なベンダーは、通常、パッチを集約・テストして、「パッチチューズデイ」(定例パッチ) にリリースします。これにより顧客は、業務の中断が減り、修正の実装にかかる作業を減らすことができます。

ベンダーは、脆弱性を特定するために独自のテスターやサードパーティの侵入テストエージェンシーを採用することがよくありますが、多くの欠陥は、ユーザーが発見するか、ハッカーが特定するまで見過ごされます。その点を踏まえる、継続的な脆弱性管理がさらに不可欠なものになります。

脆弱性管理は周期的なプロセスです。一定の数のステージを経てから、それを繰り返します。このサイクルは次の 6 つのステップで構成されます。

脆弱性の発見

脆弱性が検出されないままでいる時間が長いほど、セキュリティ侵害が発生する可能性が高くなります。毎週社外・社内でのネットワークスキャンを実行して、既存・新規の脆弱性を特定しましょう。このプロセスには、ネットワークにアクセス可能なシステムのスキャン、それらのシステム上で開いているポートとサービスの特定、システム情報の収集、システム情報と既知の脆弱性との対照が含まれます。

資産の優先順位付け

使用されている資産が分かったら、その使用状況やビジネスにおける役割に基づいて、各資産に価値を割り当てることができます。その資産は、最良の顧客やミッションクリティカルな従業員をサポートするために使用されるアプリケーションや Web サーバーでしょうか、それとも単なるプリンターでしょうか?エグゼクティブのラップトップでしょうか、それともカスタマーヘルプデスクの端末でしょうか?このようなコンテキストをシステムのリストに追加することで、ある脆弱性を修正することの重要性を判断できます。

脆弱性の評価

評価では、自社環境内のアプリケーションとシステムの状態を把握するためにスキャンを実行します。

脆弱性の優先順位付け

スキャンによって脆弱性が明らかになったら、ビジネス、従業員、顧客に対する潜在的なリスクに基づいて、それらの脆弱性に優先順位を付ける必要があります。脆弱性管理プラットフォームには、通常、脆弱性を評価・ランク付けするためのさまざまな測定基準が組み込まれています。とは言え、社内・社外のソースから発生する可能性のあるビジネス、脅威、リスクのコンテキストでプロセスを強化することも必要です。目標は、自社にとって最も重要性が高く、影響が大きく、可能性が高い脆弱性を特定することです。ビジネスにおけるソフトウェア、サービス、デバイスの爆発的な増加により、すべての脆弱性にパッチを適用することはできないかもしれません。最も重要で、攻撃の対象になる可能性が最も高いターゲット特定することは、そのような現実に対処するうえでの実践的な方法です。

脆弱性の修正

脆弱性が特定され、優先順位が付けられ、カタログ化されたら、当然次のステップは、脆弱性の修正と緩和です。脆弱性に関連するリスクを把握する担当の社員は、多くの場合、解決策を導入する権限を持つ社員と同じではないことに注意してください。そのことを念頭に、組織は、セキュリティ運用、IT 運用、システム管理チーム間で言語、決定基準、プロセスを共有されるようにする必要があります。

修正の検証

見過ごされがちですが、このプロセスの最後のステップは、脆弱性が解決されたことの確認です。もう一度スキャンすることで前述の手順を繰り返し、最優先すべきリスクが効果的に解決あるいは緩和されていることを確認します。この最後のステップにより、トラッキングシステムでインシデントをクローズすることができ、平均修復時間 (MTTR) や未解決の重大な脆弱性の数などの主要なパフォーマンス測定基準の算出が容易になります。

ステータスに関するレポート

特に、重大なソフトウェアの欠陥やゼロデイ脆弱性の悪用などのニュースになるようなイベントが発生した場合、マネージャー、経営幹部、さらには取締役会さえもが、自社の脆弱性をどのように評価し、対処したかについて質問してくる可能性があります。脆弱性、リスク、脆弱性管理のパフォーマンスの傾向に関するレポートは、人員配置やツールの適切さを説明するうえでも役立ちます。主要な脆弱性管理プラットフォームには、さまざまなユーザー、利害関係者、視点をサポートするためのビジュアルレポートとインタラクティブダッシュボードを自動的に生成するためのオプションが用意されています。

2-What-is-Vulnerability-Mngmt-A

上に概要を示した 6 つのステージは、脆弱性管理を実現するための構造化された連続的アプローチを示しています。脆弱性管理プロセスを設定する際には、適切な構造も重要です。検討する必要があるステップは次のとおりです。

目的の定義

当然ながら、脆弱性管理ソリューションの主要な目標は、システム内の脆弱性が悪用される前に、それを特定し、修正や緩和することです。ただし、脆弱性管理プロセスに関連して組織が持つ可能性のある二次的な目的も特定する必要があります。

二次的な目的により、脆弱性管理の全体的な効果と、得られたデータの活用方法を改善できます。これらの二次的な目的には、脆弱性スキャンの規則性を高めることや、特定された脆弱性の解決時間を短縮することなどが含まれます。

組織内の役割の定義

脆弱性管理ソリューションを効果的なものにするには、すべての利害関係者がその成功にコミットするようにし、プロセスにおける役割と責任を明確に定義する必要があります。組織の構造と機能が異なれば、担当の分類も異なりますが、ほとんどの企業では、各社員を監視者、解決者、承認者の役割に割り当てるとよいでしょう。

  • 監視者
    この役割は、脆弱性の重大度とリスクを評価し、その結果を文書化して、問題への対処に責任を負う解決者に警告を発します。
  • 解決者
    この役割は、既知の問題に対するパッチを見つけ、パッチが入手できない場合やパッチを適用すると不都合な場合に緩和策を考える責任を負います。
  • 承認者
    この役割は、システムの脆弱性の全体像を把握し、現在と将来の脆弱性の影響を緩和するために、必要に応じて戦略と手順を変更することに責任を負います。

脆弱性管理プログラムの有効性の評価

脆弱性管理プロセスを継続することにより、ビジネス全体のセキュリティ状態を明確に把握し、最新の状態に保つことができます。さらに、このプロセスを継続することは、脆弱性管理アプローチのどの側面が機能しており、どの側面を調整する必要があるかを正確に評価するうえで役立ちます。

注意:脆弱性管理の基本的なステップは比較的一貫していますが、組織によって微妙にアプローチを変えた方が適切な場合があります。精度、明確さ、修正のしやすさを高めるためにプロセスを変更することをためらう必要はありません。

脆弱性管理プロセスを効果的で継続的なものにするために、主要ソリューションには次の機能が含まれている必要があります。

スキャン

これには、ネットワークスキャン、ファイアウォールロギング、侵入テスト、自動化ツールが含まれます。実際には、スキャンデータには数多くのソースがあるため、選択肢を 1 つの会社やツールに限定する必要はありません。

発見

これには、脆弱性と、過去に発生あるいは現在発生している可能性のある侵害の証拠を特定するためのスキャン結果の分析が含まれます。

チェック

これには、脆弱性自体を評価し、脅威アクターがその脆弱性をどのように利用する可能性があるか、また、その脆弱性がどんなリスクを招くかについて判断することが含まれます。

リスクに基づいた優先順位付けと影響の緩和

これには、どのバグのリスクが最も高いか、どのバグの修正や緩和を優先的に行うべきかを判断するためのリスクベースの脆弱性管理が含まれている場合があります。

パッチ適用

これには、特定された脆弱性にパッチを適用し、その脆弱性を潜在的な脅威ベクトルとして除去することが含まれます。

測定

これには、脆弱性ソリューションの有効性を評価し、必要に応じてプロセスを変更することが含まれます。

SecOps の開始

脅威の特定、優先順位付け、対応を迅速化します。