作者:李姣姣、王曉明
隨著科技的飛速發(fā)展,物聯網技術逐漸走向成熟,并在安防、醫(yī)療、零售、教育、辦公、家居、能源等多個領域得到應用,人們與智能家居之間的聯系更加緊密。同時,智能家居作為物聯網技術在家庭環(huán)境的典型應用,其安全性也越來越受到人們的關注。
Part 01●??固件獲取?●
智能家居安全風險主要來源于網絡通信、服務平臺和智能設備3個方面,如圖1所示。網絡通信為網絡攻擊提供了入口,網絡攻擊的主要目標是智能家居環(huán)境中的智能家居設備;服務平臺可能存在數據泄露的風險;而作為數據采集和反饋執(zhí)行的終端,智能家居設備的安全直接關乎整個智能家居系統(tǒng)的安全。
圖1 智能家居安全風險
區(qū)別于其他信息設備,智能家居環(huán)境下的設備安全和家庭環(huán)境的物理安全息息相關,例如:存在安全漏洞的智能門鎖不通過預設密碼或指紋就能打開,智能攝像頭被攻破可能帶來家庭或工作隱私視頻的泄露,智能手表被攻擊可能帶來行動軌跡的泄露等等,這些都將對使用者的生命財產安全造成威脅。
Part 02●??設備固件安全分析?●
智能家居設備的核心功能主要依托設備固件實現,因此智能家居設備的安全分析焦點也集中在智能家居設備固件的安全分析上。
2.1 風險分析
導致設備固件安全隱患的原因有很多,比如:固件安全認知缺乏、源碼復用、固件更新滯后等等。
①固件安全認知缺乏
由于智能家居設備上運行著各種功能的固件,很多人不知道當前哪些固件存在安全隱患。此外,大多數智能設備既沒有鍵入密碼的鍵盤,也沒有在屏幕上顯示隨機“配對代碼”,這使得用戶放棄了使用強密碼,而選擇使用默認密碼,從而使得黑客有機可乘。
②源碼復用
為了節(jié)約開發(fā)成本、提高開發(fā)效率、縮短開發(fā)周期,部分智能家居設備在研發(fā)過程中會復用大量第三方開源框架和組件。若復用的源碼中存在安全缺陷,其影響的覆蓋面可想而知。
③固件更新滯后
固件更新過程可能很復雜且很耗時,又涉及多方參與者,因此很多廠商會推遲甚至取消固件的更新,導致攻擊者可以利用低版本固件中存在的已知漏洞對設備進行攻擊。
2.2 難點分析
智能家居漏洞數量和危害性日益增長,針對智能家居設備固件的分析變得尤為重要。
然而目前固件分析面臨如下幾方面的挑戰(zhàn):
固件獲取難:大多數廠商為了保證設備安全與知識產權,不公開固件相關源碼的下載,導致固件源碼獲取困難;另外,由于固件代碼中混有多種代碼類型,如Java、Python、C等,導致反編譯工作執(zhí)行十分困難。
固件格式差異大
固件格式復雜多樣、缺乏統(tǒng)一標準,且運行在不同硬件上的處理器架構和內存架構也存在較大差異,導致不同固件的格式差異較大。
?符號信息缺失
為了有效壓縮程序體積、提高代碼運行效率,開發(fā)者一般使用靜態(tài)鏈接方式向設備寫入固件。但靜態(tài)鏈接抹去了函數名、變量名等庫函數的符號信息,無法區(qū)分設備廠商自定義函數和標準庫中的函數信息,增加了固件反編譯的成本。
仿真困難
不同固件格式差異較大,很難構造合適的輸入場景和測試用例,從而導致仿真困難。
Part 03●??設備固件安全防護?●
保障設備固件安全的關鍵在于及時解決固件安全分析中的諸多難點,采用自動化的流程進行高質量的固件分析和檢測,提前發(fā)現固件漏洞,才能有效地發(fā)現和防御攻擊行為。
3.1 分析流程
目前設備固件漏洞分析流程包括固件獲取、文件系統(tǒng)獲取和漏洞挖掘等三部分,具體流程如圖2所示。
圖2 設備固件漏洞分析
3.2 安全防護
雖然無法消除所有風險,但做好安全防護至少可以降低設備固件中存在風險,從而降低智能家居設備的攻擊面。安全防護具體方法有:
①建立完整資產清單
建立完整的智能家居設備清單,包括設備版本、型號、固件版本、序列號、運行服務、證書和憑據等信息。同時,定期更新也有利于發(fā)現問題,并在必要時對風險進行補救。
②管理設備密碼
有大量已在運行的智能家居設備仍在使用初始密碼,因此針對它們的攻擊就很容易實施。建議智能家居設備在初次使用時,更換初始密碼,并定期更新。
③固件加固更新
同軟硬件設備一樣,智能家居設備也應及時對固件版本和安全補丁進行更新。另外,需要確保它們保持這種加固狀態(tài)。
Part 04●??總結?●
在萬物互聯的今天,人們對智能家居安全的需求日益增加,但目前針對智能家居設備安全分析技術尚未形成完整體系。我們需要盡快走出盲區(qū),提升固件安全的防御優(yōu)先級,定期進行固件更新,啟用可用的安全功能及策略,以增強智能家居設備固件的機密性、完整性、可用性,最終提升智能家居系統(tǒng)整體安全性。