基于L-Call的程序异常检测模型研究(3)

四、基于Markov链的检测模型 系统分为两个部分,训练模块和测试模块。在训练阶段,系统得到一个Markov链模型来描述一个程序的执行行为。在检测阶段,系统利用产生的Markov链模型来判断程序是否发生异常,并记录异常


四、基于Markov链的检测模型
    系统分为两个部分,训练模块和测试模块。在训练阶段,系统得到一个Markov链模型来描述一个程序的执行行为。在检测阶段,系统利用产生的Markov链模型来判断程序是否发生异常,并记录异常信息。最后利用推断引擎判断是否发生入侵行为。整个系统的基本框架如图4所示。
    图4 基于Markov链的系统检测模型

五、 基于信息论的模型衡量
    Wenke Lee等人提出使用信息论的方法来分析审计数据的优劣,本文采用类似的方法对L-Call进行分析。下面给出信息论的相关知识。
    1. 熵
    给定数据集合X,Cx表示属于的样本的类别集合。对于任意x∈Cx,定义熵为 
    ( 1 ) 
    其中P(x),表示x在集合中的概率,并规定当P(x)=0时, 。 
    一般说来,熵越小说明数据分布越不均匀,熵越大说明数据分布越均匀。例如,如果数据集中所有项都属于同一个类别,那么熵等于0;相反如果数据集是均匀分布,那么熵等于log|Cx|。 
    对于异常检测而言,熵可以作为衡量数据规则程度的一个度量。在安全审计数据中,每一个唯一的记录表示一个类,熵越小表示不同的记录数目越少,数据也就越规则,从而利用已知条件预测未知的可靠性就越大,通过这样的数据集合建立的模型就越可靠。 
    2. 条件熵 
    给定两个随即变量X和Y,定义条件熵为 
    其中,P(x,y)为x和y的联合分布概率,P(x|y)为给定y时x的条件概率。 
    安全审计数据(比如用户行为,程序行为等)通常都具有时间上的序列特征,条件熵可以用来衡量这种特征。按照上面的定义,令序列X=(e1,e2…,en),序列Y=(e1,e2…,ek),其中k<n,e1表示每一个审计事件。条件熵H(x|y)可以衡量在给定条件Y以后,剩下的X的不确定性还有多少。因为这里Y是X的前k个事件,即P(x,y)=P(x),所以条件熵也就表示在一个给定的序列中,前k个事件对于预测后面n-k个事件的作用有多少。条件熵越小表示不确定性越小,根据这样的数据集合建立的模型其准确性就越好。因此对异常检测而言,可以使用条件熵来衡量序列关系的规则性。 
    3. 相对熵 给定两个数据集合X和Y,P(x)和q(x)分别为x在两个集合上的概率。定义相对熵为 
    在异常检测中,通常利用一组训练数据来构造模型,然后再将这个模型运用到测试数据中,如果希望模型具有较好的结果,这两个数据集合必须具有相似的规则性。相对熵用来比较两个数据集合的规则性,相对熵越小说明两个数据集合越相似。当P(x)=q(x)时,相对条件熵为0,说明这两个数据集合完全一致,那么根据训练集建立的模型就能准确地检测测试集的数据。 
    4. 相对条件熵 
    给定两个数据集合X和Y,定义相对条件熵为 
    相对条件熵衡量的是两个序列数据集的相似性,适合于分析程序行为或者用户行为这一类具有明显序列特征的数据。同样,对于异常检测而言,这个值越小越好。

六、试验评估 
    本文进行了一系列试验来验证L-Call和系统调用的检测性能的差异,下面给出试验结果并进行分析。 
    1. 试验数据来源 
    目前常用的基于系统调用的试验数据是UNM 大学提供的数据,其中包括sendmail,lpr等多种服务进程的系统调用迹。还有部分研究人员使用DARPA98/99的BSM审计数据。BSM(Solaris Basic Security Model)是Solaris系统自带的安全审计模块,用来记录安全相关的事件,这些事件类似于系统调用。但所有这些数据集都不包含返回地址链等信息,不能提取出L-Call,因此本文搭建了一个Linux平台,并利用改进的数据采集器Xtrace收集程序运行的数据。本文使用下列四种程序作为测试程序:grep,find,tar和wu-ftpd。这四个程序都是linux下的常用程序,可以接受用户给定的输入,其中wu-ftpd为ftp的守护程序。

(责任编辑:adminadmin2008)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
图片资讯

针锋相对 四招防御APT攻击

针锋相对 四招防御APT攻击

APT即“Adavanced Persistent Threat”,是指针对明确目标的持续的、复杂的网络攻击。...[详细]

浏览器必备的五大安全附加组件

浏览器必备的五大安全附加组件

随着云计算和基于Web的业务应用程序的兴起,尽可能的保证浏览器安全已成为关键。并非...[详细]

未来无线路由需要改进的地方

未来无线路由需要改进的地方

对于一般人来说,现有无线路由器的主要目是让手机和平板等设备连上网络,方便自己在特...[详细]

怎样在不同网络安全需求下创建DMZ区

怎样在不同网络安全需求下创建DMZ区

安全区的定义在建立安全网络过程中起着至关重要的作用。DMZ (Demilitarized Zone)是网...[详细]

教你如何利用Wireshark监测无线网络

教你如何利用Wireshark监测无线网络

计算机安全始终是一个让人揪心的问题,网络安全则有过之而无不及。无线网络是黑客们最...[详细]