APP下载

采用攻击策略图的实时警报综合分析方法

2014-07-25李龙营李金库马建峰

西安电子科技大学学报 2014年5期
关键词:漏报警报滑动

李龙营,李金库,马建峰,姜 奇

(西安电子科技大学计算机学院,陕西西安 710071)

采用攻击策略图的实时警报综合分析方法

李龙营,李金库,马建峰,姜 奇

(西安电子科技大学计算机学院,陕西西安 710071)

针对警报因果关联分析方法存在攻击场景图分裂且无法及时处理大规模警报的问题,提出并实现一种采用攻击策略图的实时警报综合分析方法.首先,通过在警报关联过程中引入推断警报环节避免攻击场景图的分裂;然后,采用一种新型滑动窗口机制,为每类攻击创建一个滑动窗口,并结合时间跨度与警报数量设定窗口大小,在保证关联效果基础上具有线性时间复杂度;最后,将该方法扩展为包含实时攻击场景重构、后续警报推测及分析结果融合的综合警报分析系统.实验结果证明了该方法的实际有效性和高效性.

入侵检测系统;入侵分析;关联分析;攻击场景

入侵检测系统作为一种重要的网络攻击防范工具,得到了越来越广泛的应用.用户基于入侵检测系统产生的警报进行安全事件的检测和分析.然而,由于传统入侵检测系统产生的警报数量巨大,质量和层次较低,警报之间相互孤立,很难被安全分析人员直接有效的利用.因此,对警报进行关联分析以降低警报数量、提高警报质量,并进而重构攻击场景显得至关重要.

近年来,研究人员提出了多种不同类型的警报关联分析方法[1-10],其中的典型代表是基于因果关系的警报关联分析方法[1-2].该方法为每一种攻击行为定义所需要的实施前提(即“因”)和攻击成功后可能导致的后果(即“果”),通过警报之间的因果关系匹配将原来彼此孤立的警报关联起来.此类方法在检测复杂的协同多步攻击和攻击场景重构上具有良好的效果.然而,该类方法仍然存在很多问题,尤其是对于网络中的某些实际发生的异常情况未作处理,导致最终的结果欠佳.考察以下两种情形:攻击者未按照因果关系库中描述的攻击序列发动攻击,而是刻意漏掉攻击中的某些环节,比如,攻击者已经通过其他方法获得了目标主机的相关信息,因此,不需要发动某些环节的攻击;由于入侵检测系统特征码库中没有对应的条目,或者由于部署在高速网络中,入侵检测系统无法及时处理所有的数据包而导致漏报.这些情形都可能使得关联方法产生的关联图被破坏,并分散为若干个子图,从而无法获取完整的攻击场景.现有解决方案大多是在警报关联完成之后再采用其他方法完成分散的场景图重构,如基于相似属性的聚类方法[3-4].为了提高警报匹配效率,现有解决方案大多为所有已处理的警报添加内存索引[5];但由于内存空间有限,在警报规模较大的情况下可行性较差.为此,有些方法采取滑动时间窗口机制[6],所有处在限定时间跨度内的警报被存储在一个按时间顺序排列的窗口中,当前警报只与处于窗口中的警报进行关联分析.这种方法在提高系统运行效率的同时也带来了问题,即系统无法关联时间跨度超过滑动时间窗口范围的警报,而复杂的多步协同攻击往往时间跨度较大.有学者提出了基于队列图的方法[7-8],这种方法只“显式关联”对应漏洞最新的一条警报,具有较高的效率,但同样会对关联结果的精确性产生影响.

针对基于因果关系警报关联分析方法的局限性,文中提出一种新的采用攻击策略图的实时警报综合分析方法.与现有方案相比,该方法主要在3个方面进行了改进.在实时警报关联时加入对漏报警报或者攻击者刻意漏掉的攻击环节的推断,并将推断结果作为推断警报加入到待关联警报集中,从而有效解决攻击场景图的分裂问题,完成完整攻击场景图的重构.提出一种新的滑动窗口机制,该机制为每一种类型的攻击设置一个滑动窗口,窗口的大小同时取决于时间和警报数量,在一定程度上克服了传统单一类型时间窗口无法应对缓慢攻击的情形.新型滑动窗口机制为每一种攻击类型设置滑动窗口,相当于对警报进行了分类,即不同类型的警报存储在不同窗口中,使得警报分析效率与总体警报数量无直接关系,警报处理在线性时间内即可完成,保证了系统的实际可用性.通过引入后续攻击预测模块,将提出的方法扩展为一个综合的警报分析系统,全面挖掘警报数据.后续攻击预测模块的引入,可以有效地帮助安全分析人员对入侵进行预判,并及时采取有效的应对措施.该综合分析系统通过对分析结果集内的警报记录进行融合,并用融合警报记录取代原始记录,实现无信息丢失的警报分析结果压缩,使得攻击场景更简明清晰.

1 攻击策略图

攻击策略图(Attack Strategy Graph,ASG)是一种有向无环图,文中用它表示攻击的先验知识,集中体现攻击之间的因果关系,是实现文中所有功能的基础.直观来说,攻击策略图由尽可能多的攻击策略构成,这些攻击策略信息构成了警报分析的最直接依据,为进行警报的综合和有效分析奠定了基础.为了构建ASG,本节首先定义原子攻击类型以扩展并结构化原始的警报信息,然后给出攻击策略图的构建方法和示例.

1.1 相关定义

定义1原子攻击类型(Atomic Attack Type,AAType).AAType定义为(AAttack,Require, Provide).其中,AAttack是原子攻击名称,惟一标识原子攻击类型;Require、Provide均由一系列谓词组成,前者表示实施该攻击所需的条件集,后者表示完成此攻击后所能达到的效果集.原子攻击类型构成攻击策略图中的节点.每个原子攻击类型都对应一个属性集(SrcIP,SrcPort,DstIP,DstPort,Time,SensorID,…),警报是属性实例化之后的原子攻击类型.

定义2约束条件(Constraints).假设有原子攻击类型A、B,则A、B之间的约束条件可以表示为其中,Ci(A,B)(i=1,2,…,n)是A和B的属性的逻辑表达式,该表达式在攻击策略图构建过程中得出.只有警报的属性满足相应约束条件,才能进行相互关联.

定义3策略图节点信息(Attack Strategy Graph Node,ASG_Node).ASG_Node定义为(Indeg, Outdeg).其中,Indeg是该策略图节点的所有入度节点组成的节点集合,Outdeg是该策略图节点的所有出度节点组成的节点集合.

1.2 构建方法和示例

攻击策略图是在警报关联之前,通过原子攻击类型的匹配构建而成的.假设对于原子攻击类型A,其类型描述为(A,R(A),P(A)).对于任意两个原子攻击类型A、B,如果∃r∈R(B)且P⊆P(A),其中P= {p1,p2,…,pn},使得p1∨p2∨…∨pn→r,则有A→B关系成立.此时,将A添加到B节点的Indeg集,同时将B添加到A的Outdeg集,并计算出A和B的属性之间需要满足的约束条件.

图1所示为部分攻击策略图(图中分别以A、B代替有向边的始点和终点).考察原子攻击类型Email_ Almail_Overflow(简记为EAO)和Rsh.若EAO攻击成功,攻击者可获得目标主机操作权限,即Gain Access (DstIP).而发动原子攻击Rsh所需条件为Gain Access(SrcIP)∧Gain Access(DstIP).显然,当且仅当二者的相关属性满足约束条件:EAO.DstIP=Rsh.DstIP‖EAO.DstIP=Rsh.SrcIP时,二者满足匹配条件, p(EAO)→r(Rsh)成立,形成一条攻击策略记录.此时,可将EAO加入到Rsh原子攻击类型的Indeg集,同时将Rsh加入到EAO的Outdeg集.同理可完成Rsh与Mstream_Zombie(简记为MZ)的类型匹配,并将Rsh加入到MZ的Indeg集中,同时将MZ加入到Rsh的Outdeg集.

图1 部分攻击策略图(X,Y代表其他原子攻击)

重复以上步骤,即可最终完成攻击策略图的构建.

2 基于攻击策略知识库的综合警报分析

2.1 攻击场景图重构

2.1.1 推断警报

在很多情形下,关联分析算法无法产生完整的攻击场景图.如图2所示,攻击者通过发动从AAT1类型到AAT7类型的一系列攻击,以达到攻击目的.攻击期间,警报Alert1、Alert4、Alert5、Alert6和Alert7依次产生,而Alert2和Alert3则被攻击者刻意漏掉或者被漏报.由此造成的结果是:在相应约束条件都得到满足的情况下,Alert1和Alert4被关联起来形成一个攻击场景,而Alert5、Alert6和Alert7则形成另一个攻击场景.然而,从策略图中可以清晰地看出这些警报应属于同一个攻击场景,只是因为Alert2、Alert3的漏报而被分裂.基于上述观察,文中提出一种方法用于推断攻击者刻意漏掉的攻击环节或者入侵检测系统的漏报,并将此推断结果以一种特殊警报的方式引入警报关联算法,称为推断警报(Hypothesizing Alert,HAlert),以解决攻击场景图的分裂问题.

由于攻击策略图反映了原子攻击之间的因果关系,因此,利用它可以方便地得到推断警报.对于每一个已产生的警报,首先考察其对应攻击策略图中节点的节点信息以推断出可能的漏报攻击类型集,然后根据其他相关信息(比如,主机或网络脆弱性等)进行过滤,最后依据警报的属性及二者之间的约束条件推断漏报攻击类型的属性信息,得到推断警报.

图2 推断警报示意图

依据上述方法考察图2中的Alert5,它对应的原子攻击类型为AAT5,其节点信息中的Indeg= {AAT2,AAT3}.取AAT2、AAT3为可能漏报攻击类型来构造推断警报HAlert2和HAlert3.根据约束条件C(1,2)∩C(2,5)=1、C(1,3)∩C(3,5)=1同时成立,计算出HAlert2和HAlert3的可能属性值,从而完成对警报Alert5的漏报推断.得到推断警报HAlert2与HAlert3后,将其与已有警报集中的警报进行关联,将关联记录添加到结果中.需要指出的是,假设已有警报中有Alert2而无Alert3,由于推断会同时产生HAlert2和HAlert3,则产生两对两两等价的关联记录,分别是(Alert1,Alert2)和(Alert1,HAlert2)、(HAlert2,Alert5)和(Alert2,Alert5).对于该情况本节暂时不作处理,而是在场景图融合时去除冗余信息(详见2.3节).

2.1.2 新型滑动窗口机制

在实际网络环境中,很多情况下不同类型警报的出现频率差异较大,从而导致不同类型警报被调入内存中进行匹配的概率相差较大.因此,将所有警报存放到同一个滑动窗口中统一处理,显然不是一个好的选择.基于此考虑,本方法对传统滑动窗口技术进行了改进,设计了一种新型滑动窗口机制.该机制为每一个攻击类型维持一个滑动窗口,仅用于存储本类型警报.同时,该机制基于警报数量与时间跨度相结合的方式确定每一个滑动窗口的大小,保证在不影响警报分析效率的基础上,一定程度上降低缓慢攻击对警报关联分析效果的影响.另外,窗口中有一个窗口信息单元,记录当前滑动窗口中警报数量及时间宽度.新产生的警报处理完成后,需要访问上述信息单元以确定是否有警报出列,否则直接执行插入窗口操作.文献[7]中所使用的队列类似于本文中的滑动窗口,但是它无法处理同一类型有多个反映同一漏洞却涉及不同主机的警报的情形,且只按照漏洞来对应队列,在漏洞不完备的情况下,分析效果不理想.

2.1.3 警报关联

当一个新警报产生并被传送到警报分析系统时,首先通过当前警报AAType找到对应的ASG_Node信息,读取其中Indeg域所包含的节点集.然后,系统针对节点集中每一个节点,依次遍历相应滑动窗口中的内容,根据约束条件确定可关联警报,产生警报关联记录并存储.最后,将当前警报放入到滑动窗口中,完成本条警报的处理.警报关联算法如下:

Algorithm 1 ASG_Based_Alert_Correlation

Input

攻击类型的入度节点集Indeg;aat类型对应的新型滑动窗口SW(aat);最大警报数量及时间宽度: N,T;

新产生的警报Current Alert;警报关联结果集Records;存储AAType类型变量:var AAT;滑动窗口中警报变量:SWAlert;

Output

更新后的警报关联结果集Records以及更新后的相应类型滑动窗口SW(aat of Current Alert);

Begin_Approach

(1)var AAT←Indeg(aat of Current Alert);

(2)for each var AAT

(3){

(4) do for each alert in SW(var AAT)

(5) if(Constraints(Current Alert,SWAlert)==1)

(6) Insert(SWAlert,Current Alert)into Records

(7)}

(8)insert Current Alert into SW(aat of Current Alert)

(9)if(SW(aat of Current Alert)exceed the limit)

(10) delete the first alert in SW(aat of Current Alert)

End_Approach.

假设系统当前正处理第i条新警报Alerti,该警报对应Indeg节点集中节点个数为mi,其中第j个节点对应的滑动窗口长度为nj且对于任意j,有j≤mi,当窗口大小为N时,有nj≤N,则Alerti的处理时间ti为

由式(1)可见,本方法效率主要取决于警报Indeg集中的数目,而与场景知识库的总体规模及待处理的警报总体数量之间无直接关系,程序时间复杂度为O(mi).

2.2 后续攻击预测

为了更及时地对复杂协同攻击行为采取有效措施,文中引入了后续攻击预测部分.与文献[7]中预测算法相比,文中方法不仅可以预测后续可能发生的攻击类型,同时也可以得出后续攻击相关属性的预测.具体通过搜寻当前警报原子类型攻击节点信息的Outdeg来实现.理论上,该节点集内的所有原子攻击,已然具备了被发动的条件,从而可以加入到当前警报的后续攻击备选节点集内.顺着Outdeg的方向向后遍历,也可对后续攻击进行多步预测.例如,图2中当前警报为AAT1类型警报Alert1,而AAT1的Outdeg节点集为{AAT2,AAT3,AAT4},则文中方法首先将{AAT2,AAT3,AAT4}加入到当前警报Alert1的后续攻击节点集内,得到推测警报Alert2、Alert3和Alert4,并根据相关约束条件C(1,2)=1、C(1,3)=1和C(1,4)=1同时成立,可得出后续推测警报的相关属性信息.最后,根据其他信息(比如相应主机的系统信息或者主机是否存在可被攻击的漏洞)对节点集内的节点相应攻击发生的可能性进行评估,并设置阈值,剔除攻击发生的可能性小于设定阈值的节点,从而获得最优的节点集.

2.3 攻击场景图融合

如前面2.1.1节所述,为了完成实时攻击场景图的整体重构,文中方法将推断警报引入到了警报关联,这可能导致关联结果的冗余.此外,观察并分析警报关联记录结果发现,对于大规模的攻击,关联后的攻击场景图一般都包含冗余信息.针对上述问题,文中方法对警报关联记录进行融合,并用融合关联记录取代原始记录,以实现无信息丢失的分析结果压缩,得到更为清晰的攻击场景.

举例来说,现有一条警报关联记录Alert1→Alert2,即一个警报对,其中涉及到Alert1、Alert2对应的属性,包括源、目的主机(SrcIP1,DstIP1)、(SrcIP2,DstIP2),以及警报产生时间(time1)、(time2)等.该记录表示攻击者先在time1时刻从SrcIP1向DstIP1发起AAT1的攻击,接着在time2时刻从SrcIP2向DstIP2发起AAT2的攻击.因此,认为所有可以反映上述信息(除了时间)的多条警报关联记录是互为可融合警报关联记录,并用一条警报关联记录代替一簇互为可融合警报关联记录,称为融合警报关联记录.注意,融合记录的时间是一个时间范围,通过取一簇互为可融合警报关联记录中的最小时间和最大时间值获得.

3 实验结果及分析

为了验证提出的方法,笔者初步实现了一个实时警报综合分析原型系统,并采用MIT林肯实验室DARPA 2000数据集[9]和入侵检测系统Realsecure进行了有效性和警报分析效率两方面的测试.实验是在VMWare上安装的Windows XP专业版客户机系统上进行的,为其分配2 GB RAM空间,处理器为Intel I5-2400,主频3.10 GHz,系统采用C++语言实现.

3.1 系统有效性

以内网1(inside 1)流量产生的警报集为例来分析.为了测试攻击场景图重构功能,在系统测试时删除了内网中的原子攻击类型为Rsh且同时涉及主机172.016.115.020和202.077.162.213的警报.

信息无损压缩后的警报综合分析结果如图3所示.与文献[2,7-8]中的内网1场景图相比,图3给出了更为清晰的攻击场景脉络.另外,对结果图进行分析不难发现,在无推断警报(包括涉及主机202.077.162.213和172.016.115.020的Rsh等阴影标识节点)的情况下,完整的场景图遭到破坏,并一分为二.文献[2,7-8]方法在漏报相应警报的情况下,都将产生不同程度的场景图分裂,而文中方法由于包含了推断警报,成功地得到了完整的攻击场景图.

图3 信息无损压缩后的警报综合分析结果

攻击者连续发起的一系列攻击行为,按如下步骤进行:

(1)Sadmind_Ping<主机1,主机2>:主机1扫描主机2是否存在sadmind漏洞;

(2)Sadmind_Amslverify_Overflow<主机1,主机2>:主机1对主机2的sadmind守护程序发起缓冲区溢出攻击;Email_Amail_Overflow<主机1,主机2>:主机1对主机2的ALMail POP3客户端发起缓冲区溢出攻击;

(3)Rsh<主机1,主机2>:主机1对主机2远程执行shell命令;

(4)Mstream_Zombie<主机1,主机2>:检测到控制者和被控制主机(主机1)之间的通信;

(5)Stream_DoS:通过洪泛虚假的TCP包到目标主机的任意端口,从而向目标主机发起拒绝服务攻击.

通过后续警报预测,推断出Mstream_Zombie节点是后续可能发生的攻击(如图3中右下角阴影标识节点所示).根据知识库中Rsh和Mstream_Zombie之间需要满足的限制条件集:B.SrcIP=A.SrcIP‖B.SrcIP=A.DrcIP‖B.DstIP=B.SrcIP‖B.DstIP=A.DstIP,其中A=Rsh,B=Mstream_Zombie,推断出攻击者下一步有可能发起Mstream_Zombie攻击,并且该攻击将涉及主机202.077.162.213和172.016.115.020.

从实验结果可以看出,文中提出的综合警报分析方法解决了由于漏报(或刻意漏掉攻击环节)而带来的分散问题,完成了后续警报的预测,实现了无信息损失的场景图压缩.

3.2 警报分析效率

笔者对两个不同规模的数据集进行了效率测试,测试结果如图4所示.对于较小规模警报集(图4(a)),平均警报处理时间约为3.001 08 ms,较大规模警报集(图4(b))平均警报处理时间约为5.752 84 ms.平均时间随着警报集数量的增加并没有较大上升.另外,从图中可以发现,只有极少数警报处理时间相对较长,绝大多数警报的处理时间都维持在10 ms以下.根据警报处理时间复杂度随当前警报原子攻击类型的Indeg集内节点数目增长而线性增长,可以推断这是由于少数原子攻击类型在攻击场景图中的Indeg集内包含的节点数量较大造成的,而绝大多数的原子攻击类型Indeg集内节点数量都在较小范围内.综上所述,本系统可以实时部署运行,且能够很好地处理较大规模的警报数据.

图4 警报分析效率

4 结束语

针对基于因果关系的警报关联分析方法中存在的问题,文中提出一种新的采用攻击策略图的实时警报综合分析方法.该方法通过在警报关联时加入对漏报警报或者攻击者刻意漏掉的攻击环节的推断,有效解决攻击场景图的分裂问题,完成攻击场景图的完整重构;通过采用一种新的滑动窗口机制,即为每一种类型的攻击设置一个滑动窗口,并结合时间跨度与警报数量设定窗口大小,在一定程度上克服了传统单一类型时间窗口无法应对缓慢攻击的情形,并且在保证关联效果基础上使得警报处理具有线性时间复杂度;通过引入后续攻击预测模块,将提出的方法扩展为一个综合的警报分析系统,全面挖掘警报数据,有效帮助安全分析人员对入侵行为进行预判.最后的实验结果证明了方法的实际有效性和高效性.

[1]Ning P,Cui Y,Reeves D S.Analyzing Intensive Intrusion Alerts via Correlation[C]//Proceedings of International Symposium on Recent Advances in Intrusion Detection.Stevenage:Springer Verlang,2002:74-94.

[2]Ning P,Cui Y,Reeves D S.Constructing Attack Scenarios through Correlation of Intrusion Alerts[C]//Proceedings of the 9th ACM Conference on Computer and Communications Security.Washington:ACM,2002:245-254.

[3]Ahmadinejad S H,Jalili S,Abadi M.A Hybrid Model for Correlating Alerts of Known and Unknown Attack Scenarios and Updating Attack Graphs[J].Computer Networks,2011,55(9):2221-2240.

[4]Ning P,Xu D,Healey C G,et al.Building Attack Scenarios through Integration of Complementary Alert Correlation Methods[C]//11th Annual Network and Distributed System Security Symposium.Stevenage:Springer,2004:97-111.

[5]Ning P,Xu D.Adapting Query Optimization Techniques for Efficient Intrusion Alert Correlation[R/OL].[2013-05-19].discovery.csc.ncsu.edu/~pning/pubs/footcorldation.pdf.

[6]Valeur F,Vigna G,Kruegel C,et al.A Comprehensive Approach to Intrusion Detection Alert Correlation[J].IEEE Transactions on Dependable and Secure Computing,2004,1(3):146-169.

[7]Wang L,Liu A,Jajodia S.Using Attack Graphs for Correlating,Hypothesizing,and Predicting Intrusion Alerts[J]. Journal of Computer Communications,2006,29(15):2917-2933.

[8]Zali Z,Hashemi M R,Saidi H.Real-Time Attack Scenario Detection via Intrusion Detection Alert Correlation[C]// Proceedings of the 9th International ISC Conference on Information Security and Cryptology.Piscataway:IEEE,2012: 95-102.

[9]杨洁,刘聪锋.模式匹配与校验和相结合的IP协议识别方法[J].西安电子科技大学学报,2012,39(3):149-153.

Yang Jie,Liu Congfeng.IP Protocol Identification Method Using the Pattern Match and Check Sum[J].Journal of Xidian University,2012,39(3):149-153.

[10]林晖,马建峰.无线Mesh网络中基于跨层信誉机制的安全路由协议[J].西安电子科技大学学报,2014,41(1):145-153.

Lin Hui,Ma Jianfeng.Cross Layer Reputation Mechanism based Secure Routing Protocol for WMNs[J].Journal of Xidian University,2014,41(1):145-153.

(编辑:李恩科)

Comprehensive analysis of real-time alerts with attack strategy graphs

LI Longying,LI Jinku,MA Jianfeng,JIANG Qi
(School of Computer Science and Technology,Xidian Univ.,Xi’an 710071,China)

The causal relation based alert correlation approach causes split scenario graphs and cannot process massive alerts in time.To address this issue,a comprehensive analysis approach of real-time alerts with attack strategy graphs is proposed.First,it gets rid of the splitting of the attack scenario graph by introducing hypothesizing alerts to the alert correlation process.Second,it leverages a novel sliding window mechanism,which maintains a window for each type of attacks and determines the window’s size according to both the time and number of the alerts.This new mechanism only introduces linear time complexity without sacrificing effectiveness.Third,the approach is extended to a comprehensive system to reconstruct attack scenarios,predict future alerts and fuse analytical results.Evaluation results indicate that our approach is effective and efficient.

intrusion detection systems;intrusion analysis;correlation analysis;attack scenarios

TP309

A

1001-2400(2014)05-0084-07

2013-06-22< class="emphasis_bold">网络出版时间:

时间:2014-01-12

国家自然科学基金委员会广东联合基金重点基金资助项目(U1135002);长江学者和创新团队发展计划资助项目(IRT1078);教育部留学回国人员科研启动基金资助项目(K60013030103);中央高校基本科研业务费专项资金资助项目

李龙营(1991-),男,西安电子科技大学硕士研究生,E-mail:leelongying@163.com.

http://www.cnki.net/kcms/doi/10.3969/j.issn.1001-2400.2014.05.015.html

10.3969/j.issn.1001-2400.2014.05.015

猜你喜欢

漏报警报滑动
基于北斗三号的人防警报控制系统及应用
假期终结者
一种新型滑动叉拉花键夹具
Big Little lies: No One Is Perfect
是谁的责任?
某市死因监测漏报的调查报告
拉响夏日警报定格无痕迹美肌
各类气体报警器防误报漏报管理系统的应用
临床乳腺检查筛查乳腺癌中降低病灶漏报率的探讨
滑动供电系统在城市轨道交通中的应用