收稿日期:2005-06-12;修回日期:2005-12-29
。基金项目:国家自然科学基金重大研究计划(9020401);国家自然基金项目(60573035,60573036
)资助课题。作者简介:王良民(1977-),男,讲师,博士研究生,主要研究方向为容忍入侵,安全协议。E -m a i l :l i a n g m i n m a n g
@h o t m a i l .c o m 基于攻击者能力状态的入侵建模方法
王良民,马建峰
(西安电子科技大学计算机网络与信息安全教育部重点实验室,陕西西安710071
)摘
要:为解决反应式容忍入侵系统中入侵模型的构建问题,提出了一个基于攻击者能力的入侵模型及相
应的模型构建与描述算法。该模型以攻击者对系统操控能力的状态转移过程来描述入侵,首先在警报关联过程中发现入侵者的攻击逻辑并据此构建元攻击模型,然后将元攻击模型转化为一种简单的覆盖形式,并证明了元攻击、覆盖与攻击模型三者之间的一一对应关系,从理论上获得了该入侵模型的存在性与唯一性
证明,提出了自动描述该模型的T I B C 算法。最后,在警报关联系统中测试了该入侵模型及其构建与描述算法,获得了较高的识别率与较低的虚警率。
关键词:通信与信息系统;入侵模型;警报关联;容忍入侵中图分类号:T P 393
文献标识码:A
M o d e l i n g t h e i n t r u s i o n b a s e d o n t h e c a p a b i l i t y o
f a t t a c k e r W A N GL i a n
g -m i n ,M AJ i a n -f e n g
(K e y L a b o f C o m p u t e rN e t w o r k a n d I n f o r m a t i o n S e c u r i t y u n d e rM i n i s t r y o f E
d u c a t i o n ,X i d i a nU n i v .,X i ’a n 710071,C h i n a )A b s t r a c t :M o d
e l i n g t h e i n t r u s i o n i s a n o p e n p r o b l e m i n i n t r u s i o n t o l e r a n c e s y
s t e m .Am o d e l o f s t a t e t r a n s i t i o n a n d i t s c o n s t r u c t i n g a l g o r i t h ma r e p r e s e
n t e d .T h em o d e l i s f o c u s e d o n t h e i n f l u e n c e o f t h e i n t r u s i o nu p o n t h e s y
s t e ma n d d e s c r i b e s t h e i n t r u s i o n a s t h e s t a t e t r a n s i t i o n p r o c e s s o f t h e a t t a c k e r s ’c a p a b i l i t y .T h e c o n s t r u c t i n g a l g o r i t h mc o r r e l a t e s t h e i n t r u s i o n d e t e c t i o n a l e r t s i n t om e t a -a t t a c k ,a n d d e f i n e s c o v e r a s t h e r e d u c t i o n o f m e t a -a t t a c k .T h e n t h em e t h o d o f t r a n s f o r m i n g t h e c o v e r o f m e t a -a t t a c k t o i n t r u s i o nm o d e l i s p r o p o s e d a n d t h e p r o o f s o f t h e e q u i v a l e n c e a m o n g
i n t r u s i o n m o d e l ,m e t a -a t t a c k a n d i t s c o v e r a r e g i v e n .A n a l g o r i t h m f o r d e s c r i b i n g t h e i n t r u s i o nm o d e l a d a p t i v e l y i s p r e s e n t e d ,i n w h i c h t h em a n u a lw o r k i sn o t e m p l o y e d l i k e t h e e x i s t i n g m e t h o d s .I nt h e e n d ,b o t ht h e i n t r u s i o nm o d e l a n d t h e a l g o r i t h m s f o r c o n s t r u c t i n g a n d d e s c r i b i n g t h i sm o d e l s h o w t h e i r g o o d p e r f o r m a n c e s i n t h e c o r r e l a t i o n e x p
e r i m e n t .K e y w
o r d s :c o m m u n i c a t i o n a n d i n f o r m a t i o n s y s t e m ;i n t r u s i o nm o d e l ;a l e r t c o r r e l a t i o n ;i n t r u s i o n t o l e r a n c e 0前
言
当前,没有一个系统具有抵制任何故障/入侵的能力,容忍入侵技术(i n t r u s i o n t o l e r a n c e )能在故障/入侵已发生时保证系统关键功能继续执行,从而受到了越来越多的关注,其中包括美国的O A S I S 和欧洲的M A F T I A 这两个重要的研究计划。在这两个计划的支持和带动下,有关容忍入侵技术的研究得到了迅速发展。国际上,比较有影响的有
I T U A 的先进冗余技术[1]、I T T C 的门槛密码学[2]
、S R I 的可
靠系统结构[3]和U M B C 的容忍入侵数据库[4]等。国内,武汉大学[5]、中科院软件所[6]、西安电子科技大学[7-8]等也分
别在不同的领域做了大量工作。文献[3]指出,在容忍入侵系统中,有预谋的攻击是系统安全的一个主要威胁。如何对入侵进行建模,一直是一个难以解决的问题。在传统的
容错领域,故障的出现是随机的,从而可以根据随机规律,构建故障模型。但是容忍入侵系统中,入侵是攻击导致的,攻击是恶意的、有预谋的,它不符合随机规律,从而原有故障建模方法不能直接应用于入侵模型的构建上。
警报关联(a l e r t c o r r e l a t i o n )技术通过研究攻击行为触发的I D S 警报信息,
发现攻击者的入侵逻辑,从而构建攻击想定、发现入侵事件。这给入侵建模提供了新的思路:不是试图构建一个静态的、不变的入侵模型,而是利用入侵检测系统提供的警报信息,发现攻击者的入侵逻辑并及时建立模型,为容忍入侵系统提供服务。但是,现有的警报关联方法都是从攻击过程的角度出发,寻攻击步骤之间关联,而很少进一步考虑攻击行为之间的不同关联对系统造成的影响。本文认为入侵的本质是破坏系统安全,这种破坏可以用攻击者所获取对该系统的操控能力来描述。为此,提出
第28卷第5期
系统工程与电子技术
V o l .28N o .5
2006年5月
S y s t e m s E n g i n e e r i n g
a n dE l e c t r o n i c s M a y =
==============================================================2
006文章编号:1001-506X (2006)05-0753-08
了一种基于攻击者能力变迁的入侵模型及其构建算法,该模型更关注攻击行为对系统的影响,能够更好地为容忍入侵机制提供触发引擎。
1警报关联
在警报关联领域,有几个相似的名词,如攻击、警报和入侵等。通常情况下,攻击(a t t a c k )是指I D S 观测到的恶意的或者可疑的事件;警报(a l e r t )是I D S 观察到一个攻击后发出的消息;入侵事件(i n t r u s i o n i n c i d e n t )是为了实现一个最终的入侵企图,攻击者在一定时间段内发起的前后关联的攻击行为,这些攻击行为的整体构成一个入侵事件。如果两个不同的入侵事件中,攻击行为的功能相似,对应的前后关联也相同,则称这个两个事件属于同一个模式,这个抽象的模式也称为入侵模型,寻这个模式的过程就是入侵建模。1.1警报关联的基本方法
警报融合和警报关联是为了提高入侵检测系统的检测率、降低误报率,对相应的警报信息进行的合并和聚类。警报融合(a l e r t f u s i o n )聚合具有典型特征相同的I D S 警报,它们属于相同类别甚至具有相同的网络地址,通常是由于使用异质传感器而造成的重复报警;警报关联(a l e r t c o r r e l a t i o n )聚合属于不同类别、或者来自不同网络地址的警报。这些警报由同一个入侵事件触发,是同一个攻击者的按步骤攻击,各攻击步骤间的关联体现了攻击者的行为逻辑。警报关联把这些具有逻辑联系的警报聚合为一条入侵事件报警消息,我们称这样的消息为高级警报(h i g
h l e v e l a l e r t )。当前有关警报关联的算法主要有两个类型,一类是基
于先验知识规则的方法[9-11],另一类是基于一阶逻辑的方法[12-18]。第一类模型方法旨在表示已知的有关入侵的先
验知识,通常是采用数学模型或数据挖掘规则,将这些先验知识以某种模式表示出来,然后聚合满足该模式的警报信息;第二类因果关系方法旨在发现警报信息之间的内在逻辑联系,它利用攻击行为的时间顺序和因果关系,将属于同一入侵事件的离散的警报信息关联起来。总体说来,第一类方法研究的重点是如何运用模型工具表达已知规律,而第二类方法则注重在警报序列中发现攻击者的行为逻辑。1.2警报关联系统与入侵建模
基于因果关系的警报关联系统,对来自I D S 的警报信息,根据警报信息之间的因果关系识别入侵事件,发出高级警报,将入侵报告安全管理员;基于模型方法的警报关联系统带有一个预先定义好的模式库,如图1所示,将输入警报信息和已有模式进行匹配,匹配成功表明存在入侵,发出高级警报。
与警报关联不同,入侵建模的目的是寻新的入侵模式。基于模型方法的警报关联系统中,模式库里的模式都是人们根据对入侵的已有经验来预先定义的。这种人工分析、建模的方法,不能发现新的入侵,更不可能预测攻击,从而不能为容忍入侵系统提供及时的服务。本文着重于自动地构建入侵模型,致力于减少人工参与、缩短延迟时间。
图1警报关联系统框架
2基于攻击者能力的入侵模型
文献[19-20]从攻击者的角度出发,认为入侵就是这些有关联的攻击步骤,本文立足于被破坏系统,认为入侵是攻击者获取了针对该系统的操控能力,并从攻击者能力不断提升(即系统安全性逐渐降低)的过程来构建入侵模型。定义1攻击者所具有的针对计算机系统的操控能力
(C a p a b i l i t y
)是一个六元组:C a p a b i l i t y E (S o u r c e ,T a r g e t ,A c t i o n ,S e r v i c e ,P r o p e r t y
,C r e d e n t i a l )C a p a b i l i t y 描述了攻击者的行为能力,表示来自S o u r c e 攻击者,可以用C r e d e n t i a l 证书,针对T a r g e t 中S e r v i c e 服务的P r o p e r t y 属性采取A
c t i o n 行为例如C 1E (s r c ,t g
t ,r e a d ,p a s s w d ,c o n t e n t ,s m i t h ),表示来自s r c 的攻击者,以s m i t h 的证书获得了针对目标d s t 的c o n t e n t 服务中p a s s w d 文件的r e a d 权限。此外,
不同的能力之间可能具有某种逻辑联系。如能力C 2E (s r c ,t g t ,r e a d ,A l l f i l e s ,c o n t e n t ,{s m i t h ,j
o h n }),显然C 2的能力比C 1表示的能力要大,
或者说能力C 2蕴涵了能力C 1。定义2C 1和C 2是两个不同的攻击能力,如果它们
具有如下关系:
(1)相同的S o u r c e ,T a r g
e t 和A c t i o n ;(2)相同的类型S e r v i c e 和P r o p e r t y
;(3)C 1的S e r v i c e ,P r o p e r t y 和C r e d e n t i a l 分别是C 2的S e r v i c e ,P r o p e r t y 和C r e d e n t i a l 的子集。则称C 2蕴涵C 1,或者C 1可由C 2推出,记为C 2⇒C 1。
如前所述,我们认为入侵是系统安全性不断下降即攻击者能力不断提升的过程。因此我们用图2的基于攻击者能力的状态转移过程作为入侵模型。图中的节点S 是攻击者的能力的集合,边a 表示攻击。在初始状态S 0E {},攻击者发起攻击行为a 1,获得能力C 1,进入状态S 1E {C 1};在具备了发起攻击a 3的准备条件C 1之后,实施a 3攻击,获取新的能力C 3,进入状态S 3E {C 1,C 3};而在通过a 2
获得能力C 2之后,S 2和S 3的并集{C 1,C 2,C 3}构成了发动a 4攻击的准备条件,因此,发动a 4攻击,获取新能力C 4状态转移到S 4E {C
1,C 2,C 3,C 4},……。由图2可知,任何一个攻击行为的发起,都需要一定攻击能力作为的准备条件,同时,该攻击行为发生以后,又获得了新的攻击能力,给后续的攻击提供准备。也就是说,任何一个攻击行为必须与两个能力状态相对应,一个是发起该攻击的初始状态,是该攻击能成功发起的先决条件,另一个是该攻击奏效后的结果状态,包含了该攻击所获取的新
・754・系统工程与电子技术第28=
=============================================================
=卷
能力。为此,本文用超警报来描述警报与这两个能力的关联。
图2基于攻击者能力的入侵模型
定义3一个超警报(H y p e r a l e r t)由三个部分组成:
H y p e r a l e r t E(A l e r t,P r e r e q u i s i t e,C o n s e q u e n c e)
其中,A l e r t该攻击发生时的I D S警报,由是一个四元组构成,A l e r t E(n a m e,t i m e,s o u r c e,t a r g e t),它的组元n a m e是警报名称;t i m e本身也是一个二元组t i m e E(b e g i n,e n d),分别表示该警报所表示攻击行为的发起时间和结束时间;组元s o u r c e和t a r g e t分别表示攻击行为的来源和攻击目标。P r e r e q u i s i t e表示A l e r t产生之前必须具备的先决条件,是能力的合取;C o n s e q u e n c e是A l e r t所表示的攻击奏效后,攻击者具有的能力的合取。
超警报的定义,包含了警报发生前必须具备的条件和将产生的后果,给后续处理提供有力的帮助。
根据超警报的定义和图2的入侵模型,可以知道,由于攻击者在当前能力状态的基础上发动攻击,攻击行为成功后,下一个状态中的能力显然包含前一个状态中的所有能力。因此,有引理1:
引理1超警报H y p e r a l e r t E(A l e r t,P r e r e q u i s i t e,C o n s e q u e n c e)具有C o n s e q u e n c e⇒P r e r e q u i s i t e。
图2以基于攻击者能力的状态转移图,形象具体的描述了一个入侵事件,如果将该入侵事件中警报和攻击事件看成变量,则该状态转移图描述了一个入侵模式。在已知此入侵模式的情况下,可以超警报来描述这个模式,但是,本文所考虑的情况是,没有先验的入侵模型,只能根据I D S 提供的警报流,发现入侵事情并自适应模仿攻击者的逻辑,构建入侵模型。为此,我们将在下一节里讨论如何运用超警报关联来构建入侵模式。
3入侵模型与元攻击及其关联
为发现入侵模式,将I D S提供的警报流转化为超警报流,并从中寻这些超警报间的逻辑关联。为更清楚的描述问题,我们引进元攻击的概念来形式化的描述图2所示的基于攻击者能力状态的入侵模型。
定义4一个元攻击(M e t a a t t a c k)是一个三元组:M e t a a t t a c k E{H s e t,C s e t,T i m e}
其中,H s e t是关联在一起的超警报集合,C s e t是集合H s e t中所有超警报获取的能力的集合,T i m e E(b e g i n,e n d)是一个二元组,b e g i n是H s e t中所有超警报开始时间的最小值,e n d是H s e t超警报结束时间中的最大值。
元攻击的定义已经将图2所示的攻击模型中的节点集(能力状态)和边集(警报)以及节点与边之间的对应关系对
做了描述,因此,由I D S警报构建入侵模型的问题,可以转化为如何由超警报流构建元攻击的问题。我们给出超警报间准备关系的定义,用来描述两个或多个超警报在时间顺序和因果关系上的联系。
定义5两个超警报h
1
E(A1,P r e1,C o n s1)和h’E (A’,P r e’,C o n s’)之间满足A
1
T i m e e n d<A’T i m e b e g i n,如果P r e’⇒C o n s1则称h1是H a’的必要准备,简称为
准备,记为〈h
1
,h’〉;当超警报集合{h
i
|h i E(A i,P r e i,C o n s i),i E1,...n}满足
C o n s1$C o n s2$…$C o n s n⇒P r e◜
C o n s1$C o n s2$…$C o n s n⇒C o n s◜
称{h
i
|i E1,...n}中n个超警报构成h◜的充分准备。
在I D S提供的警报中,由于多传感器的应用,常常出现针对同一个攻击的多个报警,为此需要进行警报融合和聚类。本文在超警报关联算法中,提出了如下假设,滤去重复报警。
假设1任何一个入侵模型中,入侵者都不会采取重复的多样性的行动去获取已有的攻击能力。
由于对同一个攻击者来说,当他已经具有能力状态S 时,没有必要在此状态下继续发动一些不能获得更多能力的攻击,因为这样的攻击除了浪费精力和暴露自己,没有任何意义。至于一些类似I P伪装的欺骗性攻击,在我们的实验中,根据定义1,将另行构建入侵模型,这些欺骗性攻击最终都会被关联算法当成虚警排除。根据假设1,我们认为那些不能给攻击者提供新的能力的警报信息往往是由于多点检测和网络延迟造成的误报和重复报警,在关联过程中直接滤去。此外,输入警报流是按照时间顺序对操作员
汇报,因此一个新输入的超警报h,其开始时间总大于上一条警报信息的结束时间的。算法1描述了本文采用的超警报关联过程,它将属于同一个入侵事件的警报聚合在一个元攻击里。
算法1
步骤1判断h是否可以加入已存在的某个元攻击M 中:该元攻击的C s e t中元素的合取蕴涵H C o n s e q u e n c e,若存在,则采用选择3处理;若不存在,转步骤2;
步骤2判断H P r e r e q u i s i t e是否为空:为空,用选择1处理,不空转步骤3;
步骤3判断是否存在元攻击M中是否存在一个或多个超警报联合能构成h的充分准备,即是否存在M满足:M的C s e t中元素的合取蕴涵h P r e r e q u i s i t e,如有,转选择2,没有,转步骤4;
步骤4元攻击合并算法:以h P r e r e q u i s i t e为搜索条件,判断是否存在多个元攻击,其C s e t的合取蕴涵h
P r e r e q u i s i t e,如果有,合并这些元攻击成为新的M,转步骤5;如果没有,用选择1处理;
步骤5判断该新合并的元攻击C s e t中元素的合取是否蕴涵h C o n s e q u e n c e,是,采用选择4处理,不是,采用选择2处理。
第5期王良民等:基于攻击者能力状态的入侵建模方法・755
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
・
选择1创建新的元攻击M :将h 加入h s e t
,将h C o n s e q
u e n c e 加入C s e t ,确定时间戳;跳出,接受新输入的超警报,转步骤1。
选择2将h 加入已有元攻击M :将h 放入相应M 的H s e t ,同时将h C o n s e q u e n c e 放入C s e t ,
更改M 的时间戳;跳出,接受新的超警报,转步骤1。选择3丢弃警报信息h :基于假设1,此为无效或者重复报警,直接丢弃;跳出,接受新输入的超警报,转步骤1。
在步骤4中,对于一些确实发生的警报,虽然I D S 提供警报信息显示不具备该攻击发生的充分准备条件,只能认为是传感器或者网络故障,发生了漏检,为此我们创建新的M ,
可忽略掉前面的漏检信息,继续关联后续警报,并构建攻击模型。
4元攻击与入侵模型的一致性
在这一节里,我们使用构造性证明,给出了由元攻击构造入侵模型的方法。由于元攻击本身就是对入侵模型的形式化描述,因此,元攻击与入侵模型之间是可以相互转化的。此外,本节证明了这种转化是唯一的。
元攻击聚集了输入警报流中关联超警,但是,这种聚合只是简单的聚集,没有显式的表示这些超警报所代表的攻击之间的逻辑联系,为此,我们必须研究同一元攻击内不同超警报间的关系。
定义6如果M E {H s e t ,C s e t ,T i m e
}是一个元攻击,称R E {〈h 1,h 2〉|h 1是h 2的准备,且h 1,h
2∈H s e t }
为元攻击M 上准备关系。定理1元攻击M 上的准备关系是半偏序关系。证明对于任意的元攻击M ,假设R 是定义在M 上准备关系,可证R 满足:
(1)反自反性:对于任意的h 1∈M ,显然,A 1T
i m e b e g i n <A 1T i m e e n d ,所以不满足A 1T i m e e n d <A 1
T i m e b e g i n ,从而不可能有〈h 1,h 1〉∈R ,其中A 1T i m e b e g i n 和A 1T i m e e n d 分别是超警报h 1
中组元A l e r t 的开始时间和结束时间;
(2)反对称性:对于任意的〈h 1,h
2〉∈R ,由定义5,A 1T i m e e n d <A 2T i m e b e g i n ,由于A 2T
i m e b e g i n <A 2T i m e e n d ,所以不可能满足A 2T i m e e n d <A 1T i m e b e g i n ,从而不可能有〈h 2,h
1〉∈R ;(3)可传递性:对于任意的〈h 1,h 2〉∈R ,〈h 2,h 3〉∈R ;由定义5,A 1T i m e e n d <A 2T i m e b e g i n 且A 2
T i m e e n d <A 3T i m e b e g i n ,从而A 1T i m e e n d <A 3
T i m e b e g
i n ;又由定义5,P r e 2⇒C o n s 1且P r e 3⇒C o n s 2,由引理1可得C o n s 2⇒P r e 2,所以P r e 3⇒C o n s 1,从而根据定义5有〈h 1,h 3〉∈R ,其中,P r e i 和C o n s i 分别是超警报h i 的P r e r e q u i s i t e 和C o n s e q
u e n c e .综合(1)、(2)、(3)可得,M 上的准备关系R 是半偏序关系。
定义7R 是定义在元攻击M 上的准备关系,〈h 1
,h 2〉∈R ,且不存在M 中的超警报h 3同时满足〈h 1,h 3〉∈R 和〈h 3,h 2〉∈R ,则称h 1是h 2
的直接准备。集合C O V (M )E {〈h 1,h 2〉|〈h 1,h 2〉∈R ,且h 1是h 2的直接准备},称为M 上准备关系R 的一个覆盖。
引理2对一个元攻击M ,存在且仅存在一个关于准备关系的覆盖。
证明从存在性和唯一性两个方面来证:(1
)对于任意一个元攻击M ,按照定义可构建其上的准备关系R ,和关于该准备关系R 的覆盖C O V (M )。所以,一个元攻击存在关于超警报准备关系的覆盖。
(2)现假设有两个集合C O V 1和C O V 2都是元攻击M 的覆盖,然而对于任意的〈h 1,h 2〉∈C O V 1,由〈h 1,h
2〉∈C O V 1知〈h 1,h 2〉∈R 且不存在M 中的超警报h 3
同时满足〈h 1,h 3〉R 和〈h 3,h 2〉∈R ,而由覆盖的构造方法知,必然有〈h 1,h 2〉∈C O V 2;同理,对于任意的〈h 1,h
2〉∈C O V 2,必然有〈h 1,h
2〉∈C O V 1,因此C O V 1E C O V 2。从而每个元攻击的覆盖是唯一的。由条件(1)、(2)可知,对于一个元攻击M ,有且仅有一个与之对应的覆盖。
由引理2可知,存在唯一的覆盖和元攻击对应。因此,
可以将元攻击M 转化成与它唯一对应的覆盖C O V
(M ),然后通过C O V
(M )构建入侵模型。算法2描述通过元攻击M 以及对应的覆盖C O V
(M )构建入侵模型的过程。算法2
步骤1任选一个属于M 的超警报h ,将h 的准备条件P r e 作为状态节点放在平面上,将它的结束状态C o n s 节点放在P r e 1节点的右边,并用从左到右的有向弧h 连接这两个状态节点;
步骤2对于已存在的有向弧h ,如果存在〈h 1,h 〉∈C O V (M ),则h 1的准备条件P r e 1作为状态节点放在P r e 的左边,画一条从P r e 1到P r e 的有向弧;如果存在〈h ,h 1〉∈
C O V (M ),则h 1的结束能力C o n s 1作为状态节点放在C o n s 的右边,画一条从C o n s 到C o n s 1的有向弧;
步骤3重复进行步骤2,直到穷尽元攻击M 中所有的超警报。
引理3对一个元攻击M ,必存在一个基于状态转移的入侵模型,且同一个元攻击的不同入侵模型是同构的。
证明(1
)存在性:对于给定的元攻击M ,由引理2,可以构建与之唯一对应的关于准备关系的覆盖C O V (M ),采用算法2,可获得入侵状态转移模型;
(2)唯一性:对于同一个元攻击的多个入侵状态转移模型,由于其节点集C s e t 是相同的,边集H s e t 也是相同的;而节点与边的对应关系也有H s e t 中的元素(超警报)所确定,而相同的集合H s e t 的元素必定也是完全相同的。所以,这些属于同一个元攻击的多个入侵状态转移模型是同构。
根据引理2和元攻击的定义,可以很容易的得到定理2。
・756・系统工程与电子技术第28=
==============================================================卷
定理2元攻击M、相应的覆盖C O V(M)和基于攻击者能力状态转移的入侵模型之间存在一一对应关系。
证明
(1)对于给定的元攻击M,由引理2,可到唯一存在的C O V(M);
(2)由引理3,可以构建与之唯一对应的入侵状态转移模型;
(3)对于同一个元攻击的多个入侵状态转移模型,初始化一个元攻击模型M E{H s e t,C s e t,T i m e},把入侵模型中所涉及到的边(超警报)放入H s e t、状态节点所包含的能力等放入集合C s e t,然后到开始时间和结束时间确定时间戳T i m e,该M唯一存在,且和入侵模型一致。
综合条件(1)、(2)、(3),可得到图3描述的入侵模型和元攻击之间的转换关系,元攻击M通过C O V(M)可求得入侵模型,而入侵模型可以形式化描述为元攻击,因此这三者之间存在着一一对应关系。
图3元攻击与入侵模型的转化关系
5入侵模型的T I B C描述
算法1通过使用超警报关联,获得了包含一个入侵事件的元攻击,算法2利用元攻击,给出了基于攻击者能力变迁的入侵模型。算法2给出的入侵模型,是用状态转移图描述的,直观易懂,但是,不适于计算机的自动处理。T I B C 是我们在文献[21]中提出的适用于入侵事件的动态模型描述语言,可用于自动描述本文提出的入侵模型。为此,本节将提出可以自适应产生适用于计算机识别的入侵模型描述算法
定义8基于时间段的C h r o n i c l e s模型(T I B C m o d e l:t i m e b a s e d c h r o n i c l e sm o d e l)是一个五元组,T I B C E(T i m e s,C o n s t r a i n s,P E v e n t s,P A s s e r t i o n s,A c t i o n s),其中:
⊕T i m e s是一个二元组,T i m e s E(b e g i n,e n d),表示一个时间段,组元b e g i n和e n d均为一个点时间;
⊕C o n s t r a i n s是一个关于时间的限制条件的集合,该限制条件定义了T i m e s中两个元素间的约束关系,这个约
束关系确定警报事件间的时间关联,也赋予了T I B C
实例一定的生存期限;
⊕P E v e n t s是T i m e s中某时间段发生的事件模式(即警报模式)集合:
P E v e n t s E{A l e r t(n a m e,t i m e,s o u r c e,t a r g e t)}
⊕P A s s e r t i o n s是描述P E v e n t s中警报事件与T i m e s 中时间段之间关系的断言的集合;
⊕A c t i o n s是T I B C系统中外部行动的集合,是在系统完成了T I B C识别工作后所采取的措施,该措施包含产
生报告、生成新的事件、新的断言,这些事件和断言可
以汇入后续的T I B C系统的输入事件流,形成T I B C “泛函环”。
定义9T I B C组元P A s s e r t i o n s中的断言是由对谓词e v e n t,n o e v e n t和o c c u r s赋值后获得的谓词填式,用以描述P E v e n t s中警报事件在时间上的先后关系,谓词e v e n t,n o e v e n t和o c c u r s的句法结构和信息语义如下所列:
⊕e v e n t(P,(t1,t2)):在时间段[t1,t2]有事件P发生;⊕n o e v e n t(P,(t1,t2)):T I B C系统将不考虑在时间段[t
1
,t
2
]内发生的警报P;
⊕o c c u r s(n1,n2),P,(t1,t2)):警报P在时间段[t1,t2]内发生了N次,N是一个介于n1和n2之间的数
值。
其中P∈P E v e n t s,(t
1
,t
2攻击类型转换
)∈T i m e s。
根据引理2,对元攻击M,求出其覆盖C O V(M),我们提出了基于T I B C[21]自适应入侵模型描述算法(算法3),描述C O V(M)。由定理2的证明及图3所示的转化关系可知,C O V(M)与元攻击、入侵模型是一致的,属于对同一模式的不同表达形式。算法3也是对入侵模型的形式化描述。
算法3
步骤1对每一个M,定义一个新的T I B C模式,在C O V(M)中,选择准备条件为空集的超警报h a1,将语句e v e n t(a1,(t1,t1◜))加入一个新定义的T I B C模式其中,其
中,a
1
是超警报h a
1
中包含的警报名,(t
1
,t
1
◜)设置为变量表示警报的发起时间和结束时间;
步骤2若该T I B C模式中存在警报a
1
,则对每一个满
足〈h a
1
,h a
i
〉C O V(M)的超警报h a
i
,将;将语句o c c u r s(a i,(t i,t i◜))加入该T I B C模式,同样,a i是超警报h a i中包含的警报名,将(t i,t i◜)设置为变量,同时将时间规
则t
i
>t i-1◜加入相应T I B C模式;
步骤3反复执行步骤2,直到C O V(M)中不到满足要求的超级警报;
步骤4将语句w h e n r e c o g n i z e d{e m i t e v e n t(a l e r t[M,m s o u r c e,m t a r g e t],(t1,t n◜))}放入T I B C模式,其中t n 是步骤3中到的最后一个警报的结束时间。
算法3是可用计算机程序实现的执行过程,实现了对所发现入侵模型的自动描述,突破了当前依靠操作员经验的人工/半人工的定制模式的方法。在采用D A R P A2000的L L D O S1.0进行实验中,入侵事件分为5个阶段:扫描网络、通过S o l a r i s的S a n d m i n d漏洞进入系统、获取软件安装权限、安装m s t r e a mD D O S木马软件,借助被控制的主机对远程的服务器发动D D O S攻击,如图4所示。
图4入侵模式的实例
其中C
1
E(S o u r c e,T a r g e t,k n o w,T a r g e t,e x i s t,S o u r c e),表示攻击者知晓被攻击目标服务存在,C2E (S o u r c e,T a r g e t,k n o w,v u l n e r a b i l i t y,p o r t,S o u r c e)表示攻
第5期王良民等:基于攻击者能力状态的入侵建模方法・757
= ==============================================================
・
击者知晓被攻击目标存在脆弱性的端口,C
3
E(S o u r c e,T a r g e t,g a i n,a c c e s s,p o r t,w h o)(s r c,t g t,r e a d,p a s s w d,c o n t e n t,s m i t h)表示攻击者以w h o的身份获得了某端口的访问权限……。而通过算法3获得的T I B C描述如图5所示。表示一个I C M P警报之后,伴随而来多个相关I C M P p i n g、T C P p i n g警报,然后时多个O v e r F l o w警报,……,直到多个D O S警报信息。
图5入侵模式的T I B C描述
6实验分析
本文在实验中,采用如图6所示的基于T I B C的自适应入侵建模系统。对于来自I D S的简单警报,首先采用文献[20]提出基于T I B C的关联算法,调用T I B C模式库中已存在的模式(在最初的实验中,该模式库为空),进行实例生成与模式匹配工作,对于关联成功的恶意警报系列,发出一个合成的高级警报,对于关联成功的善意警报系列,直接丢弃;而对未能关联的警报,图中粗线所示,采用本文提出算法1,进行超警报生成和关联,建立元攻击;而对不能关联的警报,直接丢弃。如果通过警报关联产生
了元攻击,则系统一方面发出一个高级警报;另一方面根据引理2构建相应的覆盖,采用算法3定制新的T I B C模式描述该入侵模型,并加入T I B C模式库,用于在后续的输入警报序列中发现新的入侵事件。
该过程采用两步关联算法,对入侵建模来说,第一步T I B C关联,排除了大量警报,且实现了实时的入侵事件告警;对新的入侵事情,通过第二步关联发现,同时,自适应建立该入侵模型,并以T I B C描述,便于下次识别。在实际的实验中,发现对输入警报的T I B C关联耗时较短,因此作为在线入侵警报关联系统,实时汇报入侵事件;而图6粗线标注的入侵建模过程耗时较长(在我们的实验中,约有2分钟迟延),作为离线处理。
图6基于T I B C的自适应入侵建模系统
为客观评估本文模型及其构建算法,使用M I TL i n c o l n L a b提供的D A R P A2000入侵检测攻击场景数据集L L D O S1.0,测试本文所提出的模型以及模型构建算法在警报关联中的性能。在测试中,每一个数据集包在3小时内采集到评测网络的D M Z和内部网两部分的数据流量,背景流量来自D A R P A99年给出的不含攻击的训练数据,通过重放技术,如N e t p o k e软件,将这些流量导向R e a l S e c u r e6.0等网络I D S,利用这些I D S充当传感器,将警报数据传向警报关联控制中心,通过关联算法,输出高级警报。如表1所示,列举了在该测试环境下,R e a l S e c u r e、N i n g P[14]以及本文方法所测得的结果。其中栏目“警报”指高级警报中包含的I D S警报数目,在统计这些I D S警报数目时,对最初的
时间相似的多个扫描攻击,只按一个计算,最终的多个D O S警报,也只按一个计算,而中间警报数目,则根据高级警报中实际存在的警报数来计数;栏目“检测攻击”指这些I D S警报正确报告的攻击数目;栏目“正确警报”是指正确报告攻击的“警报”数目。由于重复报警现象的存在,使得“正确警报”数通常大于“检测攻击”数。显然,表1中没有统计那些不在高级警报中的孤立警报。
表1实验结果比较
网络
区域
释放
攻击
工具警报
检测
攻击
正确
警报
D M Z89
R e a l S e u r e8915157
N i n g P575054
O u r M e t h o d524950内部60
R e a l S e u r e9223744
N i n g P443641
O u r M e t h o d403738由表1的数据,可计算出检测率、虚警率两个指标,来比较相关工具性能。所得统计结果如图7所示。
图7三种方法的的检测率与虚警率
检测率E
检测攻击数
警报数
,虚警率E1-
正确警报
警报数由图7可以看出,本文方法在检测率和虚警率两个性能指标上都稍优于N i n g P[14]的方法。分析认为,原因在于我们排除了了大量同类报警,因此在检测攻击数目相近的
・758・系统工程与电子技术第28
= ==============================================================
卷
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论