您的位置:首页 > 理论基础 > 计算机网络

网络信息安全之防火墙***检测方法 (五)

2013-01-08 09:26 323 查看
一、异常***检测技术
异常检测指的是根据非正常行为(系统或用户)和使用计算机资源非正常情况检测出***行为。例如,如果用户A早上8点钟到下午5点钟之间在办公室使用计算机,则他在晚上使用办公室计算机是异常的,就有可能是***;用户B总是在下班后登录到公司的终端服务器或是在深夜时来自B的账号远程登录都可能是不正常的。异常检测试图用定量方式描述常规的或可接受的行为,以标记非常规的,潜在的***行为。这种非常规的,潜在的***行为我们可以定义为"威胁"。

典型的威胁模型将威胁分为外部闯入、内部***和不当行为三种类型。并使用这种分类方法开发了一个安全监视系统,可检测用户的异常行为。

外部闯入指的是未经授权计算机系统用户的***;
内部***是指已授权的计算机用户访问未经授权的数据;
不当行为指的是用户虽经授权,但对授权数据和资源的使用不合法或滥用授权。 ***行为(***活动) 异常行为(异常活动) 图7.2.2 异常活动集与***活动集之间的关系异常***检测的主要前提是***活动作为异常活动的子集。考虑这种情况,若外部人闯入计算机系统,尽管没有危及用户资源使用的倾向和企图,可是这存在一种***的可能性,还是将他的行为当作异常处理。这样做似乎合情合理。但是,***性活动常常是由单个活动组合起来执行,单个活动却与异常性独立无关。异常活动集与***活动集之间的关系如图7.2.2所示。理想的情形是,异常活动集同***性活动集是一样的。这样,识别所有的异常活动恰恰正是识别了所有的***性活动,结果就不会造成错误的判断。可是,***性活动并不总是与异常活动相符合。这里存在四种可能性,每种情况的概率都不为零。

" ***性而非异常。活动具有***性却因为不是异常而导致不能检测到,这时候造成漏检,结果就是IDS不报告***。

" 非***性且是异常的。活动不具有***性,而因为它是异常的,IDS报告***,这时候造成虚报。

" 非***性非异常。活动不具有***性,IDS没有将活动报告为***,这属于正确的判断。

" ***且异常。活动具有***性并因为活动是异常,IDS将其报告为***。

异常***要解决的问题就是构造异常活动集并从中发现***性活动子集。异常***检测方法依赖于异常模型的建立,不同模型就构成不同的检测方法。异常检测通过观测到的一组测量值偏离度来预测用户行为的变化,然后作出决策判断的检测技术。

1. 统计异常检测方法
统计异常检测方法根据异常检测器观察主体的活动,然后产生描述这些活动行为的参数。每一个参数保存记录主体当前某种行为,并定时地将当前的参数与存储的参数合并。通过比较当前的参数与已存储的参数判断异常行为,从而检测出网络***。下面以IDES***检测系统为例来说明一般统计异常检测方法处理的过程。设M1, M2, …, Mn为参数集的特征变量,这些变量可以是CPU的使用、I/O的使用、使用地点及时间,邮件使用,文件访问数量,网络会话时间等。用S1, S2, …, Sn分别表示参数集中变量M1, M2, …, Mn的异常测量值。这些值表明了异常程度,若Si的值越高,则表示Mi异常性就越大。将这些异常测量值的平方后加权计算得出参数异常值:
a1S12+a2S22+…+anSn2, ai>0
这里ai表示参数与变量Mi 相关的权重,∑ai=1。一般而言,变量M1, M2, …, Mn不是相互独立,需要更复杂的函数处理其相关性。异常性测量值仅仅是数字,没有明确的理论根据支持那样处理方式。例如,使用多个独立的异常性变量作为结合的依据,理论上概率计算是正确的。但是,异常性测量和贝叶斯概率计算的关系并不是很清晰。常见的几种测量类型如下。

¢ 活动强度测量(Activity Intensity Measures):描述活动处理速度。通常用作检测突发性行为,而检测不出这种长时期的平均行为效果。

¢ 审计记录分布测量(Audit Record Distribution Measures):描述最近审计记录中所有活动类型分布状况。如特定的用户在整个系统使用中文件访问和I/O活动分布。

¢ 类型测量(Categorical Measures):描述特定的活动在各种类型分布状况。如在系统中,从各个物理位置来的远程登录相关频度,每个邮件发送者、编译器、Shell、编辑器的相关使用。测量关注的是活动的出现的次数多少。

¢ 顺序测量(Ordinal Measures):描述活动的输出结果,以数字值来表示。如特定的用户CPU和I/O使用总量。

统计异常检测方法的有利之处是的应用的技术方法在统计学得到很好的研究。但是这种方法有以下几点不利。

¢ 统计测量对事件的发生的次序不敏感,单纯的统计***检测系统可能不会发觉事件当中互相依次相连的***行为。

¢ 单纯的统计***检测系统将逐渐地训练成单一点,要么行为是异常的,要么是正常的。如果***者知道自己的***行为被这样的异常检测器监视,那么他就可以诱导这个系统,使得那些大部分依靠行为统计测量的***检测方法对监视的特定的事件模式失效。

¢ 难以确定异常阈值,阈值设置偏低或高均会导致误报警事件。

¢ 统计异常检测行为类型模型是有限的。运用统计技术对异常作形式化处理需要假设数据来源稳定和具有相似性,但是这种假设并不总是能够满足。

2. 基于特征选择异常检测方法
基于特征选择异常检测方法是通过从一组参数数据中挑选能检测出***参数构成子集来准确地预测或分类已检测到的***。异常***检测的困难问题是在异常活动和***活动之间作出判断。判断符合实际的参数很复杂,困为合适地选择参数子集依赖于检测到的***类型,一个参数集对所有的各种各样的***类型不可能是足够的。预先确定特定的参数来检测***可能会错过单独的特别的环境下的***。最理想的检测***参数集必须动态地决策判断以获得最好的效果。假设与***潜在相关的参数有n个,则这n个参数构成的子集有2n个。由于搜索空间同参数数是指数关系,所以穷尽寻找最理想的参数子集的开销太大。

3. 基于贝叶斯推理异常检测方法
基于贝叶斯推理异常检测方法是通过在任意给定的时刻,测量A1,A2,…,An变量值推理判断是否有***事件发生。其中每个Ai变量表示系统不同的方面特征(如磁盘I/O的活动数量,或者系统中页面出错的数)。假定Ai变量具有两个值,1表示是异常,0表示正常。I表示系统当前遭受******。每个异常变量Ai的异常可靠性和敏感性分别表示为P(Ai=1|I)和P(Ai=1|┐I)。则在给定每个Ai的条件下,由贝叶斯定理得出I的可信度,根据各种异常测量的值、***的先验概率及***发生时每种测量到的异常概率,从而能够检测判断***的概率。但是为了检测的准确性,还要必须考虑各测量Ai间的独立性。

4. 基于贝叶斯网络异常检测方法
贝叶斯统计分析把先验信息与样本信息结合,用于统计推断之中。用贝叶斯公式先验信息与样本信息综合,得到后验信息。而得到的后验信息又可以作为新一轮计算的先验,与进一步获得的样本信息综合,求的下一个后验信息。随着这个过程继续下去,后验信息确实是越来越接近于真值。也就是说,贝叶斯方法的学习机制是确实存在而且有效的。这个学习的过程实际上是一个迭代的过程,数据统计工作者已经证明这个过程是收敛的,因为这样得到后验分布密度有上界,而且单调递增。这意味着它将收敛于某个值。随着样本的增多,先验信息的影响逐渐减弱,样本信息的影响将越来越显著。在样本很多的情况下,先验分布密度的估计对结果的影响很小。换句话说,可以任意估计先验分布密度。但是,在样本不多的情况下,先验分布密度估计得好坏对结果的影响就比较大。如果能恰当地估计出先验分布密度,就可以使用少量样本数据,进行几次迭代就得到比较满意的结果。这在样本不容易获得的情况下特别有用。由于贝叶斯方法的学习机制存在,对于检测新的***方法将会有效。至今有关贝叶斯网络的***检测实际系统尚未出现,目前只停留在理论研究上。

贝叶斯网络是一种基于网络结构的有向图解描述,适用于表达和分析不确定和概率性事物,可从不完全或不确定的知识或信息中作出推理。目前贝叶斯网络在故障诊断领域已有成功应用。

一个贝叶斯网络是一个有向无环图(Directed Acyclic Graph,DAG),由代表变量节点及连接这些节点有向边构成。节点代表随机变量,节点间的有向边代表了节点间的相互关系(由父节点指向其后代节点),用条件概率进行表达关系强度,没有父节点的用先验概率进行信息表达。节点变量可以是任何问题的抽象,如测试值、观测现象、意见征询等。

贝叶斯网络实现了贝叶斯定理所揭示的学习功能,能发现大量变量之间的关系,是进行预测、分类数据的有力工具。基于贝叶斯网络异常检测方法是通过建立起异常***检测贝叶斯网,然后将其用作分析异常测量结果。贝叶斯网络允许以图形方式表示随机变量间相关的原因,并通过指定的一个小的与邻接节点相关的概率集计算随机变量的联接概率分布。按给定全部节点组合,所有根节点的先验概率和非根节点概率构成这个集。贝叶斯网络是一个有向图,有向图中弧表示父节点和子节点依赖关系。这样,当随机变量的值变成可知时,就允许把它吸收成为证据,根据这个证据,就可以计算出其它的随机变量条件值。

5. 基于模式预测异常检测方法
基于模式预测异常检测方法的假设条件是事件序列不是随机的而是遵循可辨别的模式.这种检测方法的特点是考虑了事件的序列及相互联系。而基于时间的推理方法则利用时间规则识别用户行为正常模式的特征。通过归纳学习产生这些规则集,能动态地修改系统中的规则,使之具有高的预测性、准确性和可信度。如果规则大部分时间是正确的,并能够成功地运用预测所观察到的数据,那么规则就具有高的要信度。根据观察到用户的行为,归纳产生出一套规则集来构成用户的轮廓框架。如果观测到的事件序列匹配规则的左边,而后续的事件显著地背离根据规则预测到的事件,那么系统就可以检测出这种偏离,这就表明用户操作是异常。由于不可识别行为模式能匹配任何规则的左边,都会导致不可识别行为模式作为异常判断,这是该方法的主要弱点。相反,如果能预测出不正常的后继事件的片段,则一定程度上断定用户行为的异常性。这种方法的主要优点是:
(1) 能较好地处理变化多样的用户行为,具有很强的时序模式;
(2) 能够集中考察少数几个相关的安全事件,而不是关注可疑的整个登录会话过程;
(3) 对发现检测系统遭受***,具有良好的灵敏度。因为根据规则的蕴涵语义,在系统学习阶段,能够更容易地辨别出欺骗者训练系统的企图。

6. 基于神经网络异常检测方法
基于神经网络***检测方法是训练神经网络连续的信息单元,信息单元指的是命令。网络的输入层是用户当前输入的命令和已执行过的若干个(如S)个命令;用户执行过的命令被神经网络使用来预测用户输入的下一个命令。若神经网络被训练成预测用户输入命令序列集合,则神经网络就构成用户的轮廓框架。当用这个神经网络预测不出某用户正确的后继命令,即在某种程度上表明了用户行为与其轮廓框架的偏离,这时有异常事件发生,以此就能进行异常***检测。

输入层指示出用户最近输入执行的S个命令序列。通过将每个输入的某种方式编码,把输入命令表示成几个值或级别,能够成为命令唯一标识。这样,输入层上的输入值准确地同用户最近输入执行命令序列相符合。输出层由单一的多层输出构成来预测用户发出的下个命令。这种方法的优点是:
(1) 不依赖于任何有关数据种类的统计假设;
(2) 能较好地处理噪声数据;
(3) 能自然地说明各种影响输出结果测量的相互关系。

这种方法的弱点是:
(1) 网络的拓扑结构和每个元素分配权重必须经过多次的尝试与失败的过程才能确定。

(2) 在设计神经网络的过程中,S的大小与其它的变量无关。如果S设置太低,则工作就差;设置太高,网络中需要处理的数据则太多。

7. 基于贝叶斯聚类异常检测方法
基于贝叶斯聚类异常检测方法通过在数据中发现不同类别数据集合,这些类反映了基本的因果机制(同类的成员比其它的更相似),以此就可以区分异常用户类,进而推断***事件发生来检测异常***行为。Cheeseman和Stutz在1995年开发的自动分类程序(Autoclass Program)是一种无监督数据分类技术。自动分类程序实现了使用贝叶斯统计技术对给定的数据进行搜索分类。这种方法尽可能地判断处理产生的数据,没有划分给定数据类别,但是定义了每个数据成员。其优点是:
(1) 根据给定的数据,程序自动地判断决定尽可能的类型数目;
(2) 不要求特别相似测量、停顿规则和聚类准则;
(3) 可以自由地混合连续的及离散的属性。

统计***异常检测对所观测到的行为分类处理。到目前为止,所使用到的技术主要集中于监督式的分类,这种分类是根据观测到的用户行为建立起用户轮廓。而贝叶斯分类方法允许最理想化的分类数、具有相似的轮廓的用户群组以及遵从符合用户特征集的自然分类。但是,该方法比较新,在***检测系统中还没有实现测试。自动分类程序怎样处理好固有的次序性数据(如审计跟踪)以及将系统分布特性植入分类中等方面,效果并不是十分明显。当自动分类程序支持处理在线数据时,对新的数据能否递增式地分类或者是否立即需要全部输入数据等这些问题的处理还尚未定论。由于统计的固有的特性,自动分类程序还存在选定合适的异常阈值和用户逐步地影响类型分布能力的困难。

8. 基于机器学习异常检测方法
这种异常检测方法通过机器学习实现***检测,其主要的方法有死记硬背式、监督、学习、归纳学习(示例学习)、类比学习等。Terran和Carla E.Brodley将异常检测问题归结为根据离散数据临时序列学习获得个体、系统和网络的行为特征。并提出一个基于相似度实例学习方法(IBL),该方法通过新的序列相似度计算将原始数据(如离散事件流,无序的记录)转化成可度量的空间。然后,应用IBL学习技术和一种新的基于序列的分类方法,从而发现异常类型事件,以此检测***,其中阈值的选取由成员分类的概率决定。实验结果表明这种方法检测迅速,而且误警率低。然而,此方法对于用户动态行为变化以及单独异常检测还有待改善。复杂的相似度量和先验知识加入到检测中可能会提高系统的准确性,但需要做进一步工作。总的来说,机器学习中许多模式识别技术对安全领域都有参考价值。

9. 基于数据采掘异常检测方法
计算机联网导致大量审计记录,而且审计记录大多是文件形式存放。若单独依靠手工方法去发现记录中异常现象是不够的,往往操作不便,不容易找出审计记录间相互关系。Wenke lee和Salvatore J.Stolfo 将数据采掘技术应用到***检测研究领域中,从审计数据或数据流中提取感兴趣的知识,这些知识是隐含的、事先未知的潜在有用信息,提取的知识表示为概念、规则、规律、模式等形式,并用这些知识去检测异常***和已知的***。基于数据采掘异常检测方法目前已有现成的算法可以借用,这种方法的优点在于适应处理大量数据情况。但是,对于实时***检测则还存在问题,需要开发出有效的数据采掘算法和适应的体系。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息