◆劉瑞寅 陳 鵬
?
基于TEE的物聯網設備安全防護體系研究
◆劉瑞寅 陳 鵬
(唐山市公安局科信處 河北 063000)
物聯網作為新興產業,已在國計民生的諸多產業中占據重要地位,但物聯網安全問題將成為制約物聯網技術應用的關鍵。本文充分調研了針對物聯網設備的攻擊手段,深入分析了物聯網設備固有的脆弱性,基于可信計算、TEE等先進理念和技術,針對性地設計了物聯網設備安全防護體系,不僅能防御當前的種種攻擊,而且符合我國等級保護制度的相關要求。
物聯網;可信計算;TEE
物聯網作為新興產業在國內外各行業得到迅猛發展,據權威機構預測,2020年物聯網產業將比互聯網大30倍,并在信息產業革命中起著主導作用,對社會產生深遠影響。我國社會各行各業都在積極布局物聯網應用,如公安行業在人員管理、“兩車”防盜、安全監控、交通管制等方面,都廣泛應用了物聯網技術,實現了物聯網環境下的智能警務新變革,使傳統的足下“奔波勞頓”轉向指間“方寸掌控”。
但是,任何新的技術都是一把雙刃劍,物聯網在給我們社會生活帶來諸多變革的同時,也嚴重提升了我們的網絡安全風險。2016年10月21日,美國西海岸遭受400G左右的DDoS攻擊,造成大面積網絡癱瘓。經過事后分析發現,攻擊者利用Mirai[1]病毒,掃描并入侵部署在互聯網中的物聯網設備,將其作為“肉雞”發起網絡攻擊。這種極其簡單的攻擊手段,就可以造成非常嚴重的網絡安全事件。2017年8月,臺積電突然爆出三大生產線遭勒索病毒攻擊,造成巨大損失,事后分析發現,是因為新機臺設備遭受病毒攻擊,并且在其連接到公司內部網絡時發生病毒擴散。越來越多的安全事件顯示,物聯網設備已逐步被黑客重視,開始成為攻擊其它更重要目標的入口或跳板。
究其原因,是因為業界原先對物聯網設備的安全防護重視程度不夠:一是設備大都采用裁剪的開源系統,如Linux,沒有專業團隊跟蹤系統的安全動態,這樣即使系統存在重大漏洞,設備也不會做任何升級;二是設備處于裸奔狀態,弱口令、不安全配置比比皆是,給黑客攻擊提供了極大便利;三是物聯網應用眾多,上線前大都不進行任何安全測試,這種帶病上崗的服務端口,也給黑客可乘之機。而常規安全防護理念往往體現在部署防火墻、漏洞掃描、WAF等安全設備,重視網關及網絡邊界防護上,但物聯網邊界碎片化,傳統的邊界防護設備已顯得無能為力。
綜上所述,物聯網技術已在我們生活中扮演越來越重要的角色,已滲透到生活的方方面面,但是物聯網設備的安全問題還未得到有效改善,一旦被黑客利用,就可能泄露我們的隱私信息,甚至被作為跳板,攻擊我們的重要信息系統。因此,物聯網設備的安全問題亟待解決。
當前針對物聯網設備的攻擊手段主要如下:
(1)暴力破解:目前物聯網設備大多使用的是嵌入式linux系統,賬戶信息一般存放在/etc/passwd或者/etc/shadow文件中,攻擊者拿到這個文件就可以進行系統密碼破解,也可搜集常用的弱口令列表,通過機器嘗試的方式獲取系統相關服務的認證口令。
(2)未授權訪問:由于嵌入式設備在產品設計時存在一些缺陷,如開發人員將特定賬戶的認證信息硬編碼到代碼中、存在不需認證的URL路徑等,攻擊者不需要管理員授權,繞過用戶認證環節,訪問并控制目標系統。
(3)遠程代碼執行:嵌入式設備的對外服務應用,如管理界面存在遠程代碼執行漏洞,攻擊者可以利用該漏洞執行危險指令,甚至上傳攻擊程序。
攻擊者一旦利用上述手段入侵物聯網設備,就可以植入木馬、修改配置,進而發動大規模的后續攻擊。脆弱性是安全事件發生的內因,目前嵌入式設備之所以能夠被黑客不費吹灰之力地進行攻擊,是因為其存在如下安全缺陷:
(1)缺乏可信的身份認證機制
當前的物聯網設備基本采用用戶名+口令的身份認證機制,并且大部分設備出廠后,使用默認用戶名和口令,極容易遭受暴力破解、字典攻擊等。
(2)缺乏主動的病毒防御機制
物聯網設備操作系統基本都采用類Linux架構,延續了Linux操作系統的自主訪問控制模型進行權限控制,客體屬主可以將自己的權限賦予別人。理論已經證明,自主訪問控制模型對惡意代碼沒有防御能力。另外,物聯網設備的計算資源、存儲資源都較有限,傳統的基于特征碼掃描的殺毒軟件無法在物聯網設備中運行。
(3)缺乏嚴格的資源隔離機制
正如上面所述,物聯網設備操作系統都采用自主訪問控制模型進行權限控制,用戶、進程等實體都擁有較大的權限,幾乎可以訪問系統中的任何資源。致使利用提權、冒充等攻擊手段,一旦特權用戶權限被竊取,攻擊者就可以為所欲為。物聯網設備中的應用服務運行于沒有嚴格資源隔離機制的操作系統之上,其可信運行所依賴的程序、配置、數據等資源極容易被篡改破壞,從而無法保障自身的可靠運行。
雖然,大部分物聯網系統都基于專網構建,和互聯網邏輯隔離。但物聯網終端基本都分布在地理位置不可控的區域,如荒郊野外,終端極容易被物理接觸,從而被黑客分析和破壞。因此,對物聯網終端安全防護體系設計,必須滿足如下原則:
(1)零信任安全[2]:物聯網終端地理位置不可控,極容易被黑客控制,因此,在設計物聯網設備安全體系時,應假設任何設備都是不可信任的,都可能已經被攻擊者入侵。
(2)主動防御:物聯網設備地理位置的不可控性,將會給黑客足夠的時間分析設備的安全機制和缺陷,因此,不能采用傳統的特征檢測的滯后、被動安全防護體系,應對未知攻擊具有主動防護能力。
(3)深度安全:和傳統終端、服務器相比,物聯網設備的固件極易被分析和篡改,因此必須為物聯網設備構建不可篡改的信任根,彌補純軟的安全機制的不足。
(1)可信計算
可信計算技術[3,4]的基本思想是:首先構建一個信任根,以信任根為起點建立一條信任鏈,從信任根開始到硬件平臺、操作系統、應用,一級認證一級,一級信任一級,把這種信任擴展到整個計算機系統,從而從源頭上確保整個計算機系統可信,并且能夠通過可信報告功能將這種信任關系通過網絡連接延伸到整個信息系統,如圖1所示。
經過實驗驗證,可信計算技術能夠有效對抗當前時期信息系統面臨的安全威脅,具體如下:
①對系統中代碼加載時的可信性進行驗證,能保障系統初始環境可信。
②對系統運行中的內核代碼、關鍵數據結構及應用代碼進行動態度量,可以保障對系統運行時的代碼的監控,實時采取應急措施,提升代碼的穩定性。
③基于可信證明機制的身份認證、平臺認證,可以實現可信網絡連接功能,預防惡意設備接入系統。

圖1 可信鏈傳遞原理圖
(2)TEE
可信執行環境(TEE)[5]是Global Platform(GP)提出的概念。針對移動設備的開放環境,安全問題也越來越受到關注,不僅僅是終端用戶,還包括服務提供者、移動運營商,以及芯片廠商。TEE是與設備上的Rich OS(通常是Android等)并存的運行環境,并且給Rich OS提供安全服務。它具有其自身的執行空間,比Rich OS的安全級別更高。TEE提供了授權安全軟件(可信應用,TA)的安全執行環境,同時也保護TA的資源和數據的保密性、完整性和訪問權限。為了保證TEE本身的可信根,TEE在安全啟動過程中要通過驗證并且與Rich OS隔離。在TEE中,每個TA是相互獨立的,而且不能在未授權的情況下互相訪問,如圖2。

圖2 TEE架構圖
基于上述原則及相關技術,本文將基于可信計算思想,結合TEE、密碼等先進技術手段,為物聯網設備構建全方位的安全防護體系,如圖3。具體思路如下:
(1)對物聯網設備進行改造,基于可信計算思想,增加TPCM,實現不可篡改的信任根,作為信任的源頭;
(2)利用ARM處理器提供的TrustZone[6],為嵌入式設備構建可信執行環境(TEE),執行身份鑒別、密碼運算、安全檢查等敏感指令;
(3)對物聯網設備操作系統進行改造,增加內核級的可信基礎軟件,實現對用戶、程序等主體的可信檢查和權限控制;
(4)基于可信連接機制,為物聯網設備構建源頭認證機制,確保只有可信的物聯網設備能夠接入網絡。

圖3 系統可信鏈傳遞
從而為物聯網設備建立如上圖所示的信任傳遞環境,即系統開機后,TPCM[7]首先加電,然后對MCU、Flash等進行可信驗證;驗證通過后,將控制權給MCU,MCU進而加載Bootloader,對TEE進行可信性檢查;檢查通過后,TEE加載嵌入式操作系統內核,內核啟動后驗證操作系統的配置、執行程序等組件的可信性,最后驗證網絡的可信性。
依據上文所述的設計思路,為物聯網設備構建了如圖4的防護體系。

圖4 物聯網設備安全防護體系
(1)用戶身份可信
防止攻擊者遠程通過密碼字典對嵌入式設備暴力破解獲取用戶名密碼,提供基于遠程登錄的暴力破解防護功能,可對系統無效用戶、普通用戶、超級用戶的登錄次數和頻率進行限制,減少用戶名口令嘗試次數,當非法主機嘗試用戶名口令達到閾值時,則自動鎖定該IP,鎖定后的IP禁止訪問嵌入式設備。同時對物聯網設備的賬戶提供弱口令安全檢測,提高賬戶口令要求,保障安全設備用戶名口令安全。
(2)應用程序可信
采用白名單方式固化物聯網設備中能夠運行的程序,對執行程序進行可信檢測,確保惡意程序或與業務無關的程序無法在設備中運行;攔截物聯網設備中可執行程序執行請求,只允許經過可信驗證的安全程序才能在安全設備中運行,有效攔截已知或未知的病毒、木馬及其他惡意軟件。對物聯網設備的腳本程序全方位進行安全檢測,發現其中隱含的安全風險,如webshell、網站掛馬、上傳漏洞等。同時管理中心集中檢測管理,并將安全風險結果上報至統一管理中心,對安全風險進行深度分析。
(3)配置可信性檢查
一鍵配置啟用系統安全基線,使操作系統自身安全機制充分發揮作用,從而提高嵌入式設備運行環境安全,簡化安全管理配置工作;提供定制的安全基線模板,根據實際需求開啟指定系統安全基線模板;不同嵌入式設備自定義的系統安全基線模板;支持基線的修復、檢查。同時支持根據業務或運維需求,將系統安全基線一鍵還原到系統默認狀態。
(4)內核可信性檢測
提供對安全設備的指定敏感目錄、文件、程序進行收集的功能。支持列出核心數據的刪除、修改、新增的變化情況,同時對修改的程序支持列出文件修改前及修改后的信息對比。
由于常規安全設備不間斷的提供服務,為保障正在運行的程序的合法性,提供對安全設備內存級的程序代碼段校驗,實時監控內存中正在運行的程序的完整性。
(5)程序行為可信
對應用服務的程序行為進行可信性檢查,及時發現和阻斷違規行為。
(6)應用輕量級隔離
從應用執行環境的組成要素入手,通過對硬件平臺和系統服務平臺的安全增強,確保應用進程對資源訪問的相對獨立性,最大程度上消除應用程序之間可能存在的惡意干擾。在系統服務平臺上設計了隔離監視器,并針對不同應用程序,將應用資源劃分為若干資源分塊,分別劃歸到各自的應用域中,從而實現應用程序間的邏輯隔離。
(7)可信接入
在部件自身計算結果正確的情況下,設計部件之間的可信管道,保證部件互聯的安全,從而確保部件之間消息傳遞的保密性和完整性。
本文廣泛調研了目前針對物聯網設備的常用攻擊手段,并且深入分析了其安全風險存在的根本原因,然后針對物聯網設備的特點,結合可信計算、TEE等先進理念和技術,給出了其安全防護體系。
本文給出的安全體系設計合理,不僅能夠極大提升物聯網設備的安全性,同時還符合我國等級保護制度對物聯網系統的相關安全要求。
[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].中國科學:信息科學,2010.
[4]徐明迪,張煥國,趙恒等.可信計算平臺信任鏈安全性分析[J].計算機學報,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]沈昌祥.用可信計算3.0筑牢網絡安全防線[J].信息通信技術,2017.
本文受湖南省自然科學基金項目(批準號:07JJ3129),湖南省青年骨干教師培養基金資助項目資助。