當(dāng)今正是“物聯(lián)網(wǎng)”(Internet of Things, IoT)技術(shù)的黃金時(shí)代:嵌入式處理器的性能和片上資源的豐富度得到了長(zhǎng)足的提升,嵌入式設(shè)備可實(shí)現(xiàn)的功能逐步多樣化;Wi-Fi(wireless fidelity)、藍(lán)牙、5G(5th generation)等無線通信技術(shù)得到全面普及,使得“萬物互聯(lián)”的門檻前所未有地降低;同時(shí),嵌入式設(shè)備與手機(jī)、路由器等智能設(shè)備間的協(xié)作大大增加,極大地提升了嵌入式設(shè)備的功能性和用戶體驗(yàn)。物聯(lián)網(wǎng)技術(shù)已經(jīng)深入到了普通人生活的方方面面:從家中的掃地機(jī)器人、智能音箱、藍(lán)牙開關(guān),到工業(yè)中的物流機(jī)器人、無人機(jī)等,均是對(duì)物聯(lián)網(wǎng)技術(shù)的典型應(yīng)用。然而,物聯(lián)網(wǎng)設(shè)備的安全問題不可小覷。與生活中常見的個(gè)人計(jì)算機(jī)(personal computer, PC)、手機(jī)等計(jì)算設(shè)備相比,物聯(lián)網(wǎng)設(shè)備更易出現(xiàn)安全漏洞,也更易成為網(wǎng)絡(luò)攻擊的目標(biāo)。其中的原因眾多,舉例如下:
物聯(lián)網(wǎng)設(shè)備的計(jì)算資源有限,設(shè)備上通常不會(huì)部署完整的操作系統(tǒng),因此物聯(lián)網(wǎng)設(shè)備上極少使用目前在 PC 和智能手機(jī)上常見的二進(jìn)制安全加固措施,如:地址空間布局隨機(jī)化(address space layout randomization, ASLR),可寫、可執(zhí)行內(nèi)存不相交,棧溢出保護(hù)(stack smashing protection, SSP)等。這使得設(shè)備上的軟件漏洞更易被攻擊者利用,以獲得對(duì)設(shè)備的控制權(quán)。
同理,物聯(lián)網(wǎng)設(shè)備上通常不存在防火墻等復(fù)雜安全機(jī)制,物聯(lián)網(wǎng)設(shè)備的安全嚴(yán)重依賴于周邊網(wǎng)絡(luò)環(huán)境的安全性。
一部分(尤其是低端)物聯(lián)網(wǎng)設(shè)備上的安全機(jī)制設(shè)計(jì)過于簡(jiǎn)單,且設(shè)備上的代碼沒有經(jīng)過充分的安全審計(jì),因此更容易存在安全弱點(diǎn),這增大了設(shè)備遭受安全攻擊的風(fēng)險(xiǎn)。
由于物聯(lián)網(wǎng)設(shè)備“無處不在”、長(zhǎng)時(shí)間在線的特性,物聯(lián)網(wǎng)設(shè)備更容易遭到掃描和攻擊。尤其一些長(zhǎng)期暴露在公網(wǎng)上的設(shè)備,如路由器、“樹莓派”等,此類設(shè)備是黑客重點(diǎn)研究、掃描和攻擊的對(duì)象。一旦物聯(lián)網(wǎng)設(shè)備遭受攻擊,并進(jìn)入僵尸網(wǎng)絡(luò),將很有可能對(duì)同網(wǎng)絡(luò)上的其它設(shè)備造成長(zhǎng)期的、持久的損害,并且難以被設(shè)備的主人發(fā)現(xiàn)。
物聯(lián)網(wǎng)設(shè)備自身的特性,使得這些設(shè)備對(duì)于物理層面的側(cè)信道攻擊(side-channel attacks)更為敏感。例如,物聯(lián)網(wǎng)設(shè)備的功耗與 CPU 的執(zhí)行狀態(tài)具有很強(qiáng)的相關(guān)性,攻擊者很容易通過測(cè)量物聯(lián)網(wǎng)設(shè)備的功耗變化來間接推算出 CPU 的執(zhí)行狀態(tài),并泄露出用戶密碼等機(jī)密信息。此外,物聯(lián)網(wǎng)設(shè)備對(duì)于拒絕服務(wù)(denial of service, DoS)攻擊也更為敏感,例如攻擊者可以通過反復(fù)喚醒一臺(tái)物聯(lián)網(wǎng)設(shè)備來實(shí)現(xiàn)損耗其壽命的目的[8]。
圖1 針對(duì)物聯(lián)網(wǎng)設(shè)備的攻擊類型
正因以上原因,針對(duì)物聯(lián)網(wǎng)設(shè)備的安全分析和加固與傳統(tǒng) PC 設(shè)備有很大不同,物聯(lián)網(wǎng)安全領(lǐng)域需要新的技術(shù)和方法的指導(dǎo)。目前,學(xué)術(shù)界和業(yè)界已經(jīng)有了一些針對(duì)物聯(lián)網(wǎng)安全的研究,但業(yè)界對(duì)于物聯(lián)網(wǎng)設(shè)備安全性的重視程度普遍不足,針對(duì)物聯(lián)網(wǎng)設(shè)備的網(wǎng)絡(luò)攻擊仍然非常活躍。由于物聯(lián)網(wǎng)設(shè)備的市場(chǎng)占有率穩(wěn)步提升,物聯(lián)網(wǎng)安全逐步成為信息安全領(lǐng)域的一個(gè)重要議題。本文主要分為 4 大部分。在第一部分,我們對(duì)物聯(lián)網(wǎng)技術(shù)的現(xiàn)狀,以及針對(duì)物聯(lián)網(wǎng)設(shè)備易受安全威脅的原因進(jìn)行了簡(jiǎn)要闡述。在第二部分,我們將對(duì)現(xiàn)有物聯(lián)網(wǎng)設(shè)備所面臨的主要威脅進(jìn)行綜述。在第三部分,我們將描述一些物聯(lián)網(wǎng)設(shè)備所特有的安全機(jī)制。在第四部分,我們將簡(jiǎn)要闡述目前業(yè)界所建立起的針對(duì)物聯(lián)網(wǎng)設(shè)備的一些安全實(shí)踐。最后,我們將對(duì)全文進(jìn)行總結(jié)。
傳統(tǒng)上,一個(gè)物聯(lián)網(wǎng)系統(tǒng)大致可以分為 3 個(gè)層次,分別是[4]:
圖2 物聯(lián)網(wǎng)系統(tǒng)模型
1. 感知層(perception layer),負(fù)責(zé)提供物理上的傳感器和通信網(wǎng)絡(luò),如射頻識(shí)別(RFID,radio frequency identification),全球定位系統(tǒng)(GPS,global positioning system)等;2. 傳輸層(transportation layer),負(fù)責(zé)在物聯(lián)網(wǎng)設(shè)備與互聯(lián)網(wǎng)(Internet)之間建立通信,例如藍(lán)牙網(wǎng)關(guān)等;3. 應(yīng)用層(application layer),負(fù)責(zé)實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備本身的功能,如掃地機(jī)器人的自動(dòng)尋路、智能音箱的語音識(shí)別功能等。這3個(gè)不同層次的特性各不相同,因此也面臨不同的安全威脅,詳述如下。
感知層安全。感知層面臨的主要威脅有以下幾種類型:
物理攻擊。在取得對(duì)設(shè)備的物理接觸之后,攻擊者將能夠直接提取設(shè)備上的敏感數(shù)據(jù),或是修改設(shè)備上的程序,在其中加入惡意代碼。此類攻擊需要與設(shè)備進(jìn)行物理接觸,因此相對(duì)來說較容易防范;但設(shè)備廠商也有必要考慮設(shè)備本身在物理層面的安全性問題,例如需要避免在設(shè)備的電路板上留下調(diào)試接口等。
身份偽裝。在缺乏有效的身份驗(yàn)證措施的物聯(lián)網(wǎng)網(wǎng)絡(luò)中,容易發(fā)生身份冒充的問題,惡意設(shè)備可以通過這種方式竊取敏感數(shù)據(jù)。另外,不安全的設(shè)備初始化和配對(duì)過程也是重要的安全威脅來源,例如一名攻擊者可以利用路由器首次開機(jī)、尚未設(shè)置密碼的時(shí)機(jī),向其中注入惡意程序或配置。若要防止此類攻擊,設(shè)備廠商應(yīng)仔細(xì)考慮身份驗(yàn)證過程中可能存在的安全問題,并加入有效的身份驗(yàn)證機(jī)制。
拒絕服務(wù)攻擊(DoS)。攻擊者可以通過長(zhǎng)時(shí)間使設(shè)備處于高功耗狀態(tài),來耗竭設(shè)備的計(jì)算能力。對(duì)此類攻擊的完全防范非常困難,但設(shè)備廠商可以通過合理的安全設(shè)計(jì),將此類攻擊所造成的損失盡可能降低。例如,對(duì)于需要消耗大量算力的操作,應(yīng)當(dāng)加入有效的客戶端身份驗(yàn)證機(jī)制,或是限制客戶端執(zhí)行操作的頻率等等。
數(shù)據(jù)傳輸攻擊。例如,攻擊者可以對(duì)設(shè)備所傳輸?shù)臄?shù)據(jù)進(jìn)行抓包,或?qū)嵤┲虚g人(MitM, man in the middle)攻擊。對(duì)此類攻擊的通用防范措施是在數(shù)據(jù)傳輸過程中增加加密與安全校驗(yàn)機(jī)制,如 Wi-Fi 中的 WPA(Wi-Fi Protected Access),以及 LTE(Long Term Evolution)中的 EEA(EPS Encryption Algorithm;其中 EPS = Evolved Packet System)算法等。
傳輸層安全。此層的安全威脅主要涉及對(duì)接入網(wǎng)(如 Wi-Fi,5G)的安全威脅,主要有 2 種攻擊類型,分別是數(shù)據(jù)傳輸攻擊和拒絕服務(wù)攻擊。這兩種攻擊類型的防范方法與感知層安全中的類似,不再贅述。應(yīng)用層安全。此層的安全威脅與傳統(tǒng) PC 所面臨的安全威脅有一定的重合,主要有以下這些類型:
● 數(shù)據(jù)泄露:程序中的設(shè)計(jì)疏漏可能導(dǎo)致用戶的隱私數(shù)據(jù)泄露給第三方。若要盡可能避免此類漏洞出現(xiàn),需要對(duì)設(shè)備上的程序代碼進(jìn)行充分的安全審計(jì)和評(píng)估。
● 拒絕服務(wù)攻擊:與感知層安全中的拒絕服務(wù)攻擊類似,不再贅述。
● 遠(yuǎn)程代碼執(zhí)行:利用設(shè)備程序中的安全漏洞,攻擊者能夠控制設(shè)備執(zhí)行一些意料之外的動(dòng)作,甚至執(zhí)行攻擊者所上傳的任意代碼。此類安全威脅的防范方法與傳統(tǒng)漏洞的防范類似,主要包括:加強(qiáng)代碼安全審計(jì)、對(duì)程序進(jìn)行模糊測(cè)試(fuzzing)、采用 ASLR 等二進(jìn)制安全加固措施等。但在防范此類漏洞時(shí),需要同時(shí)考慮設(shè)備本身的資源局限性。