上下文感知分析:對最重要的漏洞進行優先順序排序

創提科技
2022/03/28

分享到

如今,產品安全團隊在漏洞管理程式方面面臨著難以置信的挑戰。嵌入式軟體更為普遍,由開源軟體(OSS)、商務軟體和專有程式碼組成,而且要複雜得多。

 
結果是:攻擊面增加,控制能力下降,風險大大增加。而且,漏洞的數量仍在增加;僅在2020年,NVD就發佈了超過18000個CVE!
 
為了確保公司在面對不斷增長的威脅(就數量和複雜性而言)時能夠以最大的效率運行,產品安全團隊必須相應地擴展他們的漏洞管理能力。這一挑戰取決於時間、金錢和人力資源的合理分配與否。
 
產品安全團隊如何才能確切地瞭解他們的軟體中有什麼,哪些漏洞與他們的產品安全相關,以及如何對他們的工作進行優先順序排序?


解決方案——基於上下文的分析
 
更好地理解產品元件運行的上下文,以及特定漏洞可能應用於它們的方式,是任何產品安全團隊需要做的事情。
 
重要的是,您要瞭解您所選擇使用的產品相關的所有資訊。同樣關鍵的是,要瞭解若不執行將產品的整個上下文考慮在內的全量分析會產生的影響。
 
例如,如果某個CVE只適用於64位元系統(而不是32位元系統),那麼瞭解所分析的產品到底屬於哪一類,可以幫助您避免將寶貴的資源浪費在可能根本不會影響系統的漏洞上。
 
Cybellum,這種認知和上下文理解是通過創建並利用Cyber Digital Twins獲得的。


Cyber Digital Twins是什麼?
 
受Digital Twins的啟發,Cyber Digital Twins是一個軟體元件的詳細表示,可以洞察其組成、內部運作和設備軟體運行的上下文。與Digital Twins一樣,Cyber Digital Twins也與諸如(但不限於)車輛、醫療設備和工業物聯網(IoT)設備等機器有關,重點關注為它們提供動力的軟體。
 
它包括軟體材料清單(也稱為SBOM或C-SBOM)、底層硬體架構、作業系統(OS)配置、加密機制和金鑰、加固機制、完整的控制流、使用的API調用等。
 
通過增強對產品元件運行的上下文的理解,產品安全團隊可以過濾掉許多無關的“噪音”,從而找出真正影響產品並可能危及整個產品運行的漏洞子集。
 
這樣做可以取得顯著的效果。例如,在某個案例中,一個特定元件的90%有潛在影響而實際不相關的漏洞都被過濾掉了,從而使分析人員只關注33個相關的漏洞。


基於上下文的分析——實際示例
 
1) CVE-2019-19537——USB設備依賴項:USB介面是嵌入式軟體中最常見的攻擊載體之一。在這種情況下,問題就是可能由USB字元設備驅動程式層內的USB惡意設備引起的條件錯誤,從而影響linux內核。
 
考慮到這一點,上下文分析的第一步是檢查USB埠是否被啟用。在這樣做的過程中,可以根據啟用USB的設備篩選CVE並提供支援。
 
2) CVE-2020-25212——Linux內核存在TOCTOU不匹配:在5.8.3版本之前的Linux內核中,NFS用戶端程式碼存在time-of-check time-of-use(TOCTOU)不匹配。它可能被本機攻擊者用來破壞記憶體,或可能造成未指明的其他影響,僅僅因為尺寸檢查是在fs/nfs/nfs4proc.c 中而不是在fs/nfs/nfs4xdr.c 中執行的。
 
我們瞭解到,這個CVE只有在配置了CONFIG_NFS_V4_SECURITY_LABEL時才有效。因此,具備基於編譯符號過濾與Linux內核相關的許多CVE的能力是解決這類問題的關鍵。
 
因此,在這個例子中,二進位分析是關鍵。最終,我們能夠通過檢查已編譯的標誌來過濾Linux內核CVE,並當固件中缺少特定標誌時排除這些CVE。
 
3) CVE-2020-11899——Ripple20:6.0.1.66版本之前的Treck TCP/IP堆疊都包含IPv6Out-of-bounds Read。CVE是Ripple20的一部分——一組由Treck TCP/IP軟體庫中的JSOF專家發現的19個零日漏洞。
 
由於一次成功的利用可能會影響到多方,確保軟體供應鏈安全的第一步是檢查這些CVE是否與所分析設備的上下文相匹配,從而節約原本用於修復不相關CVE的資源。
 
在這種情況下,只有為使用IPV6通信而配置的固件會受到影響且需要注意。但是由於被分析的設備使用的是IPv4,所以它不受這個特定CVE的影響。由於僅通過檢查原始程式碼無法獲得網路配置,因此這裡進行二進位分析也是關鍵。
 
注意,針對這個CVE的另一個可能的上下文感知分析還與內核體系結構是否與應用程式隔離有關。在這種情況下,漏洞的影響可能遠沒有那麼嚴重,因為這種隔離保護了整個系統免受惡意行為的損害。


為什麼二進位分析對上下文感知很重要?
 
產品安全團隊應該利用二進位分析,從編譯後的軟體分析中獲益,以捕獲更全面、更廣泛的被測組件範圍,而不僅僅是ECU/固件原始程式碼。它涵蓋了作業系統(OS)相關的漏洞、驅動程式相關的安全問題、配置問題等。在識別漏洞時,二進位分析出現的誤報更少,從而實現更好的時間與資源管理。記住,這不僅僅與程式碼有關,還與如何使用程式碼有關。相關性是關鍵。


總結
 
如上述例子所示,上下文感知使得產品安全團隊能夠確定行動的優先次序,從而節省寶貴的時間和資源。
 
有無數種方法可以利用上下文感知分析來優化CVE過濾,比如:通過CPU架構、作業系統(OS)、命令/函數等。因此,將您的漏洞管理實踐與上下文感知分析相結合,可以為任何公司的風險管理工作帶來價值和效果。
 
Cybellum可以通過上下文感知分析來使您的軟體供應鏈更明晰,並保護您的客戶和業務。我們制定了一系列產品安全新標準,從最初的開發階段一直到集成和生產階段,以及在產品投入運營使用時,消除了網路風險並促進了合規。
 
若您想瞭解如何查看所有軟體資產,熟知每個漏洞的實際影響並在它們造成任何危害之前減輕安全風險,立刻與我們聯繫吧!