孫召昌,馬建峰,孫聰,盧笛
(西安電子科技大學(xué)網(wǎng)絡(luò)與信息安全學(xué)院,陜西 西安 710071)
基于嵌入式可信平臺(tái)的運(yùn)行時(shí)監(jiān)控方法
孫召昌,馬建峰,孫聰,盧笛
(西安電子科技大學(xué)網(wǎng)絡(luò)與信息安全學(xué)院,陜西 西安 710071)
當(dāng)前可信計(jì)算平臺(tái)缺乏對(duì)自身運(yùn)行時(shí)安全屬性的監(jiān)控,對(duì)此,提出一種針對(duì)嵌入式可信平臺(tái)的運(yùn)行時(shí)監(jiān)控方法。通過(guò)自動(dòng)化的代碼插入和運(yùn)行時(shí)實(shí)時(shí)監(jiān)控,保證可信平臺(tái)的運(yùn)行時(shí)安全功能符合設(shè)計(jì)規(guī)范,并保證系統(tǒng)性能和運(yùn)行狀態(tài)符合特定條件約束,同時(shí)對(duì)相應(yīng)的異常進(jìn)行實(shí)時(shí)處理。實(shí)驗(yàn)結(jié)果表明,隨著監(jiān)控節(jié)點(diǎn)數(shù)的增長(zhǎng),監(jiān)控的準(zhǔn)確性和實(shí)時(shí)性提高,而監(jiān)控開(kāi)銷和異常處理開(kāi)銷處于合理范圍。
可信計(jì)算;運(yùn)行時(shí)監(jiān)控;嵌入式系統(tǒng);線性時(shí)序邏輯
可信計(jì)算技術(shù)通過(guò)建立硬件可信根和信任鏈保證系統(tǒng)的安全性和完整性,是信息系統(tǒng)安全領(lǐng)域長(zhǎng)期以來(lái)的研究熱點(diǎn)。依據(jù)可信計(jì)算組織(TCG,Trusted Computing Group)的可信平臺(tái)架構(gòu)定義[1],TCG軟件棧(TSS, TCG software stack)是可信平臺(tái)的軟件核心,用于保證應(yīng)用程序?qū)尚牌脚_(tái)模塊(TPM, trusted platform module)硬件功能(完整性度量、安全存儲(chǔ)、對(duì)稱/非對(duì)稱加解密等)的有效使用。在嵌入式系統(tǒng)領(lǐng)域,可信平臺(tái)可用于構(gòu)建安全實(shí)時(shí)操作系統(tǒng),為系統(tǒng)內(nèi)核提供可信功能支持[2]??尚畔到y(tǒng)的構(gòu)建[3,4]通常假定可信平臺(tái)的初始完整性在可信平臺(tái)運(yùn)行過(guò)程中能夠保持,而對(duì)可信平臺(tái)自身的分析驗(yàn)證[5~7]則側(cè)重于靜態(tài)驗(yàn)證,以上2方面研究均無(wú)法對(duì)部署后TSS在實(shí)際運(yùn)行過(guò)程中產(chǎn)生的非法輸入、服務(wù)狀態(tài)異常等安全問(wèn)題進(jìn)行監(jiān)控,也無(wú)法對(duì)嵌入式可信平臺(tái)的性能和線程狀態(tài)等關(guān)鍵運(yùn)行時(shí)屬性提供監(jiān)控。
針對(duì)以上問(wèn)題,本文提出一種嵌入式可信平臺(tái)的運(yùn)行時(shí)監(jiān)控方法,根據(jù)TSS設(shè)計(jì)規(guī)范,從功能、性能、系統(tǒng)狀態(tài)和輸入等方面定義監(jiān)控屬性,根據(jù)屬性定義,自動(dòng)生成并插入監(jiān)控代碼和異常處理代碼。得到的TSS監(jiān)控系統(tǒng)保持原有TSS功能,并在運(yùn)行時(shí)驗(yàn)證可信平臺(tái)是否違反監(jiān)控屬性,同時(shí)能根據(jù)不同安全等級(jí)對(duì)違反監(jiān)控屬性的異常狀態(tài)進(jìn)行實(shí)時(shí)處理。實(shí)驗(yàn)結(jié)果表明,隨著監(jiān)控節(jié)點(diǎn)數(shù)的增加,監(jiān)控的準(zhǔn)確性和實(shí)時(shí)性提高,而監(jiān)控開(kāi)銷和異常處理開(kāi)銷處于合理范圍。
圖1 TSS監(jiān)控系統(tǒng)的構(gòu)建和處理流程
嵌入式可信平臺(tái)作為被監(jiān)控對(duì)象,包括可信平臺(tái)模塊和可信軟件棧這2個(gè)部分。TSS為上層應(yīng)用程序提供服務(wù)接口,保證上層應(yīng)用程序?qū)PM的同步訪問(wèn)和有效應(yīng)用。TSS自下而上分為3層[1]。1) TCG設(shè)備驅(qū)動(dòng)庫(kù)(TDDL, TCG device driver library):提供系統(tǒng)無(wú)關(guān)的TPM調(diào)用接口,保證對(duì)TPM的串行訪問(wèn);2) TSS核心服務(wù)(TCS, TSS core service):提供密鑰管理、TPM命令同步等核心功能;3) TCG服務(wù)提供者(TSP, TCG service provider):提供面向?qū)ο蟮膽?yīng)用程序服務(wù)接口。
由于 TPM 的主要功能由 TSS調(diào)用并反映于TSS狀態(tài),本文在TSS上構(gòu)建嵌入式可信平臺(tái)的運(yùn)行時(shí)監(jiān)控系統(tǒng)。圖1為TSS監(jiān)控系統(tǒng)的構(gòu)建和處理流程。首先,根據(jù)TSS的設(shè)計(jì)規(guī)范和系統(tǒng)要求確定監(jiān)控屬性,并用線性時(shí)序邏輯(LTL, linear temporal logic)對(duì)監(jiān)控屬性進(jìn)行形式化描述,然后根據(jù)屬性的形式化描述自動(dòng)生成監(jiān)控代碼并插入TSS原系統(tǒng),得到TSS監(jiān)控系統(tǒng),將該系統(tǒng)部署在嵌入式操作系統(tǒng)(如VxWorks)平臺(tái)上運(yùn)行。
TSS監(jiān)控系統(tǒng)運(yùn)行時(shí),被監(jiān)控的TSS程序線程中與監(jiān)控屬性相關(guān)的系統(tǒng)狀態(tài)、功能和性能變量狀態(tài)值被發(fā)送至一個(gè)事件隊(duì)列,一個(gè)獨(dú)立的監(jiān)控線程通過(guò)動(dòng)態(tài)周期輪詢的方式對(duì)事件隊(duì)列中的變量信息進(jìn)行采樣,并依據(jù)采樣結(jié)果驗(yàn)證系統(tǒng)狀態(tài)是否滿足屬性要求。當(dāng)發(fā)現(xiàn)違反監(jiān)控屬性的異常狀態(tài)時(shí),根據(jù)屬性類型采取相應(yīng)的異常處理機(jī)制。監(jiān)控過(guò)程不影響原有TSS功能的正常調(diào)用。
根據(jù)可信軟件棧TSS的設(shè)計(jì)規(guī)范[1]和系統(tǒng)安全需求,將監(jiān)控的目標(biāo)屬性分為功能、性能、系統(tǒng)狀態(tài)、合法輸入4類,具體描述如下。
1) 功能屬性:主要包括密鑰合法性、度量權(quán)限和認(rèn)證順序3種屬性。其中,密鑰合法性指所生成(使用)密鑰的長(zhǎng)度與系統(tǒng)規(guī)定的長(zhǎng)度一致,且密鑰的使用時(shí)長(zhǎng)在更新周期范圍內(nèi);度量權(quán)限指度量信息的讀取操作需要普通用戶權(quán)限,寫入操作必須具有高級(jí)用戶權(quán)限;認(rèn)證順序指遠(yuǎn)程認(rèn)證只能在自身認(rèn)證完成后才能調(diào)用,由所使用的TSS中認(rèn)證相關(guān)接口的具體設(shè)計(jì)決定。
2) 性能屬性:主要包括隊(duì)列長(zhǎng)度、優(yōu)先級(jí)設(shè)置和響應(yīng)時(shí)間3種屬性。其中,隊(duì)列長(zhǎng)度屬性表示 TCS層命令隊(duì)列的實(shí)時(shí)長(zhǎng)度不能大于系統(tǒng)規(guī)定的長(zhǎng)度上限;優(yōu)先級(jí)設(shè)置屬性指從命令隊(duì)列取出的命令始終是該隊(duì)列中優(yōu)先級(jí)最高的命令;響應(yīng)時(shí)間屬性指TDDL向TPM發(fā)起請(qǐng)求與從TPM接收數(shù)據(jù)之間的時(shí)間間隔在系統(tǒng)規(guī)定的時(shí)間間隔范圍內(nèi)。
3) 系統(tǒng)狀態(tài)屬性:主要指對(duì)線程狀態(tài)的收集和分析,系統(tǒng)運(yùn)行過(guò)程中,線程狀態(tài)必須與系統(tǒng)規(guī)定的合法狀態(tài)保持一致,合法的系統(tǒng)狀態(tài)包括就緒態(tài)、阻塞態(tài)、延遲態(tài)和掛起態(tài)。監(jiān)控的目標(biāo)線程主要包括TCS層命令接收線程、命令分發(fā)線程、遠(yuǎn)程服務(wù)線程等。
4) 合法輸入屬性:主要指上層應(yīng)用程序提供的接口輸入?yún)?shù)個(gè)數(shù)、類型和數(shù)據(jù)長(zhǎng)度必須滿足所調(diào)用接口的特定要求。
使用線性時(shí)序邏輯 LTL[8]對(duì)以上各類目標(biāo)屬性進(jìn)行描述,具體描述如表1所示,其中的屬性公式表示一類形式近似的屬性公式的共同模式。針對(duì)TSS的分層設(shè)計(jì),為不同的目標(biāo)屬性選擇適合的監(jiān)控層次,從而保證運(yùn)行時(shí)監(jiān)控的正確性和及時(shí)性。如對(duì)度量權(quán)限屬性選擇在TSP層監(jiān)控,可以對(duì)屬性狀態(tài)做出及時(shí)有效的判斷,減少系統(tǒng)開(kāi)銷。
表1 監(jiān)控屬性描述
不同屬性的異常處理機(jī)制與所處的監(jiān)控層次有關(guān),表2為不同監(jiān)控層次的屬性設(shè)定對(duì)應(yīng)的安全等級(jí)和異常處理機(jī)制,安全等級(jí)越高,對(duì)應(yīng)的異常處理機(jī)制越復(fù)雜。其中,TCS層屬性與可信平臺(tái)核心服務(wù)的正常運(yùn)行緊密相關(guān),安全等級(jí)最高,屬性異常時(shí)掛起系統(tǒng)服務(wù);TDDL層屬性與系統(tǒng)功能調(diào)用的正確性有關(guān),屬性異常時(shí)系統(tǒng)自動(dòng)完成對(duì)當(dāng)前接口的重新調(diào)用;TSP層屬性與用戶調(diào)用可信服務(wù)的合法性有關(guān),安全等級(jí)最低,屬性異常時(shí)終止當(dāng)前接口調(diào)用。
為提高監(jiān)控系統(tǒng)的可用性,由TCS層的屬性處理線程對(duì)各屬性監(jiān)控結(jié)果進(jìn)行統(tǒng)一管理。算法 1描述了對(duì)監(jiān)控屬性的異常處理,監(jiān)控線程(MonitorThread)獲取系統(tǒng)運(yùn)行過(guò)程中的目標(biāo)屬性狀態(tài)(第3行),如果發(fā)現(xiàn)屬性異常,及時(shí)將該異常屬性的類別信息發(fā)送至屬性消息隊(duì)列(第5行~第6行),否則,直接完成屬性狀態(tài)的報(bào)告。屬性處理線程(PropertyHandlerThread)接收屬性消息隊(duì)列的屬性異常信息(第13行)并獲取該屬性的安全等級(jí)(第14行),根據(jù)安全等級(jí)采取適合的異常處理機(jī)制(第15行~第29行)。
表2 屬性安全等級(jí)分類
算法1監(jiān)控屬性的異常處理
1)ProcedureMonitorThread()
2) ……
3) status ← getPropertyStatus();
4)Ifstatus == violatedThen
5) property ← getCurrentProperty();
6) sendProInfoToQ(property);
7)Else
8) 完成屬性狀態(tài)報(bào)告;
9)End If
10)End Procedure
11)ProcedurePropertyHandlerThread()
12)WhiletrueDo
13) property ← recvProInfoFromQ();
14) level ← getSecurityLevel(property);
15)Iflevel == 0Then
16)Foreach taskId created in TCSDo
17) taskSuspend(taskId);
18)End For
19)Else Iflevel == 1Then
20) 終止當(dāng)前接口調(diào)用;
21) newResult ←funcInterfaceCall();
22)IfnewResult == falseThen
23) 輸出錯(cuò)誤信息;
24)ElseIfnewResult == trueThen
25) result ← newResult;
26)EndIf
27)ElseIflevel == 2Then
28) 終止當(dāng)前接口調(diào)用;
29)End If
30)End While
31)End Procedure
本文通過(guò)對(duì) RiTHM 工具[9]進(jìn)行擴(kuò)展完成監(jiān)控代碼的生成工作。該工具的輸入為原始系統(tǒng)代碼和由LTL描述的監(jiān)控屬性(表1中監(jiān)控屬性均對(duì)應(yīng)于獨(dú)立的配置文件),輸出為用于實(shí)時(shí)監(jiān)控的系統(tǒng)監(jiān)控程序代碼。該程序在運(yùn)行時(shí)生成獨(dú)立的監(jiān)控線程,不影響原有程序線程的正常執(zhí)行。
針對(duì)嵌入式系統(tǒng)環(huán)境和可信平臺(tái)的具體異常處理要求,本文實(shí)現(xiàn)的擴(kuò)展工具能夠自動(dòng)化完成以下代碼轉(zhuǎn)換操作。
1) 為使監(jiān)控系統(tǒng)能夠運(yùn)行于嵌入式系統(tǒng)環(huán)境,自動(dòng)化以下過(guò)程:① 用嵌入式系統(tǒng)(VxWorks)庫(kù)函數(shù)替換通用系統(tǒng)(Linux)庫(kù)函數(shù);② 去除監(jiān)控系統(tǒng)對(duì)于嵌入式環(huán)境無(wú)法支持的OpenCL函數(shù)庫(kù)的依賴;③ 執(zhí)行必要的語(yǔ)法規(guī)則轉(zhuǎn)換,以使C++代碼符合嵌入式操作系統(tǒng)要求。
2) 自動(dòng)生成第2.2節(jié)算法1所述的屬性異常處理機(jī)制的實(shí)現(xiàn)代碼,并將異常處理代碼自動(dòng)插入原代碼。
3) 增加對(duì)多配置文件輸入和多屬性監(jiān)控功能的支持,完成不同屬性監(jiān)控代碼的復(fù)用。
工具擴(kuò)展前后的功能對(duì)比如表3所示。
本節(jié)首先分析監(jiān)控系統(tǒng)的生成開(kāi)銷,然后對(duì)監(jiān)控系統(tǒng)的監(jiān)控準(zhǔn)確性、實(shí)時(shí)性和監(jiān)控過(guò)程開(kāi)銷進(jìn)行驗(yàn)證和評(píng)價(jià)。
表3 RiTHM工具擴(kuò)展前后的功能對(duì)比
圖2表示RiTHM工具擴(kuò)展前后自動(dòng)生成不同目標(biāo)屬性對(duì)應(yīng)監(jiān)控代碼的時(shí)間開(kāi)銷對(duì)比,圖 2表明,對(duì)工具擴(kuò)展后,其時(shí)間開(kāi)銷比原工具高2.4%。但由于監(jiān)控代碼的生成過(guò)程是一個(gè)離線處理過(guò)程,可在通用計(jì)算環(huán)境中預(yù)先完成,因而時(shí)間開(kāi)銷的增加不會(huì)影響嵌入式環(huán)境下監(jiān)控系統(tǒng)的運(yùn)行開(kāi)銷。
圖2 RiTHM工具擴(kuò)展前后的時(shí)間開(kāi)銷對(duì)比
本節(jié)實(shí)驗(yàn)用于評(píng)價(jià)嵌入式可信平臺(tái)運(yùn)行時(shí)監(jiān)控方法的準(zhǔn)確性、實(shí)時(shí)性和監(jiān)控開(kāi)銷,在筆者團(tuán)隊(duì)已實(shí)現(xiàn)的嵌入式可信軟件棧上進(jìn)行。實(shí)驗(yàn)環(huán)境由POWERPC開(kāi)發(fā)板和iTOP-4412開(kāi)發(fā)板組成,如圖3所示。其中,POWERPC開(kāi)發(fā)板(MPC8247-400 MHz CPU/128MB SDRAM)運(yùn)行VxWorks 5.5嵌入式實(shí)時(shí)系統(tǒng),用于部署和運(yùn)行TSS監(jiān)控系統(tǒng),并向VxWorks上層應(yīng)用程序提供加解密、度量、認(rèn)證等可信服務(wù);iTOP-4412開(kāi)發(fā)板(Exynos4412 Cortex-A9 1.4~1.6 GHz CPU/ 2GB DDR3 RAM)運(yùn)行Linux操作系統(tǒng),其上部署TPM Emulator,用于模擬TPM 的度量、加解密等功能。開(kāi)發(fā)板之間通過(guò)串口通信完成命令和數(shù)據(jù)的傳輸。
結(jié)合表1和表2對(duì)監(jiān)控屬性的描述和分類,選取不同監(jiān)控層次和安全等級(jí)上的3種屬性(隊(duì)列長(zhǎng)度、密鑰合法性和度量權(quán)限)進(jìn)行實(shí)驗(yàn)。針對(duì)各屬性的不同要求,分別自動(dòng)化隨機(jī)生成2 000條數(shù)據(jù)(含非法數(shù)據(jù))作為軟件錯(cuò)誤注入[10]的測(cè)試用例,其中,與隊(duì)列長(zhǎng)度相關(guān)的非法數(shù)據(jù)指超出系統(tǒng)規(guī)定范圍的隊(duì)列長(zhǎng)度值,與密鑰合法性相關(guān)的非法數(shù)據(jù)指不滿足獲取密鑰接口指定的密鑰長(zhǎng)度值,與度量權(quán)限相關(guān)的非法數(shù)據(jù)指不滿足度量相關(guān)接口要求的用戶權(quán)限等級(jí)值。在被注入數(shù)據(jù)中,統(tǒng)計(jì)不滿足屬性要求的非法數(shù)據(jù)的比率分別為73.7%、87.4%、81.3%。
使用上述測(cè)試用例進(jìn)行軟件錯(cuò)誤注入測(cè)試,由上層應(yīng)用程序?qū)SP層的可信服務(wù)接口進(jìn)行多次調(diào)用,每次調(diào)用過(guò)程中,在目標(biāo)屬性所處的監(jiān)控層次創(chuàng)建錯(cuò)誤注入線程,讀取一組測(cè)試用例并修改目標(biāo)屬性相關(guān)的程序變量,完成TSS監(jiān)控系統(tǒng)非法數(shù)據(jù)的隨機(jī)注入。同時(shí),在該監(jiān)控層次的不同代碼位置插入監(jiān)控程序,驗(yàn)證監(jiān)控屬性相關(guān)的程序變量是否符合屬性要求,每個(gè)位置插入一條監(jiān)控程序,不同位置插入的監(jiān)控程序數(shù)量稱為監(jiān)控節(jié)點(diǎn)數(shù)(number of monitor node)。
實(shí)驗(yàn)從準(zhǔn)確性、實(shí)時(shí)性、監(jiān)控開(kāi)銷3方面進(jìn)行評(píng)價(jià)。其中,準(zhǔn)確性指實(shí)際監(jiān)控到的錯(cuò)誤數(shù)占注入錯(cuò)誤總數(shù)的比例。實(shí)時(shí)性指錯(cuò)誤發(fā)生時(shí)刻與該錯(cuò)誤被監(jiān)控到的時(shí)刻之間的時(shí)間間隔,時(shí)間間隔越短,實(shí)時(shí)性越強(qiáng)。監(jiān)控開(kāi)銷分為時(shí)間開(kāi)銷和內(nèi)存開(kāi)銷,時(shí)間開(kāi)銷指從接口調(diào)用到返回結(jié)果所用的時(shí)間,內(nèi)存開(kāi)銷指軟件系統(tǒng)運(yùn)行過(guò)程中的平均內(nèi)存分配。
對(duì)實(shí)驗(yàn)結(jié)果數(shù)據(jù)進(jìn)行收集和分析,得到監(jiān)控3種屬性時(shí),監(jiān)控系統(tǒng)的準(zhǔn)確性和實(shí)時(shí)性、時(shí)間開(kāi)銷及內(nèi)存開(kāi)銷對(duì)比分別如圖4~圖6所示。
圖4(a)說(shuō)明,對(duì)于3種不同屬性(度量權(quán)限、隊(duì)列長(zhǎng)度、密鑰合法性)的監(jiān)控準(zhǔn)確性均隨著監(jiān)控節(jié)點(diǎn)數(shù)的增加而以近似線性趨勢(shì)上升,當(dāng)監(jiān)控節(jié)點(diǎn)數(shù)足夠多時(shí),準(zhǔn)確率可達(dá)100%。圖4(b)說(shuō)明,對(duì)3種屬性的監(jiān)控實(shí)時(shí)性具有相似的變化趨勢(shì),隨著監(jiān)控節(jié)點(diǎn)數(shù)的增加,錯(cuò)誤發(fā)生時(shí)刻與該錯(cuò)誤被監(jiān)控到的時(shí)刻之間的時(shí)間間隔不斷減小,監(jiān)控系統(tǒng)的實(shí)時(shí)性變強(qiáng),同時(shí),時(shí)間間隔的變化趨勢(shì)隨監(jiān)控節(jié)點(diǎn)數(shù)的增加而逐漸減緩。
圖3 實(shí)驗(yàn)硬件環(huán)境
在圖5和圖6中,TSS system為TSS原系統(tǒng)對(duì)應(yīng)的開(kāi)銷;TSS monitor system指無(wú)異常處理的監(jiān)控系統(tǒng)對(duì)應(yīng)的開(kāi)銷;TSS exception handling system指加入異常處理的監(jiān)控系統(tǒng)對(duì)應(yīng)的開(kāi)銷。圖5和圖6說(shuō)明,3種屬性對(duì)應(yīng)的監(jiān)控系統(tǒng),無(wú)論是否進(jìn)行異常處理,其監(jiān)控時(shí)間開(kāi)銷和內(nèi)存開(kāi)銷均隨監(jiān)控節(jié)點(diǎn)數(shù)的增加而增加,且始終高于TSS原系統(tǒng)。
圖5 監(jiān)控系統(tǒng)的時(shí)間開(kāi)銷
由于各屬性的異常處理方式不同,異常處理導(dǎo)致的開(kāi)銷增長(zhǎng)也各不相同。對(duì)于度量權(quán)限屬性,發(fā)生異常時(shí),根據(jù)表2規(guī)則終止服務(wù)調(diào)用并返回錯(cuò)誤信息,服務(wù)調(diào)用次數(shù)減少,因此添加異常處理功能后,監(jiān)控系統(tǒng)的時(shí)間開(kāi)銷和內(nèi)存開(kāi)銷總體上明顯降低,如圖 5(a)和圖 6(a)所示。對(duì)于隊(duì)列長(zhǎng)度屬性,發(fā)生異常時(shí),依據(jù)表2規(guī)則掛起系統(tǒng)服務(wù),由于異常屬性信息的傳輸以及對(duì)各服務(wù)的掛起操作,導(dǎo)致添加異常處理功能后,監(jiān)控系統(tǒng)的時(shí)間開(kāi)銷和內(nèi)存開(kāi)銷均小幅增加,如圖 5(b)和圖6(b)所示。對(duì)于密鑰合法性屬性,發(fā)生異常時(shí),系統(tǒng)根據(jù)表2規(guī)則自動(dòng)完成對(duì)當(dāng)前接口的重新調(diào)用,導(dǎo)致接口調(diào)用次數(shù)增多,因此添加異常處理功能后,監(jiān)控系統(tǒng)的時(shí)間開(kāi)銷和內(nèi)存開(kāi)銷均明顯增加,如圖5(c)和圖6(c)所示。
圖6 監(jiān)控系統(tǒng)的內(nèi)存開(kāi)銷
雖然實(shí)驗(yàn)表明,監(jiān)控開(kāi)銷隨監(jiān)控節(jié)點(diǎn)數(shù)增加持續(xù)增長(zhǎng),但對(duì)于實(shí)際系統(tǒng),監(jiān)控節(jié)點(diǎn)數(shù)的選取應(yīng)以滿足系統(tǒng)對(duì)監(jiān)控準(zhǔn)確性和實(shí)時(shí)性的具體要求為依據(jù),滿足要求后,監(jiān)控節(jié)點(diǎn)數(shù)不用繼續(xù)增加,此時(shí)的監(jiān)控開(kāi)銷為實(shí)際監(jiān)控開(kāi)銷。針對(duì)當(dāng)前嵌入式軟件棧,實(shí)際監(jiān)控開(kāi)銷能夠保證監(jiān)控系統(tǒng)在嵌入式環(huán)境下可用。
本文提出的針對(duì)嵌入式可信平臺(tái)的運(yùn)行時(shí)監(jiān)控方法,通過(guò)擴(kuò)展運(yùn)行時(shí)驗(yàn)證工具 RiTHM 實(shí)現(xiàn)對(duì)嵌入式可信平臺(tái)的功能屬性、性能屬性、系統(tǒng)狀態(tài)屬性及合法輸入屬性的運(yùn)行時(shí)監(jiān)控和自動(dòng)化異常處理。本文方法保證了運(yùn)行無(wú)異常的嵌入式可信平臺(tái)滿足預(yù)定義的系統(tǒng)屬性,從而保證系統(tǒng)整體持續(xù)可信。當(dāng)前方法提供的監(jiān)控屬性類別仍不完備,監(jiān)控開(kāi)銷與監(jiān)控節(jié)點(diǎn)數(shù)相關(guān)性明顯,未來(lái)研究將圍繞增加屬性類別、減少監(jiān)控開(kāi)銷、完善異常處理機(jī)制等方面展開(kāi)。
[1] Trusted computing group. TCG specification architecture overview[EB/OL]. http://www.trustedcomputinggroup.org/resources/tcg_architecture_overview_version_14.
[2] WANG X, MIZUNO M, NEILSEN M, et al. Secure RTOS architecture for building automation[C]//ACM Workshop on Cyber-Physical Systems-Security and/or Privacy. 2015:79-90.
[3] YU Z, WANG Q, ZHANG W, et al. A cloud certificate authority architecture for virtual machines with trusted platform module[C]//IEEE International Conference on High Performance Computing and Communications. 2015:1377-1380.
[4] TIAN J, BUTLER K, MCDANIEL P, et al. Securing ARP from the ground up[C]//The 5th ACM Conference on Data and Application Security and Privacy. 2015:305-312.
[5] SHAO J,QIN Y,F(xiàn)ENG D, et al. Formal analysis of enhanced authorization in the TPM 2.0[C]//The 10th ACM Symposium on Information, Computer and Communications Security. 2015:273-284.
[6] WANG W, QIN Y, FENG D. Automated proof for authorization protocols of TPM 2.0 in computational model information security practice and experience[M]. Berlin: Springer. 2014: 144-158.
[7] DELAUNE S, KREMER S, RYAN M D, et al. A formal analysis of authentication in the TPM[C]//The International Conference on Formal Aspects of Security and Trust. 2010: 111-125.
[8] BAIER C, KATOEN J. Principles of model checking[M]. London:The MIT Press, 2008: 595-663.
[9] NAVABPOUR S, JOSHI Y, WU W, et al. RiTHM: a tool for enabling time-triggered runtime verification for C programs[C]//Joint Meeting on Foundations of Software Engineering. 2013: 603-606.
[10] BIEMAN J M, DREILINGER D, LIN L. Using fault injection to increase software test coverage[C]//The Seventh International Symposium on Software Reliability Engineering, IEEE Computer Society. 1996:166.
Approach on runtime monitoring based on the embedded trusted platforms
SUN Zhao-chang, MA Jian-feng, SUN Cong, LU Di
(School of Cyber Engineering, Xidian University, Xi’an 710071, China)
The state-of-art trusted computing platforms fall short of monitoring its own runtime security properties.In order to mitigate these problems, an approach on runtime monitoring for the embedded trusted platforms was proposed. With the automated code instrumentation and the runtime monitoring, that the runtime security functionalities were consistent with the design specifications of trusted computing platforms could be made sure. The system performance and states meet specific constraints could also be ensured. The runtime exceptions on the specific properties were handled in real-time. The experimental results show that with the increase on the number of monitoring nodes, the precision and real-time performance of proposed runtime monitoring increase. Meanwhile, the costs on the monitoring and the exception handling are moderate.
trusted computing, runtime verification, embedded system, linear temporal logic
s:The National Natural Science Foundation of China (No.61303033, No.U1405255), The National High Technology Research and Development Program of China (863 Program) (No.2015AA017203), The Natural Science Basis Research Plan of Shaanxi Province (No.2016JM6034), The Aviation Science Foundation of China (No.20141931001), The Special Research Foundation of MIIT (No.MJ-2014-S-37)
TP393
A
10.11959/j.issn.2096-109x.2017.00209
2017-07-01;
2017-09-16。
孫召昌,zhchsun1992@gmail.com
國(guó)家自然科學(xué)基金資助項(xiàng)目(No.61303033, No.U1405255);國(guó)家高技術(shù)研究發(fā)展計(jì)劃(“863”計(jì)劃)基金資助項(xiàng)目(No.2015AA017203);陜西省自然科學(xué)基礎(chǔ)研究計(jì)劃基金資助項(xiàng)目(No.2016JM6034);航空科學(xué)基金資助項(xiàng)目(No.20141931001);工信部某專項(xiàng)科研基金資助項(xiàng)目(No.MJ-2014-S-37)
孫召昌(1992-),男,河北邢臺(tái)人,西安電子科技大學(xué)碩士生,主要研究方向?yàn)榭尚庞?jì)算、運(yùn)行時(shí)監(jiān)控。
馬建峰(1963-),男,陜西西安人,西安電子科技大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)槊艽a學(xué)、無(wú)線和移動(dòng)安全。
孫聰(1982-),男,陜西興平人,博士,西安電子科技大學(xué)副教授,主要研究方向?yàn)樾畔⒘靼踩?、可信軟件?/p>
盧笛(1983-),男,陜西安康人,博士,西安電子科技大學(xué)講師,主要研究方向?yàn)樵朴?jì)算、網(wǎng)絡(luò)與系統(tǒng)安全。