博客
希望我們能(néng)與您分享和探讨成(chéng)長(cháng)中的點點滴滴
上下文感知分析:對(duì)最重要的漏洞進(jìn)行優先級排序
分享到
如今,産品安全團隊在漏洞管理程序方面(miàn)面(miàn)臨著(zhe)難以置信的挑戰。嵌入式軟件更爲普遍,由開(kāi)源軟件(OSS)、商業軟件和專有代碼組成(chéng),而且要複雜得多。
結果是:攻擊面(miàn)增加,控制能(néng)力下降,風險大大增加。而且,漏洞的數量仍在增加;僅在2020年,NVD就(jiù)發(fā)布了超過(guò)18000個CVE!
爲了确保公司在面(miàn)對(duì)不斷增長(cháng)的威脅(就(jiù)數量和複雜性而言)時(shí)能(néng)夠以最大的效率運行,産品安全團隊必須相應地擴展他們的漏洞管理能(néng)力。這(zhè)一挑戰取決于時(shí)間、金錢和人力資源的合理分配與否。
産品安全團隊如何才能(néng)确切地了解他們的軟件中有什麼(me),哪些漏洞與他們的産品安全相關,以及如何對(duì)他們的工作進(jìn)行優先級排序?
解決方案——基于上下文的分析
更好(hǎo)地理解産品組件運行的上下文,以及特定漏洞可能(néng)應用于它們的方式,是任何産品安全團隊需要做的事(shì)情。
重要的是,您要了解您所選擇使用的産品相關的所有信息。同樣(yàng)關鍵的是,要了解若不執行將(jiāng)産品的整個上下文考慮在内的全量分析會(huì)産生的影響。
例如,如果某個CVE隻适用于64位系統(而不是32位系統),那麼(me)了解所分析的産品到底屬于哪一類,可以幫助您避免將(jiāng)寶貴的資源浪費在可能(néng)根本不會(huì)影響系統的漏洞上。
在Cybellum,這(zhè)種(zhǒng)認知和上下文理解是通過(guò)創建并利用Cyber Digital Twins獲得的。
Cyber Digital Twins是什麼(me)?
受Digital Twins的啓發(fā),Cyber Digital Twins是一個軟件組件的詳細表示,可以洞察其組成(chéng)、内部運作和設備軟件運行的上下文。與Digital Twins一樣(yàng),Cyber Digital Twins也與諸如(但不限于)車輛、醫療設備和工業物聯網(IoT)設備等機器有關,重點關注爲它們提供動力的軟件。
它包括軟件材料清單(也稱爲SBOM或C-SBOM)、底層硬件架構、操作系統(OS)配置、加密機制和密鑰、加固機制、完整的控制流、使用的API調用等。
通過(guò)增強對(duì)産品組件運行的上下文的理解,産品安全團隊可以過(guò)濾掉許多無關的“噪音”,從而找出真正影響産品并可能(néng)危及整個産品運行的漏洞子集。
這(zhè)樣(yàng)做可以取得顯著的效果。例如,在某個案例中,一個特定組件的90%有潛在影響而實際不相關的漏洞都(dōu)被(bèi)過(guò)濾掉了,從而使分析人員隻關注33個相關的漏洞。
基于上下文的分析——實際示例
1) CVE-2019-19537——USB設備依賴項:USB接口是嵌入式軟件中最常見的攻擊載體之一。在這(zhè)種(zhǒng)情況下,問題就(jiù)是可能(néng)由USB字符設備驅動程序層内的USB惡意設備引起(qǐ)的條件錯誤,從而影響linux内核。
考慮到這(zhè)一點,上下文分析的第一步是檢查USB端口是否被(bèi)啓用。在這(zhè)樣(yàng)做的過(guò)程中,可以根據啓用USB的設備篩選CVE并提供支持。
2) CVE-2020-25212——Linux内核存在TOCTOU不匹配:在5.8.3版本之前的Linux内核中,NFS客戶端代碼存在time-of-check time-of-use(TOCTOU)不匹配。它可能(néng)被(bèi)本地攻擊者用來破壞内存,或可能(néng)造成(chéng)未指明的其他影響,僅僅因爲尺寸檢查是在fs/nfs/nfs4proc.c 中而不是在fs/nfs/nfs4xdr.c 中執行的。
我們了解到,這(zhè)個CVE隻有在配置了CONFIG_NFS_V4_SECURITY_LABEL時(shí)才有效。因此,具備基于編譯符号過(guò)濾與Linux内核相關的許多CVE的能(néng)力是解決這(zhè)類問題的關鍵。
因此,在這(zhè)個例子中,二進(jìn)制分析是關鍵。最終,我們能(néng)夠通過(guò)檢查已編譯的标志來過(guò)濾Linux内核CVE,并當固件中缺少特定标志時(shí)排除這(zhè)些CVE。
3) CVE-2020-11899——Ripple20:6.0.1.66版本之前的Treck TCP/IP堆棧都(dōu)包含IPv6Out-of-bounds Read。CVE是Ripple20的一部分——一組由Treck TCP/IP軟件庫中的JSOF專家發(fā)現的19個零日漏洞。
由于一次成(chéng)功的利用可能(néng)會(huì)影響到多方,确保軟件供應鏈安全的第一步是檢查這(zhè)些CVE是否與所分析設備的上下文相匹配,從而節約原本用于修複不相關CVE的資源。
在這(zhè)種(zhǒng)情況下,隻有爲使用IPV6通信而配置的固件會(huì)受到影響且需要注意。但是由于被(bèi)分析的設備使用的是IPv4,所以它不受這(zhè)個特定CVE的影響。由于僅通過(guò)檢查源代碼無法獲得網絡配置,因此這(zhè)裡(lǐ)進(jìn)行二進(jìn)制分析也是關鍵。
注意,針對(duì)這(zhè)個CVE的另一個可能(néng)的上下文感知分析還(hái)與内核體系結構是否與應用程序隔離有關。在這(zhè)種(zhǒng)情況下,漏洞的影響可能(néng)遠沒(méi)有那麼(me)嚴重,因爲這(zhè)種(zhǒng)隔離保護了整個系統免受惡意行爲的損害。
爲什麼(me)二進(jìn)制分析對(duì)上下文感知很重要?
産品安全團隊應該利用二進(jìn)制分析,從編譯後(hòu)的軟件分析中獲益,以捕獲更全面(miàn)、更廣泛的被(bèi)測組件範圍,而不僅僅是ECU/固件源代碼。它涵蓋了操作系統(OS)相關的漏洞、驅動程序相關的安全問題、配置問題等。在識别漏洞時(shí),二進(jìn)制分析出現的誤報更少,從而實現更好(hǎo)的時(shí)間與資源管理。記住,這(zhè)不僅僅與代碼有關,還(hái)與如何使用代碼有關。相關性是關鍵。
總結
如上述例子所示,上下文感知使得産品安全團隊能(néng)夠确定行動的優先次序,從而節省寶貴的時(shí)間和資源。
有無數種(zhǒng)方法可以利用上下文感知分析來優化CVE過(guò)濾,比如:通過(guò)CPU架構、操作系統(OS)、命令/函數等。因此,將(jiāng)您的漏洞管理實踐與上下文感知分析相結合,可以爲任何公司的風險管理工作帶來價值和效果。
Cybellum可以通過(guò)上下文感知分析來使您的軟件供應鏈更明晰,并保護您的客戶和業務。我們制定了一系列産品安全新标準,從最初的開(kāi)發(fā)階段一直到集成(chéng)和生産階段,以及在産品投入運營使用時(shí),消除了網絡風險并促進(jìn)了合規。
若您想了解如何查看所有軟件資産,熟知每個漏洞的實際影響并在它們造成(chéng)任何危害之前減輕安全風險,立刻與我們聯系吧!