91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

開源Zephyr和MCUboot堆棧中的26個缺陷

星星科技指導(dǎo)員 ? 來源:嵌入式計算設(shè)計 ? 作者:Brandon Lewis ? 2022-08-15 15:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開源 Zephyr RTOSMCUboot 項目在物聯(lián)網(wǎng)生態(tài)系統(tǒng)中的供應(yīng)商和開發(fā)人員中越來越受歡迎,因為它們一起包括開發(fā)適合的成熟應(yīng)用程序所需的所有驅(qū)動程序、庫、堆棧和文件系統(tǒng)微型邊緣設(shè)備。他們是免費的也沒有什么壞處。

與任何開源技術(shù)一樣,維護和改進 Zephyr 和 MCUboot 代碼庫屬于社區(qū),這在許多人看來等同于提高安全性。事實上,福布斯最近一篇報道 Zephyr 項目的文章指出“開源軟件通常被認為更安全,因為任何人都可以檢查和調(diào)試代碼。 ”

全球最大的安全咨詢公司之一NCC 集團最近進行了一項獨立研究檢查,分析了 Zephyr RTOS 和 MCUboot 安全引導(dǎo)加載程序的安全狀況,發(fā)現(xiàn)了更多 26 個不同嚴重程度的漏洞。

NCC 研究主管 Jennifer Fernick 與 Embedded Computing Design 就該公司“研究報告 - Zephyr 和 MCUboot 安全評估”中的發(fā)現(xiàn)進行了交談。

在您對 Zephyr RTOS 和 MCUboot 安全引導(dǎo)加載程序的檢查中發(fā)現(xiàn)了哪些嚴重漏洞,更重要的是,它們對物聯(lián)網(wǎng)系統(tǒng)的安全性有何影響?

FERNICK:本報告中的研究重點是 Zephyr RTOS 和 MCUboot 引導(dǎo)加載程序,研究人員在其中發(fā)現(xiàn)了 Zephyr 中的 25 個漏洞和 MCUboot 中的 1 個漏洞。我們知道 Zephyr RTOS 擁有約 3% 的物聯(lián)網(wǎng)市場份額,并且由于包括英特爾NXP、Nordic Semiconductor 等許多芯片組制造商的支持,這種影響力正在迅速增長。

pYYBAGL587mAeAtYAAH4uNsGa5I665.png

關(guān)鍵漏洞都在 Zephyr 網(wǎng)絡(luò)堆棧中,其中包括堆棧緩沖區(qū)溢出攻擊和內(nèi)存損壞漏洞。通過利用這個特定的緩沖區(qū)溢出,當(dāng)在啟用特定構(gòu)建選項的設(shè)備上接收到惡意 ICMP 數(shù)據(jù)包時,攻擊者可能會導(dǎo)致拒絕服務(wù)或在設(shè)備內(nèi)核中執(zhí)行代碼,而通過利用這個特定的內(nèi)存損壞漏洞遠程攻擊者可以發(fā)送帶有格式錯誤的標頭的 MQTT 數(shù)據(jù)包,以在 Zephyr 內(nèi)核中引發(fā)內(nèi)存損壞,從而可能導(dǎo)致代碼執(zhí)行。

高風(fēng)險漏洞既是 Zephyr USB 堆棧中的數(shù)據(jù)驗證錯誤,也包括用于通過 USB 進行固件更新的驅(qū)動程序中的全局緩沖區(qū)溢出攻擊,以及 USB 大容量存儲驅(qū)動程序中的任意讀取/限制寫入。通過利用這些 USB 漏洞,對 Zephyr 設(shè)備具有物理訪問權(quán)限的攻擊者可以誘導(dǎo)拒絕服務(wù)或可能在內(nèi)核中實現(xiàn)代碼執(zhí)行。拒絕服務(wù)漏洞可能意味著部署在遠程位置的物聯(lián)網(wǎng)設(shè)備可能需要物理訪問設(shè)備以執(zhí)行手動重啟,然后設(shè)備才能再次運行,并且內(nèi)核級代碼執(zhí)行允許攻擊者破壞并完全控制設(shè)備,運行任意代碼,破壞設(shè)備的功能,

修復(fù)這些 Zephyr 漏洞有多難?讓我們特別關(guān)注 USB 堆棧中的那些?

FERNICK: NCC Group 報告了 Zephyr USB 堆棧中的五個漏洞。風(fēng)險最高的漏洞是USB DFU 模式可以溢出 DFU_Upload 命令中的全局緩沖區(qū)以及 USB 海量存儲驅(qū)動程序中的任意讀取和有限寫入。

USB DFU 模式全局緩沖區(qū)溢出攻擊涉及利用 Zephyr 的 USB DFU 驅(qū)動程序中存在的緩沖區(qū)溢出漏洞,該驅(qū)動程序通常用于通過 USB 進行本地固件更新。通過此漏洞,對設(shè)備具有物理訪問權(quán)限的攻擊者至少能夠在設(shè)備內(nèi)引發(fā)拒絕服務(wù),在某些情況下甚至可以在內(nèi)核中執(zhí)行代碼,方法是通過以下方式將惡意負載插入內(nèi)部閃存USB DFU 接口,然后觸發(fā)全局緩沖區(qū)溢出。但是,應(yīng)該注意的是,這種可利用性取決于特定 Zephyr 構(gòu)建的內(nèi)存布局。此問題已得到修復(fù),可以通過對特定輸入變量的大小進行基本檢查以減輕緩沖區(qū)溢出來解決。

在研究 USB 海量存儲驅(qū)動程序時,我們的團隊發(fā)現(xiàn) USB 海量存儲驅(qū)動程序(用于使 Zephyr 設(shè)備充當(dāng) USB 存儲驅(qū)動器)與 RAM 存儲之間的交互存在問題大于 RAM 磁盤總大小的地址將導(dǎo)致 USB 驅(qū)動程序出錯,從而導(dǎo)致惡意磁盤讀取查詢能夠讀取超過全局緩沖區(qū)末尾的內(nèi)存,這可能會泄露內(nèi)核內(nèi)存內(nèi)容并啟用攻擊者在內(nèi)核中獲取代碼執(zhí)行。此問題已得到修復(fù),可以通過對特定輸入變量中的大小進行基本檢查來緩解緩沖區(qū)溢出,并確保以不會無意中從生產(chǎn)構(gòu)建中剝離的方式執(zhí)行邊界檢查。

一個中等風(fēng)險的漏洞是USB 大容量存儲器內(nèi)存寫入處理程序中大小未對齊的越界寫入。memoryWrite 處理程序中的發(fā)現(xiàn)是,當(dāng) USB 數(shù)據(jù)包和存儲塊大小未對齊時,在從 buf 到頁面的 USB 傳輸數(shù)據(jù)的復(fù)制過程中,頁面數(shù)組可能會被覆蓋,這取決于特定全局變量的布局/順序,可能在有些情況是可以利用的。此問題已得到解決,可以通過增加頁面緩沖區(qū)的大小以滿足某個最小閾值以及在寫入完成后將任何剩余數(shù)據(jù)移動到緩沖區(qū)的開頭來解決此問題。

另一個中等風(fēng)險漏洞是USB 海量存儲驅(qū)動程序?qū)懭牒万炞C處理程序中的整數(shù)下溢。此漏洞與 Zephyr 中的 memoryWrite 和 memoryVerify 函數(shù)有關(guān),其中輸入清理未正確執(zhí)行,導(dǎo)致整數(shù)溢出。此漏洞使攻擊者能夠根據(jù)所選大小值泄漏堆棧內(nèi)存內(nèi)容或破壞全局內(nèi)核內(nèi)存,但僅可用于特定內(nèi)存布局,因為攻擊者不直接控制堆棧緩沖區(qū)的必要部分。此問題已以類似于前面討論的其他輸入清理檢查的方式修復(fù)。

最后,一個低風(fēng)險漏洞是USB DFU 模式允許讀取主插槽繞過圖像加密。這一發(fā)現(xiàn)意味著,在啟用(可選)USB DFU 模式時,可以通過在啟用 Zephyr USB DFU 和 MCUboot 加密映像功能時使用上傳命令從主映像插槽中讀取明文固件映像來解密加密固件映像。 這種攻擊需要對設(shè)備進行物理訪問。此問題尚未得到解決,但可以通過在 Zephyr 中提供禁用 DFU_Upload 命令的選項(允許讀取固件映像)或簡單地在 MCUboot 文檔中說明繞過固件映像加密是“允許以任何方式轉(zhuǎn)儲內(nèi)部閃存的攻擊向量,”文檔警告說,MCUboot 的威脅模型并未涵蓋這一點。

MCUboot 應(yīng)該能夠覆蓋多少 Zephyr 中的潛在危害,以及在開源安全引導(dǎo)加載程序中發(fā)現(xiàn)的漏洞的影響是什么?

FERNICK:引導(dǎo)鏈實現(xiàn)的穩(wěn)健性在嵌入式操作系統(tǒng)的安全性中起著重要作用。在 Zephyr 和 MCUboot 的情況下,MCUboot 執(zhí)行大部分啟動時固件完整性驗證檢查,盡管 Zephyr 對運行時執(zhí)行的固件升級保留一些責(zé)任。此外,安全啟動保證所需的芯片配置的某些方面超出了 兩者的范圍 MCUboot 和 Zephyr,而是在制造過程中由設(shè)備 OEM 負責(zé)。這方面的一些示例包括禁用 JTAG 或 SWD 以防止運行時調(diào)試,或啟用閃存讀取保護以防止提取設(shè)備機密。因此,安全引導(dǎo)鏈對于運行 Zephyr 或任何其他 RTOS 的嵌入式系統(tǒng)的高度安全保證是必要的,但還不夠。出于這個原因,來自整個供應(yīng)鏈的多個級別的利益相關(guān)者和組件必須承擔(dān)特定的責(zé)任,以確保實現(xiàn)所需的安全屬性。

MCUboot漏洞是串行啟動過程中對未初始化變量的潛在訪問,意味著由于MCUboot中的輸入處理函數(shù)存在缺陷,該函數(shù)可能會利用未首先初始化的變量,如果該值這個變量非常大或非常小,它可能會寫入內(nèi)存或整數(shù)下溢/溢出,最終在解碼字節(jié)寫入輸出緩沖區(qū)時導(dǎo)致內(nèi)存損壞。

那么這對 Zephyr/MCUboot 用戶意味著什么呢?應(yīng)該避免它們嗎?有快速修復(fù)嗎?還有什么?

FERNICK:經(jīng)過初步安全審查后,與內(nèi)部未經(jīng)審查的同類系統(tǒng)相比,用戶對 Zephyr 和 MCUboot 的安全性有了一定程度的信心。但是,我要提醒的是,審查所需的覆蓋范圍優(yōu)先考慮了一些被認為具有最高安全風(fēng)險的系統(tǒng)組件,而其他系統(tǒng)組件則未經(jīng)檢查,因此并不完整。全面的安全審計需要進一步的工作。

研究人員確實發(fā)現(xiàn)了一些進一步的內(nèi)核加固機會,以及許多不正確的系統(tǒng)調(diào)用驗證的證據(jù),即內(nèi)核/用戶隔離在系統(tǒng)范圍內(nèi)不一定是健壯的。

不正確的數(shù)據(jù)驗證是不安全代碼中的常見漏洞類型,無論生態(tài)系統(tǒng)如何 - 例如,未能驗證用戶生成的輸入數(shù)據(jù)是 SQL 注入攻擊和跨站點腳本的根本原因,這些攻擊無處不在,足以成為其中的一部分OWASP 前十名。當(dāng)然,物聯(lián)網(wǎng)設(shè)備作為一個類別往往以經(jīng)常包含更多漏洞而聞名,這些漏洞通常會在其他類型的系統(tǒng)中看到,包括但當(dāng)然不限于數(shù)據(jù)驗證漏洞。

一般來說,當(dāng)嵌入式設(shè)備和用于構(gòu)建物聯(lián)網(wǎng)設(shè)備的相關(guān)組件的設(shè)計者和制造商認真對待安全性時,物聯(lián)網(wǎng)設(shè)備的用戶會更加安全,例如擁有漏洞披露程序、默認啟用產(chǎn)品安全性等。設(shè)計和運營承諾,例如最近在 ioXt 承諾中概述的承諾。

Zephyr 項目對所披露的漏洞的反應(yīng)非常好,其中最高風(fēng)險的組件和其他幾個已被修補,并且 Zephyr 項目似乎熱衷于向他們的用戶宣傳我們的發(fā)現(xiàn)和項目的總體安全性。在我們向 Zephyr 團隊披露我們的發(fā)現(xiàn)后,他們創(chuàng)建了一個 產(chǎn)品創(chuàng)建者漏洞警報注冊表, 以幫助他們更好地與在其產(chǎn)品中使用 Zephyr 的客戶建立聯(lián)系。致力于不斷提高安全性以及圍繞減輕物聯(lián)網(wǎng)設(shè)備中的安全風(fēng)險進行透明通信是朝著更安全的世界邁出的重要一步。

審核編輯:郭婷

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

    關(guān)注

    5200

    文章

    20511

    瀏覽量

    334949
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    8448

    瀏覽量

    284967
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2947

    文章

    47904

    瀏覽量

    416025
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    芯科科技攜手Ezurio提供支持Zephyr的新型藍牙模塊

    Silicon Labs(芯科科技)與Ezurio為客戶提供了多樣解決方案以實現(xiàn)物聯(lián)網(wǎng)無線連接的創(chuàng)新途徑。Ezurio通過采用芯科科技的藍牙模組,并全面支持領(lǐng)先的開源RTOS-Zephyr,為開發(fā)者
    的頭像 發(fā)表于 03-11 14:39 ?295次閱讀

    【瑞薩FPB-RA6E2試用】GPIO-Zephyr RTOS 閃爍程序及設(shè)備樹理解

    GitHub開源代碼地址:https://github.com/zephyrproject-rtos/zephyr/tree/main/boards/renesas/fpb_ra6e2 5.1 設(shè)備
    發(fā)表于 01-13 14:37

    【瑞薩RA × Zephyr評測】Zephyr RTOS保姆級環(huán)境構(gòu)建與編譯下載踩坑版

    筆者介紹一下Zephyr RTOS 保姆級環(huán)境構(gòu)建與編譯下載
    的頭像 發(fā)表于 01-10 10:03 ?8461次閱讀
    【瑞薩RA × <b class='flag-5'>Zephyr</b>評測】<b class='flag-5'>Zephyr</b> RTOS保姆級環(huán)境構(gòu)建與編譯下載踩坑版

    當(dāng)RA MCU遇見Zephyr系列(4)——閃燈程序的構(gòu)建與調(diào)試

    當(dāng)RAMCU遇見Zephyr,打通嵌入式開發(fā)任督二脈!當(dāng)RAMCU遇見Zephyr系列(2)——搭建瑞薩RAVScode開發(fā)環(huán)境當(dāng)RAMCU遇見Zephyr系列(3)——在Vscode
    的頭像 發(fā)表于 01-06 18:05 ?7218次閱讀
    當(dāng)RA MCU遇見<b class='flag-5'>Zephyr</b>系列(4)——閃燈程序的構(gòu)建與調(diào)試

    當(dāng)RA MCU遇見Zephyr系列(3)——在Vs code配置Zephyr集成開發(fā)環(huán)境

    RA生態(tài)工作室關(guān)注我們上一篇文章介紹了如何在VScode中使用瑞薩官方插件為RA芯片創(chuàng)建項目與項目調(diào)試,相信大家對RA在VScode的開發(fā)有了基礎(chǔ)的了解。當(dāng)RAMCU遇見Zephyr,打通
    的頭像 發(fā)表于 01-01 10:04 ?4943次閱讀
    當(dāng)RA MCU遇見<b class='flag-5'>Zephyr</b>系列(3)——在Vs  code<b class='flag-5'>中</b>配置<b class='flag-5'>Zephyr</b>集成開發(fā)環(huán)境

    開源分享】ZSWatch - 基于 Zephyr 的智能手表

    “從零開始打造的智能手表,包括硬件和軟件。它基于ZephyrProject實時操作系統(tǒng),因此被命名為ZSWatch-Zephyr智能手表?!盳SWatchv4:不銹鋼(左),透明樹脂3D打?。ㄓ?/div>
    的頭像 發(fā)表于 12-30 08:05 ?487次閱讀
    【<b class='flag-5'>開源</b>分享】ZSWatch - 基于 <b class='flag-5'>Zephyr</b> 的智能手表

    如何在Zephyr RTOS實現(xiàn)延時和計時函數(shù)

    在實時操作系統(tǒng)(RTOS),時間管理是核心功能之一。無論是任務(wù)調(diào)度、超時控制,還是周期性事件,延時和計時機制都扮演著至關(guān)重要的角色。Zephyr RTOS作為一輕量級、模塊化的開源
    的頭像 發(fā)表于 12-26 10:32 ?5609次閱讀
    如何在<b class='flag-5'>Zephyr</b> RTOS<b class='flag-5'>中</b>實現(xiàn)延時和計時函數(shù)

    當(dāng)RA MCU遇見Zephyr,打通嵌入式開發(fā)任督二脈!

    。其中,RA系列MCU+Zephyr可能是更符合發(fā)展趨勢的解決方案。一什么是Zephyr?#Zephyr是一款由Linux基金會主導(dǎo),專為嵌入式設(shè)備設(shè)計的開源實時
    的頭像 發(fā)表于 12-08 17:14 ?1670次閱讀
    當(dāng)RA MCU遇見<b class='flag-5'>Zephyr</b>,打通嵌入式開發(fā)任督二脈!

    芯科科技升級Zephyr項目鉑金等級

    Silicon Labs (芯科科技)已將其在 Zephyr 項目的會員等級提升至鉑金級,這標志著我們對開源生態(tài)系統(tǒng)以及在資源受限硬件上構(gòu)建安全、互聯(lián)設(shè)備的開發(fā)者群體的長期承諾。
    的頭像 發(fā)表于 09-19 10:29 ?1122次閱讀

    全網(wǎng)最全學(xué)習(xí)Zephyr開發(fā)教程資料匯總-從基礎(chǔ)文檔視頻到上手實操示例

    Zephyr作為一款開源且極具靈活性與可擴展性的實時操作系統(tǒng)(RTOS),擁有原生的 BLE 協(xié)議棧、完整的 Net 協(xié)議棧,涵蓋 TCP/IP 與應(yīng)用層協(xié)議,具備出色的實時性,支持硬實時任務(wù)調(diào)度
    發(fā)表于 07-04 11:13

    Zephyr SDK Glue v0.5.0 發(fā)布

    各位關(guān)注先楫的小伙伴們,基于Zephyrv3.7.0(LTS)版本和hpm_sdkv1.6.0版本的ZephyrSDKgluev0.5.0正式發(fā)布了。先楫MCU的Zephyr開發(fā)包Zephyr是一通用的嵌入式實時操作系統(tǒng),具備
    的頭像 發(fā)表于 06-17 16:53 ?1747次閱讀
    <b class='flag-5'>Zephyr</b> SDK Glue v0.5.0 發(fā)布

    使用Percepio View免費跟蹤工具分析Zephyr應(yīng)用

    Percepio View免費跟蹤工具現(xiàn)在可以針對Zephyr應(yīng)用程序進行跟蹤和可視化分析了。Percepio View可以幫助開發(fā)人員理解和調(diào)試Zephyr的固定優(yōu)先級的多線程行為及復(fù)雜的線程交互。
    的頭像 發(fā)表于 05-27 15:08 ?824次閱讀
    使用Percepio View免費跟蹤工具分析<b class='flag-5'>Zephyr</b>應(yīng)用

    nRF Connect SDK(NCS)/Zephyr固件升級詳解 – 重點講述MCUboot和藍牙空中升級

    如何在nRF Connect SDK(NCS)實現(xiàn)藍牙空中升級?MCUboot和B0兩Bootloader有什么區(qū)別?MCUboot升級使用的image格式是怎么樣的?什么是SMP
    的頭像 發(fā)表于 05-09 14:14 ?3663次閱讀
    nRF Connect SDK(NCS)/<b class='flag-5'>Zephyr</b>固件升級詳解 – 重點講述<b class='flag-5'>MCUboot</b>和藍牙空中升級

    使用Tracealyzer調(diào)試Zephyr的優(yōu)先級反轉(zhuǎn)

    Percepio Tracealyzer已經(jīng)在600多個支持Zephyr的開發(fā)板上完成了驗證,可以幫助開發(fā)人員改進Zephyr應(yīng)用的調(diào)試和性能分析。
    的頭像 發(fā)表于 04-21 11:31 ?1185次閱讀
    使用Tracealyzer調(diào)試<b class='flag-5'>Zephyr</b><b class='flag-5'>中</b>的優(yōu)先級反轉(zhuǎn)

    使用RT1060的mcuboot開源sdk示例擦除主插槽的錯誤鏡像怎么解決?

    解釋一下我之前在做什么。 1. 我使用 mcuxpresso Ide 將 mcuboot 開源刷寫到 rt1060。 之后,我在控制臺中收到了以下消息。 Bootloader 版本 1.9.0 圖像 0 主
    發(fā)表于 04-10 08:13