脆弱性情報を一意に識別するための共通の識別子 ~CVEとは~

脆弱性のニュースを頻繁に目にするようになったなぁ、と思う今日このごろです。SYNESIS製品のセキュリティ関連についてのお問い合わせも以前にくらべて増えています。セキュリティがサービスに及ぼす影響度が増していることは、ひしひしと実感します。

今回は、脆弱性について調べていると必ず出てくるキーワード「CVE」について解説します。

CVEとは

CVE(Common Vulnerabilities and Exposures:共通脆弱性識別子)とは、情報セキュリティの脆弱性とエクスポージャ(外部から侵入できるバグ)のリスト化した辞書です。この管理は、米国連邦政府による資金提供のもと非営利団体であるMITRE(マイター)が運営しています。
余談ですが、MITERとは「MITRE ATT&C フレームワーク」でも有名なあのMITERです。

そのCVEでは、問題となる脆弱性を一意に識別するためにCVE-ID(CVE識別番号)というものを付与します。CVE-IDは、「CVE-<西暦年号>-<連番>」の体系となっています。
連番の割り当ては、1999年運用開始以来2013年までは4桁の連番でしたが、年々見つかる脆弱性が増加傾向にあるため、2014年以降現在はでは5桁以降も漸次桁数を増やし採番できる仕組みになっています。番号体系については、New CVE ID Syntaxを参照ください。

現在、多くの脆弱性検知ツールや情報提供サービスがCVE-IDを利用しています。CVE-IDは、セキュリティコミュニティ全体で統一された識別子であり、異なる企業やツールが同じ脆弱性について同じ番号を使うことで情報を一貫して共有できます。
これにより、脆弱性に対する対応がスムーズになり、セキュリティ担当者は脆弱性の詳細情報や修正パッチを迅速に見つけて対策を講じることができるようになります。

CVE-IDの情報

実際にCVE-IDは、どのように登録されているのでしょうか。検索するためには、まずSearch CVE Listに移動します。そこで、キーワードや番号を入力すると一覧が検索可能です。
CVE List Search Tipsによるとキーワード検索をする際は「Unix」や「buffer overflow」などの一般的なキーワードではなく、具体的なアプリケーション名を入れると正確な結果を得られやすいようです。

ちなみに以前結構大きな話題になった「HEARTBLEED」で検索した結果が以下です。

CVE検索結果

検索結果は2件出てきました。
DescriptionからCVE-2014-0160がもともとの脆弱性だということがわかりますので、そこをクリックしてみると以下の情報が掲載されています。

項目 説明
CVE-ID CVE識別番号
Description 脆弱性の説明
Reference 公式ベンダー情報などの参考情報URL
Assigning CNA 登録した組織
Date Record Created レコードを作成した日付

さすがに大きな話題となっただけあり、ベンダー情報は盛りだくさんにリンクがあります。

この中で登録された組織として「CNA」とありますが、CVE Numbering Authorityの略です。CNAの役割は、個別製品の脆弱性に対して識別子番号CVEを採番して割り当てることです。
CVE Numbering Authorities (CNAs) によると、2022年4月現在で日本で登録されている団体は8つあります。また、JPCERT/CCが日本国内のCNAやステークホルダーとの調整を行うRoot CNAとしての役割を担っています。

CVEのライフサイクル

CVEレコードの公開の流れは以下の通りです。

  1. DISCOVER:発見
    個人または組織が脆弱性を発見
  2. REPORT:報告
    脆弱性をCVEプログラム参加者に報告
  3. REQUEST:要求
    CVEプログラム参加者がCVE-IDを要求
  4. RESERVE:予約
    CVE-IDが予約されたCVRレコードの初期状態、まだ公には未公開
  5. SUBMIT:提出
    CVEプログラム参加者により関連する脆弱性の情報が提出(影響する製品、バージョン、修正バージョン、脆弱性の種類、原因、影響など)
  6. PUBLISH:公開
    必要最低限の情報が揃ったらCNAによってCVEリストに公開

詳細はCVE - Processで確認可能です。このようにして脆弱性情報が公開されると、ソフトウェアやハードウェアのベンダーは速やかに修正パッチを開発し、ユーザに提供します。ユーザは、CVE-IDを利用して、システム全体の脆弱性を評価し、必要な対策を講じることができるようになります。

最近のCVE発行数の傾向

近年のCVE発行数の数は確実に増加傾向にあります。最近の伸びは少し鈍化していますが、HEARTBLEEDで世間を騒がせた2014年から比べると登録される数は2倍以上です。以下が2013-2021年に公開されたCVEの総数のグラフです。グラフとデータは、SIOS CURITY BLOGから拝借しました。

format_quote 出典:SIOS SCURITY BLOG CVE数の動向と考察(2021年版) Part1

図1は2013-2021年に公開されたCVEの総数(つまりCVE発行数)を年ごとにグロスで見てみたものになります。日次には「Published Date」を用いていますので、そのCVEが公開された日になります。これは未だに201x年の脆弱性で未公開だったものが公開され続けているからで、例えば、CVE-2013-XX(年数はその年のバグフィックスで直してあるという意味になりますので、2013年で修正対応済みになります)が2021年に公開された場合には、2021年の公開としてカウントしています。

2013-2021年に公開されたCVEの総数

SIOS SECURITYより出典

出典:SIOS SCURITY BLOG CVE数の動向と考察(2021年版) Part1

先日、Spring Framework 脆弱性 (CVE-2022-22965)の影響について、SYNESISのポータルサイトでお知らせしました。2022年も半ばでですでにCVE-IDは5桁の番号となっています。

【お知らせ】Spring Framework 脆弱性 (CVE-2022-22965) の影響について

SYNESISにかぎらず製品がその脆弱性に対して該当しているかや該当していた場合の対処法については、都度ベンダーサイトで確認することをおすすめします。また、SYNESIS製品のセキュリティ状況については、以下よりお問い合わせください。

SYNESIS お問い合わせ

あとがき

今回は、CVEについて解説しました。
みなさまの中には、昨年末のApache Log4j(CVE-2021-44228)の対応に追われた方も多いのではないでしょうか。一意の番号で管理されていることにより、ベンダーだけでなくユーザ側でも、脆弱性情報の同一性の判断を容易に行うことができるようになります。

CVE以外のSCAP(セキュリティ共通化手順)の要素となっている脆弱性情報の用語も、今後順次解説していく予定です。