Google本周釋出開源漏洞(open source vulnerability,OSV)資料庫,協助開源軟體用戶及開發人員更快了解漏洞,以及更快找到修補程式。

OSV是Google改善漏洞分類(triage)的第一步,目的在提供漏洞出在哪、怎麼修補的精確資料,以便用戶受到漏洞影響時可精確判斷,並儘速將之修補好。

OSV一開始是由Google的開源模糊測試專案OSS-Fuzz發現到的一組漏洞資料集,最近Google推動改善OSS漏洞管理(Know, Prevent, Fix框架),於是將OSS-Fuzz資料集擴大成OSV專案。

Google安全團隊成員Oliver Chang及Kim Lewandowski指出,開源軟體(OSS)的漏洞管理不論對使用者或維護人員來說都很麻煩,需要繁瑣的手動作業。對使用者來說,礙於現有漏洞標準(Common Platform Enumeration)的版本控制作法,和現實世界的開源版本控制法不一致,漏洞名稱(CVE)往往很難比對到用戶使用的套件版本,造成漏洞被遺漏掉而影響下游使用者。

另一方面,對OSS維護人員來說,漏洞修補後,要從所有branch中精確決定受影響的版本或commit也相當花時間,而且還要發布。很不幸的是,許多OSS專案,包括一些攸關現代基礎架構的OSS專案,其維護人員都面臨資源不足及工作過量,根本沒時間及心力建立及發布精確、完整的漏洞資訊。

因此OSV希望做到兩件事,一是減輕OSS專案維護人員發布漏洞的工作,二是讓下游用戶更精確查詢到漏洞資訊,方法是建立一個容易查詢的資料庫,以提供用戶精準的漏洞metadata,和現有漏洞資料庫互補。

OSV藉由提供使用者查詢漏洞的API,以自動化執行漏洞分類(triage)的流程。大致情境如下:首先,用戶輸入套件版本或commit hash進行查詢,接著OSV就會去尋找影響到某OSS版本的漏洞,再以機器可讀的JSON格式回傳影響該套件的一組漏洞。拿到這清單後,用戶就能根據修補程式的metadata來選擇修補程式,或更新到之後的軟體版本中。

Google指出,OSV希望改善OSS漏洞追蹤系統,使OSS專案可以更快通報並修補漏洞。OSV目前已提供380多個重要OSS專案的數千項漏洞。他們還計畫和開源社群合作,以整合多個不同開發語言(如NPM、PyPI)的資料,也想開發簡化套件維護員上傳漏洞的管道。

OSV專案網站已經上線,相關文件及資源也在GitHub公布

熱門新聞

Advertisement