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