CVE(Common Vulnerabilities and Exposures)とは、脆弱性を標準化するための識別子です。サイバーセキュリティ業界では広く使われており、脆弱性の共有や管理のために利用されています。
CVE(Common Vulnerabilities and Exposures:共通脆弱性識別子)は、サイバーセキュリティの分野で広く使用されている重要な概念です。この標準化された命名規則は、ソフトウェアやハードウェアに存在する脆弱性を識別するために使用されます。CVEの主な目的は、脆弱性情報の共有や管理を容易にして、各組織のセキュリティ対策の向上を図ることにあります。
CVEの根幹は、各脆弱性に対して一意の識別子(CVE-ID)を付与することにあります。この識別子によって、脆弱性に関する情報を統一的に管理することができ、異なる関係者が同じ脆弱性について共通の理解を持つことができます。
例えば、ある脆弱性がCVE-2021-44228として識別された場合、誰もが同じ脆弱性を指していることが明確になります。この識別子があれば混乱を避けることができるので、システムに対するセキュリティパッチの適用に関する情報交換などは、基本的にCVE-IDをベースにして行われます。なお、CVE-2021-44228は、広く影響があったApache Log4jで任意のコード実行が可能になる脆弱性です。
特にCVEの重要な役割として、以下の点が挙げられます:
1. 標準化:世界中で統一された形式を使用することで、国際的な脆弱性情報の共有が容易になります。
2. 一意性:各脆弱性に固有の識別子が付与されるため、混同のリスクが大幅に減少します。
3. 包括性:ソフトウェア、ハードウェア、ファームウェアなど、幅広いIT製品やシステムの脆弱性がカバーされています。
4. 公開性:CVE情報は一般に公開されており、誰でもアクセスが可能です。
CVEは、1999年にMITRE社によって導入されました。この時期は、インターネットの急速な普及に伴い、サイバーセキュリティの重要性が飛躍的に高まっていた時代です。CVE導入以前は、脆弱性情報の共有や管理に関して、各組織や企業が独自の方法で脆弱性を記録・管理していたため、異なるツール間での連携が困難になっていました。CVEは脆弱性管理の業界標準となることで、異なるツール間でも容易に相互運用できることになり、今までよりもスムーズに脆弱性対策が可能になりました。2024年10月現在、24万を超えるCVEが登録されており、脆弱性データベース、セキュリティ報告書、パッチ管理システムなど、様々な場面で使用されています。
CVE-IDの基本的な形式は【CVE-[年]-[番号]】の表記です。例えば、2014年に発覚したOpenSSLの脆弱性で知られる「Heartbleed」はCVE-2014-0160が振られていますが、これは「2014年に登録された」「160番目の脆弱性」と読み取れます。
図:「2014年に登録された」「160番目の脆弱性」の解説イメージ
CVEそのものは脆弱性の識別子ですが、各CVEにはCVSS(Common Vulnerability Scoring System:共通脆弱性の深刻度評価)スコアが関連付けられています。CVSSは脆弱性の深刻度を数値化したもので、0.0〜10.0の数値で表されます。
CVSSスコアの意味は以下のように解釈されます:
• 0.0 - 3.9:低リスク
• 4.0 - 6.9:中リスク
• 7.0 - 8.9:高リスク
• 9.0 - 10.0:極めて高いリスク
このスコアからCVSSは組織で脆弱性対応を行う際の優先順位付けのための判断材料として活用されています。例えば「Log4shell」として知られている脆弱性CVE-2021-44228は、最高値であるCVSSスコア10.0(CVSS v3)を記録しており、この脆弱性が極めて深刻であり、即座に対処する必要があることを示しています。
また、2023年には最新バージョンとしてCVSS v4.0がリリースされており、ITシステムだけではなく、ICSやIoTのような、いわゆるOT環境で稼働するシステムが持っている脆弱性の深刻度としても参照しやすくなっています。
CVSSの詳細についてはこちらの記事をご参照ください。
CVSSとは | トレンドマイクロ (JP) (trendmicro.com)
以下のような公開データベースでCVE番号を検索することでCVSSのスコアや脆弱性の詳細等を参照することができます。
ページ内の検索ボックスにCVE-IDを入力することで、脆弱性情報を参照できます。CVE-IDのリクエストについてもこのサイトから行うことができます。
NIST(National Institute of Standards and Technology:米国立標準技術研究所)が運営するデータベースです。CVE-ID、ベンダー名、製品名による検索に加えて、脆弱性の公開日やCVSSのスコアなどを使った絞り込み検索もできます。
JVN(Japan Vulnerability Notes:日本における脆弱性情報)は、日本の情報処理推進機構(IPA)と情報通信研究機構(NICT)が共同で運営する脆弱性情報データベースです。CVE関連のデータベースの多くは英語で提供されていますが、JVNは日本語で脆弱性について解説されているため、日本のユーザにとってもアクセスしやすい情報になっています。また、補完的な役割も担っており、JVNは、CVEの情報を基に、日本のユーザにとって特に重要な追加情報や解説を提供しています。
JVNの各脆弱性情報にはCVE-IDが付与されており、国際的な脆弱性情報との整合性が保たれています。JVNの情報からCVEデータベースへのリンクが提供され、逆にCVEからJVNへの参照も可能になっています。
CVEとJVNを併用することで、グローバルな脆弱性情報と日本固有の状況を両立させた、より包括的な脆弱性情報を手に入れることが可能になります。
CVEの情報は、脆弱性対策を進める上で非常に重要ですが、その膨大な数をすべて把握することは現実的ではありません。記載されている脆弱性の影響度や重要度は、必ずしもすべての組織や環境に当てはまるわけではないため、自社の環境における具体的なリスクを分析することが重要です。
限られたリソースで脆弱性の対応を進める際には、どの脆弱性が最も影響を与えるかを評価し、優先順位をつける必要があります。この判断の結果、同じ脆弱性に対しても、組織によって対応方法は大きく異なることがあります。脆弱性を修復するのか、緩和するのか、受け入れるのかなど、状況に応じた判断が求められ、これらの判断は一様ではなく、各組織の方針やリスク許容度に基づいて行われます。
そのため、組織は自社に適した脆弱性管理プロセスを確立し、継続的に見直すことが求められます。これにより、脆弱性への対応が体系的かつ効果的に行えるようになります。CVEは脆弱性管理において重要なツールですが、単に情報を収集するだけでは不十分であり、自社の環境におけるリスクを理解し、適切な対応を計画することが、効果的な脆弱性対策の鍵となります。