0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TCP/IP 堆棧漏洞是嵌入式軟件的警鐘

張英 ? 來(lái)源:小佳99 ? 作者:小佳99 ? 2022-07-15 15:43 ? 次閱讀

URGENT/11和其他最近的漏洞(例如與嵌入式 TCP/IP 堆棧相關(guān)的AMNESIA:33)表明在審查和審計(jì)軟件供應(yīng)鏈方面存在缺陷。責(zé)任不僅僅在于軟件供應(yīng)商,還指出嵌入式設(shè)備制造商需要評(píng)估的不僅僅是他們目前開發(fā)的產(chǎn)品

同時(shí),這個(gè)問(wè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ò)堆棧是一個(gè)常見弱點(diǎn),但這些漏洞通常與過(guò)時(shí)的軟件版本有關(guān)。漏洞令人擔(dān)憂,但可以修復(fù)和修補(bǔ)。

更令人擔(dān)憂的是,已知漏洞并未得到修補(bǔ)。截至 2020 年 12 月,97% 的 URGENT/11易受攻擊的設(shè)備仍未打補(bǔ)丁。這可以部分歸因于嵌入式系統(tǒng)供應(yīng)商、最終用戶、經(jīng)銷商和集成商對(duì)他們暴露于這些漏洞的缺乏了解。

知名的漏洞集可能是 URGENT/11,它最初隸屬于 Wind River VxWorks,影響許多流行的嵌入式實(shí)時(shí)操作系統(tǒng) (RTOS) 使用的 Interpeak IPnet 嵌入式 TCP/IP 堆棧,并且是商業(yè)軟件。URGENT/11 中的漏洞代表了軟件弱點(diǎn)的名人錄:緩沖區(qū)溢出、整數(shù)下溢、內(nèi)存緩沖區(qū)越界訪問(wèn)、競(jìng)爭(zhēng)條件、參數(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ù)百萬(wàn)臺(tái)設(shè)備上運(yùn)行。

與 URGENT/11 類似,AMNESIA:33 漏洞集與一組嵌入式開源 TCP/IP 堆棧(uIP-Contiki、uIP、open-iscsi、picoTCP、FNET 和 Nut/Net)有關(guān)。軟件弱點(diǎn)也直接來(lái)自CWE Top 25;整數(shù)環(huán)繞、越界讀寫、整數(shù)溢出、不正確的輸入驗(yàn)證和不正確的空終止。

pYYBAGLO-b2AUWA9AAK1DBl-GCQ315.png




picoTCP 是一種占用空間非常小的開源 TCP/IP 堆棧,用于許多 IoT 設(shè)備,現(xiàn)在在無(wú)數(shù)產(chǎn)品中都容易受到 Amnesia:33 漏洞的影響。(來(lái)源:GrammaTech)。

TCP/IP 堆棧漏洞(例如 URGENT/11 和 AMNESIA:33)在商業(yè)和開源嵌入式組件中都很普遍,并說(shuō)明了對(duì)將要集成到設(shè)備中的所有類型的第三方軟件進(jìn)行盡職調(diào)查的重要性。

審計(jì)和管理嵌入式設(shè)備軟件組件漏洞的最有效方法是維護(hù)軟件材料清單 (SBOM)。這種方法不僅考慮了定制軟件,還考慮了 RTOS、庫(kù)(商業(yè)和開源)、板級(jí)支持包以及產(chǎn)品中使用的所有內(nèi)容。SBOM 還將包括構(gòu)成商業(yè)的組件(例如 RTOS 和附加組件,例如 TCP/IP 堆棧)和開源產(chǎn)品,包括所有版本和已知漏洞的詳細(xì)說(shuō)明。SBOM 的整體性很重要,因?yàn)槿魏萎a(chǎn)品的安全性都取決于其中最不安全的組件。

SBOM 是使用軟件組成分析 (SCA) 創(chuàng)建的。但是,SCA 工具不能僅依賴源代碼的可用性,因?yàn)樵S多商業(yè)產(chǎn)品僅作為二進(jìn)制文件提供。相反,需要使用二進(jìn)制分析的 SCA 工具來(lái)檢測(cè)和檢查在開發(fā)的發(fā)布、集成和構(gòu)建階段創(chuàng)建的二進(jìn)制文件。

例如,依賴源代碼的 SCA 工具無(wú)法檢測(cè)二進(jìn)制代碼中的漏洞,而這是提供第三方產(chǎn)品的最有可能的方式。RTOS 和其他嵌入式軟件通常是為特定目標(biāo)架構(gòu)預(yù)構(gòu)建的,只有板支持包是由客戶在本地定制和編譯的。

SBOM 應(yīng)該在產(chǎn)品生命周期的各個(gè)階段進(jìn)行維護(hù),因?yàn)槁┒床粩啾话l(fā)現(xiàn),并且以前安全的組件可能變得不安全。它使開發(fā)團(tuán)隊(duì)能夠?qū)λ麄兪褂玫牡谌疆a(chǎn)品進(jìn)行盡職調(diào)查。只要二進(jìn)制簽名可用于漏洞,就有可能檢測(cè)到有風(fēng)險(xiǎn)的組件。在這個(gè)早期階段,很容易修補(bǔ)、更新或更換產(chǎn)品。將 SBOM 更新為任何現(xiàn)有流程的一部分也很重要,無(wú)論是 CI/CD 管道還是其他流程。

在安全方面,運(yùn)輸或報(bào)廢的產(chǎn)品通常很少受到關(guān)注。URGENT/11 和 AMNESIA:33 與過(guò)時(shí)和報(bào)廢產(chǎn)品有關(guān)的事實(shí)表明,安全是整個(gè)生命周期的關(guān)注點(diǎn)。使用二元分析的優(yōu)勢(shì)在于可以分析現(xiàn)有和遺留產(chǎn)品以創(chuàng)建整個(gè)產(chǎn)品線的 SBOM。這為嵌入式設(shè)備開發(fā)人員以及他們所依賴的供應(yīng)商提供了可能的安全風(fēng)險(xiǎn)預(yù)警。

這種場(chǎng)景的一個(gè)很好的例子是 picoTCP,這是一種占用空間非常小的開源 TCP/IP 堆棧,用于許多 IoT 設(shè)備。在過(guò)去的幾年里,這個(gè)項(xiàng)目似乎已經(jīng)走到了生命的盡頭,幾乎沒(méi)有什么發(fā)展(看看 GitHub 的活動(dòng),寫這篇文章時(shí)的最新提交是 15 個(gè)月前,大部分源代碼在四年多的時(shí)間里都沒(méi)有被觸及。 ) 盡管有這一事實(shí),但它仍被用于無(wú)數(shù)產(chǎn)品中,這些產(chǎn)品現(xiàn)在很容易受到 Amnesia:33 漏洞的影響。

使用 SCA 為產(chǎn)品組合創(chuàng)建 SBOM 是對(duì)組件和集成第三方軟件進(jìn)行編目以檢測(cè)已知漏洞存在的重要步驟。這種方法允許制造商建立和維護(hù)一個(gè)組織范圍的開源和內(nèi)部/閉源庫(kù)和可執(zhí)行文件的存儲(chǔ)庫(kù),因此他們知道他們交付的軟件中實(shí)際包含什么。

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式軟件
    +關(guān)注

    關(guān)注

    4

    文章

    238

    瀏覽量

    26552
  • 堆棧
    +關(guān)注

    關(guān)注

    0

    文章

    176

    瀏覽量

    19669
  • 漏洞
    +關(guān)注

    關(guān)注

    0

    文章

    203

    瀏覽量

    15260
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式軟件開發(fā)與AI整合

    嵌入式軟件開發(fā)與AI整合是當(dāng)前技術(shù)發(fā)展的重要趨勢(shì)之一。隨著人工智能技術(shù)的快速發(fā)展,嵌入式系統(tǒng)越來(lái)越多地集成了AI算法,以實(shí)現(xiàn)更復(fù)雜的智能功能。以下是關(guān)于嵌入式
    的頭像 發(fā)表于 07-31 09:25 ?491次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>開發(fā)與AI整合

    USB嵌入式主機(jī)堆棧

    在USB標(biāo)準(zhǔn)下,USB設(shè)備之間不能直接通信。它們只能與控制一個(gè)或多個(gè)設(shè)備通信的總線的 USB 主機(jī)通信。常見的 USB 主機(jī)是 PC。本應(yīng)用筆記討論了 USB 嵌入式主機(jī),它可以使嵌入式應(yīng)用程序在各種 USB 設(shè)備中使用。
    發(fā)表于 05-03 09:13 ?130次閱讀
    USB<b class='flag-5'>嵌入式</b>主機(jī)<b class='flag-5'>堆棧</b>

    為什么嵌入式系統(tǒng)需要堆棧分析?如何進(jìn)行監(jiān)控堆棧分析呢?

    隨著代碼行數(shù)從幾千到上百萬(wàn)不等,嵌入式軟件變得日益復(fù)雜,但總體目標(biāo)依然是實(shí)現(xiàn)穩(wěn)健、正確且快速執(zhí)行的軟件。
    的頭像 發(fā)表于 03-28 10:23 ?546次閱讀

    嵌入式軟件設(shè)計(jì)的原則分享

    嵌入式軟件開發(fā)如果具有更好的閱讀性、擴(kuò)展性以及維護(hù)性,就需要考慮很多因素。今天給大家分享幾個(gè)嵌入式軟件設(shè)計(jì)的原則。
    發(fā)表于 02-25 10:54 ?502次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>設(shè)計(jì)的原則分享

    嵌入式軟件開發(fā)應(yīng)該掌握哪些知識(shí)?

    嵌入式軟件開發(fā)應(yīng)該掌握哪些知識(shí)? 一、 什么是嵌入式軟件? 嵌入式軟件通常是指
    發(fā)表于 02-19 11:23

    嵌入式軟件開發(fā)和軟件開發(fā)的區(qū)別

    嵌入式軟件開發(fā)和軟件開發(fā)是兩個(gè)不同的概念,它們?cè)谝恍╆P(guān)鍵方面有著明顯的區(qū)別。嵌入式軟件開發(fā)是指開發(fā)嵌入
    的頭像 發(fā)表于 01-22 15:27 ?1790次閱讀

    基于功能安全的汽車嵌入式軟件單元驗(yàn)證技術(shù)研究

    隨著汽車嵌入式軟件功能的不斷疊加,軟件復(fù)雜性不斷提升,對(duì)汽車嵌入式軟件的安全性提出了更高要求,基于功能安全的
    的頭像 發(fā)表于 01-07 11:27 ?861次閱讀
    基于功能安全的汽車<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>單元驗(yàn)證技術(shù)研究

    嵌入式系統(tǒng)中堆棧監(jiān)控的作用

    在微控制器或微處理器中,堆棧是內(nèi)存的一個(gè)保留區(qū)域,用于存儲(chǔ)臨時(shí)數(shù)據(jù)和函數(shù)調(diào)用信息,管理函數(shù)的執(zhí)行,跟蹤返回地址、局部變量和函數(shù)參數(shù)。堆棧監(jiān)控是嵌入式系統(tǒng)運(yùn)行中起關(guān)鍵作用的一項(xiàng)安全措施,促進(jìn)了
    的頭像 發(fā)表于 01-05 11:13 ?365次閱讀

    聊聊嵌入式軟件分層

    今天以控制LED閃爍為例,聊聊嵌入式軟件分層
    的頭像 發(fā)表于 12-28 09:22 ?553次閱讀

    嵌入式硬件和軟件哪個(gè)好?

    嵌入式硬件和軟件哪個(gè)好? 嵌入式軟硬件工程師哪個(gè)更有前途呢?一起來(lái)看看。 嵌入式是分為軟硬件工程師的,首先我們先來(lái)看看嵌入式硬件工程師吧!
    發(fā)表于 12-05 15:17

    嵌入式軟件的開發(fā)流程

    電子發(fā)燒友網(wǎng)站提供《嵌入式軟件的開發(fā)流程.doc》資料免費(fèi)下載
    發(fā)表于 11-17 14:39 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>的開發(fā)流程

    嵌入式軟件開發(fā)流程

    電子發(fā)燒友網(wǎng)站提供《嵌入式軟件開發(fā)流程.ppt》資料免費(fèi)下載
    發(fā)表于 11-17 14:37 ?3次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>開發(fā)流程

    嵌入式軟件不需要架構(gòu)嗎?為什么沒(méi)有嵌入式軟件架構(gòu)師?

    我的看法:目前國(guó)內(nèi)的嵌入式開發(fā)主要分為嵌入式底層開發(fā)和嵌入式應(yīng)用開發(fā),嵌入式的底層開發(fā)一般叫做驅(qū)動(dòng)開發(fā),或者bsp開發(fā),有時(shí)也有稱之為linux內(nèi)核開發(fā),名字聽著都很高大上的感覺。
    發(fā)表于 10-27 14:45 ?449次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>不需要架構(gòu)嗎?為什么沒(méi)有<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>架構(gòu)師?

    基于嵌入式WEB的電站數(shù)據(jù)動(dòng)態(tài)監(jiān)控軟件設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于嵌入式WEB的電站數(shù)據(jù)動(dòng)態(tài)監(jiān)控軟件設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-24 10:01 ?0次下載
    基于<b class='flag-5'>嵌入式</b>WEB的電站數(shù)據(jù)動(dòng)態(tài)監(jiān)控<b class='flag-5'>軟件</b>設(shè)計(jì)

    基于嵌入式Linux系統(tǒng)的電源管理軟件

    電子發(fā)燒友網(wǎng)站提供《基于嵌入式Linux系統(tǒng)的電源管理軟件.pdf》資料免費(fèi)下載
    發(fā)表于 10-12 10:33 ?0次下載
    基于<b class='flag-5'>嵌入式</b>Linux系統(tǒng)的電源管理<b class='flag-5'>軟件</b>