紀曉宇,冷 冰,周 潔
(中國電子科技集團公司第三十研究所,四川 成都 610041)
一種基于行為的可信計算動態度量方法*
紀曉宇,冷 冰,周 潔
(中國電子科技集團公司第三十研究所,四川 成都 610041)
針對惡意軟件泛濫而現行殺毒軟件無法檢測未知惡意軟件的情況,同時經分析惡意軟件,發現雖然其形式多樣,但是表現出的惡意行為卻存在一定的規律性。由此提出一種實現可信計算動態度量的方法,通過攔截程序運行期間產生的行為,構建決策樹模型,以此為依據來判定程序行為是否符合預期。實驗證明,此方法可以檢測出未知惡意軟件,之后通過改進數據預處理模塊可以進一步降低誤報率以及漏報率。
可信計算;動態度量;決策樹;行為
目前,可信計算技術已經能夠實現普通計算平臺的可信啟動,并將信任鏈傳遞到了應用程序,實現了對應用程序的靜態完整性度量,保證了應用程序的可信啟動[1]。但在程序運行起來實現其功能的,不管是可信行為還是不可信行為都可能會進行敏感操作,如何根據系統運行的動態特征來判斷程序運行時是否可信有待解決。傳統基于特征碼的惡意程序判定方法不能保證程序運行符合預期且無法識別未知惡意程序,所以需要一種可信計算動態度量技術,通過具體分析敏感操作發生之后的程序行為,研究其動態特征以判定程序行為的可信性。本文依據程序運行期間產生的系統調用分析程序行為的可信性。
在我國,2000年6月,武漢瑞達公司與武漢大學合作研制可信計算機平臺,在2004年10月通過了國家密碼管理委員會主持的技術鑒定。2004年6月,在武漢召開中國首屆可信計算平臺討論壇。同年10月,在解放軍密碼管理委員會的支持下,召開了第一屆中國可信計算學術會議。2005年,聯想集團先后研制成功TPM芯片和可信計算機。2008年12月16日,中國可信計算工作組召開了成果展示暨產業化發展戰略新聞發布會。2009年,中國可信計算工作組健全了可信計算相關標準規范。2010年,我國又出臺了一些新規范,包括可信網絡連接TNC、可信PC主板等。2014年,莊琭,沈昌祥,蔡勉提出基于行為的可信動態度量的狀態空間約簡研究[2]。2014年4年3日,“白細胞”操作系統免疫平臺發布,該平臺是基于可信計算原理的網絡安全產品。2014年4月16日,由中國工程院沈昌祥院士提議,中國電子信息產業集團、中國信息安全研究院等60家單位發起,成立了中關村可信計算產業聯盟。
在可信計算如何保證運行中程序可信性方面,TCG沒有給出相關的標準[3]。很多研究者從入侵檢測中的異常檢測技術中找到了一些方法[4]。莊琭等提出了基于軟件行為的可信動態度量模型[5],該模型給出了軟件行為動態度量的相關概念和判定定理,但未給出實際度量的方法[6];在此基礎上,又提出了基于交互式馬爾科夫鏈的可信動態度量,在功能度量的基礎上引入性能特征指標度量,但沒有給出具體實現方法[7];楊曉輝等提出一個新的軟件行為動態可信評測模型,以行為軌跡和檢查場景來刻畫軟件行為的動態軌跡,但該方法需修改內核,增加系統額外開銷[8]。
目前,可信計算已經可以保證計算平臺的可信啟動,并且實現了程序的靜態完整性度量。然而在程序運行起來實現其功能的時候,靜態度量沒有解決如何根據程序在運行階段計算機平臺表現出的動態特征,來判定其行為是否符合預期的問題。同時目前可信平臺存在未經第三方測評的軟件是否可以加入可信軟件白名單的問題。所以,如何描述可信平臺上程序的動態行為,如何獲取這些行為進而判斷這些行為是否符合預期性是動態度量實施所要解決的關鍵問題。本文提出的基于決策樹的行為判定模型,相比前述的模型,其優點如下:
(1)決策樹模型易于理解和解釋程序行為,人們在通過解釋后都有能力去理解程序是否符合預期的判定依據。
(2)決策樹模型擁有多重屬性集,可以綜合考慮到程序的文件行為、網絡行為、內存行為、進程行為等多種行為。
(3)由于非預期行為在系統調用方面會表現出局部的規律性,因此本文提出的模型也可以達到檢測未知程序行為的目的。
2.1 決策樹模型整體構架
本文提出的決策樹模型邏輯構成如圖1所示。該模型由系統調用攔截模塊、預處理模塊、行為分析模塊組成。其中系統調用攔截模塊的功能是在程序運行期間攔截我們關心的系統調用,之后經由預處理模塊將系統調用轉換成相應的威脅度屬性,以便行為分析模塊可以處理這些數據,最后行為分析模塊依據程序在運行期間產生的系統調用威脅度屬性構造決策樹模型,并給出程序行為是否符合預期的判定結果。

圖1 系統構架
2.2 系統調用攔截模塊
在操作系統中,內核提供一系列具備預定功能的多內核函數,通過一組稱為系統調用的接口呈現給用戶,用戶通過這一系列接口實現其想要的功能。在程序執行期間,系統調用把應用程序的請求傳給內核,調用相應的內核函數完成所需的處理,將處理結果返回給應用程序[9]。由上述系統調用的實現原理可知,程序產生的一系列行為都可以在系統調用中得到體現,我們可以以系統調用表征程序的行為。在模型中,我們通過掛鉤技術實現系統調用的攔截。掛鉤技術是通過在系統調用之前添加鉤子函數,在系統調用者調用系統調用的時候,掛起系統調用,同時返回其調用參數以及調用名稱等信息的技術。掛鉤技術是信息安全領域常用的技術。
2.3 數據預處理模塊
在獲得程序執行期間產生的系統調用之后,數據預處理模塊將獲得的系統調用轉換成構建決策樹模型需要的數據格式。首先,數據預處理模塊將獲得的系統調用按照文件、網絡、內存等屬性進行屬性劃分,并為每一個系統調用賦予一定的權值;之后,計算每一個屬性的系統調用權值之和,并依據權值與威脅度映射表求得最終的威脅度屬性值。以威脅度屬性值作為決策樹分析模塊的輸入來構建決策樹模型。
2.4 決策樹行為分析模塊
決策樹算法是一種逼近離散函數值的方法。它是一種典型的分類方法,首先對數據進行處理,利用歸納算法生成可讀的規則和決策樹,然后使用決策樹對新數據進行分析。本質上決策樹是通過一系列規則對數據進行分類的過程。決策樹構造可以分兩步進行。第一步,決策樹的生成:由訓練樣本集生成決策樹的過程。一般情況下,訓練樣本數據集是根據實際需要有歷史的、有一定綜合程度的、用于數據分析處理的數據集。第二步,決策樹的剪枝:決策樹的剪枝是對上一階段生成的決策樹進行檢驗、校正和修正的過程,主要是用新的樣本數據集中的數據檢驗決策樹生成過程中產生的初步規則,將那些影響預測準確性的分枝剪除[10]。
在訓練初期,數據預處理模塊劃分了很多屬性集,這其中既有直接屬性,如系統調用分類;又有間接屬性,如系統調用的時序關系。但是這些屬性劃分是否合適、屬性之間是否有沖突、屬性之間是否存在重復等問題,需要在決策樹構建階段進行校驗,通過選取不同的屬性組合測試決策樹模型的誤報率以及漏報率,以此為依據進行程序行為屬性的取舍,從而找到最佳的程序行為屬性劃分規則。
3.1 決策樹構建數據準備
通過系統調用攔截模塊獲得程序運行期間產生的系統調用,之后將這些系統調用劃分為六大屬性,分別為進程控制威脅屬性、文件系統威脅屬性、系統控制威脅屬性、內存管理威脅屬性、網絡管理威脅屬性、socket控制威脅屬性。獲得的系統調用的權值分配示例如表1所示。將獲得的系統調用轉換成威脅度值示例如表2所示。

表1 權值分配示例

表2 權值與威脅度映射示例
3.2 決策樹算法訓練流程
將上節所述數據作為輸入,構建決策樹模型。決策樹由節點、分叉路徑、葉子節點三要素構成。其中,非葉子節點代表對象屬性,分叉路徑代表對象屬性可能的取值,葉子節點表示最后的對象分類結果。決策樹的輸出是唯一的,如果想要多個輸出,需要建立獨立的決策樹。我們以X={X1,X2,X3,…}表示研究對象的屬性,以Y={Y1,Y2,Y3,…}表示研究對象最后的分類結果。在本文中,X={文件系統威脅度、進程威脅度、網絡威脅度、系統控制威脅度、內存管理威脅度、socket控制威脅度},Y={預期行為 or 非預期行為}。在訓練模型時,選取一定量的樣本,依據上節所述方法為不同系統調用賦予一定的初始權值,并將權值轉換成對應的威脅度值。
決策樹以信息增益或信息增益率來表征屬性的可信性。在訓練樣本的時候,依據歷史數據計算出研究對象的信息增益或信息增益率,然后選取最大的信息增益值屬性做為首選屬性。信息增益的計算公式如下所示[11]。
(1)設S是s個黑白樣本的集合。類標號屬性具有2個不同的值,分別為:預期行為,標號為C1,非預期行為,標號為C2。Si表示類別為Ci的樣本個數。則數據集對應的期望信息如下:
其中,pi=si/s,表示每一個類Ci中包含的樣本數據占整個樣本數據的百分比。
(2)熵表示如下:
計算流程:在樣本空間S中,選取屬性A,將樣本空間S按屬性A的V個不同取值劃分為V個字集樣本,表示為Sj。對于每一個子集樣本空間Sj,繼續按照s個類標號劃分為s個子集,元素表示為Sij。對于每一個子集Sj,其期望計算公式如下:
(3)信息增益
Gain(A)=Info(D)-InfoA(D)
(4)信息增益率
本次實驗是在Vmware workstation 虛擬機中進行,選取的虛擬操作系統為Windows XP。在實驗中,利用開源軟件API monitor[12]監視程序運行期間產生的系統調用,實驗所用樣本數據來源于VX Heaven[13]。
4.1 行為預期性判定決策樹模型構建示例
本演示示例選取進程、網絡、文件三個典型屬性作為決策樹模型輸入屬性,經過數據預處理模塊得到的數據示例如表3所示,該示例的目的在于演示本決策樹模型的構建流程。

表3 經過預處理模塊的訓練樣本數據
數據集的期望信息,計算如下:

以文件威脅度屬性為例,計算信息增益如下:



Gain(A)=Info(D)-InfoA(D)=0.99-(2/9)*0-(4/9)*0.811-(3/9)*0=0.63
同理計算網絡威脅度屬性、進程威脅度屬性的信息增益計算如下:
Gain(B)=Info(D)-InfoA(D)= 0.99-(4/9)*0.811-(3/9)*0.92- (2/9)*0=0.32
Gain(C)=Info(D)-InfoA(D)= 0.99-(3/9)*0-(2/9)*1- (4/9)*0.811=0.41
由訓練模型構造的攻擊樹模型如圖2所示。

圖2 決策樹模型示例
4.2 實驗測試
本次實驗選取20個樣本作為實驗數據,其中10個作為訓練樣本,剩下的10個作為測試樣本,本次實驗以進程控制威脅屬性、文件系統威脅屬性、系統控制威脅屬性、內存管理威脅屬性、網絡管理威脅屬性、socket控制威脅屬性作為模型的輸入,計算本模型的漏報率與漏報率,實驗結果如圖3所示。

圖3 實驗結果
4.3 實驗結果分析
通過實驗可知,本文提出的決策樹模型,在屬性選擇中綜合考慮到了文件、進程、內存、網絡等屬性,實現了決策樹多屬性集的優點;在10個待檢測樣本中,在一定漏報率的前提下,檢測出了非預期行為樣本,實現了對某些未知程序進行行為預期性判定;相應的判定結果可以依據訓練所得決策樹模型理解并解釋,達到了我們預期的效果。
目前,可信計算已經實現了靜態完整性度量,可以確保計算平臺的可信啟動,以及計算平臺的完整性。然而,計算平臺在運行期間,尤其是在運行不同種類的軟件的時候,計算平臺是否依然可信是一個未知問題。本文通過提出基于決策樹的行為預期性判定模型,為可信計算動態度量技術提供一種思路,以程序運行期間產生的系統調用為研究目標,將獲得的系統調用按進程行為、文件行為、網絡行為等屬性進行劃分,并為其賦權值進而轉換成行為威脅等級,以此構建決策樹模型,通過分析,可以達到判定程序是否按照預期功能進行運行的目的。此外,數據預處理階段對數據的處理將會影響到結果的最終判定,系統調用權值賦值以及最終權值到威脅度映射的算法將對最終的判定結果有很大的影響。因此,下一步需要進一步研究系統調用權值的賦值以及相應的威脅度映射算法。
[1] 鄧永暉,卿昱,左朝樹等.一種基于EAP的可信網絡接入機制[J].通信技術.2009,12(42):109-114. DENG Yong-hui,QING Yu,ZUO Chao-shu.An EAP-based Trusted Network Access Mechanism[J]. Communications Technology. 2009,12(42):109-114.
[2] 莊琭,沈昌祥,蔡勉.基于行為的可信動態度量的狀態約簡研究[J].計算機學報,2014,37(5):1071-1081. ZHUANG Lu, SHEN Chang-xiang, CAI Mian. Reaearch on State Space Reduction of Behavior-based Trusted Dynamic Measurement[J]. Chinese Journal of Computers,2014,37(5):1071-1081.
[3] Trusted Computing Group. TCG Specification Architecture Overview Specification Revision1.4[EB/OL].http://www.trustedcomputinggroup.org.
[4] 劉孜文,馮登國.基于可信計算的動態完整性度量構架[J].電子與信息學報,2010.32(4):875-879. LIU Zi-wen, FENG Deng-guo. TPM-based Dynamic Integrity Measurement Architecture[J]. Journal of Electronics & Information Technology, 2010. 32(4):875-879.
[5] 屈延文.軟件行為學[M].北京:電子工業出版社,2004. QU Yan-wen. Software Behavior[M]. Beijing: Publishing House of Electronics Industry,2004(in Chinese)
[6] 莊琭.蔡勉.李晨.基于軟件行為的可信動態度量[J].武漢大學學報(理學版),2010.56(2):133-137. ZHUANG Lu, CAI Mian, LI Chen. Software Behavior-based Trusted Dynamic Measurement[J].Journal of Wuhan University: Natural Science Edition, 2010,56(2):133-137.
[7] 莊琭.蔡勉.沈昌祥.基于交互式馬爾可夫鏈的可信動態度量研究[J].計算機研究與發展,2011,48(8):1464-1472. ZHUANG Lu, CAI Mian, SHEN Chang-xiang. Trusted Dynamic Measurement based on Interactive Markov Chains[J].Journal of Computer Researchand Development, 2011,48(8):1464-1472.
[8] 楊曉暉,周學海,田俊峰等.一個新的軟件行為動態可信評測模型[J].小型微型計算機系統,2010,31(11):2113-2120. YANG Xiao-hui, ZHOU Xue-hai, TIAN Jun-feng, Novel Dynamic Trusted Evaluation Model of Software Behavior[J]. Journal of Chinese Computer Systems, 2010, 32(11):2113-2120.
[9] Daniel P Bovet & Marco Cesati. Understanding the Linux Kernel[M]. O’reilly.
[10] 蔡克玉.基于改進決策樹的網絡入侵檢測[D].西安:西安電子科技大學碩士學位論文.2008. CAI Ke-yu. Improved Decision Tree based on Network Intrusion Detection[D]. Xi’an: Master Dissertation Xidian University, 2008.
[11] 邵峰晶,于忠清著.數據挖掘原理與算法[M].北京:中國水利水電出版社.2003. SHAO Feng-jing, YU Zhong-qing. Principle and Data Mining Algorithms[M]. Beijing: China Water & Power Press.2003.
[12] http://m.blog.csdn.net/blog/whatday_11109/45194851[EB/OL]
[13] http://vxheaven.org[EB/OL].
Behavior-based Dynamic Measurement Method for Trusted Computing
JI Xiao-yu, LENG Bing, ZHOU Jie
(No.30 Institute of CETC, Chengdu Sichuan 610041, China)
Aiming at the fact that the malicious software runs rampant and current antivirus software could not detect the unknown malicious software,analysis on malicious software is done,and this analysis reveals that the malicious software although various in forms, its behavior is of some regularity. Therefore, a novel method is proposed to realize the dynamic measurement of trusted computing. The behavior of the process is intercepted to generate the decision tree, and based on this whether the application accords with expectation is determined. Experimental results indicate that this method could detect unknown malicious software, and by modifying the preprocessing module,the false alarm rate and missing-report rate could be further reduced.
trusted computing; dynamic measurement; decision tree;behavior
10.3969/j.issn.1002-0802.2015.11.017
2015-06-18;
2015-10-11 Received date:2015-06-18;Revised date:2015-10-11
TP309
A
1002-0802(2015)11-1290-05

紀曉宇(1990—),男,碩士,助理工程師,主要研究方向為信息安全、通信技術和網絡管理;
冷 冰(1976—),男,碩士,高級工程師,主要研究方向為信息安全;
周 潔(1984—),男,碩士,工程師,主要研究方向為信息安全。