1.大規模組織における脆弱性管理と課題
脆弱性管理とは、ソフトウェアやシステムなどにおける脆弱性の影響範囲特定と、必要な対策実施により脆弱性起因のインシデントを予防する活動です。 NIST (アメリカ国立標準技術研究所) が公開している脆弱性データベース統計(※1)によれば、2014年から2023年の脆弱性の報告件数(図1)は増加の一途をたどっており、脆弱性管理をますます困難にしています。2024年10月には Mandiant 社より、製品ベンダーがセキュリティパッチを公開してから、攻撃者が脆弱性を悪用するまでの時間が年々短くなっているという内容のレポートが公開されました(※2)。当社でも、脆弱性周知から現場対応完了までの短い時間の中で侵害が発生した事例を確認しています(※3) 。
図1:NISTのデータベースに登録された脆弱性の件数
これらのことから、インシデントリスク低減のためには、ますます迅速な脆弱性対応が求められます。新規公開脆弱性への対応では、対象となるソフトウェアの利用有無をいち早く特定し、確認する必要があります。
迅速な対応を実現するうえで、まず脆弱性対応の流れを把握することが重要です。各システム担当者は組織の規模に関わらず、定常的に脆弱性やセキュリティパッチに関する情報を収集し、その危険度によって応急処置やパッチ適用を実施します。大規模な組織では、これに加えて危険度が高い脆弱性の対応においてセキュリティ部門などの組織全体の脆弱性管理者が存在する場合もあります(図2)。
図2:大規模組織における脆弱性対応の流れ
脆弱性管理者は、一般製品に関する脆弱性情報を収集してその危険度を判定します。危険度によっては、脆弱性情報を組織全体へ周知したり、個別の各システムへ対処を指示したりします。各システム担当者は脆弱性管理者からの指示に従って対応し、脆弱性管理者はシステムの対応が完了するまで状況を継続的に管理します。
しかし、迅速な脆弱性対応のためには様々な障壁が存在します。例えば、システム担当者が脆弱性の対象となるシステムを正確に判定することや、脆弱性管理者が組織全体の影響範囲を特定することは容易ではありません。脆弱性による影響の有無を判定するには、システムを構成するソフトウェアやハードウェアの製品情報、バージョン情報といった資産情報(インベントリ情報)を把握して、新たに公開された脆弱性情報と照合しなければなりません。そのため、インベントリ情報は正確に記録、管理する必要があります。
インベントリ情報の管理をシステム担当者が手動で更新を行う場合、更新漏れや記載ミスにより台帳と実態の不整合を引き起こす可能性があります。また、システム担当者ごとの記載方法に差異があると、組織全体で正しく一覧化できない恐れもあります。結果として、本来の脆弱性対象システムを対象外と誤判定して対応が遅れたり、脆弱性管理者が影響範囲の特定に時間を要したりすることがあります。最悪の場合、脆弱性に起因するインシデントが発生する可能性も否定できません。
管理するシステムが多いほどこれらの障壁の影響は大きくなり、組織の規模が大きくなるほど迅速な脆弱性対応が難しくなります。そのため、脆弱性が公開された際に、システム担当者が対象システムを迅速に確認し、脆弱性管理者が組織全体の影響を迅速に特定できるよう、システムのインベントリ情報を適切に管理することが重要です。
(https://cloud.google.com/blog/topics/threat-intelligence/time-to-exploit-trends-2023?hl=en)
(https://www.nttdata.com/jp/ja/trends/data-insight/2021/0528/)
2.ソフトウェアインベントリとは?
図3:システムにおけるソフトウェアの種別
インベントリ情報とはソフトウェアやハードウェアの製品情報、バージョン情報といった資産情報を指します。
インベントリ情報のうち、ソフトウェアに関するものをソフトウェアインベントリと呼びます。ソフトウェアの種別としては、アプリケーション、ライブラリ、ミドルウェア、OS、NW機器などがあります(図3)。ソフトウェアに関する脆弱性情報は公開頻度が高く、脆弱性管理の主な対象となっています。脆弱性管理では、システムに用いられるソフトウェアの情報を正しく記録することが求められます。また変更時や廃止時には情報を更新することが求められます。さらに、関係者が必要に応じてアクセスできるように共有することも重要です。これらのソフトウェアインベントリ管理を行うことで、脆弱性情報と照合を行うことができます。
ソフトウェアインベントリのうち、アプリケーション、ライブラリに関してはSBOM(Software Bill of Materials)を活用して把握できます。SBOMはソフトウェアを構成するアプリケーション、ライブラリを一覧にし、その依存関係も含めて記述したもので、SCA(Software Composition Analysis)ツールなどによって自動生成可能です。2023~2024年に経済産業省がソフトウェア脆弱性管理のためのSBOM導入に関する手引書を策定・改訂したこともあり(※4)、注目を集めています。SBOMはサプライチェーンの透明性向上やセキュリティリスク管理への利用が考えられており(※5)(※6)、脆弱性管理にも活用できます。
現在、SBOMの主な対象はアプリケーション、ライブラリです。理論的には、SBOMの対象外となるOS、ミドルウェア、NW機器などのソフトウェアインベントリ情報もSBOMとして決まったフォーマットで記述することは可能ですが、現在主流のSBOM取得手法やツールでは一般的な手段とは言えず別の手段で生成します。例えば、既存の資産管理ツールやOSコマンドスクリプトを組み合わせることで、ソフトウェアインベントリ情報を収集可能です。これらの利用が難しい場合は、既存の構成管理・資産情報やEDR製品など社内データを活用しながら、最低限のデータを手動で作成することも選択肢の一つです。
システムのアプリケーション、ライブラリに関しては SBOM 取得ツールを使い、SBOMの対象外となる情報はツールやスクリプトを用いることで、効率的にソフトウェアインベントリ情報を収集できます。このようにして取得したソフトウェアインベントリ情報を活用すれば、新規公開された脆弱性の情報を照合し、管理するシステムが脆弱性の対象かどうかを迅速に確認できます。さらに、組織全体で利用するツールを統一し、取得した情報を一元管理できれば、脆弱性管理者が組織全体のインベントリ情報を把握して、脆弱性の対象システムを特定することも容易になります。
NTTDATAではソフトウェアインベントリ情報の取得や活用、統合管理システムの実現に向けて検証を開始しています。次章では、ソフトウェアインベントリを活用する際の脆弱性対応フローや、脆弱性管理者とシステム担当者それぞれに対する効果について解説します。
(https://www.meti.go.jp/press/2024/08/20240829001/20240829001.html)
(https://www.nttdata.com/jp/ja/trends/data-insight/2023/0207/)
(https://www.nttdata.com/jp/ja/trends/data-insight/2024/0125/)
3.ソフトウェアインベントリ活用の効果
図4:ソフトウェアインベントリ情報の活用フロー
ソフトウェアインベントリ情報を管理し活用することで、脆弱性管理者と現場のシステム担当者の双方が、脆弱性対応における効果を得ることができます。
管理・活用プロセスの一例を紹介します(図4)。
- 現場の各システム担当者は前述した手段を用いて、ソフトウェアインベントリ情報を作成します。
- 作成した情報はデータベースに集約して一元管理します。
- これに加えて、新規公開脆弱性情報を収集して同様にデータベースに蓄積します。
- ソフトウェアインベントリ情報と新規公開脆弱性情報を突合します。
脆弱性起因のインシデントリスクを最小限にするには、製品を限定せず、あらゆる新規公開脆弱性情報を収集することが理想ですが、費用対効果の観点からは対象製品を絞って運用を開始し、段階的に拡大させていくことを推奨します。
(1)脆弱性管理者への効果
この仕組みにより、セキュリティ部門の脆弱性管理者は、自組織内で利用しているソフトウェアと新たに公開された脆弱性情報の双方を照合できるようになります。危険度の高い脆弱性情報が公開された場合には、対象ソフトウェアの利用状況をデータベースで検索し、脆弱性の影響を受けるシステムのみを特定できます。
実態と不整合のない正しいシステム一覧にいつでもアクセス可能な状態になるため、緊急の対応が発生した際に情報更新や確認の時間を省略して迅速に対応可能です。システム数や組織の規模の大きさによって省略できる時間の効果も大きくなります。
また、自組織でどのようなソフトウェアを利用しているかを把握することで、新規公開脆弱性情報を収集する対象製品の見直しや拡大を検討する材料としても活用できます。
(2)各システム担当者への効果
一方で各システム担当者は、稼働負担を軽減し、脆弱性対応の網羅性・迅速性を向上できます。セキュリティ部門からの脆弱性対応指示が、影響を受けるシステムに限定されることで、影響を受けない大半のシステムは不要な確認稼働から開放されます。
また、データベース内のソフトウェアインベントリ情報と脆弱性情報を突合することで、利用中の製品に該当する可能性が高い脆弱性情報だけを抽出できます。こうして、突合した情報だけを各システムへ通知して、素早く共有することが可能です。これにより、日々公開される脆弱性情報を各システムが個別に収集している場合に比べ、収集作業の負担を大幅に軽減できます。また、各システム担当者はセキュリティ部門からの注意喚起を待たずに、突合結果の通知から迅速かつ網羅的に脆弱性対応を開始できます。
ソフトウェアインベントリ情報の管理・活用に用いる機能、特に突合処理と通知の機能はできる限り自動化することが望ましいです。ただし、2章で紹介したツールやスクリプトをただ組み合わせるだけでは表記揺れや記載基準の差異が生じ、検索や突合が煩雑になったり、想定通り実行できなかったりする場合があります。
現在、NTTDATA-CERTでは、ソフトウェアインベントリ情報の一元管理システムの実証実験を進めています。この実証では、インベントリ情報を生成する際には組織内で同じツール・スクリプトを用い、表記やフォーマットのルールを決めるといった工夫をすることで、可能な限り統一された表記・基準と各機能の自動化を実現しようとしています。
4.まとめ
本稿では、脆弱性対応の迅速化に資するソフトウェアインベントリ情報の管理と活用について紹介しました。脆弱性起因のインシデントの発生リスクが高まっている昨今では、組織全体として最適化された脆弱性対応体制が必要です。
ソフトウェアインベントリ情報を活用することで、セキュリティ部門の脆弱性管理者や現場のシステム担当者にとってより良い脆弱性管理を目指すことができます。さらに、ソフトウェアインベントリ情報をシステムで一元管理したり、その機能を自動化したりすることでより迅速な脆弱性対応を実現できます。
ソフトウェアインベントリ情報の効果を最大限得るためには、一元管理や自動化を見据えて、組織全体の脆弱性管理体制を見直すことが有効です。
サイバーセキュリティについてはこちら:
https://www.nttdata.com/jp/ja/services/security/
あわせて読みたい: