APP下载

一种基于行为的可信计算动态度量方法*

2015-03-25纪晓宇

通信技术 2015年11期
关键词:调用决策树度量

纪晓宇,冷 冰,周 洁

(中国电子科技集团公司第三十研究所,四川 成都 610041)

一种基于行为的可信计算动态度量方法*

纪晓宇,冷 冰,周 洁

(中国电子科技集团公司第三十研究所,四川 成都 610041)

针对恶意软件泛滥而现行杀毒软件无法检测未知恶意软件的情况,同时经分析恶意软件,发现虽然其形式多样,但是表现出的恶意行为却存在一定的规律性。由此提出一种实现可信计算动态度量的方法,通过拦截程序运行期间产生的行为,构建决策树模型,以此为依据来判定程序行为是否符合预期。实验证明,此方法可以检测出未知恶意软件,之后通过改进数据预处理模块可以进一步降低误报率以及漏报率。

可信计算;动态度量;决策树;行为

0 引 言

目前,可信计算技术已经能够实现普通计算平台的可信启动,并将信任链传递到了应用程序,实现了对应用程序的静态完整性度量,保证了应用程序的可信启动[1]。但在程序运行起来实现其功能的,不管是可信行为还是不可信行为都可能会进行敏感操作,如何根据系统运行的动态特征来判断程序运行时是否可信有待解决。传统基于特征码的恶意程序判定方法不能保证程序运行符合预期且无法识别未知恶意程序,所以需要一种可信计算动态度量技术,通过具体分析敏感操作发生之后的程序行为,研究其动态特征以判定程序行为的可信性。本文依据程序运行期间产生的系统调用分析程序行为的可信性。

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 基于决策树的行为预期性判定方法

2.1 决策树模型整体构架

本文提出的决策树模型逻辑构成如图1所示。该模型由系统调用拦截模块、预处理模块、行为分析模块组成。其中系统调用拦截模块的功能是在程序运行期间拦截我们关心的系统调用,之后经由预处理模块将系统调用转换成相应的威胁度属性,以便行为分析模块可以处理这些数据,最后行为分析模块依据程序在运行期间产生的系统调用威胁度属性构造决策树模型,并给出程序行为是否符合预期的判定结果。

图1 系统构架

2.2 系统调用拦截模块

在操作系统中,内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用的接口呈现给用户,用户通过这一系列接口实现其想要的功能。在程序执行期间,系统调用把应用程序的请求传给内核,调用相应的内核函数完成所需的处理,将处理结果返回给应用程序[9]。由上述系统调用的实现原理可知,程序产生的一系列行为都可以在系统调用中得到体现,我们可以以系统调用表征程序的行为。在模型中,我们通过挂钩技术实现系统调用的拦截。挂钩技术是通过在系统调用之前添加钩子函数,在系统调用者调用系统调用的时候,挂起系统调用,同时返回其调用参数以及调用名称等信息的技术。挂钩技术是信息安全领域常用的技术。

2.3 数据预处理模块

在获得程序执行期间产生的系统调用之后,数据预处理模块将获得的系统调用转换成构建决策树模型需要的数据格式。首先,数据预处理模块将获得的系统调用按照文件、网络、内存等属性进行属性划分,并为每一个系统调用赋予一定的权值;之后,计算每一个属性的系统调用权值之和,并依据权值与威胁度映射表求得最终的威胁度属性值。以威胁度属性值作为决策树分析模块的输入来构建决策树模型。

2.4 决策树行为分析模块

决策树算法是一种逼近离散函数值的方法。它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策树对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。决策树构造可以分两步进行。第一步,决策树的生成:由训练样本集生成决策树的过程。一般情况下,训练样本数据集是根据实际需要有历史的、有一定综合程度的、用于数据分析处理的数据集。第二步,决策树的剪枝:决策树的剪枝是对上一阶段生成的决策树进行检验、校正和修正的过程,主要是用新的样本数据集中的数据检验决策树生成过程中产生的初步规则,将那些影响预测准确性的分枝剪除[10]。

在训练初期,数据预处理模块划分了很多属性集,这其中既有直接属性,如系统调用分类;又有间接属性,如系统调用的时序关系。但是这些属性划分是否合适、属性之间是否有冲突、属性之间是否存在重复等问题,需要在决策树构建阶段进行校验,通过选取不同的属性组合测试决策树模型的误报率以及漏报率,以此为依据进行程序行为属性的取舍,从而找到最佳的程序行为属性划分规则。

3 行为预期判定决策树模型构建

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)信息增益率

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个待检测样本中,在一定漏报率的前提下,检测出了非预期行为样本,实现了对某些未知程序进行行为预期性判定;相应的判定结果可以依据训练所得决策树模型理解并解释,达到了我们预期的效果。

5 结 语

目前,可信计算已经实现了静态完整性度量,可以确保计算平台的可信启动,以及计算平台的完整性。然而,计算平台在运行期间,尤其是在运行不同种类的软件的时候,计算平台是否依然可信是一个未知问题。本文通过提出基于决策树的行为预期性判定模型,为可信计算动态度量技术提供一种思路,以程序运行期间产生的系统调用为研究目标,将获得的系统调用按进程行为、文件行为、网络行为等属性进行划分,并为其赋权值进而转换成行为威胁等级,以此构建决策树模型,通过分析,可以达到判定程序是否按照预期功能进行运行的目的。此外,数据预处理阶段对数据的处理将会影响到结果的最终判定,系统调用权值赋值以及最终权值到威胁度映射的算法将对最终的判定结果有很大的影响。因此,下一步需要进一步研究系统调用权值的赋值以及相应的威胁度映射算法。

[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—),男,硕士,工程师,主要研究方向为信息安全。

猜你喜欢

调用决策树度量
鲍文慧《度量空间之一》
核电项目物项调用管理的应用研究
代数群上由模糊(拟)伪度量诱导的拓扑
突出知识本质 关注知识结构提升思维能力
系统虚拟化环境下客户机系统调用信息捕获与分析①
度 量
决策树和随机森林方法在管理决策中的应用
基于决策树的出租车乘客出行目的识别
基于模糊关联规则和决策树的图像自动标注
基于肺癌CT的决策树模型在肺癌诊断中的应用