這種型別的安全漏洞非常普遍。 基於元件的開發模型意味著大多數開發團隊都不知道其應用程式或 API 中使用的元件,更不用說使它們保持最新狀態了。 如退休像JS這樣的掃瞄程式很好,但需要額外的時間來研究這些漏洞是否可以被利用。
雖然對某些已知漏洞的影響很小,但當今許多最嚴重的安全事件都利用了元件中的已知漏洞。 根據您保護的資產,風險水平可能很高。
1. 漏洞的原因。
開發者只關注自己的開發,並不關心自己使用的第三方的安全。
開發人員並不知道他們使用或依賴的所有元件(包括:伺服器和客戶端)。
使用易受攻擊且不再維護的軟體。 這包括:0S、Web 伺服器、應用程式伺服器、資料庫管理系統 (DBMS)、應用程式、API 以及所有元件、執行時環境和庫。 進行漏洞掃瞄,並訂閱不時使用的元件的安全公告。
基於風險,未能及時修復或公升級底層平台、框架和依賴,軟體工程師未對較新、公升級或修補的元件進行相容性測試。 該元件沒有安全配置。 (請參閱“A6:2017 - 安全配置錯誤”) )
2. 漏洞影響。
漏洞繼承。 資料丟失。
資訊洩露。 攻擊者可以利用元件中的漏洞進行進一步的攻擊。
雖然對某些已知漏洞的影響很小,但當今許多最嚴重的安全事件都利用了元件中的已知漏洞。 根據使用者嘗試保護的資產型別,風險級別可能很高。
3.如何防守。
應該有乙個補丁管理流程:
刪除未使用的依賴項、不需要的功能、元件、檔案和文件;
版本、依賴項檢查、停用等漏洞利用JS 和其他工具,用於持續記錄客戶端和伺服器端及其依賴庫的版本資訊。 持續監控 CVE 和 NVD 是否發布已使用元件的漏洞資訊,這些資訊可以使用軟體分析工具自動執行。 訂閱有關元件使用中的安全漏洞的電子郵件警報;
從官方來源安全地獲取元件,並使用簽名機制來降低元件被篡改或新增惡意漏洞的風險。
使應用程式保持最新狀態;
監視不再維護或未修補的庫和元件。 如果無法修補,請考慮部署虛擬修補程式來監視、檢測或保護。
每個組織都應該制定乙個計畫,以在整個軟體生命週期中監視、審查、公升級或更改配置。