胡 姣 李岳洪 高英杰
(1.威凱檢測技術有限公司 廣州 510663; 2.中國機械工業聯合會 北京 100711)
近年來,隨著物聯網技術的發展,具有無線通訊和信息管理功能的冰箱、空調、洗衣機、掃地機器人、電飯鍋、電動牙刷等智能家用電器產品開始普及,用戶可以借助移動終端(如手機)通過網絡對智能家電進行遠程控制和數據傳輸,給生活帶來了極大的便利。
但各種智能家電設備的安全問題也隨之暴露,不法分子利用計算機技術和各類安全漏洞竊取用戶個人信息,并對智能家電設備進行跟蹤和控制,嚴重侵犯了個人隱私和人身財產安全。據某新聞和相關文獻報道,在2020年由新加坡國立大學(NUS)和美國馬里蘭大學學院市分校(UMD)共同合作,成功遠程入侵一臺家用掃地機器人,使其充當竊聽器來“竊聽”屋內居住者的私人信息,相關研究表明,即便是沒有竊聽器,不法分子仍然可以利用各類安全漏洞來操控家居設備竊取用戶信息[1]。
可見,物聯網帶來便利的同時,也給人們的生活和工作帶來了一定安全風險。例如,用戶遭受網絡攻擊、個人身份被盜用以及個人隱私信息暴露,又如網絡犯罪分子可利用社會工程學或系統漏洞等技術,冒充用戶以遠程入侵的方式訪問設備并控制設備,以此對設備或用戶造成嚴重破壞等等問題。為此,筆者以物聯網智能家電的通信安全為研究對象,探討以無線局域網WLAN網絡接入方式的智能家電設備在以太網的通信安全性問題,并且通過抓包、重放等方式,分析數據在傳輸中可能存在的安全問題,最后針對物聯網智能家電通信安全問題,提出了一些對策和建議。
據《圖解物聯網》文獻描述,物聯網整體結構可分為設備、網關、服務平臺三部分,即設備端進行采集數據后,經過網關將設備連接到互聯網,服務器接收設備和網關發送過來的數據,對數據進行相應的業務處理,并發送給設備端,在此過程中,設備與服務器進行數據的傳輸和數據的接收遵守對應的通信協議[2]。
在通信過程中,通信協議非常重要,它是發送方和接收方完成實體通信或服務所必須遵循的規則和約定。在物聯網協議中分為兩大類:一類是傳輸協議,另一類是通信協議。物聯網傳輸協議一般是負責子網內設備間的組網及通信,包括有線、無線(Wi-Fi、Bluetooth、RFID、ZigBee等),其主要目的是解決智能家電設備接入網絡問題。目前大部分智能家電設備的數據傳輸利用Wi-Fi、Bluetooth、RFID等短距離通信,通過無線連接方式接入網關設備。具體選用哪種傳輸協議,依據不同的業務需求和不同的技術特點,以及不同智能家電設備的應用場景。物聯網通信協議則是運行在傳統互聯網TCP/IP協議之上的設備通訊協議,負責設備以互聯網方式進行數據交換和通信。幾種常見的智能家電設備的通信協議,包括以下幾種:
1)簡單HTTP下“請求—響應”模式
基于Web的HTTP協議,設備與服務器之間通過“請求—響應”模式進行彼此通信。http請求由三部分組成,分別是請求行、消息報頭和請求正文。設備通過HTTP請求的get、post獲取數據和提交數據。HTTP請求必須由設備主動向服務器發送數據,服務器無法主動向設備端推送數據。
2)Web Socket“一次創建長久連接”模式
Web Socket是一種在單個TCP連接上進行全雙工通信的協議,可以使客戶端和服務器之間的數據交換變得更加簡單,它允許服務器主動向客服端推送數據。Web socket是一個持久化的協議,它不同于http每次請求都要經過“三次握手”方式,只要通過第一個HTTP request建立了TCP連接,之后的交換數據都是不需要再發HTTP request了。換而言之,設備與服務器建立連接后,不用每次都重新建立。相比傳統的HTTP請求可以較大程度地減少服務器的開銷。
3)MQTT“輕量級”的協議
MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協議),是一種基于發布/訂閱(publish/subscribe)模式的“輕量級”通訊協議,該協議構建于TCP/IP協議上,最早由IBM提出。該協議非常適合低功耗和網絡帶寬有限的物聯網場景。MQTT由三部分組成,分別是中介發布者,服務器(中介)、訂閱者,其工作原理如圖1所示。

圖1 MQTT模型
通常智能家電設備都是通過移動應用軟件(APP)來實現某些操作功能。而數據的泄漏往往是采用了HTTP或UDP(SIP)等明文協議與設備通信。敏感的數據在經過物理層、網絡層、應用層進行傳輸時,不安全的傳輸會很容易遭受到“中間人”攻擊和非法入侵。
本文從智能家電設備使用APP配網成功后,采用抓包工具作為“中間人”對數據傳輸過程中的數據包進行捕獲,并對APP發送的所有HTTP請求與相應報文進行分析,獲取信息并對信息進行分析、跟蹤、破譯、篡改并重放,通過分析,查看智能家電設備在數據傳輸過程中可能存在的安全問題。
物聯網系統與設備進行數據通信,需要開放一些服務端口,因此需要查看通信端口中是否存在遠程登錄協議(Telnet)、安全外殼協議(SSH)等服務端口。NMAP是由Gordon Lyon設計的一款開源的網絡掃描工具,可以掃描目標主機中存在哪些開放的端口。通過使用NMAP命令:“nmap-p端口IP”方式對設備網關進行掃描,查看主機是否存在開放的端口,掃描結果如圖2所示。
通過圖2的掃描結果,可以發現存在開放遠程登錄端口23,嘗試使用telnet進行登錄。在DOS界面里輸入telnet命令前,需要在本機上搭建telnet服務器,并啟動telnet服務。通過在telnet程序中輸入命令:“telnet IP端口或者telnet域名端口”,就可以實現本地電腦訪問遠程服務器,telnet訪問結果如圖3所示。

圖2 Nmap端口掃描
Telnet遠程連接通常有兩種結果,第一種情況如果端口關閉,則顯示無法打開主機的連接,連接失敗;第二種是端口打開的情況下,連接成功,則進入telnet遠程登錄頁面,證明端口可用。從圖3可以看出,23端口是可用的,顯示需要用戶輸入用戶名和密碼,通過輸入用戶名和密碼即可遠程登錄服務器。

圖3 telnet遠程登錄界面
利用應用層抓包工具Fiddler和網絡層抓包工具Wireshark來查看整個數據通信過程是否存在敏感信息明文傳輸等脆弱點。Fiddler是一款應用層抓包工具,通過代理方式進行抓包。在客戶端和服務器建立一個代理服務器,從而監聽本機發出所有的http請求以及服務器返回的響應結果。同時用戶可以修改HTTP請求、設置斷點和重定向請求等,Fiddler的工作原理如圖4所示。

圖4 Fiddler工作原理
使用Fiddler,開啟proxy代理模式。操控APP遠程控制智能家電,監控所有請求、響應的數據包,如圖5所示。從圖5的數據包解析中可以看出,用戶名和密碼明文顯示,未進行加密處理,存在明文傳輸的問題。

圖5 敏感信息明文傳輸
Wireshark是一款網絡協議分析工具,可以對網絡中流入到本機計算機的數據包進行捕獲并分析。通過Wireshark可以很清楚的知道數據包交換的過程。開啟Wireshark抓包,使用過濾器過濾需要的IP和協議,對智能家電設備發出的所有數據包進行捕獲和分析,從而查看通信數據是否是明文傳輸。
從圖6可以看出,該數據包的通信數據是明文傳輸,未進行加密處理,存在一定安全風險。

圖6 通信數據明文傳輸
對智能家電設備的控制指令嘗試重放,查看通信數據是否進行有效性校驗。重放攻擊(Replay Attacks)又稱重播攻擊、回放攻擊,是指攻擊者發送一個目的主機已經接收過的包,來達到欺騙系統的目的,主要用于身份認證過程,破壞認證的正確性[6]。在智能家電中重放攻擊,同樣也是攻擊者對用戶發送設備的控制指令進行攔截后,重新發送給接收設備,查看接收設備是否做出響應,重放原理如圖7所示。

圖7 重放原理
嘗試將HTTP請求報文發送給Fiddler的重放模塊,進行重放,如圖8所示。經測試后發現,服務均能接收成功,設備也做出響應,測試結果如圖9所示。

圖8 Fiddler請求重放

圖9 服務器響應結果
通過以上測試可以發現,發送的數據包信息未做混淆處理和加密處理,可以通過抓包等工具明文顯示出來,并且服務器端也并未對數據包進行身份校驗等安全控制措施,存在攻擊風險。
針對上述智能家電設備的通信安全問題,可以采用一些防護策略或改善建議。例如可以采用如下保護機制:
1)身份鑒別
智能家電設備與服務器端進行通信時,應在數據傳輸之前向服務端提供身份鑒別,服務端需要驗證智能家電設備的真實身份是否合法,并檢查控制權限是否與身份匹配,從而進行設備的控制。
2)傳輸加密
為了降低數據傳輸過程中存在數據泄露、篡改風險,智能家電設備應對關鍵安全參數采用非明文方式傳輸,保障通過遠程接入網絡訪問時的關鍵安全參數的保密性;避免因使用MQTT、HTTP等明文傳輸協議而導致信息泄露或被篡改的風險。
3)通信端口安全
智能家電設備網關應能夠對智能家電設備終端開放的端口進行識別,并對其中存在風險服務具備告警和屏蔽能力,如遠程登錄協議(Telnet)、安全外殼協議(SSH)等。
4)防重放
為了確保每次請求都是一次性的,可采用Timestamp和nonce的模式,以防止他人通過抓包重放控制請求來對設備進行非授權的控制。
5)法規和標準
此外,還可以通過網絡信息安全國家法律法規和物聯網智能家電標準化體系建設,規范市場活動,促進物聯網智能家電行業健康發展。國內外越來越重視網絡信息的安全問題。國內頒布了各項法律法規,例如《中華人民共和國網絡安全法》《互聯網個人信息安全保護指引》《網絡安全等級保護基本要求》《中華人民共和國個人信息保護法》和《中華人名共和國數據安全法》等,同時也開展了一些列標準化工作,例如GB/T 36951-2018《信息安全技術物聯網感知終端應用安全技術要求》、GB/T 37024-2018《信息安全技術物聯網感知層網關安全技術要求》、GB/T 37025-2018《信息安全技術物聯網數據傳輸安全技術要求》等一些列標準。國外出臺了GDPR通用數據保護條例,此外針對消費級物聯網網絡安全,制定了ETSI EN 303 645《消費級物聯網信息安全基線要求》,為連接互聯網的消費產品建立安全基線。
本文筆者研究了物聯網框架下的智能家電設備通信安全評估問題,利用端口掃描和抓包等軟件工具,對智能家電設備端與服務端的通信的數據包進行截獲、分析、重放等,尋找智能家電設備在通信過程中可能存在的安全性問題,如通信端口是否存在開放端口、敏感信息是否明文傳輸、控制指令是否具有防重放等,針對物聯網智能家電通信安全問題,提出了一些防護對策和建議。