基于神经网络和遗传算法的网络安全事件分析方法
刘敬1, 谷利泽1, 钮心忻1, 杨义先1, 李忠献2    
1. 北京邮电大学 信息安全中心, 北京 100876;
2. 国瑞数码安全系统有限公司, 北京 100088
摘要

传统网络安全事件分析方法较多依赖人工干预, 针对该问题提出了一种具备更高自适应能力和自动化程度的网络安全事件分析方法, 利用神经网络模型对多种异构事件源产生的数据进行分析, 按照不同攻击场景自动分类, 基于分类结果提取规则项, 利用遗传算法自动生成针对不同攻击场景的关联规则.实验结果表明, 该方法可自动完成事件分类和关联规则生成, 是对传统方法的有效增强和改进.

关键词: 网络安全事件分析     神经网络     遗传算法     关联规则    
中图分类号:TP391 文献标志码:A 文章编号:1007-5321(2015)02-0050-05 DOI:10.13190/j.jbupt.2015.02.008
Network Security Events Analyze Method Based on Neural Networks and Genetic Algorithm
LIU Jing1, GU Li-ze1, NIU Xin-xin1, YANG Yi-xian1, LI Zhong-xian2    
1. Information Security Center, Beijing University of Posts and Telecommunications, Beijing 100876, China;
2. National Cybernet Security Ltd, Beijing 100088, China
Abstract

The traditional network security events analysis methods depend more on human interventions. To address this problem, an automatic and self-adaptive method is presented. The neural network models are used to classify amounts of security events according to various attack scenarios, which can reduce much human intervention. The rule items are extracted from the classification results. And the correlation rules are generated automatically from these items using genetic algorithm. Experiments demonstrate that the method can classify the network security events and generate association rules automatically, so that the degree of automation can be improved. It is an effective enhancement and improvement to the traditional methods.

Key words: network security events analyze     neural network     generic algorithm     correlation rules    

网络安全事件分析技术对来自异构数据源的安全事件进行统一收集和分析,使网络安全管理更加高效,因此该技术的研究和应用引起了人们关注.当前的主要方法包括基于安全事件之间概率相似度的分析方法[1]、基于事件行为结果和先决条件之间因果关系的关联分析方法[2-3]、基于攻击图的方法[4]、基于数据挖掘和机器学习的关联分析方法等[5-7],这些方法在实际系统中得到了广泛应用[8].然而,上述工作都侧重于对关联分析算法或关联规则表示结构进行研究,关联规则的生成、配置和更新等通常需要手工进行,这种高度依赖人工干预的方法效率低下、配置复杂且代价高昂,阻碍了该技术的更广泛应用.针对该问题,笔者提出一种基于神经网络和遗传算法的网络安全事件分析方法.首先利用神经网络模型对事件进行分类分析,提取事件标签生成规则项,并组成初始关联规则集合;然后结合遗传算法对关联规则进行优化,提取高质量关联规则;最后泛化为实际系统所需格式,实现关联规则的自动生成.该方法提升了事件分析和关联规则生成的自动化程度,减少了人工干预,提高了系统效率和自适应性.

1 系统框架

事件处理流程如图 1所示,设备代理生成安全事件并上报,经过预处理后交给关联分析引擎,最后系统利用分析结果完成网络安全态势分析.

图 1 事件处理流程

关联分析引擎利用预定义规则对事件进行分析,深度挖掘隐藏在事件背后的逻辑关系,发现真正的网络威胁.它能统一处理多种异构事件源的数据,实现安全事件管理和分析的一体化,是系统核心部分.事件分类和关联规则生成完成关联规则库的维护:事件分类模块按照不同攻击场景对混杂在一起的网络安全事件进行分类;关联规则生成模块对事件进行深入分析,找出事件背后的逻辑关系并提炼出关联规则.传统方法中这两部分需要安全专家手工完成,随着网络攻击日益多样化和复杂化,安全设备更新频繁,手动方式逐渐无法满足需求,提高系统的自动化程度和自适应能力势在必行.

2 算法介绍

原始网络安全事件集合记为E={E1, E2, …, En},每个事件Ei具有事件来源、类别、源地址、目的地址等多维属性.类型标签是由专家知识提供的与攻击相关的原子行为或状态原子项的关键字,能精确定义网络攻击的性质,记为T={tj|1≤jn}.事件到标签的映射定义为ΦEitj,其中EiEtjT,与类型标签tj对应的事件集合记为Ej={Ei|Eitj}.攻击模式p定义了与某次完整攻击行为相关的各种类型事件的出现次数.攻击场景定义为一类攻击中包含的攻击模式总和.

采用基于攻击场景的分类方法,并引入反向传播(BP, back propagation)神经网络模型对事件进行分类.模型输入为已知攻击场景相关的训练数据,输入层统计特定类型事件数量,经过计算将结果输出给隐藏层,隐藏层经过加权计算后输出结果,判断是否存在对应攻击场景.利用专家知识对输出结果进行检验,若得不到期望输出,则进行反向传播,将输出误差返回.通过不断调整各层神经元的权重使得均方误差最小,学习过程如下.

步骤1  初始化各攻击场景对应的神经网络模型,对权值、阈值等参数赋初值.

步骤2  输入已标记安全事件,按照式(1) 计算模型的输出,wijvi分别为各层权值,h为判决阈值.

(1)

步骤3  按照式(2) 对神经网络隐含层到输出层的权重进行调整,c为输出层的期望输出,α为权值学习速率.

(2)

步骤4  按照式(3) 对神经网络输入层到隐含层的权重进行调整.

(3)

步骤5  按照式(4) 对模型的阈值进行更新,β为阈值学习速率.

(4)

步骤6  输入后续训练数据,转到步骤2,不断重复直到全部样本训练完毕.

模型的输入为原始安全事件,输出为分类后的安全事件,使得任意神经网络模型输出为1的事件集合称为正例,记为Pi={Ei|1≤ik};反之,若事件集合在所有模型的输出均为-1,则称为负例,记为Ni={Ei|1≤ik}.某攻击场景所有正例的集合称为正例集,记为SP;所有负例的集合称为负例集,记为SN.

关联规则生成可看作关联分析的逆过程,即利用已知攻击场景的攻击实例产生的安全事件集合SP生成各攻击场景对应的关联规则.根据某给定攻击场景对应的正例Pi,可以生成多个关联规则,算法需要从中找出真正有价值的规则,该过程是一个全局寻优过程,因此引入遗传算法解决该问题.

遗传算法首先需确定个体即关联规则的编码方式,关联规则以树形结构对攻击场景进行描述,该规则树由规则项通过递进和并列关系组成.规则项由正例中的事件属性组成,需要对属性进行预处理得到关联规则的编码:名称字段不影响关联规则的性能,可根据不同攻击场景指定为固定值;设备编号和事件编号表示特定设备在特定攻击模式下上报的事件,这个值可确定事件的类型标签,结合时间戳字段可确定这些事件的合并或序列关系;地址和端口针对不同攻击场景采用不同的处理方式,包括同源聚合、同目的聚合、同源同目的聚合;附加属性的值在正例的事件集合中随机获取.此外,部分属性取值需进行泛化处理,如将与任意地址匹配的地址字段泛化为“ANY”,若要求源IP地址与上级节点相同,则泛化为1:SRC_IP等,端口属性的泛化与之类似.这样从某攻击场景的正例集中可获取多个与该攻击场景有关的关联规则,形成初始种群.关联规则的适应度体现关联规则的分析性能,可利用正例集SP和负例集SN进行检验.记SP中被关联规则正确分类的数量为CPSN中被正确分类的数量为CN,则适应度函数定义为

(5)

适应度函数取值范围为[0, 1],取值越大则关联规则的性能越好.在确定好初始种群及适应度函数之后,进行遗传操作选取最优个体.遗传操作包括选择、交叉、变异等操作.选择操作采用锦标赛选择法,保证适应度最优的个体予以保留;交叉操作采用单点交叉;变异操作采用均匀变异.基于遗传算法的关联规则生成算法如下:

步骤1  从正例集SP中提取由事件属性组成的规则项;

步骤2  根据字段属性确定规则项之间的关系,形成规则,多个规则生成初始种群;

步骤3  利用式(5) 计算种群中各关联规则的适应度;

步骤4  对种群中的关联规则进行遗传操作;

步骤5  重复步骤3、4直到关联规则适应度达到要求或进化代数达到最大值.

3 实验测试分析3.1 实验环境

搭建实验环境如图 2所示.

图 2 实验环境示意图

安全事件管理分析系统中部署了开源安全信息与事件管理系统OSSIM2.1(open source security information management 2.1) 以及关联规则生成系统,OSSIM2.1集成了多种安全软件,这些软件被攻击流量激活时产生和上报安全事件,关联规则生成系统自动产生关联规则并加入关联规则库.攻击主机使用metasploit发起针对特定漏洞的攻击(包括ms08_067_netapi、lsa_transnames_heap、mssql_login、Amaya_bdo、Ms10_002_aurora等类型),产生真实的攻击流量,并利用tcprelpay重放包含LLDOS攻击的DARPA2000数据集和根据部分snort规则描述模拟的攻击流量;用tcpdump工具从实验室局域网交换机的镜像端口抓取一天的数据流量作为背景数据.实验目的是证明该方法能自动生成关联规则以及获取规则的有效性,由于网络安全事件种类繁多且仍在不断增加,实验未能包含所有类型,但方法对其他类型同样适用.

3.2 实验结果和分析

当攻击主机释放攻击流量时,部署在OSSIM系统中的安全软件将上报安全事件,这些事件提交给关联规则生成系统进行处理,其中神经网络模型的算法性能与参数设置有很大关系:输入层节点数为与该攻击场景相关的类型标签数量,隐含层按照经验值设置为输入层节点数量的75%左右;初始权值采用随机数产生器产生(-0.5, 0.5) 之间的值;学习速率设定值越大收敛越快,但过大的值容易引起系统振荡,结合经验值和多次实验结果,设定权值学习速率为0.2,阈值学习速率为0.3,迭代次数为50.遗传算法参数选择同样关系到算法性能:交叉概率取值过小会降低收敛性能,过大会破坏个体优良模式;变异概率过小会影响种群多样性,过大会破坏优良个体.通过结合经验值进行多次实验尝试,设定交叉概率为0.8,变异概率为0.05,进化代数设定为30.最后按照OSSIM系统要求的XML格式要求对规则进行泛化.当安全设备更新或配置发生变化时,该方法可避免繁琐的人工操作,只需重放数据流量即可完成关联规则自动更新. 表 1对本文方法与传统方法进行了对比,传统方法需要较多的人工干预,而本文方法可提高事件分析的自动化程度.

表 1 与相关方法自动化程度比较

最后,对本文方法和无关联规则自动生成功能的OSSIM系统的性能进行比较,背景流量和攻击流量的产生方法同上,结果如图 3图 4所示.

图 3 告警个数对比

图 4 ROC曲线对比

图 3所示为加入本文方法前后OSSIM系统产生的告警数量对比,可以看到,采用本文方法产生的告警数量更少,说明本文方法产生的规则泛化能力更好,能更好地达到精简事件数量的效果;图 4所示为在2种情形下的ROC曲线比较,从实验结果可看出,本文方法产生的规则具有更精确的检测效果,说明本文方法产生的规则具有更高的质量,能更好地识别攻击,并且规则覆盖的攻击类型更为全面.因此,本文方法是对传统网络安全事件分析方法的有效增强和改进.

4 结束语

针对网络安全事件分析方法需要较多人工干预的问题,提出了一种能提高自动化程度和自适应能力的方法.该方法将神经网络模型和遗传算法引入网络安全事件分析,完成对网络安全事件的自动分类和关联规则的自动生成,实现关联规则库的自动配置更新,提高了网络安全事件分析效率.实验结果证明了该方法的有效性:能完成关联规则的自动生成,减少告警数量,提高检测效率和准确率.

参考文献
[1] Valdes A, Skinner K. Probabilistic alert correlation[C]//Proceedings of the 4th International Symposium on Recent Advances in Intrusion Detection. London, UK: Springer, 2001: 54-68.
[2] Ning Peng, Cui Yun, Reeves D S. Constructing attack scenarios through correlation of intrusion alerts[C]//Proceedings of the 9th ACM Conference on Computer and Communications Security. New York, US: ACM, 2002: 245-254.
[3] Noel S, Robertson E, Jajodia S. Correlating intrusion event sand building attack scenarios through attack graphdistances[C]//Proceedings of 20th Annual Computer Security Applications Conference. Tucson, AZ, US: IEEE Press, 2004: 350-359.
[4] Wang Lingyu, Liu Anyi, Jajodia S. Using attack graphs for correlating, hypothesizing, and predicting intrusionalerts[J].Computer Communications, 2006, 29(15): 2917–2933. doi: 10.1016/j.comcom.2006.04.001
[5] Ahmadinejad S, Jalili S, Abadi M. Ahybrid model for correlating alerts of known and unknown attack scenarios and updating attack graphs[J].Computer Networks, 2011, 55(9): 2221–2240. doi: 10.1016/j.comnet.2011.03.005
[6] Anbarestani R, Akbari B, Fathi F. An iterative alert correlation method for extracting network intrusion scenarios[C]//Proceedings of 20th Iranian Conference on Electrical Engineering. Tehran: IEEE Press, 2012: 684-689.
[7] Wang C, Yang Jimin. Adaptive feature-weighted alert correlation system applicable in cloud environment[C]//Proceedings of 8th Asia Joint Conference on Information Security. Seoul: IEEE Press, 2013: 41-47.
[8] John Burnham. Magic quadrant for security information and event management [EB/OL]. Rosten, VA, USA: Internet Society, 2014 [2014-06-24]. http: //securityintelligence. com/gartner-2014-magic-quadrant-siem-security.