概要
共通脆弱性識別子 (CVE) とは、一般公開されているコンピュータセキュリティの欠陥のリストのことです。通常 CVE と言えば、CVE ID 番号を割り振られた特定のセキュリティの欠陥を意味します。
ベンダーやリサーチャーが発行するセキュリティ・アドバイザリーは、ほとんどの場合、少なくとも 1 つの CVE ID に言及しています。CVE は、IT 専門家たちが協力し合って脆弱性に優先順位をつけて対策を探り、コンピュータシステムの安全性を可能な限り高める上で役立っています。
CVE システムの仕組み
1999 年、米国政府出資の研究開発企業である MITRE Corporation が、ソフトウェアのセキュリティバグを報告および追跡するための統一基準として、CVE システムを開発しました。
CVE エントリーは簡潔で、技術的データや、リスク、影響、修正に関する情報は含まれていません。このような詳細情報は U.S. National Vulnerability Database (NVD) や CERT/CC Vulnerability Notes Database といったデータベースや、ベンダーその他の組織が管理するさまざまなリストで確認できます。
これらの異なるシステムにおいて、ユーザーは CVE ID によって確実に固有の脆弱性を認識し、セキュリティツールおよびソリューションの開発を調整することができます。CVE リストの保守は MITRE Corporation が行いますが、CVE エントリーとなるセキュリティの欠陥は、多くの場合、オープンソース・コミュニティの組織やメンバーが提出します。
CVE ID について
CVE 識別子 (CVE ID) は、CVE 採番機関 (CNA) によって割り振られます。およそ 100 の CNA が登録されており、セキュリティ企業や研究機関に加えて、Red Hat、IBM、シスコ、オラクル、マイクロソフトなどの大手 IT ベンダーが名を連ねています。MITRE が直接 CVE を発行することもあります。
各 CNA には CVE ID のブロックが発行されており、CNA により新しい脆弱性が発見されると、その CNA が確保している中から ID が割り振られます。CVE ID は毎年数千単位で発行されています。オペレーティングシステム (OS) などの複雑な製品では、1 つの製品に数百の CVE が発行されることもあります。このことは、製品が保守終了段階 (バグ修正やセキュリティパッチの発行が停止) とサポート終了段階 (すべてのファーストパーティ・サポートが終了) に入ると、脆弱性が大きく高まることを意味しています。一例として、2024 年 7 月 1 日に CentOS Linux 7 がサポート終了期間に入った際には、1 日以内に新たな CVE が発表されました。これは、セキュリティパッチやアップデートが定期的に提供される安定した OS に移行することの重要性を示すものです。
セキュリティ上の欠陥は、ベンダーやリサーチャーから報告が上がることもあれば、鋭い一般ユーザーが発見して誰かに伝えることもあります。多くのベンダーでは、バグの発見に報奨金を出して、セキュリティの問題が無責任に拡散されないようにしています。オープンソースソフトウェアで脆弱性を発見した場合は、当該コミュニティに報告してください。
報告された情報は、何らかのルートで CNA に届きます。CNA はその情報に CVE ID を割り振ります。その後、この新しい CVE は CVE Web サイトで公開されます。
多くの場合、CNA はセキュリティ・アドバイザリーを公開する前に CVE ID を割り振ります。ベンダーは通常、修正されていない脆弱性が攻撃者によって悪用されないよう、修正の開発とテストが完了するまでセキュリティ上の欠陥を公表しません。
公開された CVE エントリーには、CVE ID (「CVE-2019-1234567」の形式)、セキュリティ脆弱性または露出の簡単な説明、および参照情報 (報告やアドバイザリーへのリンクなど) が含まれます。
Red Hat のリソース
CVE の条件
CVE 採番機関の運用ルールに従い、CVE ID は特定の条件を満たす脆弱性に割り当てられます。その条件とは、以下のとおりです。
- 個別に修正可能であること。
他のバグとは関係なく、単独で修正できなくてはなりません。 - 当事者たるベンダーが認めているか、文書化されていること。
ソフトウェアまたはハードウェアのベンダーが、そのバグの存在と、セキュリティに悪影響があることを認めていなくてはなりません。あるいは、報告者が、そのバグにより悪影響がもたらされ、かつ、そのバグが該当システムのセキュリティポリシーを侵害するものであることを示すレポートを公開していなくてはなりません。 - 1 つのコードベースのみに影響を与えること。
脆弱性が複数の製品に影響を及ぼす場合は、製品ごとに個別の CVE が割り当てられます。共有のライブラリ、プロトコル、または標準に関する問題の場合、その脆弱性の影響を受けずに共有コードを使用する方法が存在しなければ、単一の CVE が発行されます。そうでなければ、影響を受けるコードベースまたは製品ごとに個別の CVE が発行されます。
共通脆弱性評価システムとは
脆弱性の重大度を評価する方法は複数存在します。そのうちの 1 つが、脆弱性の重大度を評価する尺度を数値として割り当てるオープンスタンダードである共通脆弱性評価システム (CVSS) です。CVSS スコアは、NVD や CERT などにより、脆弱性の影響を評価するために使用されています。CVSS の重大度スコアは 0.0 から 10.0 の値を取り、数字が大きいほど重大であることを示します。この他にも、多くのセキュリティベンダーが各社独自のスコアシステムを持っています。
覚えておくべき 3 つのポイント
自社のデプロイメントを知る: CVE が存在しても、そのリスクがそのまますべての環境やデプロイメントに当てはまるとは限りません。CVE の詳細に目を通し、その CVE が (全体的または部分的に) 自身の環境のオペレーティングシステム、アプリケーション、モジュール、構成などに当てはまるかどうかを確認する必要があります。
脆弱性管理を実施する:脆弱性管理とは、脆弱性の識別、分類、優先順位付け、修正、緩和のための、反復可能なプロセスのことを言います。これは、対策が必要な脆弱性を正しく優先順位付けできるよう、リスクが自組織にどのように該当するかを理解することを意味します。
連絡の体制を作っておく:CVE は、脆弱性自体とその対策のためのダウンタイムという 2 つの面から、組織のシステムに影響を与えます。内部顧客に連絡して調整を行い、組織のリスク管理部門に脆弱性について伝えられるようにしておきましょう。
Red Hat と CVE
オープンソースソフトウェアの主要コントリビューターである Red Hat は、継続的にセキュリティ・コミュニティに参加しています。Red Hat は CNA の一員であり、CVE ID を使用してセキュリティ脆弱性のトラッキングを行っています。Red Hat 製品セキュリティは、セキュリティ・アップデートの公開データベースを維持管理しています。このデータベースは頻繁に更新され、CVE 番号で参照できます。
Red Hat Security Data API とは
Red Hat 製品セキュリティでは、生のセキュリティデータへのアクセスを、Red Hat カスタマーポータル上で提供しているほか、Security Data API (アプリケーション・プログラミング・インターフェース) により、マシンで処理可能な形式でも提供しています。
Red Hat が作成するセキュリティレポートとメトリクスに加えて、お客様はこの生データを使用し、お客様固有の状況に応じた独自のメトリクスを作成できます。
Security Data API が提供するデータには、OVAL (Open Vulnerability and Assessment Language) 定義、Common Vulnerability Reporting Framework (CVRF) ドキュメント、および CVE データが含まれます。データは XML または JSON 形式で利用できます。
Red Hat 公式ブログ
Red Hat のお客様、パートナー、およびコミュニティのエコシステムに関する最新の情報を入手しましょう。