• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于邊緣計(jì)算的可信執(zhí)行環(huán)境研究

      2019-07-15 12:13:20寧振宇張鋒巍施巍松
      關(guān)鍵詞:內(nèi)存處理器邊緣

      寧振宇 張鋒巍 施巍松

      (韋恩州立大學(xué)計(jì)算機(jī)科學(xué)系 美國密歇根州底特律 48202)

      云計(jì)算(cloud computing)[1]的概念被提出并廣泛應(yīng)用之后,大型應(yīng)用服務(wù)的海量數(shù)據(jù)計(jì)算逐漸轉(zhuǎn)移到云端[2].隨著物聯(lián)網(wǎng)技術(shù)(Internet of things, IoT)[3]和萬物互聯(lián)技術(shù)(Internet of everything, IoE)[4]的推進(jìn),越來越多的節(jié)點(diǎn)開始融入互聯(lián)網(wǎng),同時(shí)也導(dǎo)致部分節(jié)點(diǎn)對(duì)數(shù)據(jù)和計(jì)算的實(shí)時(shí)性和隱私性提出了更高的要求.然而由于云計(jì)算模型結(jié)構(gòu)要求數(shù)據(jù)上傳,從而導(dǎo)致其無法滿足所有節(jié)點(diǎn)的要求,尤其是實(shí)時(shí)性和隱私性要求.因此,邊緣計(jì)算(edge computing)[5]和霧計(jì)算(fog computing)[6]應(yīng)運(yùn)而生.

      與傳統(tǒng)的云計(jì)算模型不同的是,邊緣計(jì)算模型在數(shù)據(jù)源和云計(jì)算中心之間增加了一層網(wǎng)絡(luò)邊緣節(jié)點(diǎn).這些網(wǎng)絡(luò)邊緣節(jié)點(diǎn)不僅能夠與云計(jì)算中心進(jìn)行雙向數(shù)據(jù)傳輸,還可以高效地在數(shù)據(jù)源附近執(zhí)行部分實(shí)時(shí)性要求較高的計(jì)算任務(wù).由于這些節(jié)點(diǎn)更加貼近數(shù)據(jù)源,他們與數(shù)據(jù)源的通信成本更低、時(shí)效性更高.此外,由于不再需要將數(shù)據(jù)統(tǒng)一上傳到云計(jì)算中心,數(shù)據(jù)的隱私性和安全性也得到了更好的保障.

      然而網(wǎng)絡(luò)邊緣節(jié)點(diǎn)自身的安全性依然是一個(gè)不可忽視的問題.與集中式云計(jì)算中心自身的安全性不同,邊緣節(jié)點(diǎn)的分布式特性決定了難以對(duì)其進(jìn)行統(tǒng)一的管理.因此,如何保證節(jié)點(diǎn)計(jì)算的安全性和隱私性依然是一個(gè)值得探討的研究問題.

      例如在邊緣計(jì)算視頻監(jiān)控系統(tǒng)中[5],為了降低存儲(chǔ)空間并減少數(shù)據(jù)視頻上傳,邊緣節(jié)點(diǎn)將提供視頻預(yù)處理功能,這也意味著邊緣節(jié)點(diǎn)擁有所有視頻監(jiān)控的讀取權(quán)限.這些邊緣節(jié)點(diǎn)并不像云計(jì)算節(jié)點(diǎn)一樣集中管理,而是分布在各個(gè)邊緣端,因而它們被惡意入侵的風(fēng)險(xiǎn)更大.一旦這些節(jié)點(diǎn)被入侵,所有的監(jiān)控視頻都有可能被惡意讀取,進(jìn)而造成公共隱私泄露等安全問題.又比如在由邊緣操作系統(tǒng)支持的智能家居系統(tǒng)中[5],邊緣節(jié)點(diǎn)集中了整個(gè)家居系統(tǒng)中的所有數(shù)據(jù),如家庭中照明系統(tǒng)、智能電視、智能監(jiān)控的數(shù)據(jù),并可能擁有其控制權(quán)限.一旦這些邊緣節(jié)點(diǎn)被人惡意控制,將使整個(gè)家庭不再有隱私可言,用戶甚至將對(duì)各種智能家居系統(tǒng)失去控制,造成嚴(yán)重的后果.再比如在由邊緣節(jié)點(diǎn)支持的智能交通系統(tǒng)中[5],自動(dòng)駕駛汽車對(duì)于汽車的控制基于邊緣節(jié)點(diǎn)對(duì)于周邊環(huán)境的感知和分析來決策,一旦這些感知和分析出現(xiàn)了問題,自動(dòng)駕駛汽車可能會(huì)做出危險(xiǎn)的控制動(dòng)作,造成嚴(yán)重影響公共安全的毀滅性的后果.這里僅以3個(gè)較為典型的場景為例分析了邊緣節(jié)點(diǎn)被攻擊者控制的后果,與傳統(tǒng)計(jì)算模型一樣,邊緣計(jì)算模型的幾乎所有應(yīng)用場景都不得不面臨節(jié)點(diǎn)的安全問題[7].

      可信執(zhí)行環(huán)境(trusted execution environment, TEE)是指在設(shè)備上一個(gè)獨(dú)立于不可信操作系統(tǒng)而存在的可信的、隔離的、獨(dú)立的執(zhí)行環(huán)境,為不可信環(huán)境中的隱私數(shù)據(jù)和敏感計(jì)算提供了一個(gè)安全而機(jī)密的空間,其安全性通常通過硬件相關(guān)的機(jī)制來保障.常見的TEE包括Intel軟件防護(hù)擴(kuò)展(software guard extensions, SGX)[8-10]、Intel管理引擎(manage-ment engine, ME)[11]、x86系統(tǒng)管理模式(system management mode, SMM)[12]、AMD內(nèi)存加密(memory encryption)技術(shù)[13]、AMD平臺(tái)安全處理器(platform security processor, PSP)[14]和ARM TrustZone技術(shù)[15].

      近年來,對(duì)可信執(zhí)行環(huán)境技術(shù)的研究飛速發(fā)展,而在邊緣節(jié)點(diǎn)上應(yīng)用這一技術(shù)可以有效地提高邊緣節(jié)點(diǎn)的安全性和隱私性.本文將首先對(duì)這些技術(shù)的背景和概念進(jìn)行闡述;其次通過2個(gè)案例從可信執(zhí)行環(huán)境對(duì)性能的影響方面來分析在邊緣節(jié)點(diǎn)上應(yīng)用可信執(zhí)行環(huán)境的可行性;最后,我們將討論可信執(zhí)行環(huán)境所面臨的各種挑戰(zhàn).通過本文的闡述,我們期待為邊緣計(jì)算模型安全性研究者提供未來的研究方向.

      在本文的案例分析中,我們使用Intel霧計(jì)算樣機(jī)[16]以及ARM Juno開發(fā)板[17]來進(jìn)行測試.其中,Intel霧計(jì)算樣機(jī)是Intel推出的專門為霧計(jì)算設(shè)計(jì)的計(jì)算節(jié)點(diǎn).由于霧計(jì)算的概念與邊緣計(jì)算的概念十分貼近,使用這一樣機(jī)進(jìn)行測試能夠在一定程度上反映邊緣計(jì)算節(jié)點(diǎn)的真實(shí)情況.ARM暫無專門為邊緣計(jì)算或霧計(jì)算設(shè)計(jì)的樣機(jī),但ARM的Juno開發(fā)板是唯一由ARM公司推出的開發(fā)板,它反映了ARM對(duì)嵌入式節(jié)點(diǎn)的設(shè)計(jì)理念,并包含了ARM的高性能處理器以及大量的硬件特性.因此,我們相信它也能代表著ARM對(duì)未來霧計(jì)算節(jié)點(diǎn)或邊緣計(jì)算節(jié)點(diǎn)的設(shè)計(jì)標(biāo)準(zhǔn).從這2個(gè)平臺(tái)的性能測試結(jié)果來看,Intel軟件防護(hù)擴(kuò)展中的模式切換大約需要2.039~2.714s,而TrustZone中的模式切換大約需要0.218s.從計(jì)算的性能來看,Intel軟件防護(hù)擴(kuò)展和TrustZone分別引入了1.423倍和1.175倍額外性能消耗.從Benchmark的測試來看,軟件防護(hù)擴(kuò)展使單核和多核的性能分別下降了0.48%和0.26%,而TrustZone則分別下降了0.13%和0.02%.因此,整體而言,我們認(rèn)為在邊緣節(jié)點(diǎn)中引入可信執(zhí)行環(huán)境對(duì)性能的影響是在可接受的范圍之內(nèi).

      1 可信執(zhí)行環(huán)境

      隨著可信執(zhí)行環(huán)境研究的興起,工業(yè)界的各大廠商均進(jìn)行了研究和嘗試,并在各自的軟硬件上提供了各種不同的可信執(zhí)行環(huán)境.如表1所示,根據(jù)實(shí)現(xiàn)技術(shù)的不同,我們將這些廠商的可信執(zhí)行環(huán)境分為三大類:

      1) 基于內(nèi)存加密的可信執(zhí)行環(huán)境.由于此類解決方案直接在應(yīng)用層進(jìn)行隔離,我們認(rèn)為它的權(quán)限級(jí)別為Ring 3;

      2) 基于CPU模式的可信執(zhí)行環(huán)境.此類解決方案通常使用額外的CPU模式來實(shí)現(xiàn)內(nèi)存的隔離,獨(dú)立于不可信操作系統(tǒng)而存在,因此我們認(rèn)為它的權(quán)限級(jí)別為Ring -2.

      3) 基于協(xié)處理器(co-processor)的可信執(zhí)行環(huán)境.這一解決方案使用額外的協(xié)處理器來提供執(zhí)行環(huán)境,并且這種執(zhí)行環(huán)境有獨(dú)立的內(nèi)存,不受主處理器(main processor)和主內(nèi)存(main memory)的影響,我們認(rèn)為它的權(quán)限級(jí)別為Ring -3.

      我們將分別對(duì)這3種不同類型的可信執(zhí)行環(huán)境進(jìn)行分析和介紹.

      Table 1 Summary of TEEs表1 可信執(zhí)行環(huán)境歸類

      1.1 基于內(nèi)存加密的Ring 3可信執(zhí)行環(huán)境

      Intel軟件防護(hù)擴(kuò)展[8-10]和AMD內(nèi)存加密技術(shù)[58-59]采用內(nèi)存加密的方式來保護(hù)Ring 3級(jí)別的內(nèi)存.此類加密技術(shù)通過Ring 3內(nèi)存加密來保證在內(nèi)核不可信的情況下,Ring 3應(yīng)用程序的運(yùn)行環(huán)境依舊可信.

      1.1.1 Intel軟件防護(hù)擴(kuò)展

      2013年Intel公開發(fā)表了3篇介紹軟件防護(hù)擴(kuò)展SGX的文章[8-10],正式將這一技術(shù)帶入研究者的視野.Intel軟件防護(hù)擴(kuò)展實(shí)際上是新加入到Intel處理器上的一系列擴(kuò)展指令和內(nèi)存訪問機(jī)制.在這一擴(kuò)展的支持下,應(yīng)用程序可以在內(nèi)存中創(chuàng)建1個(gè)受保護(hù)的執(zhí)行區(qū)域,又稱圍圈(enclave).每一個(gè)圍圈都可以被視作為1個(gè)單獨(dú)的可信執(zhí)行環(huán)境,它們的機(jī)密性和完整性由加密的內(nèi)存來保護(hù).即使基本輸入輸出系統(tǒng)(basic IO system, BIOS)、固件(firm-ware)、管理程序(hypervisors)、操作系統(tǒng)都被惡意修改,軟件防護(hù)擴(kuò)展技術(shù)依然能保障圍圈內(nèi)執(zhí)行環(huán)境的安全,這一技術(shù)也被很多研究學(xué)者們認(rèn)為是Intel可信執(zhí)行技術(shù)(trusted execution technology, TXT)[60-61]的接班人.Intel將軟件防護(hù)擴(kuò)展用于支持最新一代的可信計(jì)算(trusted computing),并且將在所有后續(xù)的Intel處理器上集成這一技術(shù)來為應(yīng)用程序提供可信執(zhí)行環(huán)境以解決各種安全問題.

      隨著Intel軟件防護(hù)擴(kuò)展的提出,研究學(xué)者們提出了一系列基于這一擴(kuò)展的安全系統(tǒng).Haven系統(tǒng)[18]利用軟件防護(hù)擴(kuò)展將系統(tǒng)庫(system libraries)和庫操作系統(tǒng)(library OS)移植進(jìn)圍圈中,利用該圍圈來保障其在運(yùn)行過程中的安全性;Arnautov等人[19]提出了利用軟件防護(hù)擴(kuò)展來為Docker提供安全容器(container)的SCONE系統(tǒng),該系統(tǒng)能夠有效地幫助容器抵御各種外來攻擊;Hunt等人[20]開發(fā)了基于軟件防護(hù)擴(kuò)展的分布式沙盒(distributed sand-box)系統(tǒng)Ryoan,這一系統(tǒng)可以讓用戶在處理數(shù)據(jù)時(shí)安全地持有他們的數(shù)據(jù)密鑰;Schuster等人[21]利用軟件防護(hù)擴(kuò)展開發(fā)了用來為云端MapReduce計(jì)算提供可信執(zhí)行環(huán)境的VC3系統(tǒng),這一系統(tǒng)為大數(shù)據(jù)和云計(jì)算提供了安全保障;Karande等人[22]用軟件防護(hù)擴(kuò)展來保護(hù)系統(tǒng)日志的安全;Shih等人[23]用軟件防護(hù)擴(kuò)展來隔離網(wǎng)絡(luò)虛擬化(network function virtualization, NFV)應(yīng)用;SGX-Shield[24]為圍圈中的應(yīng)用程序提供了安全的地址空間布局隨機(jī)化(address space layout randomization, ASLR),而T-SGX[25]則用來對(duì)抗控制管道攻擊,并確保內(nèi)存缺頁(page fault)信息不會(huì)被泄露.

      1.1.2 AMD內(nèi)存加密技術(shù)

      AMD在ISCA 2016和USENIX Security 2016會(huì)議中介紹了2個(gè)x86新特性[58-59]:安全內(nèi)存加密(secure memory encryption, SME)和安全加密虛擬化(secure encrypted virtualization, SEV).其中安全內(nèi)存加密定義了一種新的主內(nèi)存(main memory)加密方式,而安全加密虛擬化則用來與現(xiàn)有的AMD -V虛擬化架構(gòu)結(jié)合以支持加密的虛擬機(jī).這些特性使得選擇性地加密部分或者全部系統(tǒng)內(nèi)存成為可能,并且可以不依賴于管理程序運(yùn)行加密虛擬機(jī).總體而言,與Intel的軟件防護(hù)擴(kuò)展相比,AMD的安全內(nèi)存加密技術(shù)也是1項(xiàng)非常有競爭力的技術(shù)——它利用內(nèi)存加密不僅可以提供Ring 3權(quán)限的可信執(zhí)行環(huán)境,也可以提供其他權(quán)限級(jí)別的可信執(zhí)行環(huán)境(例如管理程序級(jí)別,Ring -1權(quán)限).同樣地,安全加密虛擬化技術(shù)能夠加密虛擬機(jī),使得運(yùn)行在虛擬機(jī)內(nèi)的操作系統(tǒng)成為1個(gè)可信執(zhí)行環(huán)境.AMD承諾安全內(nèi)存加密和安全加密虛擬化技術(shù)將應(yīng)用到新的AMD芯片中.AMD最近發(fā)布的Zen Processor已經(jīng)包括了全新的AMD內(nèi)存加密技術(shù).

      Fig. 1 x86 system management mode圖1 x86系統(tǒng)管理模式

      1.2 基于限制內(nèi)存訪問的Ring -2可信執(zhí)行環(huán)境

      Intel系統(tǒng)管理模式[12]和ARM TrustZone技術(shù)[15]都采用限制內(nèi)存訪問的方式來創(chuàng)建可信執(zhí)行環(huán)境.具體來說,他們使用硬件來輔助建立內(nèi)存區(qū)域的訪問權(quán)限,使得系統(tǒng)中的不可信區(qū)域的程序無法訪問可信區(qū)域中的內(nèi)存.以這種形式創(chuàng)建的可信執(zhí)行環(huán)境中的程序通常與不可信區(qū)域中的程序以時(shí)間片(time-slice)的形式來共享同一個(gè)CPU.

      1.2.1 x86系統(tǒng)管理模式

      系統(tǒng)管理模式[12]始于20世紀(jì)90年代早期的Intel奔騰系列CPU,它是x86平臺(tái)上類似于實(shí)模式(real mode)和保護(hù)模式(protected mode)的另一種運(yùn)行模式,AMD隨后也在后續(xù)的處理器中實(shí)現(xiàn)了這一模式.這種運(yùn)行模式為x86平臺(tái)特有的電源管理之類的系統(tǒng)控制功能提供了隔離的運(yùn)行環(huán)境.系統(tǒng)管理模式的初始化由基本輸入輸出系統(tǒng)完成,并通過觸發(fā)1個(gè)系統(tǒng)管理中斷(system management interrupt, SMI)來進(jìn)入.系統(tǒng)管理中斷的觸發(fā)方式有很多種,較為典型的如寫入1個(gè)硬件端口或用PCI設(shè)備生成1個(gè)消息信號(hào)中斷(message signaled interrupt).系統(tǒng)管理中斷觸發(fā)后,CPU將會(huì)把其狀態(tài)信息保存在一段名為系統(tǒng)管理RAM的特殊內(nèi)存區(qū)域中,這一段特殊的內(nèi)存區(qū)域無法被其他執(zhí)行模式下運(yùn)行的程序進(jìn)行尋址與訪問.在默認(rèn)情況下,對(duì)系統(tǒng)管理RAM的尋址請(qǐng)求將會(huì)被轉(zhuǎn)到圖像存儲(chǔ)器,這一特性使得系統(tǒng)管理RAM可以被用來當(dāng)做安全存儲(chǔ)設(shè)備.值得注意的是,系統(tǒng)管理中斷處理程序是由BIOS在系統(tǒng)啟動(dòng)時(shí)加載到系統(tǒng)管理RAM中,該處理程序可以不受限制地訪問物理內(nèi)存空間,且可以執(zhí)行特權(quán)指令.因此,系統(tǒng)管理模式也通常被認(rèn)為擁有Ring -2權(quán)限級(jí)別.另外,我們可以使用RSM指令來讓CPU退出系統(tǒng)管理模式并恢復(fù)到之前的模式繼續(xù)執(zhí)行.圖1顯示了x86系統(tǒng)管理模式的基本切換流程.保護(hù)模式通過軟件或硬件方法觸發(fā)一個(gè)系統(tǒng)管理中斷來進(jìn)入系統(tǒng)管理模式,而系統(tǒng)管理模式中的中斷處理器會(huì)對(duì)這一中斷做進(jìn)一步處理.中斷處理完成后,在系統(tǒng)管理模式內(nèi)使用RSM指令來切換回保護(hù)模式.

      近年來,基于系統(tǒng)管理模式的研究經(jīng)常出現(xiàn)在系統(tǒng)安全的學(xué)術(shù)界研究中.一個(gè)典型的例子就是利用系統(tǒng)管理模式來檢查上層軟件(包括管理程序和操作系統(tǒng))的完整性.HyperGuard[29],HyperCheck[30],HyperSentry[31]都是利用系統(tǒng)管理模式來監(jiān)控完整性的系統(tǒng).另外,美國國家科學(xué)基金會(huì)(National Science Foundation)也在2015年資助了1個(gè)利用系統(tǒng)管理模式來在做運(yùn)行時(shí)完整性檢測(runtime integrity checking)的項(xiàng)目[32];SICE[33]利用系統(tǒng)管理模式在AMD平臺(tái)上為敏感計(jì)算提供可信執(zhí)行環(huán)境;SPECTRE[34]使用系統(tǒng)管理模式進(jìn)行實(shí)時(shí)的內(nèi)存自省(memory introspection),并以此為基礎(chǔ)來進(jìn)行惡意軟件檢測;Reina等人[35]以及Jiang等人[36]都使用系統(tǒng)管理模式來可靠地獲取系統(tǒng)物理內(nèi)存以進(jìn)行取證分析(forensic analysis);IOCheck[37]使用系統(tǒng)管理模式來保護(hù)輸入輸出(IO)設(shè)備的固件和設(shè)置;HRA[38]則通過系統(tǒng)管理模式來保護(hù)云端的資源審核,使得即使在管理程序被惡意修改后仍能保障資源審核程序的正確性;MalT[39]則更多關(guān)注于如何利用系統(tǒng)管理模式來進(jìn)行裸機(jī)(bare-metal)程序調(diào)試,并提供更高的透明性(transparency)而不被惡意軟件察覺;TrustLogin[40]保護(hù)用戶的證書及密鑰等信息不被不可信運(yùn)行環(huán)境中的軟件截獲;HOPS[41]則使用系統(tǒng)管理模式來減少自省過程中可被惡意進(jìn)程偵測的痕跡.

      Fig. 2 ARM TrustZone technology圖2 ARM TrustZone技術(shù)

      1.2.2 ARM TrustZone技術(shù)

      ARM TrustZone技術(shù)[15]是ARM公司在2002年前后基于ARMv6架構(gòu)[62]提出的一種硬件新特性,它通過特殊的CPU模式提供了一個(gè)獨(dú)立的運(yùn)行環(huán)境.與其他硬件隔離技術(shù)類似,TrustZone將整個(gè)系統(tǒng)的運(yùn)行環(huán)境劃分為可信執(zhí)行環(huán)境和富運(yùn)行環(huán)境(rich execution environment, REE)兩個(gè)部分,并通過硬件的安全擴(kuò)展來確保2個(gè)運(yùn)行環(huán)境在處理器、內(nèi)存和外設(shè)上的完全隔離.

      如圖2所示,支持TrustZone技術(shù)的ARM處理器有2種不同的處理模式:普通模式和安全模式.2種處理器模式都擁有各自的內(nèi)存區(qū)域和權(quán)限.在普通模式下運(yùn)行的代碼無法訪問安全模式擁有的內(nèi)存區(qū)域,而安全模式下運(yùn)行的程序則可以訪問普通模式下的內(nèi)存.當(dāng)前處理器所處的模式可以用安全配置寄存器(secure configuration register, SCR)的NS位來判斷,而這個(gè)寄存器的值只能在安全模式下進(jìn)行修改.圖2同時(shí)還描述了ARMv8架構(gòu)下不同的異常等級(jí)(exception level, EL),低的異常等級(jí)擁有更低的權(quán)限.最高的異常等級(jí)是異常級(jí)別3,它類似于一個(gè)在普通模式和安全模式之間切換的看門人,所有的切換都必須經(jīng)過異常級(jí)別3.普通模式可以通過安全監(jiān)控調(diào)用(secure monitor call, SMC)指令觸發(fā)1個(gè)異常級(jí)別3的異?;蚴怯|發(fā)1個(gè)安全中斷來進(jìn)入安全模式,而安全模式則可以通過異常返回(exception return, ERET)指令來返回普通模式.同時(shí),TrustZone利用內(nèi)存管理單元(memory management unit, MMU)同時(shí)在普通模式和安全模式下支持虛擬內(nèi)存地址.2個(gè)模式下同一個(gè)虛擬地址空間可以被映射到不同的物理內(nèi)存區(qū)域.在硬件中斷方面,ARM支持中斷請(qǐng)求(interrupt request, IRQ)和快速中斷請(qǐng)求(fast interrupt request, FIQ).通過安全配置寄存器的IRQ位和FIQ位可以將這2種中斷分別設(shè)置為安全中斷,無論普通模式如何進(jìn)行配置,安全中斷都將直接被轉(zhuǎn)送到異常級(jí)別3.通常情況下,ARM推薦將中斷請(qǐng)求做為普通模式下的中斷源,而將快速中斷請(qǐng)求做為安全模式下的中斷源.

      由于現(xiàn)有的移動(dòng)設(shè)備大都采用ARM處理器,研究學(xué)者們也利用TrustZone技術(shù)對(duì)移動(dòng)設(shè)備的安全性進(jìn)行了大量的研究.TrustDump[42]利用TrustZone來進(jìn)行可靠的內(nèi)存信息轉(zhuǎn)儲(chǔ),它通過將1個(gè)非可屏蔽中斷(non-maskable interrupt, NMI)設(shè)置為安全中斷來完成處理器模式轉(zhuǎn)換,并從安全模式下轉(zhuǎn)儲(chǔ)普通模式下的內(nèi)存;TZ-RKP系統(tǒng)[43]在安全模式下通過事件驅(qū)動(dòng)的監(jiān)控來保護(hù)普通模式下的操作系統(tǒng);Sprobes[44]則利用安全模式來審查普通模式下的操作系統(tǒng),并保障普通模式下內(nèi)核代碼的完整性;SeCReT系統(tǒng)[45]在普通模式和安全模式之間建立1條安全的通信渠道;TrustICE[46]通過TrustZone為系統(tǒng)中的敏感計(jì)算提供了1個(gè)安全而隔離的運(yùn)行環(huán)境;TrustOTP[47]提供了1個(gè)在移動(dòng)設(shè)備上保護(hù)一次性密碼的解決方案;AdAttester[48]提出了安全的可驗(yàn)證的在線廣告架構(gòu);Brasser[49]等人則建議利用TrustZone來將如攝像頭之類的外設(shè)控制在受限區(qū)域內(nèi);fTPM[50]在TrustZone中實(shí)現(xiàn)了固件版本的可信平臺(tái)模塊(trusted platform module, TPM);PrivateZone[51]利用TrustZone來創(chuàng)建一個(gè)獨(dú)立于富運(yùn)行環(huán)境和可信執(zhí)行環(huán)境的獨(dú)占執(zhí)行環(huán)境;C-FLAT[52]系統(tǒng)利用TrustZone中的實(shí)時(shí)控制流(control-flow)監(jiān)控來檢測控制流劫持;TrustShadow[53]利用TrustZone為安全性要求較高的應(yīng)用程序提供了一個(gè)可信執(zhí)行環(huán)境,并將這些應(yīng)用程序?qū)τ诓僮飨到y(tǒng)相關(guān)服務(wù)的請(qǐng)求轉(zhuǎn)送至普通模式下的操作系統(tǒng),并檢查對(duì)于每一個(gè)請(qǐng)求的回復(fù).

      1.3 通過協(xié)處理器實(shí)現(xiàn)的Ring -3可信執(zhí)行環(huán)境

      與1.1節(jié)、1.2節(jié)提到的可信執(zhí)行環(huán)境不同的是,Intel管理引擎[11]和AMD平臺(tái)安全處理器[14]通過1個(gè)額外的專用協(xié)處理器來引入1個(gè)可信執(zhí)行環(huán)境.協(xié)處理器通常與主處理器隔離,并擁有獨(dú)立的內(nèi)存和寄存器,因而為這類可信執(zhí)行環(huán)境提供了更有力的安全保障.

      1.3.1 Intel管理引擎

      Intel管理引擎[11]是1個(gè)嵌入在最新發(fā)布的Intel處理器內(nèi)的微型計(jì)算機(jī),它存在于Intel的服務(wù)器、工作站、個(gè)人電腦、平板電腦以及手機(jī)設(shè)備中.Intel最早提出管理引擎這一概念是在2007年,那時(shí)該引擎的主要作用是為了支持Intel的主動(dòng)管理技術(shù)(active management technology, AMT)[63],而此技術(shù)也成為了在Intel管理引擎中運(yùn)行的第1個(gè)應(yīng)用程序.最近,Intel轉(zhuǎn)而利用管理引擎來為安全敏感的應(yīng)用程序提供可信執(zhí)行環(huán)境.依照Intel管理引擎的最新聲明[11],有不少的安全應(yīng)用(如增強(qiáng)的隱私識(shí)別、受保護(hù)的視頻音頻路徑、身份辨識(shí)保護(hù)技術(shù)、啟動(dòng)保護(hù)等)已經(jīng)或即將在管理引擎中運(yùn)行.

      圖3所示為Intel管理引擎的硬件架構(gòu).從圖3中我們可以發(fā)現(xiàn),這個(gè)管理引擎就像1臺(tái)獨(dú)立的電腦,它有專用處理器、加密引擎、直接內(nèi)存存取(direct memory access, DMA)引擎、主機(jī)嵌入式通訊接口(host-embedded communication interface, HECI)引擎、只讀存儲(chǔ)器(read-only memory, ROM)、內(nèi)部靜態(tài)隨機(jī)存取存儲(chǔ)器(internal static random-access memory, SRAM)、中斷控制器、計(jì)時(shí)器以及其他的輸入輸出設(shè)備.管理引擎的指令在其處理器上執(zhí)行,而內(nèi)部靜態(tài)隨機(jī)存取存儲(chǔ)器則用來保存固件代碼和實(shí)時(shí)數(shù)據(jù).管理引擎的處理器也同時(shí)擁有代碼緩存和數(shù)據(jù)緩存,可以減少對(duì)內(nèi)部靜態(tài)隨機(jī)存取存儲(chǔ)器的訪問次數(shù).除內(nèi)部靜態(tài)隨機(jī)存取存儲(chǔ)器外,管理引擎也會(huì)使用一部分主機(jī)系統(tǒng)的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dynamic random-access memory, DRAM),這一部分的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器就像是管理引擎的硬盤空間.管理引擎中處理器暫時(shí)不用的代碼和數(shù)據(jù)內(nèi)存頁會(huì)被從靜態(tài)隨機(jī)存取存儲(chǔ)器中移除并換出到主機(jī)內(nèi)存的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中.要注意的是,這一段動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器區(qū)域在系統(tǒng)啟動(dòng)時(shí)就由BIOS保留下來專門給管理引擎使用,主機(jī)的操作系統(tǒng)無法訪問到這一區(qū)域.

      1.3.2 AMD臺(tái)安全處理器

      與Intel的管理引擎類似,AMD平臺(tái)安全處理器[14]也是1個(gè)嵌入在在AMD主處理器內(nèi)的專用處理器.這個(gè)專用處理器利用ARM的TrustZone技術(shù)和Ring -2級(jí)別的可信執(zhí)行環(huán)境來運(yùn)行可信的第三方應(yīng)用程序.通過平臺(tái)安全處理器,AMD保障了從BIOS到可信執(zhí)行環(huán)境的安全啟動(dòng),而受保護(hù)的可信第三方應(yīng)用程序則可以利用工業(yè)級(jí)別的API來使用可信執(zhí)行環(huán)境.另外,系統(tǒng)管理單元(system management unit, SMU)[64]是北橋上在系統(tǒng)啟動(dòng)和運(yùn)行時(shí)用來負(fù)責(zé)一系列系統(tǒng)和電源管理任務(wù)的子部件,它的內(nèi)部也包含了1個(gè)處理器[65].而由于AMD將北橋直接集成至處理器中,系統(tǒng)管理單元中的這個(gè)處理器也可以被視作為一個(gè)主處理器中的嵌入式協(xié)處理器.

      2 案例分析

      本節(jié)中,我們將對(duì)應(yīng)用最廣泛的Intel軟件防護(hù)擴(kuò)展和ARM TrustZone這2個(gè)典型可信執(zhí)行環(huán)境的實(shí)際應(yīng)用進(jìn)行分析,以闡述在邊緣節(jié)點(diǎn)中應(yīng)用這些可信執(zhí)行環(huán)境的可行性.由于硬件的支持已經(jīng)保障了可信執(zhí)行環(huán)境的隔離性和安全性,而邊緣計(jì)算節(jié)點(diǎn)對(duì)性能較為敏感,我們將重點(diǎn)關(guān)注Intel軟件防護(hù)擴(kuò)展和ARM TrustZone引入造成的額外性能成本.

      2.1 Intel軟件防護(hù)擴(kuò)展

      Intel于2017年5月推出了根據(jù)霧計(jì)算參考設(shè)計(jì)的真機(jī)樣品[16],其配備了8核Intel Xeon E3-1275處理器、32 GB DDR4內(nèi)存、M.2 PCIE固態(tài)硬盤以及SATA固態(tài)硬盤,軟件方面則是使用Tianocore開源BIOS和64位Ubuntu 16.04操作系統(tǒng).由于霧計(jì)算的概念與邊緣計(jì)算類似,且真機(jī)樣品的處理器包含了對(duì)Intel軟件防護(hù)擴(kuò)展的支持,我們將該樣品機(jī)作為邊緣計(jì)算節(jié)點(diǎn),測試Intel軟件防護(hù)擴(kuò)展的性能.

      在霧計(jì)算真機(jī)樣品軟件環(huán)境的基礎(chǔ)上,我們部署了Intel軟件防護(hù)擴(kuò)展軟件開發(fā)SDK 1.9[66]來支持我們的測試.之后我們將測試Intel軟件防護(hù)擴(kuò)展在進(jìn)行模式切換時(shí)的時(shí)間消耗、在圍圈模式中進(jìn)行計(jì)算導(dǎo)致的額外時(shí)間成本,以及圍圈模式內(nèi)的計(jì)算對(duì)整個(gè)系統(tǒng)的性能影響.

      2.1.1 模式切換時(shí)間

      為了計(jì)算模式切換所需要的時(shí)間,我們利用Intel提供的API在圍圈內(nèi)定義了1個(gè)空函數(shù).從圍圈外調(diào)用該函數(shù)時(shí),CPU將會(huì)切換為圍圈模式,而該函數(shù)執(zhí)行完畢并返回后,CPU將退出圍圈模式.為了精確地計(jì)算切換所需的時(shí)間,我們使用RDTSC指令來讀取CPU周期(cycle),并通過對(duì)比CPU周期數(shù)量以及對(duì)應(yīng)的CPU頻率來計(jì)算圍圈模式切換所花費(fèi)的時(shí)間.由于圍圈模式下禁用該指令,我們無法準(zhǔn)確測量從非圍圈模式進(jìn)入圍圈模式或是退出非圍圈模式所需的時(shí)間,而只能測量從非圍圈模式進(jìn)入圍圈模式,再回到非圍圈模式這一完整周期所需要的時(shí)間.另外,2種模式之間的參數(shù)傳遞由指定大小的緩存實(shí)現(xiàn),而這一緩存的大小也會(huì)對(duì)模式切換的性能產(chǎn)生影響,因此我們使用不同大小的緩存來測量Intel軟件防護(hù)擴(kuò)展中模式切換的時(shí)間.為了減少CPU頻率調(diào)節(jié)(frequency scaling)所帶來的誤差,我們將CPU頻率固定為4 GHz,并且將這一實(shí)驗(yàn)重復(fù)1 000次.

      我們的實(shí)驗(yàn)結(jié)果如表2所示,從表2中我們可以發(fā)現(xiàn),在不使用緩存?zhèn)鬟f參數(shù)的情況下,1次完整的圍圈模式切換需要的時(shí)間大約為2.039s.而隨著緩存的增大,模式切換所需要的時(shí)間也同步增加.當(dāng)緩存大小分別1 KB,4 KB,8 KB,16 KB時(shí),模式切換所需的時(shí)間分別增加到2.109s,2.251s,2.362s,2.714s.通過表2中這一切換時(shí)間的95%可信區(qū)間不難看出,這一切換時(shí)間的可信區(qū)間(confidence interval, CI)范圍非常小,也就說明了我們的測試結(jié)果十分穩(wěn)定.

      Table 2 Switching Time of SGX Enclave表2 圍圈模式切換時(shí)間

      2.1.2 MD5散列計(jì)算時(shí)間

      在這一階段的實(shí)驗(yàn)中,我們使用開源的基于RFC 1321標(biāo)準(zhǔn)的MD5算法[67]來計(jì)算字符串的散列值.我們分別在圍圈模式和非圍圈模式下應(yīng)用該算法計(jì)算同一段預(yù)先生成的長度為1 024的隨機(jī)字符串的散列值.我們先測量非圍圈模式下進(jìn)行此散列計(jì)算的時(shí)間消耗,隨后在非圍圈模式下調(diào)用圍圈模式中的函數(shù)來進(jìn)行這一計(jì)算,并比較這2次計(jì)算的時(shí)間消耗.與2.1.1節(jié)中的實(shí)驗(yàn)類似,我們同樣將這一實(shí)驗(yàn)重復(fù)1 000次來減少誤差.

      從表3中可以發(fā)現(xiàn),在非圍圈模式下進(jìn)行該MD5散列計(jì)算所需的時(shí)間約為4.734s,而調(diào)用圍圈模式中的函數(shù)則需要約6.737s,這2種計(jì)算的時(shí)間差距約為2.003s.值得注意的是,本節(jié)實(shí)驗(yàn)中在圍圈模式下進(jìn)行MD5計(jì)算的時(shí)間應(yīng)為進(jìn)行圍圈模式切換的時(shí)間加上圍圈模式下進(jìn)行MD5計(jì)算的時(shí)間.而在2.1.1節(jié)的實(shí)驗(yàn)中我們測出的圍圈模式切換時(shí)間也約為2s,與本節(jié)實(shí)驗(yàn)中2種方式進(jìn)行MD5計(jì)算的時(shí)間差基本吻合,這也說明在圍圈模式和非圍圈模式中CPU的性能基本相當(dāng),在圍圈模式中進(jìn)行計(jì)算引入的額外性能消耗即為圍圈模式切換所需的性能消耗.

      Table 3 Time Consumption of MD5表3 MD5計(jì)算時(shí)間

      2.1.3 整體系統(tǒng)性能影響

      為了測試Intel軟件防護(hù)擴(kuò)展中運(yùn)行在圍圈模式下的代碼對(duì)整個(gè)系統(tǒng)性能的影響,我們使用一個(gè)每隔1 s進(jìn)行1次模式切換的應(yīng)用程序來模擬系統(tǒng)中的敏感計(jì)算.該程序每次切換到圍圈模式后,會(huì)進(jìn)行一次1 024長度字符串的MD5散列計(jì)算,隨后切換回非圍圈模式.通過比較啟動(dòng)該程序前后整個(gè)系統(tǒng)的性能,我們可以得知該計(jì)算對(duì)整體性能的影響.為了準(zhǔn)確測量多核CPU系統(tǒng)的性能,我們使用GeekBench 4.1.1[68]的Linux版本來測試我們的Intel霧計(jì)算真機(jī)樣品的性能分,此實(shí)驗(yàn)被重復(fù)了100次來減少隨機(jī)誤差.

      表4顯示了在有無敏感計(jì)算的情況下GeekBench給出的霧計(jì)算真機(jī)樣品的性能分.在沒有敏感計(jì)算的情況下,單核性能分約為4 327.325;而存在敏感計(jì)算的情況下,單核性能分約為4 306.458,性能降低了約0.48%.同樣地,在沒有敏感計(jì)算的情況下,多核性能分約為17 739.62,而存在敏感計(jì)算的情況下多核性能分約為17 692.72,性能降低了約0.26%.很明顯,即使是每秒鐘1次的頻繁模式切換,對(duì)整體系統(tǒng)性能的影響也幾乎可以忽略不計(jì).

      Table 4 Performance Score with GeekBench表4 GeekBench測試性能分

      2.2 ARM TrustZone

      我們在ARM平臺(tái)上使用ARM Juno v1開發(fā)板[16]進(jìn)行實(shí)驗(yàn).該開發(fā)板上的處理器包含了1組雙核Cortex-A57處理器集群和1組4核Cortex-A53處理器集群.存儲(chǔ)方面,Juno開發(fā)板搭載了8 GB DDR3L內(nèi)存以及64 MB NOR閃存.由于ARM尚未推出專門用于邊緣計(jì)算或是霧計(jì)算的硬件,我們把Juno開發(fā)板當(dāng)做邊緣計(jì)算中的一個(gè)節(jié)點(diǎn),并在ARM可信固件(ARM trusted firmware) v1.1[69]和Linaro發(fā)布的安卓5.1.1版本交付件[70]的基礎(chǔ)上進(jìn)行本階段的實(shí)驗(yàn).與針對(duì)Intel軟件防護(hù)擴(kuò)展的測試類似,我們將分析TrustZone進(jìn)行模式切換的時(shí)間消耗、在安全模式中進(jìn)行計(jì)算導(dǎo)致的額外時(shí)間成本,以及安全模式中計(jì)算對(duì)整個(gè)系統(tǒng)的性能影響.

      2.2.1 模式切換時(shí)間

      她走過去,撫摸他的額頭,手指輕輕拂過他額際頭發(fā),如同安撫頑劣遲歸的孩子。他把腦袋埋在她腿上,愧疚無措,淚如雨下開始抽泣。他說,F(xiàn)iona,你可愛我,你有無真正愛過我。她停頓在那里,不知道如何應(yīng)答他。一直遲疑,最終依然只有沉默。他的微笑仿佛是嘲笑自己卻有一種悲戚,輕聲說,其實(shí)我在萬象遇見你就已知道,我是你操縱在手里的工具。家,孩子,我的愛。這一切有無讓你覺得安全。有無讓你感覺到最終的滿足。有無讓你得到歸宿。我知道你沒有。我曾深深愛過你,你可知道。

      由于指令集的差異,ARM架構(gòu)中不支持使用RDTSC指令來讀取CPU周期.在Juno開發(fā)板所搭載的Cortex-A53和Cortex-A57處理器中,我們可以使用處理器附帶的性能監(jiān)視單元(performance monitor unit, PMU)來計(jì)算2個(gè)時(shí)間點(diǎn)之間所經(jīng)過的CPU周期數(shù).我們在執(zhí)行觸發(fā)模式切換的指令前打開性能監(jiān)視單元,并記錄當(dāng)前CPU周期數(shù),然后在進(jìn)入到安全模式時(shí)以及回到普通模式后分別記錄CPU周期數(shù).通過這些記錄值的差距,我們可以計(jì)算出從非安全模式進(jìn)入安全模式、從安全模式進(jìn)入非安全模式,以及1次完整的從非安全模式進(jìn)入安全模式再回到非安全模式的切換所需要的時(shí)間.與Intel軟件防護(hù)擴(kuò)展不同的是,在TrustZone的安全模式和非安全模式之間傳遞參數(shù)并不需要通過緩存,而是通過寄存器直接傳遞,因而不會(huì)帶來任何額外的性能消耗,所以這里的實(shí)驗(yàn)不再測試不同大小的參數(shù)值對(duì)模式切換產(chǎn)生的影響.在本節(jié)的實(shí)驗(yàn)中,我們將CPU頻率設(shè)置為1.15 GHz,并重復(fù)實(shí)驗(yàn)1 000次以減少誤差.

      表5顯示了本階段的實(shí)驗(yàn)結(jié)果.我們可以發(fā)現(xiàn),從非安全模式進(jìn)入安全模式大概需要0.135s,而從安全模式退回非安全模式大概需要0.082s,1次完整的從普通模式到安全模式再回到普通模式的切換所需要的時(shí)間約為0.218s.我們注意到1 000次實(shí)驗(yàn)結(jié)果之間的差異很小,這說明TrustZone中的模式切換時(shí)間基本不受外在因素的干擾.

      Table 5 Time Consumption of Mode Switch表5 模式切換時(shí)間

      2.2.2 MD5散列計(jì)算時(shí)間

      在本節(jié)的實(shí)驗(yàn)中,我們使用與2.1.2節(jié)中同樣的開源算法代碼以及隨機(jī)字符串來進(jìn)行MD5散列計(jì)算.我們自定義了一個(gè)內(nèi)核模塊(kernel module),并分別測量在該模塊中直接進(jìn)行散列計(jì)算和使用安全監(jiān)控調(diào)用來切換到安全模式下進(jìn)行散列計(jì)算的時(shí)間消耗.同樣,該組實(shí)驗(yàn)重復(fù)1 000次以減少誤差.

      本階段的實(shí)驗(yàn)結(jié)果如表6所示.從表6可見,在普通模式的內(nèi)核模塊中直接進(jìn)行散列計(jì)算需要的時(shí)間約為8.229s,而切換到安全模式下進(jìn)行散列計(jì)算所需的時(shí)間約為9.670s,兩者之間的差距為1.441s.我們注意到2.2.1節(jié)中測出的1次完整模式切換所需的時(shí)間僅為0.346s,因此,我們猜測CPU在安全模式下的計(jì)算性能有略微的降低.

      Fig. 4 Performance comparison on Intel and ARM platforms圖4 Intel和ARM平臺(tái)的性能比較

      ModeSwitch Time∕μsMeanSTD95% CINormal Mode8.2290.231[8.215,8.244]Secure Mode9.6700.171[9.660,9.681]

      2.2.3 整體系統(tǒng)性能影響

      與2.1.3節(jié)中的測試類似,我們編寫了一個(gè)安卓環(huán)境下的Linux可執(zhí)行程序來模擬邊緣節(jié)點(diǎn)中的敏感數(shù)據(jù)計(jì)算,該程序每隔1 s會(huì)進(jìn)行1次從非安全模式到安全模式的切換.在安全模式下,邊緣節(jié)點(diǎn)會(huì)進(jìn)行1次2.2.2節(jié)中的字符串MD5計(jì)算,隨后退回到非安全模式.為了了解在這一頻繁的敏感計(jì)算對(duì)整個(gè)節(jié)點(diǎn)性能的影響,我們通過谷歌應(yīng)用商店中的GeekBench 4應(yīng)用來測試此程序執(zhí)行時(shí)和不執(zhí)行時(shí)邊緣節(jié)點(diǎn)的整體性能分.與Linux版本的GeekBench類似,安卓環(huán)境下的GeekBench同時(shí)對(duì)單核的性能以及多核的整體性能進(jìn)行測試估分.值得注意的是,為了減少隨機(jī)誤差,我們重復(fù)此實(shí)驗(yàn)100次.

      從表7中可以看出,在有無敏感計(jì)算的情況下單核平均分分別為983.440和984.700,而多核平均分分別為2 143.920和2 144.420.頻繁的模式切換和敏感計(jì)算使單核性能分和多核性能分分別下降了0.13%和0.02%,這說明模式切換引入的性能下降基本是可以忽略的.

      Table 7 Performance Score with GeekBench表7 GeekBench測試性能分

      2.3 性能比較

      圖4總結(jié)了Intel與ARM在GeekBench測試中的得分.從圖4中不難看出,Intel架構(gòu)下的系統(tǒng)比ARM架構(gòu)下的系統(tǒng)性能更占優(yōu)勢,這也是由于ARM系統(tǒng)設(shè)計(jì)的初衷是為了在移動(dòng)端能夠以最少的能耗做最多的計(jì)算,而Intel系統(tǒng)在設(shè)計(jì)中并不需要考慮能耗問題.在邊緣節(jié)點(diǎn)的設(shè)計(jì)中,我們可以根據(jù)不同的需求來選擇不同的架構(gòu).若可以保證該節(jié)點(diǎn)的持續(xù)供電,我們可以選用性能更強(qiáng)大的Intel架構(gòu),反之,我們則可以選用能耗較低的ARM架構(gòu).

      3 挑戰(zhàn)與未來

      雖然現(xiàn)有的可信執(zhí)行環(huán)境已經(jīng)可以應(yīng)用在邊緣節(jié)點(diǎn)來提高節(jié)點(diǎn)的安全性,但這些可信執(zhí)行環(huán)境自身仍然存在一些缺陷和漏洞,可能會(huì)影響整個(gè)邊緣計(jì)算模型的安全.

      Schwarz等人[26]通過緩存?zhèn)刃诺?side channel)來攻擊Intel軟件防護(hù)擴(kuò)展,并演示了如何在幾分鐘獲取圍圈中內(nèi)保存的以mbedTLS實(shí)現(xiàn)的RSA加密私鑰.Brasser等人[27]則演示了一種更有效的攻擊,它通過軟件防護(hù)擴(kuò)展中的緩存信息泄漏來攻擊人類基因組索引項(xiàng)目;AsyncShock[28]說明了可以通過攻擊來控制線程調(diào)度,并利用這一控制來尋找圍圈中的同步漏洞.

      在x86系統(tǒng)管理模式中,SMRAM由BIOS鎖定,系統(tǒng)啟動(dòng)后其他任何處理器模式下都不能訪問SMRAM.然而,Rutkowska和Wojtczuk分別通過內(nèi)存回收(memory reclaiming)[29]以及緩存投毒(cache poisoning)技術(shù)[71]繞過這一鎖定來訪問SMRAM;Duflot等人[72]也整理了系統(tǒng)管理模式的一些設(shè)計(jì)漏洞;Wojtczuk等人[73]展示了通過操控UEFI啟動(dòng)腳本來繞過系統(tǒng)管理模式的鎖定,從而允許從Ring 0權(quán)限下修改系統(tǒng)管理中斷處理器;Butterworth等人[74]也發(fā)現(xiàn)了系統(tǒng)管理模式中BIOS升級(jí)的一個(gè)緩沖區(qū)溢出漏洞.

      Shen[75]利用ret2usr攻擊獲取系統(tǒng)中的root權(quán)限,隨后利用一個(gè)邊界檢查漏洞來實(shí)現(xiàn)往任意物理內(nèi)存地址中寫入1B的數(shù)據(jù),這也最終導(dǎo)致了可以在TrustZone的安全模式下執(zhí)行任意代碼.Rosenberg[76]在高通(Qualcomm)基于Trust-Zone實(shí)現(xiàn)的高通安全執(zhí)行環(huán)境(Qualcomm’s secure execu-tion environment, QSEE)中通過一個(gè)整數(shù)溢出漏洞來實(shí)現(xiàn)對(duì)安全模式下任意內(nèi)存的寫入,而重寫TrustZone中的安全系統(tǒng)調(diào)用處理器則導(dǎo)致可以在安全模式下執(zhí)行任意代碼;ARMageddon[77]使用Prime+Probe緩存攻擊來泄露安全模式下的信息,從而實(shí)現(xiàn)了在普通模式下監(jiān)控安全模式下的代碼執(zhí)行.

      Tereshkin等人[54]通過在Intel主動(dòng)管理技術(shù)中注入代碼來在Intel管理引擎中實(shí)現(xiàn)了一個(gè)Ring 3權(quán)限的rootkit;DAGGER[55]使用類似的技術(shù)破壞了Intel管理引擎中的隔離性.與Tereshkin等人使用的技術(shù)不同的是,DAGGER是通過在管理引擎固件的memset函數(shù)上使用鉤子(hook)完成攻擊,因?yàn)檫@一函數(shù)調(diào)用更加頻繁.最近,Intel自身也公開了管理引擎中主動(dòng)管理技術(shù)中的一個(gè)漏洞CVE-2017-5689,即INTEL-SA-00075[56],攻擊者可以通過這一漏洞在Intel機(jī)器上不用輸入密碼而獲取管理員權(quán)限[7].

      所有的這些攻擊,都說明了可信執(zhí)行環(huán)境自身的安全性仍然需要進(jìn)一步完善.隨著這些可信執(zhí)行環(huán)境的功能逐漸完善,在可信環(huán)境的執(zhí)行代碼也會(huì)進(jìn)一步增加,這就導(dǎo)致了這些可信執(zhí)行環(huán)境的可信計(jì)算基礎(chǔ)(trusted computing base, TCB)逐步增大.而可信計(jì)算基礎(chǔ)的增大則不可避免地引入了更多可能的漏洞.

      4 總 結(jié)

      在大數(shù)據(jù)的驅(qū)動(dòng)下,傳統(tǒng)的云計(jì)算模式已經(jīng)無法有效地解決實(shí)時(shí)性、高額負(fù)載以及數(shù)據(jù)的安全隱私問題.伴隨著物聯(lián)網(wǎng)以及萬物互聯(lián)的推進(jìn),邊緣計(jì)算更加凸顯其重要性.

      本文主要從數(shù)據(jù)安全的角度,闡述怎么樣在邊緣計(jì)算的背景下建立一個(gè)獨(dú)立的、隔離的、安全的可信執(zhí)行環(huán)境.我們首先總結(jié)了現(xiàn)有硬件支持的可信執(zhí)行環(huán)境;隨后,我們對(duì)2種應(yīng)用廣泛的可信執(zhí)行環(huán)境進(jìn)行測試分析,在此測試分析中,我們采用了Intel霧計(jì)算的節(jié)點(diǎn)的模擬真機(jī)以及ARM公司自己的開發(fā)板,以增強(qiáng)我們分析的結(jié)果在邊緣計(jì)算模型下的實(shí)際性和代表性.

      總體來說,我們的分析和實(shí)驗(yàn)表明,將現(xiàn)有的可信執(zhí)行環(huán)境融入到邊緣計(jì)算模型當(dāng)中可以有效地提高邊緣計(jì)算節(jié)點(diǎn)中關(guān)鍵計(jì)算的安全性和可信度.與此同時(shí),可信執(zhí)行環(huán)境的引入對(duì)邊緣節(jié)點(diǎn)的性能影響也較小.因此,這一方案是切實(shí)可行的.

      我們希望通過本文能夠引起產(chǎn)業(yè)界和學(xué)術(shù)界對(duì)可信執(zhí)行環(huán)境在邊緣計(jì)算中重要性的關(guān)注.我們相信,在不久的將來,會(huì)有越來越多的可信執(zhí)行環(huán)境應(yīng)用到邊緣計(jì)算中,使得邊緣計(jì)算更加地安全和可靠.

      猜你喜歡
      內(nèi)存處理器邊緣
      “春夏秋冬”的內(nèi)存
      一張圖看懂邊緣計(jì)算
      Imagination的ClearCallTM VoIP應(yīng)用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
      ADI推出新一代SigmaDSP處理器
      汽車零部件(2014年1期)2014-09-21 11:41:11
      呼嚕處理器
      基于內(nèi)存的地理信息訪問技術(shù)
      上網(wǎng)本為什么只有1GB?
      激發(fā)大內(nèi)存威力
      AItera推出Nios?。桑上盗熊浐颂幚砥?/a>
      在邊緣尋找自我
      雕塑(1999年2期)1999-06-28 05:01:42
      林州市| 静乐县| 永仁县| 额尔古纳市| 樟树市| 辽源市| 汽车| 城步| 曲阜市| 赤城县| 正安县| 岳池县| 靖宇县| 全南县| 同仁县| 双江| 夹江县| 台北县| 嘉义市| 襄垣县| 津南区| 冷水江市| 墨玉县| 三河市| 辽源市| 沽源县| 朝阳县| 乐平市| 桂东县| 华亭县| 宁城县| 祁门县| 邵阳县| 旬阳县| 日土县| 丰县| 澄城县| 垦利县| 青浦区| 自贡市| 福建省|