1. <small id="rw2jk"></small>
      網絡安全 頻道

      IOT安全:Logitech Harmony Hub安全性分析

        一、前言

      物聯網安全:Logitech Harmony Hub安全性分析

        FireEye的Mandiant Red Team最近在Logitech Harmony Hub物聯網(IoT)設備上發現了一些漏洞,這些漏洞可以被攻擊者利用,通過SSH渠道獲得目標設備的root訪問權限。Harmony Hub是一款家庭控制系統,用來連接并控制用戶家庭環境中的各種設備。在本地網絡中利用這些漏洞后,攻擊者可以控制連接到Hub的設備,也可以利用Hub做為執行節點,攻擊本地網絡中的其他設備。由于Harmony Hub所支持的設備較多,包括智能門鎖、智能恒溫器以及其他智能家居設備等,因此這些漏洞會給用戶帶來極高的風險。

        FireEye在2018年1月向Logitech披露了這些漏洞,Logitech積極響應,與FireEye一起溝通協作,發布固件更新(4.15.96)解決了這些問題。

        Red Team發現了如下幾個漏洞:

        1、未驗證證書有效性;

        2、不安全的更新過程;

        3、生產固件鏡像中遺留開發者(developer)調試符號;

        4、空的root用戶密碼。

        Red Team組合使用了這幾個漏洞,最終獲得了Harmony Hub的管理員訪問權限。在本文中我們介紹了這些漏洞的發現及分析過程,與大家分享了對消費者設備進行嚴格安全測試的必要性:現如今公眾對設備越來越信任,而這些設備不僅連接到家庭網絡中,也會透露關于公眾日常生活的各種細節,此時安全形勢也更加嚴峻。

        二、設備分析

        設備準備

        已公開的一些研究報告表明,Harmony Hub的測試點上存在一個UART(universal asynchronous receiver/transmitter,通用異步收發傳輸器)接口。我們將跳線連接到這些測試點上,這樣就能使用TTL轉USB串行線路連接到Harmony Hub。初步分析啟動過程后,我們發現Harmony Hub會通過U-Boot 1.1.4啟動,運行一個Linux內核,如圖1所示。

      物聯網安全:Logitech Harmony Hub安全性分析
      ▲圖1:
       從UART接口獲得的啟動日志

        在啟動過程后續階段中,控制臺不再輸出任何信息,因為內核并沒有配備任何控制臺接口。我們在U-Boot中重新配置了內核啟動參數,想查看完整的啟動過程,但并沒有恢復出有用的信息。此外,由于設備將UART接口配置成僅傳輸模式,因此我們不能通過該接口與Harmony Hub進一步交互,因此我們將研究重點轉移到了Harmony Hub所運行的Linux操作系統上,想進一步了解整個系統以及其上運行的相關軟件。

        固件恢復及提取

        Harmony Hub可以使用配套的Android或者iOS應用通過藍牙來進行初始化配置。我們使用hostapd創建了一個無線網絡,在Android測試設備上安裝了Burp Suite Pro CA證書,以捕捉Harmony移動應用發往互聯網以及發往Harmony Hub的通信流量。一旦初始化配對完成,Harmony應用就會搜索本地網絡中的Harmony Hub,使用基于HTTP的API與Harmony Hub通信。

        一旦成功連接,Harmony應用就會向Harmony Hub的API發送兩個不同的請求,以便Harmony Hub檢查是否存在更新,如:2所示。

      物聯網安全:Logitech Harmony Hub安全性分析
       圖2:使Harmony Hub檢查更新的請求報文

        Harmony Hub會向Logitech服務器發送當前的固件版本,以確定是否存在更新(如圖3所示)。如果需要更新,Logitech服務器會發送一個響應包,其中包含新固件版本所對應的一個URL(如圖4所示)。由于我們使用了自簽名的證書來捕捉Harmony Hub發送的HTTPS流量,因此我們可以順利觀察到這個過程(Harmony Hub會忽略無效的SSL證書)。

      物聯網安全:Logitech Harmony Hub安全性分析
      ▲圖3:
      Harmony Hub檢查固件更新

      物聯網安全:Logitech Harmony Hub安全性分析
      圖4. 服務器返回的響應包中包含更新固件的URL

        我們獲取了這個固件并檢查了相關文件。剝離好幾個壓縮層后,我們可以在harmony-image.squashfs文件中找到固件。固件所使用的文件系統鏡像為SquashFS文件系統,采用lzma壓縮算法(這是嵌入式設備常用的壓縮格式)。然而,廠商經常使用老版本的squashfstools,這些版本與最新的squashfstools并不兼容。我們使用了firmware-mod-kit中的unsqashfs_all.sh腳本,自動化探測unsquashfs的正確版本,以便提取文件系統鏡像,如圖5所示。

      物聯網安全:Logitech Harmony Hub安全性分析
      圖5. 使用firmware-mod-kit提取文件系統

        提取文件系統內容后,我們檢查了Harmony Hub搭載的操作系統的某些詳細配置信息。經過檢查后,我們發現這個生產鏡像中包含大量的調試信息,比如沒有刪掉的內核模塊等,如圖6所示。

      物聯網安全:Logitech Harmony Hub安全性分析
      圖6. 文件系統中未刪掉的Linux內核對象

        檢查/etc/passwd后,我們發現root用戶并沒有設置密碼(如圖7所示)。因此,如果我們可以啟用dropbear SSH服務器,我們就能通過SSH接口獲取Harmony Hub的root訪問權限,無需使用密碼。

      物聯網安全:Logitech Harmony Hub安全性分析
      圖7. /etc/passwd文件顯示root用戶未設置密碼

        我們發現,如果文件系統中存在/etc/tdeenable文件,則會在初始化階段中啟用dropbear SSH服務器,如圖8所示。

      物聯網安全:Logitech Harmony Hub安全性分析
      圖8. 如果存在/etc/tdeenable,/etc/init.d/rcS腳本則會啟用dropbear SSH服務器

        劫持更新過程

        在初始化過程中,Harmony Hub會在Logitech API上查詢GetJson2Uris地址,獲取各種過程所需的一個URL列表(如圖9所示),其中包括檢查固件更新所使用的URL以及獲取更新所需的額外軟件包信息的URL。

      物聯網安全:Logitech Harmony Hub安全性分析
      圖9. 發送請求獲取各種過程所需的URL地址

        我們攔截并修改了服務器返回的響應數據包中的JSON對象,將其中的GetUpdates成員指向我們自己的IP地址,如圖10所示。

      物聯網安全:Logitech Harmony Hub安全性分析
      圖10. 修改過的JSON對象

        與固件更新過程類似,Harmony Hub會向GetUpdates所指定的端點發送一個POST請求,請求中包含設備內部軟件包的當前版本信息。HEOS軟件包對應的請求如圖11所示。

      物聯網安全:Logitech Harmony Hub安全性分析
      圖11. 包含系統中“HEOS”軟件包當前版本信息的JSON請求對象

        如果POST請求正文中的sysBuild參數與服務器已知的當前版本不匹配,服務器就會響應一個初始數據包,其中包含新軟件包版本信息。由于某些不知名的原因,Harmony Hub忽略了這個初始響應包,發送了第二個請求。第二個響應包中包含多個URL地址,這些地址指向了新的軟件包,如圖12所示。

      物聯網安全:Logitech Harmony Hub安全性分析
      圖12. 包含軟件更新包的JSON響應數據

        我們下載了響應數據包中列出的.pkg文件,檢查后發現這些文件其實是ZIP壓縮文件。壓縮文件的文件結果比較簡單,如圖13所示。

      物聯網安全:Logitech Harmony Hub安全性分析
      圖13. .pkg壓縮文檔結構

        其中,manifest.json文件可以告訴Harmony Hub在更新過程中如何處理壓縮文檔的內容,如圖14所示。

      物聯網安全:Logitech Harmony Hub安全性分析
      圖14. manifest.json文件內容

        manifest文件中installer參數所指定了一個腳本,如果壓縮文件中存在該腳本,那么Harmony Hub在更新過程中就會執行這個腳本。我們修改了這個腳本,如圖15所示,修改后該腳本會創建/etc/tdeenable文件,前面提到過,這樣啟動過程就會啟用SSH接口。

      物聯網安全:Logitech Harmony Hub安全性分析
      圖15. 修改后的update.sh文件

        我們創建了帶有.pkg擴展名的一個惡意壓縮文檔,使用本地web服務器托管該文檔。當下一次Harmony Hub根據被篡改的GetJson2URIs響應包中給出的URL地址來檢查更新時,我們返回經過修改的響應包,指向這個更新文件。Harmony Hub會接收我們提供的惡意軟件更新包,重啟Harmony Hub后就會啟用SSH接口。這樣我們就可以使用root用戶名以及空密碼來訪問該設備,如圖16所示。

      物聯網安全:Logitech Harmony Hub安全性分析
      圖16. 重啟后設備啟用了SSH接口

        三、總結

        隨著科技逐步融入我們的日常生活中,我們也在不知不覺中越來越信任各種設備。Harmony Hub與許多物聯網設備一樣,采用了通用處理器架構,因此攻擊者可以輕松將惡意工具添加到被攻破的Harmony Hub上,進一步擴大攻擊活動的影響力。Logitech與我們的團隊積極合作,發布了4.15.96固件解決了這些漏洞。如果用戶對某些設備非常信任,那么這些設備的開發者就應該保持警惕,移除讓用戶處于危險境地的潛在攻擊因素。Logitech在與Red Team的研究工作中發表過一則聲明,在此我們也想與大家一起分享:

        “Logitech非常重視客戶的安全及隱私。2018年1月下旬,FireEye發現了可能影響Logitech Harmony Hub產品的一些漏洞,如果某個惡意黑客已經獲取Hub用戶網絡的訪問權限,就可以利用這些漏洞。我們非常感謝FireEye等專業安全研究公司在挖掘探索IoT設備上這類漏洞所付出的努力。

        在FireEye將這些研究成果告知我們后,我們第一時間啟動了內部調查,并且馬上開始研發固件以解決這些問題。4月10日,我們發布了固件更新,全部解決了這些漏洞。如果還有客戶沒有將固件更新到4.15.96版,我們建議您檢查MyHarmony軟件,同步基于Hub的遠程設備并接收該固件。用戶可以查看此鏈接了解關于固件更新的完整說明。

        基于Hub的產品包括: Harmony Elite、Harmony Home Hub、Harmony Ultimate Hub、harmony Hub, Harmony Home Control、Harmony Pro、Harmony Smart Control、Harmony Companion、Harmony Smart Keyboard、Harmony Ultimate以及Ultimate Home”。

      0
      相關文章
        影视站,婷婷亚洲,色谷,老司机电影院