如何識別與確認第三方軟體是否存在弱點 🛡️ (NIST NVC / CVE / CPE)
2020-10-30
資安領域的發展將資安弱點以 CWE 的方式做分類,其中 OWASP TOP 10 則是精選最常見的弱點種類。而具體資安弱點則是以 CVE 的方式進行標準編號,並且以 CVSS 的方式對弱點進行評分其嚴重程度。而 NIST NVD 則另外提出 CPE 的觀念,將資訊資產項目予以編號標準化,別且連結 CPE 與 CVE 之間的關係,使安全工具自動化驗證弱點成為可能。
本篇主要說明資安領域如何以標準化的方式表示資安弱點,並嘗試蒐羅各種自助式的弱點檢測方案。
說明
CVE
Common Vulnerabilities and Exposures, CVE 由非營利組織 MITRE National Cybersecurity FFRDC 負責維護。
編號範例:
CVE-XXXX-YYYYY
NIST NVD
CPE
CPE 共分為三類,分別是 作業系統(o)、應用程式(a)及硬體設備(h)
主要資訊再分為主要廠商名稱(vendor)、產品名稱(product)、產品版本(version)、產品更新(update)、產品版次(edition)及語系(language)
編號範例:
cpe:2.3:o:microsoft:windows_server_2008:r2:sp1:x64:*:*:*:*:*
OOS Index / Audit.NET / DevAudit
.NET 環境可以藉由安裝 Audit.NET 來掃描專案判斷存在弱點的元件,或是使用 DevAudit 對 packages.config 進行掃描元件弱點。但掃描的全面性沒有直接使用 NVD 來的全面,部分已知的弱點不會被掃出(例如 lodash - CVE-2019-10744)。
首先需要安裝:Audit.NET
devaudit nuget - f "path\pacakges.config"
OWASP dependency-check
📚 參考資料
法務部 ISMS
綜合參考
NIST NVD (National Vulnerability Database) 國家漏洞資料庫-使用心得
13 tools for checking the security risk of open-source dependencies
透過 Audit.NET 及 DevAudit 來掃描 .NET 專案中套件是否有資安問題