URGENT/11和其他最近的漏洞(例如與嵌入式 TCP/IP 堆棧相關(guān)的AMNESIA:33)表明在審查和審計(jì)軟件供應(yīng)鏈方面存在缺陷。責(zé)任不僅僅在于軟件供應(yīng)商,還指出嵌入式設(shè)備制造商需要評估的不僅僅是他們目前開發(fā)的產(chǎn)品。
同時,這個問題不僅限于嵌入式軟件,或具體的 TCP/IP 堆棧。相反,它暴露了由重用軟件組件和頻繁發(fā)現(xiàn)與之相關(guān)的新漏洞所造成的安全風(fēng)險(xiǎn)。
讓我們仔細(xì)看看 Urgent/11 和 Amnesia:33 漏洞。兩者都在嵌入式 TCP/IP 堆棧中,這是令人擔(dān)憂的,因?yàn)?a target="_blank">網(wǎng)絡(luò)連接是消費(fèi)、醫(yī)療和工業(yè)應(yīng)用中常用的物聯(lián)網(wǎng) (IoT) 設(shè)備最有可能的攻擊媒介。盡管受影響設(shè)備上的網(wǎng)絡(luò)堆棧是一個常見弱點(diǎn),但這些漏洞通常與過時的軟件版本有關(guān)。漏洞令人擔(dān)憂,但可以修復(fù)和修補(bǔ)。
更令人擔(dān)憂的是,已知漏洞并未得到修補(bǔ)。截至 2020 年 12 月,97% 的 URGENT/11易受攻擊的設(shè)備仍未打補(bǔ)丁。這可以部分歸因于嵌入式系統(tǒng)供應(yīng)商、最終用戶、經(jīng)銷商和集成商對他們暴露于這些漏洞的缺乏了解。
最知名的漏洞集可能是 URGENT/11,它最初隸屬于 Wind River VxWorks,影響許多流行的嵌入式實(shí)時操作系統(tǒng) (RTOS) 使用的 Interpeak IPnet 嵌入式 TCP/IP 堆棧,并且是商業(yè)軟件。URGENT/11 中的漏洞代表了軟件弱點(diǎn)的名人錄:緩沖區(qū)溢出、整數(shù)下溢、內(nèi)存緩沖區(qū)越界訪問、競爭條件、參數(shù)注入和空指針取消引用。
受影響的產(chǎn)品通常使用 ENEA、GreenHills Software、ITRON、IP Infusion ThreadX 和 Wind River 的嵌入式操作系統(tǒng) (OS)。在所有情況下,這些供應(yīng)商都更新或替換了其產(chǎn)品中受影響的 IPnet TCP/IP 堆棧。但是,這些操作系統(tǒng)的舊版本仍在數(shù)百萬臺設(shè)備上運(yùn)行。
與 URGENT/11 類似,AMNESIA:33 漏洞集與一組嵌入式開源 TCP/IP 堆棧(uIP-Contiki、uIP、open-iscsi、picoTCP、FNET 和 Nut/Net)有關(guān)。軟件弱點(diǎn)也直接來自CWE Top 25;整數(shù)環(huán)繞、越界讀寫、整數(shù)溢出、不正確的輸入驗(yàn)證和不正確的空終止。
picoTCP 是一種占用空間非常小的開源 TCP/IP 堆棧,用于許多 IoT 設(shè)備,現(xiàn)在在無數(shù)產(chǎn)品中都容易受到 Amnesia:33 漏洞的影響。(來源:GrammaTech)。
TCP/IP 堆棧漏洞(例如 URGENT/11 和 AMNESIA:33)在商業(yè)和開源嵌入式組件中都很普遍,并說明了對將要集成到設(shè)備中的所有類型的第三方軟件進(jìn)行盡職調(diào)查的重要性。
審計(jì)和管理嵌入式設(shè)備軟件組件漏洞的最有效方法是維護(hù)軟件材料清單 (SBOM)。這種方法不僅考慮了定制軟件,還考慮了 RTOS、庫(商業(yè)和開源)、板級支持包以及產(chǎn)品中使用的所有內(nèi)容。SBOM 還將包括構(gòu)成商業(yè)的組件(例如 RTOS 和附加組件,例如 TCP/IP 堆棧)和開源產(chǎn)品,包括所有版本和已知漏洞的詳細(xì)說明。SBOM 的整體性很重要,因?yàn)槿魏萎a(chǎn)品的安全性都取決于其中最不安全的組件。
SBOM 是使用軟件組成分析 (SCA) 創(chuàng)建的。但是,SCA 工具不能僅依賴源代碼的可用性,因?yàn)樵S多商業(yè)產(chǎn)品僅作為二進(jìn)制文件提供。相反,需要使用二進(jìn)制分析的 SCA 工具來檢測和檢查在開發(fā)的發(fā)布、集成和構(gòu)建階段創(chuàng)建的二進(jìn)制文件。
例如,依賴源代碼的 SCA 工具無法檢測二進(jìn)制代碼中的漏洞,而這是提供第三方產(chǎn)品的最有可能的方式。RTOS 和其他嵌入式軟件通常是為特定目標(biāo)架構(gòu)預(yù)構(gòu)建的,只有板支持包是由客戶在本地定制和編譯的。
SBOM 應(yīng)該在產(chǎn)品生命周期的各個階段進(jìn)行維護(hù),因?yàn)槁┒床粩啾话l(fā)現(xiàn),并且以前安全的組件可能變得不安全。它使開發(fā)團(tuán)隊(duì)能夠?qū)λ麄兪褂玫牡谌疆a(chǎn)品進(jìn)行盡職調(diào)查。只要二進(jìn)制簽名可用于漏洞,就有可能檢測到有風(fēng)險(xiǎn)的組件。在這個早期階段,很容易修補(bǔ)、更新或更換產(chǎn)品。將 SBOM 更新為任何現(xiàn)有流程的一部分也很重要,無論是 CI/CD 管道還是其他流程。
在安全方面,運(yùn)輸或報(bào)廢的產(chǎn)品通常很少受到關(guān)注。URGENT/11 和 AMNESIA:33 與過時和報(bào)廢產(chǎn)品有關(guān)的事實(shí)表明,安全是整個生命周期的關(guān)注點(diǎn)。使用二元分析的優(yōu)勢在于可以分析現(xiàn)有和遺留產(chǎn)品以創(chuàng)建整個產(chǎn)品線的 SBOM。這為嵌入式設(shè)備開發(fā)人員以及他們所依賴的供應(yīng)商提供了可能的安全風(fēng)險(xiǎn)預(yù)警。
這種場景的一個很好的例子是 picoTCP,這是一種占用空間非常小的開源 TCP/IP 堆棧,用于許多 IoT 設(shè)備。在過去的幾年里,這個項(xiàng)目似乎已經(jīng)走到了生命的盡頭,幾乎沒有什么發(fā)展(看看 GitHub 的活動,寫這篇文章時的最新提交是 15 個月前,大部分源代碼在四年多的時間里都沒有被觸及。 ) 盡管有這一事實(shí),但它仍被用于無數(shù)產(chǎn)品中,這些產(chǎn)品現(xiàn)在很容易受到 Amnesia:33 漏洞的影響。
使用 SCA 為產(chǎn)品組合創(chuàng)建 SBOM 是對組件和集成第三方軟件進(jìn)行編目以檢測已知漏洞存在的重要步驟。這種方法允許制造商建立和維護(hù)一個組織范圍的開源和內(nèi)部/閉源庫和可執(zhí)行文件的存儲庫,因此他們知道他們交付的軟件中實(shí)際包含什么。
審核編輯 黃昊宇
-
嵌入式軟件
+關(guān)注
關(guān)注
4文章
240瀏覽量
26641 -
堆棧
+關(guān)注
關(guān)注
0文章
182瀏覽量
19753 -
漏洞
+關(guān)注
關(guān)注
0文章
204瀏覽量
15366
發(fā)布評論請先 登錄
相關(guān)推薦
評論