在本次 Help Net Security 的訪談中, Tharros副總監 Art Manion探討了為什麼不同儲存庫中的漏洞資料不一致且難以信任。
問題根源在於系統設計上未能有效地收集或管理這些資料。他們提出了最小可行漏洞枚舉(Minimum Viable Vulnerability Enumeration, MVVE)的概念,即確認兩個系統描述相同漏洞所需的最小斷言集,但發現並不存在真正的最小斷言集。斷言因具體情況而異,並且會隨時間而變化。他們認為,在編寫新的規範或建構新的工具之前,社群需要共享術語和原則。諸如 CVSS 評分之類的指標往往會分散人們對實際風險評估這項更艱鉅工作的注意力。

漏洞數據品質
當兩個程式碼庫對某個修補程式是否修復了漏洞存在分歧時,這究竟是資料品質問題、治理問題還是定義問題?這種差異對於我們如何解決問題是否重要?
這很可能是這三個問題以某種組合形式存在,並且彼此之間存在一定程度的重疊。存在漏洞和已修復的軟體產品及版本清單可能不準確或不完整。治理機制可能無法充分偵測和解決此類不準確之處。定義、詞彙和文法既不夠嚴格,也缺乏足夠的共享。我們提出的原則之一是,漏洞記錄品質首先是一個架構問題,其次才是資料問題。我們不應期望一個原本就未設計用於收集、管理和傳輸資料的系統能夠提供高品質的資料。
漏洞資訊的生產者和使用者擁有不同的技能、經驗和知識。更重要的是,生產者和使用者獲取資訊的途徑並不平等,而且資訊本身及其取得途徑都會隨著時間推移而改變。另一個原則是,漏洞記錄必須長期管理。系統必須適應變化,甚至鼓勵變化,以便隨著我們對漏洞的理解而不斷調整和發展。我們必須接受資訊不完整和存在合理分歧是常態,並據此管理記錄。
兩個獨立的系統需要哪些最小的斷言才能確認它們討論的是同一個漏洞,而無需任何一個系統信任另一個系統的權威性?
我們著手定義這個最小可偵測漏洞集(MVVE),但發現可能並不存在這樣的最小值。其中包含一些共同要素,例如指定受影響的(軟體)產品,識別漏洞利用成功的條件以及一個或多個受損的安全屬性。除此之外,用於去重和消除漏洞歧義所需的斷言的數量和類型各不相同。
我們預期斷言集會隨著時間的推移而變化,無論是在同一儲存庫內部還是不同儲存庫之間。但整理斷言清單和類型是次要的。在研究漏洞資料問題的過程中,我們發現首先需要建立更完善的共享術語和概念基礎,然後才能建立規範的斷言約定。
如果剝離嚴重性評分、建議性文字、CWE 分配和受影響產品列表,還剩下什麼?剩下的內容是否足以支撐跨儲存庫的去重,還是剝離後會暴露出一個空白?
毫無疑問,我們現有的記錄格式還有改進的空間。我們並非從「我們擁有什麼?」開始,而是先問「我們需要什麼?」。由此引出了「漏洞記錄支援哪些漏洞管理任務和決策?」的問題。其中一項至關重要的初始任務是識別受影響的軟體產品。近期研究表明,「在官方NVD資料庫中,CPE使用的供應商名稱中有50.18%存在命名不一致的情況。」如果我們無法準確識別受影響的產品,其他一切都無從談起。 (CPE並非唯一存在這種缺陷的系統,其他軟體辨識系統也存在類似問題。)
衡量類似 CPE 斷言的品質面臨的一大挑戰是,它對人來說可能看起來完全合理,但卻無法正確識別軟體,尤其是在自動化和機器可用性方面。區分標識符和軟體產品需要大量的人工操作。減少甚至消除這些人工操作,首先要從識別系統及其斷言的架構和設計入手。
一旦我們設計出能夠捕捉到恰當細節層次的方案,接下來就需要注意資訊的可靠性。我們將討論的另一個原則是:「記錄中的每個斷言都必須能夠自我驗證。」 因此,當我們記錄斷言時,它們需要簡潔、精確、可觀察、有用,並包含來源資訊。新的漏洞記錄是一系列斷言的集合,這些斷言會隨著時間的推移而增長(和變化),並與漏洞識別碼綁定,且可供機器使用。這些斷言描述了漏洞,從而實現漏洞識別、去重和管理,並且它們必須是可獨立驗證和可反駁的。
以指標為導向的激勵機制,無論是反應時間、覆蓋次數或 CVSS 吞吐量,都會對記錄品質產生扭曲影響。您最常觀察到哪些具體扭曲?其中是否有任何扭曲是記錄生成者所無法察覺的?
數量並不等於品質。這並非否定覆蓋率和漏洞數量的重要性,但例如,漏洞記錄中包含 CVSS 基本評分或CWE ID 並不意味著這些資訊準確、精確,甚至有用。人們往往因為正在測量某些指標就過於關注它們,而忽略了測量本身的重要性。
以 CVSS 為例。漏洞庫通常提供 CVSS 基本評分和向量,旨在傳達直接的技術嚴重性。這表面上看起來並沒有什麼問題。漏洞庫無法輕易地提供使用者評估風險所需的在地化、上下文相關的資訊。使用者需要提供這些上下文信息,而這可能比直接的技術嚴重性更為重要。但是,將注意力集中在相對廉價的 CVSS 基本評分上(「小心 9.8 分!」)會分散人們對確定上下文和更全面地評估風險工作的注意力。統計具有 CVSS 評分的漏洞記錄或測量 CVSS 基本評分的分佈是可行的,但這真的有用嗎?
不同的語言表達方式、定義以及過於抽象的指標都會導致結果失真。兩位資質相近但不同的分析師,面對相同的漏洞訊息,為何會得出不同的 CWE ID 或 CVSS 攻擊複雜度向量?我們如今常用的許多斷言都無法通過原子性和可觀測性的檢驗。分歧在所難免,而基於這些斷言的指標必然會失真。
安全界長期以來一直存在著制定精妙規範卻被選擇性地採納和執行不一致的情況。這項提案有何不同之處,能夠避免這種情況的發生?
我們無法保證結果,但目前的做法是站不住腳的。我們並不打算制定新的規範,無論它多麼精妙。新的格式、規格或幾個欄位都無法解決我們面臨的根本性和理念性問題。我們工作的前提是,首先需要製定一套原則和要求,以此來設計和建構更好的漏洞庫。或許到那時,我們才能著手編寫規格、建立新的漏洞庫或對現有漏洞庫進行修改。但首先,我們需要一個堅實的基礎。
資料來源:https://www.helpnetsecurity.com/2026/04/13/art-manion-tharros-vulnerability-data-quality/