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

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

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

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

虹科在RAUC嵌入式固件更新框架中發(fā)現(xiàn)重大漏洞

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

● 虹科Vdoo安全研究團(tuán)隊(duì)不斷研究領(lǐng)先的嵌入式設(shè)備及其供應(yīng)鏈,在RAUC 嵌入式固件更新框架中發(fā)現(xiàn)的重大漏洞——

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

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

● 與供應(yīng)鏈漏洞一樣,很難準(zhǔn)確估計(jì)有多少設(shè)備受其影響。鑒于RAUC這是一個(gè)開(kāi)源工具,而且許多與供應(yīng)商沒(méi)有關(guān)系的不同公司都可以使用它,因此這種估計(jì)更加復(fù)雜。

RAUC背景

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

技術(shù)深究

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

check_bundle() – 使用 openssl 庫(kù)調(diào)用驗(yàn)證包

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

在這些步驟之后,安裝的包被提取并覆蓋當(dāng)前固件。關(guān)鍵問(wèn)題在于一旦 check_bundle() 完成運(yùn)行,捆綁文件就會(huì)關(guān)閉,并且不會(huì)以任何方式保留已驗(yàn)證的數(shù)據(jù)。當(dāng) mount_bundle()開(kāi)始運(yùn)行時(shí),mountshell 調(diào)用會(huì)導(dǎo)致重新讀取包數(shù)據(jù):

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);...

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

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

圖 :攻擊流程,當(dāng)進(jìn)程到達(dá) mount_bundle() 時(shí),攻擊者可以替換包文件,因此 RAUC 將掛載未經(jīng)授權(quán)的包

贏得競(jìng)爭(zhēng)條件(在檢查/掛載包調(diào)用之間替換包文件)的機(jī)會(huì)非常高,因?yàn)樵诎╯hell 調(diào)用(“mount”命令)在內(nèi)的兩個(gè)操作之間存在不可忽略的代碼量,這是一個(gè)非常緩慢的操作。

觀察到的遠(yuǎn)程攻擊場(chǎng)景

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

查看設(shè)備的攻擊面:

目標(biāo)設(shè)備暴露了一個(gè)經(jīng)過(guò)認(rèn)證的 CGI 端點(diǎn)upload.cgi,它允許將任意文件上傳到硬編碼的文件路徑 -/tmp/rauc/bundle.raucb

目標(biāo)設(shè)備暴露了一個(gè)經(jīng)過(guò)認(rèn)證的 CGI 端點(diǎn)install.cgi,該端點(diǎn)運(yùn)行硬編碼的 shell 命令 -rauc install /tmp/rauc/bundle.raucb

兩個(gè) CGI 端點(diǎn)之間沒(méi)有適當(dāng)?shù)逆i定機(jī)制

在這種情況下,攻擊者可以遠(yuǎn)程接管設(shè)備,只需調(diào)用:

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

install.cgi

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

本地攻擊場(chǎng)景和PoC

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

如果本地用戶無(wú)法調(diào)用 RAUC 命令,假設(shè)調(diào)用 RAUC 命令的特權(quán)用戶使用攻擊者可以寫入的路徑,則這種情況也可以被利用。我們開(kāi)發(fā)了一個(gè)概念驗(yàn)證,它利用了這個(gè)確切的場(chǎng)景:

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

PoC通過(guò)監(jiān)控一個(gè)默認(rèn)目錄(/mnt/rauc)來(lái)等待另一個(gè)用戶運(yùn)行rauc安裝,該目錄在驗(yàn)證步驟之后但在安裝步驟之前被創(chuàng)建。

一旦驗(yàn)證結(jié)束(目錄被創(chuàng)建),PoC 就會(huì)用任意的輸入覆蓋包文件。

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

作為設(shè)備供應(yīng)商

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

可以通過(guò)在您的設(shè)備上運(yùn)行此命令來(lái)檢查您的RAUC 版本是否存在漏洞:

rauc --version

如果報(bào)告的版本低于1.5,則您的設(shè)備包含有漏洞的代碼。實(shí)際上,只有當(dāng)本地或遠(yuǎn)程攻擊者有可能在安裝捆綁包時(shí)修改該文件,該設(shè)備才會(huì)有漏洞。例如,這可能發(fā)生在以下情況:

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

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

rauc install可以由非特權(quán)用戶修改的捆綁路徑隨時(shí)調(diào)用。例如:

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

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

虹科Vdoo 在其Vision平臺(tái)中添加了一個(gè)適用性掃描器,可以通過(guò)檢測(cè)所有RAUC 調(diào)用并檢查相關(guān)安裝路徑的權(quán)限來(lái)自動(dòng)驗(yàn)證是否發(fā)生這種情況,為您的設(shè)備保駕護(hù)航。

作為資產(chǎn)所有者

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

不幸的是,似乎很難判斷此漏洞是否存在,更重要的是,僅僅使用網(wǎng)絡(luò)工具或不實(shí)際查看設(shè)備代碼,就很難適用。

如果您的設(shè)備供應(yīng)商為設(shè)備提供了軟件物料清單 (SBOM),請(qǐng)查看是否使用了 RAUC,如果使用了,那么理論上您很可能容易受到攻擊(除非版本明確列為 1.5),因?yàn)橛新┒创a存在。但這并不意味著該漏洞是可利用的。如有需要,請(qǐng)隨時(shí)聯(lián)系虹科Vdoo為您提供幫助。

如果無(wú)法升級(jí)RAUC

如何降低風(fēng)險(xiǎn)?

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

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

這可以通過(guò)這個(gè)示例 shell 腳本來(lái)完成:

# 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

請(qǐng)注意,在使用像Yocto這樣的構(gòu)建系統(tǒng)時(shí),更改安裝腳本可能并不比切換到固定的RAUC版本容易得多。

附錄-虹科Vdoo安全性防護(hù)平臺(tái)

虹科Vdoo是端到端的產(chǎn)品安全分析平臺(tái),在整個(gè)產(chǎn)品生命周期中自動(dòng)化所以軟件安全任務(wù),確保所有安全問(wèn)題得到優(yōu)先處理、溝通和緩解。垂直無(wú)關(guān)的平臺(tái)使各種行業(yè)的設(shè)備制造商和部署者能夠跨多個(gè)業(yè)務(wù)線擴(kuò)展其產(chǎn)品安全功能。虹科Vdoo自動(dòng)保護(hù)連接產(chǎn)品的方法使客戶大大縮短了上市時(shí)間,減少了資源需求,增加了銷售量,降低了總體風(fēng)險(xiǎn)。

責(zé)任編輯:haq

聲明:本文內(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)注

    5090

    文章

    19176

    瀏覽量

    306915
  • 虹科電子
    +關(guān)注

    關(guān)注

    0

    文章

    613

    瀏覽量

    14403

原文標(biāo)題:虹科方案 | 虹科Vdoo安全平臺(tái)-在 RAUC 嵌入式固件更新框架中發(fā)現(xiàn)的重大漏洞

文章出處:【微信號(hào):OPPOOIA,微信公眾號(hào):OPPOstory】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何提高嵌入式代碼質(zhì)量?

    技術(shù) 現(xiàn)代的嵌入式開(kāi)發(fā)工具和測(cè)試技術(shù)可以極大地提升代碼質(zhì)量和開(kāi)發(fā)效率: 1. 靜態(tài)分析工具:如Coverity、Lint等,能夠幫助發(fā)現(xiàn)潛在的代碼缺陷和安全漏洞。 2. 單元測(cè)試和集成測(cè)試:編寫
    發(fā)表于 01-15 10:48

    EEPROM嵌入式系統(tǒng)中的應(yīng)用 EEPROM數(shù)據(jù)保護(hù)技術(shù)解析

    的數(shù)據(jù)進(jìn)行擦除和重寫。嵌入式系統(tǒng)中,EEPROM因其獨(dú)特的特性而被廣泛應(yīng)用于存儲(chǔ)關(guān)鍵數(shù)據(jù),如配置參數(shù)、校準(zhǔn)數(shù)據(jù)和固件更新等。 EEPROM
    的頭像 發(fā)表于 12-16 16:37 ?1054次閱讀

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

    現(xiàn)代科技浪潮中,嵌入式技術(shù)已成為支撐各種智能設(shè)備和系統(tǒng)運(yùn)行的核心力量。那么,究竟什么是嵌入式?嵌入式系統(tǒng),顧名思義,是將計(jì)算機(jī)的硬件和軟件嵌入
    的頭像 發(fā)表于 10-16 10:14 ?1351次閱讀

    【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+ Hypervisor應(yīng)用場(chǎng)景調(diào)研

    ,比如系統(tǒng)軟件和應(yīng)用軟件自身的漏洞、病毒和網(wǎng)絡(luò)攻擊、以及人為操作導(dǎo)致的破壞,Hypervisor的出現(xiàn)就是為了構(gòu)建高可靠性的嵌入式系統(tǒng),原來(lái)如此?。?讀到這里,我感覺(jué)Hypervisor雖然可提高系統(tǒng)
    發(fā)表于 10-14 11:21

    恭喜榮獲“CEC 2024年度編輯推薦獎(jiǎng)”!

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

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

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

    嵌入式系統(tǒng)的未來(lái)趨勢(shì)有哪些?

    ,會(huì)更多地使用環(huán)保材料,以減少對(duì)環(huán)境的污染。同時(shí),系統(tǒng)設(shè)計(jì)將更加注重生態(tài)可持續(xù)性,滿足可持續(xù)發(fā)展的需求。 6. 實(shí)時(shí)操作系統(tǒng)(RTOS)的發(fā)展 實(shí)時(shí)操作系統(tǒng)嵌入式系統(tǒng)中發(fā)揮關(guān)鍵作用。未來(lái)的RTOS可能會(huì)具備更好的多核處理器支持
    發(fā)表于 09-12 15:42

    北京迅為RK3568開(kāi)發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+

    北京迅為RK3568開(kāi)發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+
    的頭像 發(fā)表于 09-04 15:29 ?593次閱讀
    北京迅為RK3568開(kāi)發(fā)板<b class='flag-5'>嵌入式</b>學(xué)習(xí)之Linux驅(qū)動(dòng)全新<b class='flag-5'>更新</b>-CAN+

    七大嵌入式GUI盤點(diǎn)

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

    機(jī)器視覺(jué)嵌入式中的應(yīng)用

    機(jī)器視覺(jué)嵌入式系統(tǒng)中的應(yīng)用是一個(gè)廣泛而深入的話題,涉及到許多不同的領(lǐng)域和技術(shù)。 機(jī)器視覺(jué)嵌入式系統(tǒng)中的應(yīng)用 1. 引言 機(jī)器視覺(jué)是一種模擬人類視覺(jué)系統(tǒng)的功能,通過(guò)圖像采集、處理和分
    的頭像 發(fā)表于 07-16 10:30 ?586次閱讀

    深度詳解嵌入式系統(tǒng)專用輕量級(jí)框架設(shè)計(jì)

    MR 框架是專為嵌入式系統(tǒng)設(shè)計(jì)的輕量級(jí)框架。充分考慮了嵌入式系統(tǒng)資源和性能方面的需求。通過(guò)提供標(biāo)準(zhǔn)化的設(shè)備管理接口,極大簡(jiǎn)化了
    發(fā)表于 04-27 02:32 ?1033次閱讀
    深度詳解<b class='flag-5'>嵌入式</b>系統(tǒng)專用輕量級(jí)<b class='flag-5'>框架</b>設(shè)計(jì)

    再談嵌入式實(shí)時(shí)操作系統(tǒng)

    等領(lǐng)域。嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)構(gòu)造簡(jiǎn)單、功能齊全、便于使用,特別適合各類應(yīng)用場(chǎng)景,因此它在軟件應(yīng)用程序開(kāi)發(fā)中發(fā)揮著重要的作用,使嵌入式系統(tǒng)的開(kāi)發(fā)更加高效。
    的頭像 發(fā)表于 04-09 17:27 ?835次閱讀
    再談<b class='flag-5'>嵌入式</b>實(shí)時(shí)操作系統(tǒng)

    嵌入式和fpga的關(guān)系

    FPGA(現(xiàn)場(chǎng)可編程門陣列)和嵌入式系統(tǒng)之間存在密切的關(guān)系,它們都是計(jì)算機(jī)硬件領(lǐng)域的重要組成部分,并在許多應(yīng)用中發(fā)揮著關(guān)鍵作用。
    的頭像 發(fā)表于 03-15 14:19 ?1003次閱讀

    fpga是嵌入式

    FPGA(現(xiàn)場(chǎng)可編程門陣列)不是嵌入式系統(tǒng),但FPGA嵌入式系統(tǒng)中有著重要的應(yīng)用。
    的頭像 發(fā)表于 03-14 17:19 ?2460次閱讀

    嵌入式學(xué)習(xí)步驟

    硬件組件。 (4).開(kāi)發(fā)固件:編寫嵌入式系統(tǒng)的固件,這是嵌入式系統(tǒng)的軟件部分。固件負(fù)責(zé)控制硬件并執(zhí)行特定任務(wù)。 (5).調(diào)試和測(cè)試:
    發(fā)表于 02-02 15:24
    主站蜘蛛池模板: 国产在线亚洲精品观看不卡 | CHINA篮球体育飞机2023 | 一区在线观看在线 | 亚洲中文字幕一二三四区苍井空 | 国内精品久久影视免费 | 国产人妻麻豆蜜桃色精 | 久久亚洲A片COM人成A | 国产精品久久一区二区三区蜜桃 | 欧美精品一卡二卡 | 欧美中文字幕一区二区三区 | 国产三级在线免费 | 极品少妇粉嫩小泬啪啪AV | 4虎最新网址 | 一本道的mv中文字幕 | 狠狠色综合久久丁香婷婷 | 美女白虎穴 | 亚洲国产精品特色大片观看 | 日韩精品一区二区三区AV在线观看 | 精品视频久久久久 | 野花韩国视频中文播放 | 免费看的一级毛片 | GAY东北澡堂激情2022 | 爱情岛论坛免费在线观看 | 理论片午午伦夜理片久久 | 草民电影网午夜伦理电影网 | 国内精品乱码卡一卡2卡三卡新区 | 久久久久久久久女黄 | 东北老妇xxxxhd | 不卡的在线AV网站 | 国产美女久久久久久久久久久 | 亚洲 欧美 中文 日韩 视频 | 狠狠色狠狠色综合系列 | 亚洲国产高清视频在线观看 | 国产高清在线a视频大全 | 男人被绑着强行摸j | 一本道久在线综合色色 | 99久久久国产精品免费蜜臀 | 草草色 | 搞av.com | 欧美亚洲国产手机在线有码 | 国产美女一区二区 |