日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

虹科方案 | 虹科Vdoo安全平台:CVE-2020-25860 - 在 RAUC 嵌入式固件更新框架中发现的重大漏洞

發(fā)布時間:2024/1/1 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 虹科方案 | 虹科Vdoo安全平台:CVE-2020-25860 - 在 RAUC 嵌入式固件更新框架中发现的重大漏洞 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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

CVE-2020-25860是一個潛在的嚴重漏洞,其在RAUC (一個用于固件更新的開源框架)中的 CVSSv3 得分為 8.8。此漏洞存在于 RAUC 的所有版本中,直到 1.5,其中包含補丁。
該漏洞是一個 Time-of-Check-Time-of-Use ( CWE-367 ) 問題允許有權(quán)限的攻擊者在固件更新文件被驗證后(但在安裝完成前)覆蓋它,從而允許安裝一個任意的固件更新,繞過加密簽名檢查機制。與供應鏈漏洞一樣,很難準確估計有多少設備受其影響。鑒于RAUC這是一個開源工具,而且許多與供應商沒有關系的不同公司都可以使用它,因此這種估計更加復雜。

RAUC 背景

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

技術(shù)深究

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

  • check_bundle() – 使用 openssl 庫調(diào)用驗證包
  • mount_bundle() – 使用“mount”shell 調(diào)用掛載包
  • 在這些步驟之后,安裝的包被提取并覆蓋當前固件。
    關鍵問題在于一旦 check_bundle() 完成運行,捆綁文件就會關閉,并且不會以任何方式保留已驗證的數(shù)據(jù)。
    當 mount_bundle() 開始運行時,mountshell 調(dià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* 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() 之間切換包文件。這讓攻擊者可以部署任意惡意固件,基本上可以在設備上提供root權(quán)限。

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

    觀察到的遠程攻擊場景

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

  • 目標設備暴露了一個經(jīng)過認證的 CGI 端點upload.cgi,它允許將任意文件上傳到硬編碼的文件路徑 -/tmp/rauc/bundle.raucb
  • 目標設備暴露了一個經(jīng)過認證的 CGI 端點install.cgi,該端點運行硬編碼的 shell 命令 -rauc install /tmp/rauc/bundle.raucb
  • 兩個 CGI 端點之間沒有適當?shù)逆i定機制
  • 在這種情況下,攻擊者可以遠程接管設備,只需調(diào)用:

  • upload.cgi 帶有正確簽名的固件
  • install.cgi
  • (很快)upload.cgi帶有惡意固件
  • 本地攻擊場景和 PoC

    假設本地用戶有調(diào)用 RAUC 的權(quán)限(例如,通過只允許rauc命令的 sudo 配置),但沒有簽署RAUC捆綁包所需的私鑰,利用是沒有價值的:
    將正確簽名的固件復制到某個路徑,例如:./bundle.raucb
    Invoke RAUC –sudo rauc install ./bundle.raucb
    迅速用惡意的固件替換./bundle.raucb
    如果本地用戶無法調(diào)用 RAUC 命令,假設調(diào)用 RAUC 命令的特權(quán)用戶使用攻擊者可以寫入的路徑,則這種情況也可以被利用。
    我們開發(fā)了一個概念驗證,它利用了這個確切的場景:

  • PoC 接受要替換的包文件的完整路徑
  • PoC通過監(jiān)控一個默認目錄(/mnt/rauc)來等待另一個用戶運行rauc安裝,該目錄在驗證步驟之后但在安裝步驟之前被創(chuàng)建。
  • 一旦驗證結(jié)束(目錄被創(chuàng)建),PoC 就會用任意的輸入覆蓋包文件。
  • 攻擊的bundle文件可以被移到正確簽名的bundle文件上(這比在正確的位置寫一個新文件要快)。

    作為設備供應商,如何知道設備是否受此漏洞影響?

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

    rauc --version

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

  • 非特權(quán)用戶可以通過sudo機制、setuid機制或任何其他專有機制,以root權(quán)限調(diào)用rauc命令。例如,/etc/sudoers文件中的以下行將允許“vdoo”用戶以 root 身份調(diào)用 RAUC:
    vdoo ALL=(root) /usr/bin/rauc
  • rauc install可以由非特權(quán)用戶修改的捆綁路徑隨時調(diào)用。例如:
    /usr/bin/rauc install /tmp/mybundle.raucb
    由于/tmp默認情況下是全局可寫的,因此通常任何用戶都可以修改其下的文件。
  • 虹科Vdoo 在其Vision平臺中添加了一個適用性掃描器,可以通過檢測所有 RAUC 調(diào)用并檢查相關安裝路徑的權(quán)限來自動驗證是否發(fā)生這種情況。
    作為資產(chǎn)所有者,如何知道部署的設備是否存在漏洞?
    不幸的是,似乎很難判斷此漏洞是否存在,更重要的是,僅僅使用網(wǎng)絡工具或不實際查看設備代碼,就很難適用。
    如果您的設備供應商為設備提供了軟件物料清單 (SBOM),請查看是否使用了 RAUC,如果使用了,那么理論上您很可能容易受到攻擊(除非版本明確列為 1.5),因為有漏洞代碼存在。但這并不意味著該漏洞是可利用的。

    如有需要,請隨時聯(lián)系虹科Vdoo,我們將盡力提供幫助。

    如果無法升級 RAUC,如何降低風險?

    如上所述,這是一個經(jīng)典的 Time-of-Check-Time-of-Use 漏洞,其中攻擊利用非原子性的動作,涉及到對資源的檢查和資源的使用。在這種情況下,進行簽名檢查,用法為安裝/升級。
    通過確保安裝是原子性的并且從安全路徑發(fā)生,可以減輕攻擊。
    在運行rauc install之前,將捆綁文件從全局可寫位置復制到安全位置(僅限 root 可寫)并從該路徑運行安裝。使用安全位置的存在作為鎖定機制。這將確保未經(jīng)授權(quán)的用戶(無論是本地還是遠程)無法插手安裝過程。
    這可以通過這個示例 shell 腳本來完成:

    # Assuming firmware is uploaded to /tmp/uploads/bundle.bin # Assuming /data/fw_upgrade can be written to only by root if [ ! -e /data/fw_upgrade/bundle.bin ]; thencp /tmp/uploads/bundle.bin /data/fw_upgrade/bundle.bin/usr/bin/rauc install /data/fw_upgrade/bundle.binrm /data/fw_upgrade/bundle.bin fi

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

    總結(jié)

    以上是生活随笔為你收集整理的虹科方案 | 虹科Vdoo安全平台:CVE-2020-25860 - 在 RAUC 嵌入式固件更新框架中发现的重大漏洞的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲不卡一区二区三区 | 伊人青青草 | 亚洲伊人色 | 久久亚洲精精品中文字幕早川悠里 | www.插插插.com| 加勒比精品 | 欧美sm视频 | 欧美片网站yy | 变态另类丨国产精品 | 欧美黑人狂野猛交老妇 | 久草老司机 | 国产精品久久久久野外 | 成人h片 | 国产人妖一区二区三区 | 好吊妞视频这里只有精品 | 91最新地址永久入口 | 国内国产精品天干天干 | 国产蜜臀在线 | 国产99久久 | 亚洲熟妇无码乱子av电影 | 国产成人在线影院 | 成年人看的黄色片 | 国产精品丝袜黑色高跟鞋的设计特点 | 免费欧美黄色 | 亚洲女同一区 | 国产探花视频在线观看 | youjizz少妇| 国产情侣自拍小视频 | 激情片网站| 天堂8在线天堂资源bt | 日本国产欧美 | a天堂在线视频 | av福利片| 99精品在线观看视频 | 美女福利一区 | 四虎影视av | 亚洲第一大综合区 | 欧美性受xxxx狂喷水 | 欧美极品少妇 | 欧美中文字幕一区 | 精品少妇一区二区三区免费观看 | 97狠狠| 亚洲v在线观看 | 宅男的天堂 | 欧美色图11p | 亚洲天堂一区在线观看 | 奇米婷婷 | 国产老女人乱淫免费可以 | 刘亦菲久久免费一区二区 | 丰满人妻综合一区二区三区 | 久操精品 | 韩国av网| 免费黄网站在线观看 | 日韩激情av| 禁片天堂| 黄色网址你懂的 | 国产又粗又猛又黄 | 国产91页| 黄色日批 | 91视频啊啊啊| 欧美黄色性视频 | 乱淫67194| 免费一级做a爰片久久毛片潮 | 日本九九热 | 一区二区久久久 | 毛片哪里看 | 91成人精品| 久久亚洲综合国产精品99麻豆精品福利 | 春色校园激情 | 国产鲁鲁视频在线观看特色 | 女人的毛片| 色吧五月天 | 夜夜夜影院 | 国产精品无码一本二本三本色 | 成人精品国产免费网站 | 欧美精品五区 | 亚洲福利视频一区二区三区 | 少妇大叫太粗太大爽一区二区 | 婷婷精品在线 | 久草热视频 | 国产农村妇女毛片精品 | 国产午夜精品久久久久久久久久 | 女同性做受全过程动图 | a级片视频网站 | 全程偷拍露脸中年夫妇 | 精品97人妻无码中文永久在线 | 天天添天天射 | 成人午夜福利一区二区 | 日韩黄色网络 | 美女被草视频 | 亚洲免费av网站 | 国产男男chinese网站 | 一区二区不卡视频 | 九九夜| 辟里啪啦国语版免费观看 | 青青国产精品视频 | 精东影业一区二区三区 | 中文字幕1区2区 | 国产成人av免费看 |