色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

虹科在RAUC嵌入式固件更新框架中發現重大漏洞

hAR7_OPPOOIA ? 來源:廣州虹科電子科技有限公 ? 作者:廣州虹科電子科技 ? 2021-08-10 10:07 ? 次閱讀

● 虹科Vdoo安全研究團隊不斷研究領先的嵌入式設備及其供應鏈,在RAUC 嵌入式固件更新框架中發現的重大漏洞——

● CVE-2020-25860是一個潛在的嚴重漏洞,其在RAUC中的 CVSSv3 得分為 8.8。此漏洞存在于 RAUC 的所有版本中,直到 1.5,其中包含補丁。

該漏洞是一個 Time-of-Check-Time-of-Use ( CWE-367 ) 問題允許有權限的攻擊者在固件更新文件被驗證后(但在安裝完成前)覆蓋它,從而允許安裝一個任意的固件更新,繞過加密簽名檢查機制。

● 與供應鏈漏洞一樣,很難準確估計有多少設備受其影響。鑒于RAUC這是一個開源工具,而且許多與供應商沒有關系的不同公司都可以使用它,因此這種估計更加復雜。

RAUC背景

RAUC—Robust Auto-Update Controller,該項目始于 2015 年,被開發為輕量級工具,可為基于 Linux 的嵌入式設備執行故障安全的圖像更新。 RAUC 允許嵌入式 Linux 開發人員在他們的嵌入式設備上集成一個強大的更新客戶端,只需最少的努力,同時避免編寫任何更新代碼。RAUC框架支持許多常見的引導程序(U-Boot、grub等)和存儲技術(ext4、UBIFS等),因此,它試圖盡可能地接近嵌入式設備固件更新的 “統包”解決方案。 RAUC 的主要特性是安全性(原子性、故障安全更新操作)、保障性(加密簽名檢查)和可定制性(在安裝過程中添加用戶掛鉤)。

技術深究

RAUC 使用捆綁文件作為保存新固件的存檔。我們發現在固件升級過程中,此文件可以被攻擊者替換(在初始驗證步驟之后),并且通過這樣做會安裝惡意固件,從而有效地允許攻擊者控制系統。運行rauc install bundle.raucb時RAUC 會運行以下內部函數:

check_bundle() – 使用 openssl 庫調用驗證包

mount_bundle() – 使用“mount”shell 調用掛載包

在這些步驟之后,安裝的包被提取并覆蓋當前固件。關鍵問題在于一旦 check_bundle() 完成運行,捆綁文件就會關閉,并且不會以任何方式保留已驗證的數據。當 mount_bundle()開始運行時,mountshell 調用會導致重新讀取包數據:

gboolean mount_bundle(RaucBundle *bundle, GError **error){...g_message(“Mounting bundle ‘%s’ to ‘%s’”, bundle-》path, mount_point);

res = r_mount_loop(bundle-》path, mount_point, bundle-》size,...gboolean r_mount_full(const gchar *source, const gchar *mountpoint, const gchar* t

gboolean r_mount_full(const gchar *source, const gchar *mountpoint, const gchar* type, goffset size, const gchar* extra_options, GError **error){...if (getuid() != 0) { g_ptr_array_add(args, g_strdup(“sudo”));

g_ptr_array_add(args, g_strdup(“--non-interactive”)); } g_ptr_array_add(args, g_strdup(“mount”));...g_ptr_array_add(args, g_strdup(source));...sproc = r_subprocess_newv(args, G_SUBPROCESS_FLAGS_NONE, &ierror);...

因此——攻擊者可以在調用 check_bundle() 和mount_bundle() 之間切換包文件。這讓攻擊者可以部署任意惡意固件,基本上可以在設備上提供root權限。

b247f38a-ed16-11eb-a97a-12bb97331649.png

圖 :攻擊流程,當進程到達 mount_bundle() 時,攻擊者可以替換包文件,因此 RAUC 將掛載未經授權的包

贏得競爭條件(在檢查/掛載包調用之間替換包文件)的機會非常高,因為在包括shell 調用(“mount”命令)在內的兩個操作之間存在不可忽略的代碼量,這是一個非常緩慢的操作。

觀察到的遠程攻擊場景

盡管在大多數情況下,虹科認為該漏洞可作為本地權限升級加以利用,但我們觀察到一個真實場景,即遠程攻擊者可利用一組默認硬編碼憑據利用該漏洞。目標設備使用了一組默認的硬編碼憑據(用戶名和密碼設置為“admin”),首次登錄時不需要更改這些憑據。這些憑證可以被能夠訪問設備固件的攻擊者輕易提取,或者通過簡單的暴力攻擊來猜測。

查看設備的攻擊面:

目標設備暴露了一個經過認證的 CGI 端點upload.cgi,它允許將任意文件上傳到硬編碼的文件路徑 -/tmp/rauc/bundle.raucb

目標設備暴露了一個經過認證的 CGI 端點install.cgi,該端點運行硬編碼的 shell 命令 -rauc install /tmp/rauc/bundle.raucb

兩個 CGI 端點之間沒有適當的鎖定機制

在這種情況下,攻擊者可以遠程接管設備,只需調用:

upload.cgi 帶有正確簽名的固件

install.cgi

(很快)upload.cgi帶有惡意固件

本地攻擊場景和PoC

假設本地用戶有調用 RAUC 的權限(例如,通過只允許rauc命令的 sudo 配置),但沒有簽署RAUC捆綁包所需的私鑰,利用是沒有價值的:將正確簽名的固件復制到某個路徑,例如: 。/bundle.raucb Invoke RAUC –sudo rauc install./bundle.raucb迅速用惡意的固件替換。/bundle.raucb

如果本地用戶無法調用 RAUC 命令,假設調用 RAUC 命令的特權用戶使用攻擊者可以寫入的路徑,則這種情況也可以被利用。我們開發了一個概念驗證,它利用了這個確切的場景:

PoC 接受要替換的包文件的完整路徑

PoC通過監控一個默認目錄(/mnt/rauc)來等待另一個用戶運行rauc安裝,該目錄在驗證步驟之后但在安裝步驟之前被創建。

一旦驗證結束(目錄被創建),PoC 就會用任意的輸入覆蓋包文件。

攻擊的bundle文件可以被移到正確簽名的bundle文件上(這比在正確的位置寫一個新文件要快)。

作為設備供應商

如何知道設備是否受此漏洞的影響?

可以通過在您的設備上運行此命令來檢查您的RAUC 版本是否存在漏洞:

rauc --version

如果報告的版本低于1.5,則您的設備包含有漏洞的代碼。實際上,只有當本地或遠程攻擊者有可能在安裝捆綁包時修改該文件,該設備才會有漏洞。例如,這可能發生在以下情況:

非特權用戶可以通過sudo機制、setuid機制或任何其他專有機制,以root權限調用rauc命令。例如,/etc/sudoers文件中的以下行將允許“vdoo”用戶以 root 身份調用RAUC:

vdoo ALL=(root) /usr/bin/rauc

rauc install可以由非特權用戶修改的捆綁路徑隨時調用。例如:

/usr/bin/rauc install /tmp/mybundle.raucb

由于/tmp默認情況下是全局可寫的,因此通常任何用戶都可以修改其下的文件。

虹科Vdoo 在其Vision平臺中添加了一個適用性掃描器,可以通過檢測所有RAUC 調用并檢查相關安裝路徑的權限來自動驗證是否發生這種情況,為您的設備保駕護航。

作為資產所有者

如何知道部署的設備是否存在漏洞?

不幸的是,似乎很難判斷此漏洞是否存在,更重要的是,僅僅使用網絡工具或不實際查看設備代碼,就很難適用。

如果您的設備供應商為設備提供了軟件物料清單 (SBOM),請查看是否使用了 RAUC,如果使用了,那么理論上您很可能容易受到攻擊(除非版本明確列為 1.5),因為有漏洞代碼存在。但這并不意味著該漏洞是可利用的。如有需要,請隨時聯系虹科Vdoo為您提供幫助。

如果無法升級RAUC

如何降低風險?

如上所述,這是一個經典的Time-of-Check-Time-of-Use 漏洞,其中攻擊利用非原子性的動作,涉及到對資源的檢查和資源的使用。在這種情況下,進行簽名檢查,用法為安裝/升級。

通過確保安裝是原子性的并且從安全路徑發生,可以減輕攻擊。在運行rauc install之前,將捆綁文件從全局可寫位置復制到安全位置(僅限 root 可寫)并從該路徑運行安裝。使用安全位置的存在作為鎖定機制。這將確保未經授權的用戶(無論是本地還是遠程)無法插手安裝過程。

這可以通過這個示例 shell 腳本來完成:

# Assuming firmware is uploaded to /tmp/uploads/bundle.bin# Assuming /data/fw_upgrade can be written to only by rootif [ ! -e /data/fw_upgrade/bundle.bin ];

then cp /tmp/uploads/bundle.bin /data/fw_upgrade/bundle.bin /usr/bin/rauc install /data/fw_upgrade/bundle.bin rm /data/fw_upgrade/bundle.binfi

請注意,在使用像Yocto這樣的構建系統時,更改安裝腳本可能并不比切換到固定的RAUC版本容易得多。

附錄-虹科Vdoo安全性防護平臺

虹科Vdoo是端到端的產品安全分析平臺,在整個產品生命周期中自動化所以軟件安全任務,確保所有安全問題得到優先處理、溝通和緩解。垂直無關的平臺使各種行業的設備制造商和部署者能夠跨多個業務線擴展其產品安全功能。虹科Vdoo自動保護連接產品的方法使客戶大大縮短了上市時間,減少了資源需求,增加了銷售量,降低了總體風險。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5082

    文章

    19111

    瀏覽量

    304856
  • 虹科電子
    +關注

    關注

    0

    文章

    601

    瀏覽量

    14340

原文標題:虹科方案 | 虹科Vdoo安全平臺-在 RAUC 嵌入式固件更新框架中發現的重大漏洞

文章出處:【微信號:OPPOOIA,微信公眾號:OPPOstory】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    EEPROM嵌入式系統中的應用 EEPROM數據保護技術解析

    的數據進行擦除和重寫。嵌入式系統中,EEPROM因其獨特的特性而被廣泛應用于存儲關鍵數據,如配置參數、校準數據和固件更新等。 EEPROM
    的頭像 發表于 12-16 16:37 ?390次閱讀

    應用 為什么PCAN方案能成為石油工程通訊的首選?

    了CAN總線型傳感器、嵌入式計算機、顯示器和觸摸屏操作的鉆井監視儀,能夠實時監測泥漿參數、絞車和泥漿泵的工作狀態,并及時處理故障,確保鉆井作業的安全與高效。PCAN接口卡支持多種協議,提供豐富的接口類型和廣泛的系統兼容性,適
    的頭像 發表于 11-08 16:48 ?216次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>應用 為什么<b class='flag-5'>虹</b><b class='flag-5'>科</b>PCAN方案能成為石油工程通訊的首選?

    什么是嵌入式?一文讀懂嵌入式主板

    現代科技浪潮中,嵌入式技術已成為支撐各種智能設備和系統運行的核心力量。那么,究竟什么是嵌入式嵌入式系統,顧名思義,是將計算機的硬件和軟件嵌入
    的頭像 發表于 10-16 10:14 ?934次閱讀

    【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+ Hypervisor應用場景調研

    ,比如系統軟件和應用軟件自身的漏洞、病毒和網絡攻擊、以及人為操作導致的破壞,Hypervisor的出現就是為了構建高可靠性的嵌入式系統,原來如此?。?讀到這里,我感覺Hypervisor雖然可提高系統
    發表于 10-14 11:21

    恭喜榮獲“CEC 2024年度編輯推薦獎”!

    恭喜IO-Link OEM嵌入式開發模塊第二十屆CONTROL ENGINEERING China年度產品評選中榮獲“CEC 2024年度編輯推薦獎”
    的頭像 發表于 10-09 14:00 ?233次閱讀
    恭喜<b class='flag-5'>虹</b><b class='flag-5'>科</b>榮獲“CEC 2024年度編輯推薦獎”!

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統的核心組件,是一種用于控制和數據處理的計算機硬件,其設計旨在嵌入特定設備中執行專門任務。嵌入式主板如同是設備的“大腦”,主要功能是根據需要管理和控制設備
    的頭像 發表于 09-30 10:05 ?452次閱讀

    嵌入式系統的未來趨勢有哪些?

    ,會更多地使用環保材料,以減少對環境的污染。同時,系統設計將更加注重生態可持續性,滿足可持續發展的需求。 6. 實時操作系統(RTOS)的發展 實時操作系統嵌入式系統中發揮關鍵作用。未來的RTOS可能會具備更好的多核處理器支持
    發表于 09-12 15:42

    北京迅為RK3568開發板嵌入式學習之Linux驅動全新更新-CAN+

    北京迅為RK3568開發板嵌入式學習之Linux驅動全新更新-CAN+
    的頭像 發表于 09-04 15:29 ?501次閱讀
    北京迅為RK3568開發板<b class='flag-5'>嵌入式</b>學習之Linux驅動全新<b class='flag-5'>更新</b>-CAN+

    七大嵌入式GUI盤點

    允許開發者資源受限的設備上創建和提供類似智能手機的用戶體驗。這個框架是Qt生態系統的一部分,旨在將Qt的創造力帶入嵌入式微控制器領域,支持跨微處理器(MPU)和微控制器(MCU)重用UI,并使用現成
    發表于 09-02 10:58

    機器視覺嵌入式中的應用

    機器視覺嵌入式系統中的應用是一個廣泛而深入的話題,涉及到許多不同的領域和技術。 機器視覺嵌入式系統中的應用 1. 引言 機器視覺是一種模擬人類視覺系統的功能,通過圖像采集、處理和分
    的頭像 發表于 07-16 10:30 ?513次閱讀

    深度詳解嵌入式系統專用輕量級框架設計

    MR 框架是專為嵌入式系統設計的輕量級框架。充分考慮了嵌入式系統資源和性能方面的需求。通過提供標準化的設備管理接口,極大簡化了
    發表于 04-27 02:32 ?984次閱讀
    深度詳解<b class='flag-5'>嵌入式</b>系統專用輕量級<b class='flag-5'>框架</b>設計

    再談嵌入式實時操作系統

    等領域。嵌入式實時操作系統(RTOS)構造簡單、功能齊全、便于使用,特別適合各類應用場景,因此它在軟件應用程序開發中發揮著重要的作用,使嵌入式系統的開發更加高效。
    的頭像 發表于 04-09 17:27 ?789次閱讀
    再談<b class='flag-5'>嵌入式</b>實時操作系統

    嵌入式和fpga的關系

    FPGA(現場可編程門陣列)和嵌入式系統之間存在密切的關系,它們都是計算機硬件領域的重要組成部分,并在許多應用中發揮著關鍵作用。
    的頭像 發表于 03-15 14:19 ?922次閱讀

    fpga是嵌入式

    FPGA(現場可編程門陣列)不是嵌入式系統,但FPGA嵌入式系統中有著重要的應用。
    的頭像 發表于 03-14 17:19 ?2286次閱讀

    嵌入式學習步驟

    硬件組件。 (4).開發固件:編寫嵌入式系統的固件,這是嵌入式系統的軟件部分。固件負責控制硬件并執行特定任務。 (5).調試和測試:
    發表于 02-02 15:24
    主站蜘蛛池模板: 91精品婷婷国产综合久久8| yellow高清免费观看日本| ass女人下部欣赏| 国产成人一区二区三区在线观看| 果冻传媒视频在线播放| 嗯啊…跟校草在教室里做h| 色欲午夜无码久久久久久| 亚洲人成影院在线播放| poronovideos动物狗猪| 国产曰批试看免费视频播放免费| 内射白浆一区二区在线观看| 性虎成人网| jizzjizz中国大学生| 国产在线精品亚洲观看不卡欧美 | 天美传媒在线观看完整高清| 亚洲视频不卡| 动漫美女被吸奶| 看电影就来5566先锋av| 我要色导航| 99视频国产在线| 久久re热在线视频精69| 色综合久久88色综合天天提莫| 中国女人内谢69xxxxxx直播| 国产精品久久婷婷五月色| 嗯啊不要老师| 亚洲一区成人| 国产精品看高国产精品不卡| 欧美zzzoooxxx| 一品道门在线视频| 国产精品自在拍在线播放| 拍戏被CAO翻了H| 最新国产亚洲亚洲精品视频 | 免费国产成人高清在线看软件| 香蕉精品国产自在现线拍| thermo脱色摇床安卓下载| 久久久久久久久a免费| 邪恶肉肉全彩色无遮盖| 啊片色播电影| 内射人妻骚骚骚| 中文无码第3页不卡av| 韩国黄色影院|