機械鎖也許是我們日常生活中最根本、最具象、最熟悉的安全屏障。人們鎖上門,期望這些鎖能把壞人關在門外,但安全行業有一句老話:“防君子不妨小人”。在物聯網”智能鎖”時代,事情變得更加糟糕,因為開鎖工具不再是鉤針,而是腳本和嗅探器。
近日,滲透測試專家Craig Young披露了某品牌智能門鎖漏洞背后隱藏著的安全威脅:攻擊者可以物理定位并遠程控制連接到智能門鎖供應商云基礎結構的任何鎖。安全牛編輯整理如下:
雖然本文中介紹的漏洞已經被修復,但是本次滲透測試暴露了整個智能門鎖行業,乃至物聯網領域普遍存在的隱私和安全風險。本文的目的是讓人們了解并重視聯網設備以及驅動物聯網的集中式云計算的安全問題和威脅。
Craig Young選擇了市場上一款熱門的智能門鎖——U-Tec生產的UltraLoq智能門鎖,該鎖連接到供應商的 云基礎架構。已經發現的安全漏洞,例如服務配置錯誤已經于2019 年 11 月初通知了 U-Tec,本次研究的焦點是集中化的云基礎設施提供數據和控制所帶來的風險,很多物聯網應用場景,例如智慧城市和無人駕駛汽車等都可能存在類似的風險。
U-Tec UltraLoq 一開始是眾籌平臺Indiegogo 上的一款熱門產品,現已通過亞馬遜、家得寶和沃爾瑪等主要零售商直接銷售給消費者。這些鎖擁有一些高級功能,包括指紋讀取器、反窺視觸摸屏,以及通過藍牙和WiFi的APP端控制。這些聯網功能帶來極大便利的同時,也讓一些用戶對安全性感到不安。為了打消用戶的疑慮,U-Tec的網站有一篇文章向用戶保證:“云服務器具有很強的安全性,用戶的數據”已被MD5算法加密”。
對 U – Tec智能門鎖的滲透測試從Shodan開始,具體來說是Shodan的 MQTT 數據集。
首先,我們簡要介紹一下MQTT的背景信息。
MQTT 是一種輕量級的發布-訂閱協議,其中的消息代理負責協調連接節點之間的局部數據交換。MQTT的應用場景很多,例如空調系統。請設想一個包含多個溫度傳感器(恒溫器),可以通過數字方式控制風扇的 HVAC 系統,以及根據室溫自動打開/關閉風扇的監控應用程序。這些傳感器和執行器是連接到 MQTT 代理的低功耗 IoT 組件,傳感器發布數據,監控應用訂閱此數據,并發送命令給執行器。
傳感器的數據使用描述性和分層主題名稱發布,例如101室的恒溫器將使用”x號樓/溫度/樓層1/房間101″的格式發布數據。監控應用將訂閱 “建筑 X/溫度/#”。# 充當通配符,允許應用接收來自所有房間的溫度輸入。
在沒有適當的身份驗證和授權方案的情況下部署 MQTT 時,會出現 MQTT被濫用 的風險,任何連接到代理的人都可以獲取敏感數據,甚至能夠控制動力學系統。獲得 MQTT 代理訪問權限的未授權用戶可以輕松地猜測主題名稱并使用 # 訂閱各種主題以獲取傳輸代理的數據。
通過公共 MQTT 數據泄露的個人信息
Shodan 的老玩家們一直在使用這些通配符查詢收集暴露在公共互聯網上的 MQTT 代理的數據。盡管 Shodan 不存儲掃描的個人消息,但確能檢索 83,000 多個代理中的主題名稱。Craig Young測試了各種MQTT搜索詞,看看多少能夠命中。有一個服務器引起了Craig Young的注意,因為它有包含MQTT主題名稱的大量頁面,反復出現在搜索中,關聯信息包括”門鎖”和免費電子郵件提供商,如”gmail.com”。
這是一個亞馬遜托管的代理與主題名稱列表,包括個人電子郵件地址和其他數據,看上去似乎與智能門鎖有關。Craig Young使用 Linux 命令行工具(例如 mosquitto_sub)查詢該服務器,結果立刻被來自世界各地的大量個人信息淹沒了。這些數據包括與智能門鎖關聯的用戶電子郵件和 IP 地址,以及智能門鎖鎖打開和關閉的時間戳記錄等。
下一步是通過購買 一個ULTRALOQ 智能門鎖進行測試,明確問題的范圍。
與大多數智能門鎖類似,ULTRALOQ智能門鎖也是電池供電,與連接到 WiFi 的網橋設備保持藍牙配對。拿到該鎖后,我將它與WiFi橋配對,并監聽其通過MQTT發送的消息。
圖 2:確認服務器提供實時客戶數據(已脫敏)
經過幾個鎖定/解鎖周期后,我確認了解鎖過程中重復的消息流。然后,我準備了一個 Python 腳本來重放這些消息,并確認這種方法能夠打鎖。
Craig Young發現:攻擊者只需知道設備MAC地址就可以很容易地竊取”解鎖令牌”,批量或定點解鎖智能門鎖。
MQTT 數據關聯的電子郵件地址、本地 MAC 地址和公共 IP 地址等數據可用于地理位置定位,足以精確識別個人。該設備還向無線電范圍內的任何人廣播 MAC 地址。
這意味著:
匿名攻擊者還可以收集任何活躍U-Tec 客戶的詳細身份信息,包括其電子郵件地址、IP 地址和無線 MAC 地址。
同樣,攻擊者可以實施破壞性攻擊,通過發送欺騙信息來阻止智能鎖的主人解鎖。
11 月 10 日,Craig Young通知U-Tec 他們的云服務給用戶帶來巨大安全風險,U-Tec在10小時內就做出回復,指出:
U-Tec智能門鎖的設備端需要令牌授權,未經授權的用戶將無法開門。
顯然,U-Tec依然沒有意識到真正的威脅,Craig Young于是向U-Tec提供了Shodan的截圖,包括已泄露的,包含活躍客戶電子郵件地址的MQTT主題名稱列表。這一次,U-Tec 在一天內做出回應確認該威脅,并表示已經采取補救措施:
遺憾的是,以上這些措施實際上并沒有解決問題。這里的主要問題是,U-Tec專注于用戶身份驗證,但未能實現用戶級訪問控制。我演示了任何免費/匿名帳戶都可以連接任何智能門鎖用戶的設備并與之交互。這一切僅需嗅探應用程序的 MQTT 流量,以獲取設備特定的用戶名和作為密碼的MD5 摘要。
圖 3:使用 HTTP Canary嗅探帳戶密碼。
U-Tec 的工程師沉默了幾天,但隨后宣布用戶隔離已經實現。Craig Young發現,攻擊者確實不能再在帳戶之間發布消息了,本次滲透測試發現的問題似乎已經解決,但這也許僅僅是開始。僅僅數月前,Pen Test Partners曾報道在ULTRALOQ智能門鎖中曾發現大量嚴重安全問題,涉案及API、BLE密鑰、存儲等多個層面的漏洞。
智能門鎖只是冰山一角:MQTT 和物聯網安全風險
在與 U-Tec 合作以來,Craig Young通過研究暴露的 MQTT 系統,發現了無數的工業物聯網網絡風險,包括車輛跟蹤、出租車調度、彩票亭、建筑管理系統等。其中許多系統由向客戶提供服務的設備制造商操作。在一個案例中,一家歐洲設備供應商,負責監控他們銷售給壓縮天然氣 (CNG) 加油站的產品。在另一個案例中,一家教育服務提供商的網絡泄露了有關個別學生何時到達和離開小學的詳細信息。
每天,都有大量未經(網絡)安全測試的接入云端的物聯網設備山市,消費者必須意識到這個逐漸累積的風險。我們要求高速公路上的車輛遵守安全標準,并經過排放測試,以確保環境安全,但信息高速公路上的互聯網設備卻完全是法外之地。
即使是門鎖這樣的關鍵安全系統,對產品網絡安全的規范和要求也很少,安全監督更少。正如我們在Mirai 和其他 IoT僵尸網絡中所看到的那樣,互聯網上的非關鍵設備,例如智能燈泡、智能冰箱、智能音箱、攝像頭等,在發生故障或被大規模劫持時也會造成嚴重破壞。Mirai 和其他僵尸網絡已經“招募”了大量“肉雞”設備,然后他們可以使用這些設備擾亂社會和敲詐企業。這些僵尸網絡已經證明自己能夠產生令人難以置信的DDoS攻擊流量,但與入侵并控制主流廠商的物聯網云端相比,目前的威脅也僅僅是冰山一角。