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