獲獎驚悚電視片Mr.
Robot(黑客軍團)第二季一開始的場景就讓網絡安全行業不寒而栗。該劇以讓人不安的逼真細節,描繪了黑客在無形之中潛入智能家庭系統,将家庭 IoT
技術變成對付家中住客的工具。電視和立體音響開始胡亂地開啟關閉;淋浴水毫無預兆地從沸騰溫度降到極其冰冷;空調将室内降低到北極溫度,迫使住客不得不離開家中。整個劇中最讓人惶恐的不是這種類型的網絡攻擊或許會發生,而是已經變成現實。
最近,Check Point 在 LG 智能家庭基礎設施中發現了名為 HomeHack 漏洞,導緻可能發生嚴重的使用者帳号接管問題。如果攻擊者利用這個漏洞,就可以登入到 LG 使用者的 SmartThinQ® 家用裝置帳号,并且遠端控制連接配接于該帳号的裝置。
攻擊者利用 HomeHack 漏洞可停止冰箱的工作、打開烤箱、通路掃地機器人上的錄影機将其變成家庭間諜,甚至可以使得洗碗機不斷出水,讓廚房變成戲水池。
此漏洞可能已經廣泛傳播:2016 年上半年,LG Hom-Bot 掃地機器人的銷售量已超過 40 萬台。
2017 年 7 月 31 日,我們向 LG 通告這一漏洞,LG 也作出了負責任的響應,在 9 月底釋出了已修補此漏洞的新版本,以阻止黑客可能利用其 SmartThinQ 應用程式和裝置中存在的問題。
LG 是一家領先的工業、企業和家用 IoT 裝置供應商。LG 公司于 2011 年推出了 SmartThinQ® 系列家用裝置,使用者可以通過應用程式進行遠端控制,随時随地監控和維護家中環境。這些智能裝置包括常用的洗碗機、冰箱、微波爐、烘幹機和掃地機器人。

侵犯隐匿 - 黑入 Hom-Bot
LG 的 SmartThinQ 裝置之一是 Hom-Bot 掃地機器人。LG 公司将其定位為真空吸塵器和監控警衛的混合體,帶有
HomeGuard 安全功能,可以在檢測到移動物體時發出警報。該功能的設計目的是讓使用者可以打開位于 Hom-Bot
掃地機器人頂部的内置攝像頭,為智能手機應用程式發送實時視訊流。
然而,如果帳号被黑客接管,該攝像頭就會成為攻擊者監視受害者家庭的作惡工具,而且後者毫不知情,最為明顯的負面後果就是侵犯他人隐私和危害人員安全。
我們發現 HomeHack 漏洞存在于使用者在 LG SmartThinQ 應用程式上登入帳号的過程之中。
首先,攻擊者需要在用戶端重新編譯 LG 應用程式,以繞過安全保護。這使得裝置與 LG
伺服器之間的通信可以被攔截。然後,意圖不軌的攻擊者建立一個假 LG
帳号以開始登入流程。通過操縱登入流程并輸入受害者而非攻擊者的電子郵件位址,就可能黑入受害者帳号并控制該使用者擁有的所有 LG SmartThinQ
裝置,包括 Hom-Bot 掃地機器人、冰箱、烤箱、洗碗機、洗衣機、烘幹機及空調。
此漏洞凸顯出智能家用裝置遭到攻擊的可能性,此類攻擊可能是為了窺探家中的住客和使用者以及竊取資料,或者是利用這些裝置作為中轉站實施進一步攻擊,如發送垃圾郵件、拒絕服務攻擊(如 2016 年出現的大規模 Mirai 僵屍網絡攻擊)或傳播惡意軟體。
随着越來越多的智能裝置應用到家庭中,黑客開始将攻擊重心從單個裝置轉移到控制裝置網絡的應用程式上。這使得犯罪分子有更多機會利用軟體缺陷,入侵使用者的家庭網絡并通路其敏感資料。
是以,使用 IoT 裝置時,使用者需要了解安全和隐私風險。另外,IoT 制造商在設計軟體和裝置時,就必須注重通過實施強大的安全措施保護智能裝置免受攻擊,而不是在事後再增加安全防護措施。
防禦 HomeHack
為保護使用者裝置,LG SmartThinQ 移動應用程式和裝置的使用者應確定從 LG 網站更新到最新軟體版本。Check Point 還建議消費者采取以下步驟保護其智能裝置和家庭 Wi-Fi 網絡,避免可能的網絡入侵和遠端裝置接管:
1.将 LG SmartThinQ 應用程式更新至最新版本 (V1.9.23):您可以通過 Google Play 商店、Apple 的 App Store 或 LG SmartThinQ 應用程式設定更新該應用程式。
2.将智能家用實體裝置更新至最新版本:您可以在 SmartThinQ 應用程式控制台下單擊該智能家用産品進行更新(如果有更新可用,您将收到彈窗提醒)
HomeHack 技術細節:
在揭露此漏洞的過程中,我們研究了 LG 的手機應用程式和後端平台。為了能夠使用調試工具,我們使用了已 Root 的裝置。起初,我們遇到了 Root 檢測功能,如果檢測到手機已 Root,LG 應用程式就會立即關閉。
第一步是要繞過這種反 Root 機制。我們使用 ADB(安卓調試橋)工具提取出應用程式并對其進行反編譯。在研究代碼時,我們發現了負責 Root 檢測的兩個函數:
如您所見,兩個函數均調用 finish 代碼執行 onDestory 方法,也正是該方法關閉了應用程式。
為了繞過此限制,我們隻是删除了“finish”調用并重新編譯該應用程式。
在繞過 Root 檢測後,我們設定了一個代理以允許我們攔截應用程式的流量。起初,我們遇到一個 SSL Pining 機制,使得我們無法攔截和調查應用程式流量。
于是我們傳回代碼中,以了解 LG 如何實施此 SSL Pinning 機制:
我們對此函數進行修補并重新編譯了應用程式,這次添加了調試功能。消除所有障礙後,我們成功實作了流量攔截。
下一步是建立一個 LG 帳号并登入應用程式。通過分析登入過程,我們發現其中包含以下請求:
1.身份驗證請求 - 驗證使用者憑證。
2.簽名請求 - 根據身份驗證請求的使用者名建立一個簽名。
3.令牌請求 - 使用簽名響應作為表頭,并将使用者名作為參數來擷取使用者帳号的通路令牌。
4.登入請求 - 發送通路令牌以登入應用程式。
我們發現在步驟 1 和步驟 2-3 之間沒有直接的依賴關系。這意味着攻擊者可以使用其使用者名順利通過步驟 1,然後在步驟 2 和 3 中修改為受害者的使用者名。步驟 4 将允許攻擊者完成登入程式後轉至受害者的帳号。
如前文所述,通過利用 HomeHack 漏洞,攻擊者可以接管受害者帳戶并控制其 LG 智能裝置。
漏洞發現的始源:
在調查伊始,我們原計劃是研究 Hom-Bot 本身并搜尋裝置本身存在的漏洞。為尋找 UART(通用異步接收器/發送器)連接配接,我們對 Hom-Bot 進行了拆卸。
這讓我們得以通路檔案系統。UART 連接配接可以在标簽控制台附近的錄影機頂部找到。通過連接配接到 UART,我們成功操縱 U-Boot 并獲得對檔案系統的通路。
在調試主程序時,我們嘗試找到負責 Hom-Bot 與 SmartThinQ 移動應用程式之間通信的代碼。
當時我們是要調查 SmartThinQ 應用程式,卻最終發現了會将 Hom-Bot 變成家中間諜的 HomeHack 漏洞。
原文釋出時間為:2017年11月6日
本文作者:Roman Zaikin , Dikla Barda
本文來自雲栖社群合作夥伴至頂網,了解相關資訊可以關注至頂網。