chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

開源Zephyr和MCUboot堆棧中的26個(gè)缺陷

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

掃碼添加小助手

加入工程師交流群

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

與任何開源技術(shù)一樣,維護(hù)和改進(jìn) Zephyr 和 MCUboot 代碼庫屬于社區(qū),這在許多人看來等同于提高安全性。事實(shí)上,福布斯最近一篇報(bào)道 Zephyr 項(xiàng)目的文章指出“開源軟件通常被認(rèn)為更安全,因?yàn)槿魏稳硕伎梢詸z查和調(diào)試代碼。 ”

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

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

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

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

pYYBAGL587mAeAtYAAH4uNsGa5I665.png

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

審核編輯:郭婷

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

    關(guān)注

    5150

    文章

    19665

    瀏覽量

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

    關(guān)注

    60

    文章

    8182

    瀏覽量

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

    關(guān)注

    2930

    文章

    46230

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

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

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

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

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

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

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

    恩智浦分享Zephyr調(diào)試技巧

    前面幾期中,我們著重給大家介紹了如何搭建Zephyr開發(fā)環(huán)境,以及如何添加自己的應(yīng)用代碼。今天讓我們開始一個(gè)新的篇章:Zephyr調(diào)試技巧以及介紹Ozone進(jìn)行Zephyr的調(diào)試分享。
    的頭像 發(fā)表于 03-13 09:05 ?1267次閱讀

    恩智浦解讀Zephyr log系統(tǒng)的使用 Zephyr的shell和log功能介紹

    之前 我們從 0 開始新建了一個(gè)簡單的 Zephyr 應(yīng)用- 從0開始打造屬于自己的HelloWorld ,本期就 帶著大家熟悉一下 Zephyr 的 shell 和 log 系統(tǒng)。 首先給大家介紹
    的頭像 發(fā)表于 02-27 09:19 ?1157次閱讀
    恩智浦解讀<b class='flag-5'>Zephyr</b> log系統(tǒng)的使用 <b class='flag-5'>Zephyr</b>的shell和log功能介紹

    IAR加入Zephyr項(xiàng)目,強(qiáng)化開源協(xié)作承諾

    支持。 Zephyr作為一個(gè)廣泛應(yīng)用于嵌入式行業(yè)的開源實(shí)時(shí)操作系統(tǒng)(RTOS),憑借其靈活性和高效性,已經(jīng)贏得了眾多嵌入式領(lǐng)域重要企業(yè)的青睞。IAR Systems此次加入Zephyr
    的頭像 發(fā)表于 02-17 09:55 ?506次閱讀

    IAR正式加入Zephyr項(xiàng)目,成為銀牌會員

    全球領(lǐng)先的嵌入式系統(tǒng)開發(fā)軟件解決方案供應(yīng)商IAR,近日宣布正式加入由Linux基金會托管的Zephyr項(xiàng)目,并榮膺銀牌會員身份。這一舉措標(biāo)志著IAR在嵌入式行業(yè)的又一重要布局,展現(xiàn)了其對開源社區(qū)
    的頭像 發(fā)表于 02-12 14:25 ?579次閱讀

    IAR正式加入Zephyr項(xiàng)目

    全球領(lǐng)先的嵌入式系統(tǒng)開發(fā)軟件解決方案供應(yīng)商IAR宣布,正式加入Zephyr項(xiàng)目,成為銀牌會員。Zephyr是由Linux基金會托管并廣泛應(yīng)用于嵌入式行業(yè)的開源實(shí)時(shí)操作系統(tǒng)(RTOS),已得到眾多
    的頭像 發(fā)表于 02-12 14:19 ?589次閱讀

    使用MCUXpresso for VS Code插件開發(fā)Zephyr的hello world

    本期來到Zephyr實(shí)戰(zhàn)經(jīng)驗(yàn)演練,小編帶著大家一起使用MCUXpresso for VS Code插件來開發(fā)一個(gè)屬于Zephyr的hello world。
    的頭像 發(fā)表于 01-03 09:21 ?1256次閱讀
    使用MCUXpresso for VS Code插件開發(fā)<b class='flag-5'>Zephyr</b>的hello world

    Zephyr的構(gòu)建工具

    給大家介紹一下Zephyr的構(gòu)建工具們:
    的頭像 發(fā)表于 12-05 09:51 ?1529次閱讀
    <b class='flag-5'>Zephyr</b>的構(gòu)建工具

    使用MCUXPresso插件開發(fā)Zephyr

    應(yīng)廣大讀者朋友的熱情邀請,我們特別策劃了“Zephyr領(lǐng)進(jìn)門”系列介紹(共十篇),旨在為大家深度剖析Zephyr OS——這一備受矚目的開源實(shí)時(shí)操作系統(tǒng)。從使用MCUXPresso插件進(jìn)行開發(fā)
    的頭像 發(fā)表于 11-28 09:41 ?881次閱讀

    深入解析Zephyr RTOS的技術(shù)細(xì)節(jié)

    Zephyr是一個(gè)針對資源受限設(shè)備優(yōu)化的小型、可縮放、多體系架構(gòu)實(shí)時(shí)操作系統(tǒng)(RTOS)。Zephyr由Linux基金會維護(hù)[1],是一個(gè)以構(gòu)建業(yè)界最佳的RTOS為目標(biāo)的
    的頭像 發(fā)表于 10-22 16:47 ?2216次閱讀
    深入解析<b class='flag-5'>Zephyr</b> RTOS的技術(shù)細(xì)節(jié)

    堆棧和內(nèi)存的基本知識

    本文主要聊聊關(guān)于堆棧的內(nèi)容。包括堆棧和內(nèi)存的基本知識。常見和堆棧相關(guān)的 bug,如棧溢出,內(nèi)存泄漏,堆內(nèi)存分配失敗等。后面介紹軟件堆棧統(tǒng)計(jì)
    的頭像 發(fā)表于 08-29 14:10 ?1044次閱讀
    <b class='flag-5'>堆棧</b>和內(nèi)存的基本知識