CVE、CWE、CVSS
log4jの脆弱性はCVSSが10です、なんてワードを見る。
改めて、その辺の整理をする。
こちらで、さっぱりとまとめてくれています。
CVE:脆弱性を識別するための共通ID(CVE識別番号(CVE-ID))
CWE:脆弱性のカテゴリ分けするための共通ID(CWE識別子(CWE-ID))
CVSS:脆弱性の危険度を評価するための共通方法
CVE
wikiによれば、CVEは辞書とのこと。
CVEの目的は「識別可能性の確保=個々の脆弱性に固有のCVE番号を割り当て、CVE番号によって脆弱性を識別可能とすること」と「命名=個々の脆弱性に(業界標準的な)名前を付けること」であり、詳細情報は外部サイトや他の脆弱性データベースに任せるというものである。
CVEのサイトで提供される情報としては、「脆弱性の概要(Description)」「参考URL(References)」など。
CWE
CWEは脆弱性のカテゴリ、ということだが、全体像が良く分からない。
こちらに詳細の説明があった。
HIRT-PUB18002:共通脆弱性タイプ一覧 (CWE: Common Weakness Enumeration):Hitachi Incident Response Team:日立
CWEのサイトで、検索が準備されていて、開発者の視点から関係するものを見たり、ワード検索で引っ掛かるものを検索することができる。
それ以外に、外部サイトとの関連からも見つけることができる。
中を見れば、CVE・CAPECとの関連が表示される。
CWEの中には、サンプルコードが表示されているものもある。
CWE TOP25という、危険性が高いものをランキングしていたりします。
CWE - 2021 CWE Top 25 Most Dangerous Software Weaknesses (mitre.org)
CAPEC
CAPECはCommon Attack Pattern Enumerations and Classificationsで、攻撃手法の分類。
CVE・CWE同様にMITREによって運営されている。
WEBサイトもほぼ、同じ面構え。
全体像は、こちらのサイトで紹介されています。
CAPECから読む脆弱性のメカニズム. 概要 | by syuya yuikura | 這いよれ! Pentest Lab ep2 | Medium
CVEで脆弱性が特定され、CWEで分類され、その脆弱性に対する攻撃手法はCAPECで分類、という住み分け。
これで十分な気がしますが、脆弱性DBがいくつか存在する。
脆弱性情報DB
NISTはMITRE/CVEのスポンサーであり、CVEで命名された脆弱性情報の詳細情報をNVDで提供するという住み分けを行なっている。
というこらしい。
NVDのサイトでは、CVE、CWEへのリンクがあり、同期されている。
日本では、Japan Vulnerability Notes (JVN)、JVN iPediaがあり、JPCERT/CCと情報処理推進機構(IPA)が共同で管理している。
Japan Vulnerability Notes (jvn.jp)
CVEとも連携が取れており、日本での脆弱性も含めて対応している。
オープンソースの脆弱性情報DBとして、Open Source Vulnerability Databaseがある。
と、世の中の脆弱性情報の流れはつかめた。
問題は、これらの脆弱性情報をタイムリーに取得し、環境にその脆弱性が存在しないのか、を確認できなければ意味がない。
人手にばかり頼っていられない。
開発者には、静的アプリケーションセキュリティテスト(Static Application Security Testing:SAST)ツールなどで、さっくり出来ないと、鈍感化からのセキュリティホールになってしまうのでしょうね。