◆劉瑞寅 陳 鵬
?
基于TEE的物聯(lián)網(wǎng)設(shè)備安全防護(hù)體系研究
◆劉瑞寅 陳 鵬
(唐山市公安局科信處 河北 063000)
物聯(lián)網(wǎng)作為新興產(chǎn)業(yè),已在國計(jì)民生的諸多產(chǎn)業(yè)中占據(jù)重要地位,但物聯(lián)網(wǎng)安全問題將成為制約物聯(lián)網(wǎng)技術(shù)應(yīng)用的關(guān)鍵。本文充分調(diào)研了針對(duì)物聯(lián)網(wǎng)設(shè)備的攻擊手段,深入分析了物聯(lián)網(wǎng)設(shè)備固有的脆弱性,基于可信計(jì)算、TEE等先進(jìn)理念和技術(shù),針對(duì)性地設(shè)計(jì)了物聯(lián)網(wǎng)設(shè)備安全防護(hù)體系,不僅能防御當(dāng)前的種種攻擊,而且符合我國等級(jí)保護(hù)制度的相關(guān)要求。
物聯(lián)網(wǎng);可信計(jì)算;TEE
物聯(lián)網(wǎng)作為新興產(chǎn)業(yè)在國內(nèi)外各行業(yè)得到迅猛發(fā)展,據(jù)權(quán)威機(jī)構(gòu)預(yù)測(cè),2020年物聯(lián)網(wǎng)產(chǎn)業(yè)將比互聯(lián)網(wǎng)大30倍,并在信息產(chǎn)業(yè)革命中起著主導(dǎo)作用,對(duì)社會(huì)產(chǎn)生深遠(yuǎn)影響。我國社會(huì)各行各業(yè)都在積極布局物聯(lián)網(wǎng)應(yīng)用,如公安行業(yè)在人員管理、“兩車”防盜、安全監(jiān)控、交通管制等方面,都廣泛應(yīng)用了物聯(lián)網(wǎng)技術(shù),實(shí)現(xiàn)了物聯(lián)網(wǎng)環(huán)境下的智能警務(wù)新變革,使傳統(tǒng)的足下“奔波勞頓”轉(zhuǎn)向指間“方寸掌控”。
但是,任何新的技術(shù)都是一把雙刃劍,物聯(lián)網(wǎng)在給我們社會(huì)生活帶來諸多變革的同時(shí),也嚴(yán)重提升了我們的網(wǎng)絡(luò)安全風(fēng)險(xiǎn)。2016年10月21日,美國西海岸遭受400G左右的DDoS攻擊,造成大面積網(wǎng)絡(luò)癱瘓。經(jīng)過事后分析發(fā)現(xiàn),攻擊者利用Mirai[1]病毒,掃描并入侵部署在互聯(lián)網(wǎng)中的物聯(lián)網(wǎng)設(shè)備,將其作為“肉雞”發(fā)起網(wǎng)絡(luò)攻擊。這種極其簡(jiǎn)單的攻擊手段,就可以造成非常嚴(yán)重的網(wǎng)絡(luò)安全事件。2017年8月,臺(tái)積電突然爆出三大生產(chǎn)線遭勒索病毒攻擊,造成巨大損失,事后分析發(fā)現(xiàn),是因?yàn)樾聶C(jī)臺(tái)設(shè)備遭受病毒攻擊,并且在其連接到公司內(nèi)部網(wǎng)絡(luò)時(shí)發(fā)生病毒擴(kuò)散。越來越多的安全事件顯示,物聯(lián)網(wǎng)設(shè)備已逐步被黑客重視,開始成為攻擊其它更重要目標(biāo)的入口或跳板。
究其原因,是因?yàn)闃I(yè)界原先對(duì)物聯(lián)網(wǎng)設(shè)備的安全防護(hù)重視程度不夠:一是設(shè)備大都采用裁剪的開源系統(tǒng),如Linux,沒有專業(yè)團(tuán)隊(duì)跟蹤系統(tǒng)的安全動(dòng)態(tài),這樣即使系統(tǒng)存在重大漏洞,設(shè)備也不會(huì)做任何升級(jí);二是設(shè)備處于裸奔狀態(tài),弱口令、不安全配置比比皆是,給黑客攻擊提供了極大便利;三是物聯(lián)網(wǎng)應(yīng)用眾多,上線前大都不進(jìn)行任何安全測(cè)試,這種帶病上崗的服務(wù)端口,也給黑客可乘之機(jī)。而常規(guī)安全防護(hù)理念往往體現(xiàn)在部署防火墻、漏洞掃描、WAF等安全設(shè)備,重視網(wǎng)關(guān)及網(wǎng)絡(luò)邊界防護(hù)上,但物聯(lián)網(wǎng)邊界碎片化,傳統(tǒng)的邊界防護(hù)設(shè)備已顯得無能為力。
綜上所述,物聯(lián)網(wǎng)技術(shù)已在我們生活中扮演越來越重要的角色,已滲透到生活的方方面面,但是物聯(lián)網(wǎng)設(shè)備的安全問題還未得到有效改善,一旦被黑客利用,就可能泄露我們的隱私信息,甚至被作為跳板,攻擊我們的重要信息系統(tǒng)。因此,物聯(lián)網(wǎng)設(shè)備的安全問題亟待解決。
當(dāng)前針對(duì)物聯(lián)網(wǎng)設(shè)備的攻擊手段主要如下:
(1)暴力破解:目前物聯(lián)網(wǎng)設(shè)備大多使用的是嵌入式linux系統(tǒng),賬戶信息一般存放在/etc/passwd或者/etc/shadow文件中,攻擊者拿到這個(gè)文件就可以進(jìn)行系統(tǒng)密碼破解,也可搜集常用的弱口令列表,通過機(jī)器嘗試的方式獲取系統(tǒng)相關(guān)服務(wù)的認(rèn)證口令。
(2)未授權(quán)訪問:由于嵌入式設(shè)備在產(chǎn)品設(shè)計(jì)時(shí)存在一些缺陷,如開發(fā)人員將特定賬戶的認(rèn)證信息硬編碼到代碼中、存在不需認(rèn)證的URL路徑等,攻擊者不需要管理員授權(quán),繞過用戶認(rèn)證環(huán)節(jié),訪問并控制目標(biāo)系統(tǒng)。
(3)遠(yuǎn)程代碼執(zhí)行:嵌入式設(shè)備的對(duì)外服務(wù)應(yīng)用,如管理界面存在遠(yuǎn)程代碼執(zhí)行漏洞,攻擊者可以利用該漏洞執(zhí)行危險(xiǎn)指令,甚至上傳攻擊程序。
攻擊者一旦利用上述手段入侵物聯(lián)網(wǎng)設(shè)備,就可以植入木馬、修改配置,進(jìn)而發(fā)動(dòng)大規(guī)模的后續(xù)攻擊。脆弱性是安全事件發(fā)生的內(nèi)因,目前嵌入式設(shè)備之所以能夠被黑客不費(fèi)吹灰之力地進(jìn)行攻擊,是因?yàn)槠浯嬖谌缦掳踩毕荩?/p>
(1)缺乏可信的身份認(rèn)證機(jī)制
當(dāng)前的物聯(lián)網(wǎng)設(shè)備基本采用用戶名+口令的身份認(rèn)證機(jī)制,并且大部分設(shè)備出廠后,使用默認(rèn)用戶名和口令,極容易遭受暴力破解、字典攻擊等。
(2)缺乏主動(dòng)的病毒防御機(jī)制
物聯(lián)網(wǎng)設(shè)備操作系統(tǒng)基本都采用類Linux架構(gòu),延續(xù)了Linux操作系統(tǒng)的自主訪問控制模型進(jìn)行權(quán)限控制,客體屬主可以將自己的權(quán)限賦予別人。理論已經(jīng)證明,自主訪問控制模型對(duì)惡意代碼沒有防御能力。另外,物聯(lián)網(wǎng)設(shè)備的計(jì)算資源、存儲(chǔ)資源都較有限,傳統(tǒng)的基于特征碼掃描的殺毒軟件無法在物聯(lián)網(wǎng)設(shè)備中運(yùn)行。
(3)缺乏嚴(yán)格的資源隔離機(jī)制
正如上面所述,物聯(lián)網(wǎng)設(shè)備操作系統(tǒng)都采用自主訪問控制模型進(jìn)行權(quán)限控制,用戶、進(jìn)程等實(shí)體都擁有較大的權(quán)限,幾乎可以訪問系統(tǒng)中的任何資源。致使利用提權(quán)、冒充等攻擊手段,一旦特權(quán)用戶權(quán)限被竊取,攻擊者就可以為所欲為。物聯(lián)網(wǎng)設(shè)備中的應(yīng)用服務(wù)運(yùn)行于沒有嚴(yán)格資源隔離機(jī)制的操作系統(tǒng)之上,其可信運(yùn)行所依賴的程序、配置、數(shù)據(jù)等資源極容易被篡改破壞,從而無法保障自身的可靠運(yùn)行。
雖然,大部分物聯(lián)網(wǎng)系統(tǒng)都基于專網(wǎng)構(gòu)建,和互聯(lián)網(wǎng)邏輯隔離。但物聯(lián)網(wǎng)終端基本都分布在地理位置不可控的區(qū)域,如荒郊野外,終端極容易被物理接觸,從而被黑客分析和破壞。因此,對(duì)物聯(lián)網(wǎng)終端安全防護(hù)體系設(shè)計(jì),必須滿足如下原則:
(1)零信任安全[2]:物聯(lián)網(wǎng)終端地理位置不可控,極容易被黑客控制,因此,在設(shè)計(jì)物聯(lián)網(wǎng)設(shè)備安全體系時(shí),應(yīng)假設(shè)任何設(shè)備都是不可信任的,都可能已經(jīng)被攻擊者入侵。
(2)主動(dòng)防御:物聯(lián)網(wǎng)設(shè)備地理位置的不可控性,將會(huì)給黑客足夠的時(shí)間分析設(shè)備的安全機(jī)制和缺陷,因此,不能采用傳統(tǒng)的特征檢測(cè)的滯后、被動(dòng)安全防護(hù)體系,應(yīng)對(duì)未知攻擊具有主動(dòng)防護(hù)能力。
(3)深度安全:和傳統(tǒng)終端、服務(wù)器相比,物聯(lián)網(wǎng)設(shè)備的固件極易被分析和篡改,因此必須為物聯(lián)網(wǎng)設(shè)備構(gòu)建不可篡改的信任根,彌補(bǔ)純軟的安全機(jī)制的不足。
(1)可信計(jì)算
可信計(jì)算技術(shù)[3,4]的基本思想是:首先構(gòu)建一個(gè)信任根,以信任根為起點(diǎn)建立一條信任鏈,從信任根開始到硬件平臺(tái)、操作系統(tǒng)、應(yīng)用,一級(jí)認(rèn)證一級(jí),一級(jí)信任一級(jí),把這種信任擴(kuò)展到整個(gè)計(jì)算機(jī)系統(tǒng),從而從源頭上確保整個(gè)計(jì)算機(jī)系統(tǒng)可信,并且能夠通過可信報(bào)告功能將這種信任關(guān)系通過網(wǎng)絡(luò)連接延伸到整個(gè)信息系統(tǒng),如圖1所示。
經(jīng)過實(shí)驗(yàn)驗(yàn)證,可信計(jì)算技術(shù)能夠有效對(duì)抗當(dāng)前時(shí)期信息系統(tǒng)面臨的安全威脅,具體如下:
①對(duì)系統(tǒng)中代碼加載時(shí)的可信性進(jìn)行驗(yàn)證,能保障系統(tǒng)初始環(huán)境可信。
②對(duì)系統(tǒng)運(yùn)行中的內(nèi)核代碼、關(guān)鍵數(shù)據(jù)結(jié)構(gòu)及應(yīng)用代碼進(jìn)行動(dòng)態(tài)度量,可以保障對(duì)系統(tǒng)運(yùn)行時(shí)的代碼的監(jiān)控,實(shí)時(shí)采取應(yīng)急措施,提升代碼的穩(wěn)定性。
③基于可信證明機(jī)制的身份認(rèn)證、平臺(tái)認(rèn)證,可以實(shí)現(xiàn)可信網(wǎng)絡(luò)連接功能,預(yù)防惡意設(shè)備接入系統(tǒng)。
圖1 可信鏈傳遞原理圖
(2)TEE
可信執(zhí)行環(huán)境(TEE)[5]是Global Platform(GP)提出的概念。針對(duì)移動(dòng)設(shè)備的開放環(huán)境,安全問題也越來越受到關(guān)注,不僅僅是終端用戶,還包括服務(wù)提供者、移動(dòng)運(yùn)營商,以及芯片廠商。TEE是與設(shè)備上的Rich OS(通常是Android等)并存的運(yùn)行環(huán)境,并且給Rich OS提供安全服務(wù)。它具有其自身的執(zhí)行空間,比Rich OS的安全級(jí)別更高。TEE提供了授權(quán)安全軟件(可信應(yīng)用,TA)的安全執(zhí)行環(huán)境,同時(shí)也保護(hù)TA的資源和數(shù)據(jù)的保密性、完整性和訪問權(quán)限。為了保證TEE本身的可信根,TEE在安全啟動(dòng)過程中要通過驗(yàn)證并且與Rich OS隔離。在TEE中,每個(gè)TA是相互獨(dú)立的,而且不能在未授權(quán)的情況下互相訪問,如圖2。
圖2 TEE架構(gòu)圖
基于上述原則及相關(guān)技術(shù),本文將基于可信計(jì)算思想,結(jié)合TEE、密碼等先進(jìn)技術(shù)手段,為物聯(lián)網(wǎng)設(shè)備構(gòu)建全方位的安全防護(hù)體系,如圖3。具體思路如下:
(1)對(duì)物聯(lián)網(wǎng)設(shè)備進(jìn)行改造,基于可信計(jì)算思想,增加TPCM,實(shí)現(xiàn)不可篡改的信任根,作為信任的源頭;
(2)利用ARM處理器提供的TrustZone[6],為嵌入式設(shè)備構(gòu)建可信執(zhí)行環(huán)境(TEE),執(zhí)行身份鑒別、密碼運(yùn)算、安全檢查等敏感指令;
(3)對(duì)物聯(lián)網(wǎng)設(shè)備操作系統(tǒng)進(jìn)行改造,增加內(nèi)核級(jí)的可信基礎(chǔ)軟件,實(shí)現(xiàn)對(duì)用戶、程序等主體的可信檢查和權(quán)限控制;
(4)基于可信連接機(jī)制,為物聯(lián)網(wǎng)設(shè)備構(gòu)建源頭認(rèn)證機(jī)制,確保只有可信的物聯(lián)網(wǎng)設(shè)備能夠接入網(wǎng)絡(luò)。
圖3 系統(tǒng)可信鏈傳遞
從而為物聯(lián)網(wǎng)設(shè)備建立如上圖所示的信任傳遞環(huán)境,即系統(tǒng)開機(jī)后,TPCM[7]首先加電,然后對(duì)MCU、Flash等進(jìn)行可信驗(yàn)證;驗(yàn)證通過后,將控制權(quán)給MCU,MCU進(jìn)而加載Bootloader,對(duì)TEE進(jìn)行可信性檢查;檢查通過后,TEE加載嵌入式操作系統(tǒng)內(nèi)核,內(nèi)核啟動(dòng)后驗(yàn)證操作系統(tǒng)的配置、執(zhí)行程序等組件的可信性,最后驗(yàn)證網(wǎng)絡(luò)的可信性。
依據(jù)上文所述的設(shè)計(jì)思路,為物聯(lián)網(wǎng)設(shè)備構(gòu)建了如圖4的防護(hù)體系。
圖4 物聯(lián)網(wǎng)設(shè)備安全防護(hù)體系
(1)用戶身份可信
防止攻擊者遠(yuǎn)程通過密碼字典對(duì)嵌入式設(shè)備暴力破解獲取用戶名密碼,提供基于遠(yuǎn)程登錄的暴力破解防護(hù)功能,可對(duì)系統(tǒng)無效用戶、普通用戶、超級(jí)用戶的登錄次數(shù)和頻率進(jìn)行限制,減少用戶名口令嘗試次數(shù),當(dāng)非法主機(jī)嘗試用戶名口令達(dá)到閾值時(shí),則自動(dòng)鎖定該IP,鎖定后的IP禁止訪問嵌入式設(shè)備。同時(shí)對(duì)物聯(lián)網(wǎng)設(shè)備的賬戶提供弱口令安全檢測(cè),提高賬戶口令要求,保障安全設(shè)備用戶名口令安全。
(2)應(yīng)用程序可信
采用白名單方式固化物聯(lián)網(wǎng)設(shè)備中能夠運(yùn)行的程序,對(duì)執(zhí)行程序進(jìn)行可信檢測(cè),確保惡意程序或與業(yè)務(wù)無關(guān)的程序無法在設(shè)備中運(yùn)行;攔截物聯(lián)網(wǎng)設(shè)備中可執(zhí)行程序執(zhí)行請(qǐng)求,只允許經(jīng)過可信驗(yàn)證的安全程序才能在安全設(shè)備中運(yùn)行,有效攔截已知或未知的病毒、木馬及其他惡意軟件。對(duì)物聯(lián)網(wǎng)設(shè)備的腳本程序全方位進(jìn)行安全檢測(cè),發(fā)現(xiàn)其中隱含的安全風(fēng)險(xiǎn),如webshell、網(wǎng)站掛馬、上傳漏洞等。同時(shí)管理中心集中檢測(cè)管理,并將安全風(fēng)險(xiǎn)結(jié)果上報(bào)至統(tǒng)一管理中心,對(duì)安全風(fēng)險(xiǎn)進(jìn)行深度分析。
(3)配置可信性檢查
一鍵配置啟用系統(tǒng)安全基線,使操作系統(tǒng)自身安全機(jī)制充分發(fā)揮作用,從而提高嵌入式設(shè)備運(yùn)行環(huán)境安全,簡(jiǎn)化安全管理配置工作;提供定制的安全基線模板,根據(jù)實(shí)際需求開啟指定系統(tǒng)安全基線模板;不同嵌入式設(shè)備自定義的系統(tǒng)安全基線模板;支持基線的修復(fù)、檢查。同時(shí)支持根據(jù)業(yè)務(wù)或運(yùn)維需求,將系統(tǒng)安全基線一鍵還原到系統(tǒng)默認(rèn)狀態(tài)。
(4)內(nèi)核可信性檢測(cè)
提供對(duì)安全設(shè)備的指定敏感目錄、文件、程序進(jìn)行收集的功能。支持列出核心數(shù)據(jù)的刪除、修改、新增的變化情況,同時(shí)對(duì)修改的程序支持列出文件修改前及修改后的信息對(duì)比。
由于常規(guī)安全設(shè)備不間斷的提供服務(wù),為保障正在運(yùn)行的程序的合法性,提供對(duì)安全設(shè)備內(nèi)存級(jí)的程序代碼段校驗(yàn),實(shí)時(shí)監(jiān)控內(nèi)存中正在運(yùn)行的程序的完整性。
(5)程序行為可信
對(duì)應(yīng)用服務(wù)的程序行為進(jìn)行可信性檢查,及時(shí)發(fā)現(xiàn)和阻斷違規(guī)行為。
(6)應(yīng)用輕量級(jí)隔離
從應(yīng)用執(zhí)行環(huán)境的組成要素入手,通過對(duì)硬件平臺(tái)和系統(tǒng)服務(wù)平臺(tái)的安全增強(qiáng),確保應(yīng)用進(jìn)程對(duì)資源訪問的相對(duì)獨(dú)立性,最大程度上消除應(yīng)用程序之間可能存在的惡意干擾。在系統(tǒng)服務(wù)平臺(tái)上設(shè)計(jì)了隔離監(jiān)視器,并針對(duì)不同應(yīng)用程序,將應(yīng)用資源劃分為若干資源分塊,分別劃歸到各自的應(yīng)用域中,從而實(shí)現(xiàn)應(yīng)用程序間的邏輯隔離。
(7)可信接入
在部件自身計(jì)算結(jié)果正確的情況下,設(shè)計(jì)部件之間的可信管道,保證部件互聯(lián)的安全,從而確保部件之間消息傳遞的保密性和完整性。
本文廣泛調(diào)研了目前針對(duì)物聯(lián)網(wǎng)設(shè)備的常用攻擊手段,并且深入分析了其安全風(fēng)險(xiǎn)存在的根本原因,然后針對(duì)物聯(lián)網(wǎng)設(shè)備的特點(diǎn),結(jié)合可信計(jì)算、TEE等先進(jìn)理念和技術(shù),給出了其安全防護(hù)體系。
本文給出的安全體系設(shè)計(jì)合理,不僅能夠極大提升物聯(lián)網(wǎng)設(shè)備的安全性,同時(shí)還符合我國等級(jí)保護(hù)制度對(duì)物聯(lián)網(wǎng)系統(tǒng)的相關(guān)安全要求。
[1]Kolias C,Kambourakis G,Stavrou A, et al. DDoS in the IoT:Mirai and Other Botnets[J].Computer,2017.
[2]No More Chewy Centers:The Zero Trust Model Of Information Security[EB/OL]. http://crystaltechnologies.com/wp-content/uploads/2017/12/forrester-zero-trust-model-information-security.pdf.
[3]沈昌祥,張煥國,王懷民等.可信計(jì)算的研究與發(fā)展[J].中國科學(xué):信息科學(xué),2010.
[4]徐明迪,張煥國,趙恒等.可信計(jì)算平臺(tái)信任鏈安全性分析[J].計(jì)算機(jī)學(xué)報(bào),2010.
[5]GlobalPlatform Device Technology TEE System Architecture Version 1.1[EB/OL].https://globalplatform. org/ specs-library/tee-system-architecture-v1-1/.
[6]IntroducingArmTrustZone[EB/OL].https://developer.arm.com/technologies/trustzone
[7]沈昌祥.用可信計(jì)算3.0筑牢網(wǎng)絡(luò)安全防線[J].信息通信技術(shù),2017.
本文受湖南省自然科學(xué)基金項(xiàng)目(批準(zhǔn)號(hào):07JJ3129),湖南省青年骨干教師培養(yǎng)基金資助項(xiàng)目資助。