跳到主要內容

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

網站內容來源http://server.it168.com/

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


2018-05-15 09:31    來源:安全客  作者: Joel Hopwood 編輯:
0購買

  一、前言

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所示。


▲圖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所示。


▲ 圖2:使Harmony Hub檢查更新的請求報文


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


▲圖3:Harmony Hub檢查固件更新



▲圖4. 服務器返回的響應包中包含更新固件的URL


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


▲圖5. 使用firmware-mod-kit提取文件系統


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


▲圖6. 文件系統中未刪掉的Linux內核對象


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


▲圖7. /etc/passwd文件显示root用戶未設置密碼


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


▲圖8. 如果存在/etc/tdeenable,/etc/init.d/rcS腳本則會啟用dropbear SSH服務器


  劫持更新過程

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


▲圖9. 發送請求獲取各種過程所需的URL地址


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


▲圖10. 修改過的JSON對象


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


▲圖11. 包含系統中"HEOS"軟件包當前版本信息的JSON請求對象


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


▲圖12. 包含軟件更新包的JSON響應數據


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


▲圖13. .pkg壓縮文檔結構


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


▲圖14. manifest.json文件內容


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


▲圖15. 修改后的update.sh文件


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


▲圖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"。

,
網站內容來源http://safe.it168.com/網站內容來源http://safe.it168.com/

【精選推薦文章】

智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

想知道網站建置、網站改版該如何進行嗎?將由專業工程師為您規劃客製化網頁設計及後台網頁設計

帶您來看台北網站建置台北網頁設計,各種案例分享

廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

http://www.3chy3.com/?p=2472



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

留言

這個網誌中的熱門文章

Python 併發總結,多線程,多進程,異步IO

1 測量函數運行時間 import time def profile(func): def wrapper(*args, ** kwargs): import time start = time.time() func( *args, ** kwargs) end = time.time() print ' COST: {} ' .format(end - start) return wrapper @profile def fib(n): if n<= 2 : return 1 return fib(n-1) + fib(n-2 ) fib( 35 )   2 啟動多個線程,並等待完成   2.1 使用threading.enumerate() import threading for i in range(2 ): t = threading.Thread(target=fib, args=(35 ,)) t.start() main_thread = threading.currentThread() for t in threading.enumerate(): if t is main_thread: continue t.join()   2.2 先保存啟動的線程 threads = [] for i in range(5 ): t = Thread(target=foo, args= (i,)) threads.append(t) t.start() for t in threads: t.join()   3 使用信號量,限制同時能有幾個線程訪問臨界區 from threading import Semaphore import time sema = Semaphor...

韋伯連續劇終於更新 期待第一季順利完結

  地球天文學界的跳票大王詹姆斯·韋伯空間望遠鏡 (James Webb Space Telescope,縮寫為 JWST)自 1996 年以來斷斷續續不按劇本演出的連續劇終於讓焦慮的觀眾們又等到了一次更新:五層遮陽罩測試順利完成。 裝配完成的韋伯望遠鏡與好夥伴遮陽罩同框啦。Credit: NASA   嚴格的測試是任何空間任務順利成功的重中之重。遮陽罩,這個韋伯望遠鏡異常重要的親密夥伴,要是無法正常運轉的話,韋伯的這一季天文界連續劇說不準就要一直拖更了。   詹姆斯·韋伯空間望遠鏡是歷史上造出的最先進的空間望遠鏡。它不僅是一架紅外望遠鏡,還具有特別高的靈敏度。但想要達到辣么高的靈敏度來研究系外行星和遙遠的宇宙童年,韋伯童鞋必須非常"冷靜",體溫升高的話,靈敏度會大大折損。這個時候,遮陽罩就要大顯身手啦。   遮陽罩在韋伯的設計中至關重要。韋伯望遠鏡會被發射到拉格朗日 L2 點,運行軌道很高,遠離太陽、地球與月球。太陽是韋伯的主要熱量干擾的來源,其次是地球與月球。遮陽罩會有效阻斷來自這三大熱源的能量並保護韋伯維持在工作溫度正常運轉。這個工作溫度指的是零下 220 攝氏度(-370 華氏度;50 開爾文)。 上圖中我們可以看出,韋伯望遠鏡的配置大致可分為兩部分:紅色較熱的一面溫度為 85 攝氏度,藍色較冷的一面溫度達到零下 233 攝氏度。紅色的這部分中,儀器包括太陽能板、通信設備、計算機、以及轉向裝置。藍色部分的主要裝置包括鏡面、探測器、濾光片等。Credit: STSci.   遮陽罩的那一部分和望遠鏡的鏡面這部分可以產生非常極端的溫差。遮陽的這面溫度可以達到 110 攝氏度,足以煮熟雞蛋,而背陰處的部分溫度極低,足以凍結氧氣。   工程師們剛剛完成了五層遮陽罩的測試,按照韋伯在 L2 時的運行狀態安裝了遮陽罩。L2 距離地球約 160 萬公里。NASA 表示這些測試使用了航天器的自帶系統來展開遮陽罩,測試目前都已成功完成。韋伯望遠鏡遮陽罩負責人 James Cooper 介紹說這是遮陽罩"第一次在望遠鏡系統的电子設備的控制下展開。儘管這個任務非常艱巨,難度高,但測試順利完成,遮陽罩展開時的狀態非常驚艷"。   遮陽罩由五層 Kapton 製成。Kapton 是一種聚酰亞胺薄膜材料, 耐高溫絕...

LINE 發票管家「一鍵分享發票」新功能,聚餐AA更好算帳

» » LINE 發票管家「一鍵分享發票」新功能,聚餐AA更好算帳 消費明細好清楚,不怕算錯錢啦! by in , 讀取中... 之前介紹過的「LINE 發票管家」,除了能對統一發票、管理消費紀錄,現在還能分享消費明細給其他朋友囉!趕快來看看該如何分享吧!讓大家在聚餐過後,不用再截圖、拍照把消費明細記錄下來分享到 LINE 好友群組,只要用 LINE發票管家就可以隨時一鍵分享消費明細,包括店家、消費時間、消費項目、金額通通都有,聚餐 AA 也更好算帳。 LINE 發票管家「一鍵分享發票」新功能,聚餐AA更好算帳 朋友聚餐完,經常會先由其中一位買單再事後收帳,不過難免擔心忘記拍照紀錄下消費明細,導致算帳變得很麻煩。但是,現在只要用 LINE發票管家,不僅能將發票存入載具後直接匯入發票,進而更方便管理每月的消費情況,現在還能用它來分享消費明細到 LINE 聊天室,不需要截圖,整個流程超級簡單! ▲圖片來源: 當使用 LINE發票管家並且綁定載具後,只要日常消費有將發票存入載具就通通會自動匯入 LINE發票管家。如果想暸解自己近期的消費情況,也能在 LINE發票管家點選「發票明細」查詢所有消費紀錄。 *小提醒:存入手機條碼的發票,待財政部 1-2 日作業時間將發票資料匯入後, 打開單筆消費後分享到指定對象或群組。 像是朋友聚餐或其它購物消費,就能在 LINE發票管家查看每一筆消費的所有消費明細,每一項餐點的項目、價格通通一目了然。如果想將該筆消費內容分享給好友收帳,只要點選該筆消費明細後,接著點選畫面右上角的「分享」按鈕。 網頁設計 最專業,超強功能平台可客製,窩窩以「數位行銷」「品牌經營」「網站與應用程式」「印刷品設計」等四大主軸,為每一位客戶客製建立行銷脈絡及洞燭市場先機,請問 台中電動車 哪裡在賣比較便宜可以到台中景泰電動車門市去看看總店:臺中市潭子區潭秀里雅潭路一段102-1號。 電動車補助 推薦評價好的 iphone維修 中心擁有專業的維修技術團隊,同時聘請資深iphone手機維修專家,現場說明手機問題,快速修理,沒修好不收錢住家的頂樓裝 太陽光電 聽說可發揮隔熱功效一線推薦東陽能源擁有核心技術、...