APP下载

基于攻击流量的网络安全规则自动生成系统NSRAG

2016-03-07黄子中韩伟红贾焰

电脑知识与技术 2015年35期
关键词:关联规则

黄子中 韩伟红 贾焰

摘要:针对网络安全事件不断增加带来的手工添加和维护网络安全事件关联规则的不足,该文提出了一个基于攻击流量的网络安全规则自动生成系统NSRAG(Network Security Rule Automatically Generation Framework),该框架利用真实的攻击流量来触发网络安全检测和监控软件,收集它们产生的告警和目标状态信息,以此为数据源自动产生网络安全事件关联规则。NSRAG系统中关联规则自动生成算法有两种,在攻击模式已知的情况下采用基于攻击模式的规则自动生成算法,在攻击模式未知的情况下采用基于序列挖掘的规则自动生成算法。测试和实际应用表明,NSRAG可以根据网络攻击流量自动生成网络安全事件关联规则,减少了对网络攻击知识的依赖,提高了网络安全事件关联规则增加的效率。

关键词:网络安全事件;关联规则;攻击模式;序列模式挖掘

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)35-0014-03

Abstract: With the continuously growing of network security incidents, it is becoming insufficient to manually modify and maintain network security event correlation rules. This paper proposes a framework to automatically generate security rule based on network attack traffic, NSRAG (Network Security Rule Automatically Generation Framework). The framework uses real network attack traffic to trigger network security testing and monitoring software, and collects alarms and target state information generated by the software. Then the framework uses these data to automatically generate the network security event correlation rules. There are two algorithms associated to generate rules in NSRAG: attack mode-based automatic generation algorithm for known attack mode, and sequence mode mining-based automatic generation algorithm for unknown attack mode. Test and practical application show that NSRAG can automatically generate rules based on network attack traffic, and it improves efficiency of network security rules generation.

Key words: network security incidents; association rules; attack mode; sequential pattern mining

1 引言

网络安全事件关联规则是对网络安全事件之间关系的定义和描述,它反映了一个或一类攻击成功执行时所表现的动态过程和状态,是对攻击过程的抽象。基于规则的关联分析技术易于实现且能有效的发现不同网络安全事件之间的关系,将多个底层探针告警替换成一个更具可理解性的高级警报,为管理员提供更准确的网络安全视图,这种技术在当前主流的网络安全产品中得到了广泛的应用[1-4]。网络安全事件关联规则的完善程度决定了关联引擎对网络安全事件和攻击的识别能力,其结果直接影响到上层应用的质量。

目前在网络安全事件关联分析领域,研究主要集中在关联分析方法和关联引擎结构方面,对于关联规则的研究主要集中在关联规则的表示和应用上,对于关联规则的生成方法的研究较少。然而如果没有丰富和可靠的关联规则集,那么基于规则的关联分析将是无源之水。从当前典型的产品应用来看,现有的关联规则集在种类上和数量上都远远不能涵盖已出现的各种网络攻击。因此,对关联规则自动生成方法进行研究具有非常重要的应用价值。

2 相关研究

在已有的网络安全系统及产品方面,目前采用的主要还是基于网络安全专家的经验手工添加网络安全关联规则的方法。OSSIM[1]中的关联引擎使用了层次式的树形规则,由XML进行描述和存储,并采用可视化技术,提供了简易的规则编辑界面,省去了规则维护人员编写XML文件的工作量,但本质上规则的增加还是手工完成。Drools[2]关联分析推理引擎也使用了层次式的规则结构,由“IF,ELSE”语句块来描述,规则的增加也需要手工完成。SEC[3]关联分析系统将关联规则进行了详细的分类,支持正则表达式,不同的分类可以进行组合,用以表述更复杂的攻击,但关联规则也需用户手工来编制。

手工增加规则的缺陷主要有以下四点:(1)规则的增加依赖于专家知识;(2)规则增加效率低;(3)规则正确性无法保证,依赖于攻击知识;(4)关联规则更新困难,关联引擎是工作在底层探针之上的,所以关联规则是由底层探针的输出按一定关系组织起来的,当底层探针及规则库或知识库更新时,上层的关联规则也应作出相应的调整。

在关联规则自动生成的研究方面,首先用LAMBDA语言对每一攻击进行详细描述,然后通过分析每个攻击的前提集和结果集,自动生成关联规则。这种方法提高了关联规则的增加效率,但规则生成之前需对每一个攻击进行LAMBDA语言描述,这又要依赖于专家知识。从数据挖掘的角度出发,利用FP-树对安全事件集进行频繁项集的挖掘,规则的生成无需手工干预,但是该方法直接将挖掘布尔规则的关联规则算法应用于具有多维属性且有序列关系的网络安全数据,这样不仅会产生大量毫无意义的频繁项集,还使得安全事件中的不同字段失去了固有的联系和意义,得出的频繁项集不能准确反映原来的攻击。采用Apriori算法对安全事件集进行频繁项集的挖掘,挖掘出的规则存在着相似的问题。

3 基于攻击流量的关联规则自动化生成框架NSRAG

自动化生成关联规则的一个基本思路就是利用真实的攻击流量来触发网络安全检测和监控软件,收集它们产生的告警和目标状态信息,以此为数据源产生关联规则。

基于上述思路,本文提出如下自动生成的方法:

(1) 搭建攻击床,布署漏洞主机、网络安全检测和监控软件、嗅探器;

(2) 通过执行攻击或重放攻击数据集来产生攻击流量;

(3) 收集攻击流量所触发的告警和目标状态;

(4) 以第3步输出为数据来源,生成攻击对应的关联规则;

(5) 嗅探器捕获的攻击流量用于关联规则的测试和后续开发。

该方法使得增加关联规则无需分析攻击知识和网络安全检测、监控软件的输出,只需在攻击床中执行或重放一次攻击。在攻击床中执行的攻击可知,可控,所以可以生成攻击词典,攻击日志等有用信息,也可捕获攻击流量,为关联规则的生成和测试提供支持。Metasploit[8]能够实现攻击的自动执行,可大大提高规则增加效率;另外,攻击程序也可从站点[9-10]获取

NSRAG系统中关联规则自动生成算法有两种,在攻击模式已知的情况下采用基于攻击模式的规则自动生成算法,否则,采用基于序列挖掘的规则自动生成算法。

3.1 基于攻击模式的规则自动生成算法

每一类网络攻击都有各自的特征,同类网络攻击的不同攻击实例在实施时往往需要经历相同的步骤,例如远程缓冲区溢出攻击,要想成功执行都需经过溢出尝试,shellcode执行(获取权限),实施破坏这几个主要过程。对于同一类攻击的不同阶段,底层安全工具输出的事件往往具有相同的类型。也就是说,对于同一类攻击来说,攻击步骤与攻击结果具有不少共同的特征,可将这些共同而又独立于其他种类攻击的步骤抽取出来,作为一种攻击模式,根据攻击模式,结合底层事件集,自动生成关联规则。

NSRAG系统中基于攻击模式的规则扰动生成过程如下:先总结分析攻击模式,以攻击模式作为输入得到攻击对应的关联规则的层次结构;再提取安全事件集,将其与攻击步骤相对应,填充已得到的规则层次结构;最后结合事件集,对关联规则进行细粒度的划分,得到最终的攻击实例关联规则集合。

3.2 基于序列挖掘的规则自动生成算法

NSRAG系统中对于未知攻击模式主要利用数据挖掘中的关联分析方法,结合相关技术从海量的安全事件集中挖掘出大规模网络攻击的攻击模式,进而生成可以反复使用的关联规则。

一般数据挖掘算法对类似于购物篮商品的数据的挖掘,都只强调同时出现的关系,而忽略了数据中的序列关系,然而安全事件之间都具有固有的序列特征,这意味着在它们之间存在着基于时间的先后次序,这种先后次序对于表述现实的攻击具有重要的意义,不能忽略。在序列数据集中,每一行都记录着与一个特定的对象相关联的一些事件在给定时刻的出现,因此系列模式挖掘更能体现网络安全事件之间的时间顺序关系。

NSRAG系统中序列模式挖掘分为五个阶段:1)排序阶段(sort phase);2)大项集阶段(litemset phase);3)转化阶段(transformation phrase);4)序列阶段(sequence phrase);5)最大化阶段(maximal phrase)。在排序阶段,按照主关键字(对象ID)和次关键字(时间戳)将数据库中中的数据行进行排序;在大项集阶段,找到所有的频繁项集组成集合,并进行编码,建立频繁项和编码之间的一一映射关系;在转化阶段,通过这种映射关系对数据库进行处理,以生成一个内存中较小的映像;在序列阶段找到所有的序列模式;最后在最大化阶段,去掉不必要的子序列模式,找到包含序列元素最多的序列模式。其中前三个阶段是预处理阶段,为挖掘算法的分析做好准备,后两个阶段是挖掘序列模式的关键阶段。

3.2.1 基于候选集的序列模式挖掘

这类算法基于频繁项集中的一个先验原理:如果一个项集是频繁的,则它的所有子集一定也是频繁的。该先验原理也适用于序列模式,因为包含k-序列的任何数据序列必然包含该k-序列的所有(k-1)-序列。对经典的Apriori算法做出一定的修改即可实现对k-序列模式的挖掘,典型的代表有AprioriAll算法和GSP算法,这些算法采用了逐层的候选序列生成和测试方法,需要多趟次扫描原序列数据库。算法第一次扫描将发现频繁1-序列,然后以对频繁1-序列进行连接生成候选频繁2-序列,首先利用前述的先验原理进行必要的剪枝,然后再扫描一次原数据库,计算每个候选序列的支持度,满足最小支持度的候选序列即为频繁序列,依次类推生成频繁k-序列。

这类算法都要产生大量的候选集,随着项数的增加,需要更多的空间来存储项的支持度计数,另外频繁项集的数目也随着数据维度增加而增长,计算量和I/O开销也将急剧增加。

3.2.2 基于频繁模式增长的序列模式挖掘

这类算法包括FreeSpan算法和PrefixSpan算法等。这类算法都采用了分而治之的思想,挖掘过程中无需生成候选序列,而以某种压缩的形式保留了原数据库的基本数据分组,随后的分析可以聚焦于计算相关数据集而非候选序列。另外,算法的每一次迭代并不是对原来数据库进行完整扫描,而是通过数据库投影来对将要检查的数据集和序列模式进行划分,这样将减少搜索空间,提高算法性能。FreeSpan算法基于任何频繁子序列对序列数据库投影,并在子序列的任何位置上增长,可能会产生很多琐碎的投影数据库,在某些情况下算法收敛的速度会很慢;PrefixSpan仅仅基于频繁前缀子序列投影并通过在其后添加后缀来实现序列的增长,因此包含更少的投影库和子序列连接而性能更忧。

常规的购物篮数据中的布尔关联规则生成时,要对得到的频繁项集中的每一个非空子集进行迭代,计算该非空子集作为蕴含式前件的概率是否满足最小置信度,如果满足,则生成一条关联规则。这种关联规则的产生方法中,频繁项集中的各个项是无序的关系,最后生成的关联规则才确定了各个项之间的先后次序。

从大量的网络安全事件集中挖掘出的序列模式反映了大规模网络中的一般行为规律或者大规模网络攻击的攻击模式,我们通过对各种数据挖掘算法的测试和分析发现,经过PrefixSpan得到的序列模式正好反映了各种网络安全事件之间的关系,这里的关联规则可以由序列模式直接转化,而不一定非要通过置信度的方法来生成。在转化序列模式为关联规则之前,先要去掉不必要的子序列模式,仅保留包含元素最多的序列模式,这就是前面所说的最大化阶段。

要注意的是,数据挖掘方法得到的序列模式并不一定都是对攻击的反应,其中肯定有正常网络行为的模式,这就需要专家对最终生成的关联规则进行评审,以分别哪些是正常行为模式,哪些是大规模攻击行为模式,只有攻击行为的序列模式最后才被转化为关联规则并最终纳入网络安全事件关联规则库中。

4 结论

随着网络安全攻击类型的日新月异和网络安全事件的不断增加,手工添加和维护网络安全事件检测规则已经越来越不能满足需求,本文提出了一种自动化生成网络安全关联规则的方法,构建了一个自动化离线生成关联规则的框架NSRAG,在该框架下,规则维护人员无需手工编制规则,只需执行或重放一次攻击就行了,我们使用defcon17数据集进行关联规则的挖掘实验和有效性测试,defcon17数据集是2009年第17届defcon大会上,对黑客竞赛时的攻击流量的捕获和存档,该数据集包含了大量真实的攻击数据。实验结果证明NSRAG可以根据网络攻击流量自动生成规则,减少了对网络攻击知识的依赖,提高了网络安全事件关联规则增加的效率。

参考文献:

[1] AlienVault LLC. http://www.alienvault.com/community.php?section=Home.

[2] JBoss Community. http://www.jboss.org/drools.

[3] Risto Vaarandi. http://simple-evcorr.sourceforge.net/.

[4] ArcSight, Inc. http://www.arcsight.com/press/release/arcsight-announces-arcsight-express/

猜你喜欢

关联规则
数据挖掘技术在电站设备故障分析中的应用
基于关联规则的数据挖掘技术的研究与应用
面向用户需求的自适应学习系统个性化学习路径推荐研究
工业大数据挖掘分析及应用前景研究
基于Apriori算法的高校学生成绩数据关联规则挖掘分析
基于关联规则和时间阈值算法的5G基站部署研究
关联规则,数据分析的一把利器
关联规则挖掘Apriori算法的一种改进
基于关联规则的计算机入侵检测方法
基于关联规则的中医肺癌数据挖掘应用研究