高泽芳,王岱辉,王昀,文成江
(中国移动通信集团终端有限公司,北京 100053)
4G到5G的过渡,移动通信技术的快速发展,运营商的移动应用系统和网络规模不断扩大,其网络安全的安全防护受到前所未有的重视。目前,随着IP全网业务的开展,来自网络的威胁将会变得更加不可控,这些威胁将使得运营商的业务层面的网络受到更大范围的攻击;除此之外,智能终端与运营商业务系统的智能互联,一旦智能终端存在攻击行为,将会对运营商的业务平台造成致命的威胁,将会引起运营商服务的终端;最后,目前运营商的安全威胁评估方法——网络入侵检测技术,对网络攻击行为的检测具有较高的误报率的特点。本文针对运营商网络安全面临的问题,提出基于告警事件特征的网络攻击行为预测方法。以传统的入侵检测系统、防火墙以及网络扫描器的告警事件数据为基础,通过频繁规则和序列规则对告警事件的数据进行建模,挖掘网络攻击行为的事件组合规则,实现网络攻击行为的有效预警。
基于告警事件特征的网络攻击行为预测思路如图1所示,先从网络安全监控设备的告警事件获取事件的属性项信息;然后根据事件的重复关系以及冗余关系对事件进行精简;再次,采用FP_tree算法挖掘告警事件属性间的强关联规则,将得到的频繁项与正常网络访问时间的频繁项进行比对,实现虚假告警事件的过滤;最后,采用序列规则对真实告警事件进行关联,推导网络攻击行为的事件组合规则,实现网络攻击行为的实时预警。
告警事件数据是从各种安全监控设备(入侵检测系统、防火墙以及网络扫描器)产生的,一般由入侵行为引发告警事件或者监控信息超过一定的阈值而产生的告警数据。告警数据的事件属性值如表1所示。
图1 模型构建思路
运营商的大规模网络可能会产生海量、琐碎的告警事件,这些告警事件复杂多样且关系复杂,如果把一次长时间的DoS攻击产生的多个告警事件进行分析,不仅增加了模型构建的复杂度,还会降低模型的精准度。因此,本文对告警事件进行事件的精简处理。处理的规则为:在获取告警事件数据相关信息的基础上,需要对告警事件的重复关系以及并发关系进行分析,按照事件的关系将事件进行合并,降低事件的数量。对于任意的两个告警事件a1和a2,如果eventType、srcIP、desIP以及protocol等属性的值均相等,且事件发生的时间|detectTime1- detectTime2|<t(t为设定的时间阈值),则把告警事件a1和a2合并。
频繁模式用于挖掘告警事件属性间的关联关系,目的是找出攻击行为的告警事件属性间的规律,以期将事件属性加入关联动作后转化成真实告警事件的过滤规则。众所周知,由于虚假告警事件的存在,导致管理员无法有效识别攻击行为,如果将攻击行为attack行为 的 eventType、srcIP、desIP、srcPort、desPort以及protocol等属性进行关联,构建告警事件间属性的强关联规则b1,同时将正常行为的eventType、srcIP、desIP、srcPort 、desPort以及protocol等属性构建强关联规则b2,如果b1与b2之间存在较强的相关性(规则之间的相关性大于设定相关性的阈值),那么则认为当前的告警事件为虚假告警事件,并把规则b1转化为告警事件的过滤规则。
序列模式用于挖掘告警事件之间的先后序列关系,目的是发现攻击行为与告警事件的因果关系,进而组成攻击行为与告警事件之间的组合规则。如果攻击行为的eventType间存在先后发生的关系,则构成了某种攻击行为的事件组合规则c1;而对某个时间段的告警事件进行序列模式挖掘,形成事件组合规则c2,如果规则c1与规则c2之间存在强相关(规则之间的相关性大于相关性阈值),则认为当前存在新的安全攻击事件。最后,将该规则转化成形式化的编码模式,加入在线关联知识库,形成实时的网络攻击行为预警系统。
由于篇幅的关系,本文对告警事件数据的提取和事件的精简不作具体介绍,将重点介绍频繁模式的相关算法和序列模式的相关算法来实现告警事件的过滤以及攻击行为的事件组合规则挖掘。
频繁模式挖掘算法——FP-tree算法的最大特点就是避免了对数据库的反复扫描,只需对数据库进行一次扫描便能够将数据库进行压缩并形成一个紧凑的梳树状结构,本文将对FP-tree算法中的FP-Growth的频繁模式算法进行介绍,并针对安全告警事件库,如果通过设置最小的阈值Smin挖掘事件属性间的强规则。
通过对告警事件数据进行预处理之后,得到按照时间依次排序的事件属性集合,形成告警事件的一个事件多元组表示 : ei={detectTimei,eventTypei,attacki,sr cIPi,desIPi,srcPorti,desPorti,protocoli}。
表1 告警事件数据的字段名称以及解释
考虑到每一个属性之间对告警事件影响的程度不一样,本文采用加权FP-Growth挖掘具有告警事件属性频繁项集,以专家设定的权重作为项目初始权重(srcIPi,desIPi, srcPorti, desPorti, protocoli的 权 重 分 别 为w1i,w2i,w3i,w4i,w5i,同一属性如果取值不同采用不同的权重衡量其对告警事件的影响程度),以各项目count值降序依次为头节点和其它节点,然后结合归一化的权重构造对应的加权条件FP树,最后利用预先设定加权支持度阈值判断告警事件对应的频繁模式。
在此基础上,构造加权FP树。通过统计发现告警事件中某些属性具有一定的代表性,那么本文优先统计具有代表性的属性与其它属性的关联性,如目标地址desIP为172.16.102.0的比例具有一定的代表性,那么需要针对该目标地址的其它属性值构建FP树。那么desIP为172.16.102.0条件模式如下所示。
DesIP(172.16.102.0:0.32)→ DesPORT(1136:0.41)→ SrcPORT(113:0.43)→ IP(202.77.162.2:0.65),通过观察目标IP、源IP、关键路由端口的信息传输路径,就能发现告警事件的路径频繁项集。
将所有的字段属性按照上述的方式构建条件模式后,结合最小支持度Wminsup,选取满足要求的频繁项集。
Apriori算法是关联规则挖掘的典型算法,它利用逐层搜索的迭代方法找出数据库中项集的关系,以形成规则,其过程由连接(类矩阵运算)与剪枝(去掉那些没必要的中间结果)组成。该算法中项集(Itemset)的概念即为项的集合。包含K个项的集合为K项集。项集出现的频率是包含项集的事务数称为项集的频率。如果某项集满足最小支持度,则称它为频繁项集。通过Apriori算法将大量的告警事件记录库中找到给定一定条件的最小支持度Minsup和最小置信度Minconf的频繁模式,通过对一系列频繁模式的融合,形成攻击事件的组合规则,最终形成攻击行为在线关联的知识库。基于Apriori的事件组合规则挖掘需要设定3个参数:支持度定义为全体事务集T中有s%同时支持事务集X和Y,称s%为关联规则X→Y的支持度。支持度S(X→Y)表示规则的频繁程度,一般用Minsup表示最小支持度;置信度定义为全体实务集T中支持事务集X的事务中,有c%的事务同时也支持事务集Y,称c%为关联规则X→Y的置信度。置信度C(X→Y)表示规则的强度,一般用Minconf表示最小置信度;频繁项集定义为满足一定最小支持度和最小置信度的事务集。
在一定时间范围内,告警事件之间发生的先后顺序的事件间隔小于δ,只有满足这样的条件,才能够有效挖掘网络攻击行为的告警事件组合规则。对相关的事件和事件类型进行整理,得到的告警事件相关字段如表2所示。
表2 告警事件记录表
采用Apriori扫描一次数据库,统计数据库中单个告警事件的计数,将满足最小支持度要求的单个告警事件提取成1-频繁项集L1,并将频繁告警事件L1作为下一次扫描的基础告警事件。然后重复扫描告警事件数据库,第K-1次扫描生成(K-1)-项频繁集L后,第K次扫描时,首先通过连接操作将Lk-1中的项集生成K-项候选集Ck,再通过剪枝操作删除Ck中不满足最小支持度计数的项集,从而得到频繁项集Lk,重复扫描数据库,从该集合里产生下一级候选项集,直到不产生新的候选项集为止。通过设置min_sup和min_conf,得到的组合规则将是满足min_sup和min_conf的阈值。采用Apriori得到的攻击事件的组合规则示意如表3所示。
表3 攻击事件与组合规则示意表
在实际应用场景中,黑客可能利用拒绝服务攻击、lib漏洞进行攻击,口令攻击、假消息攻击,获取私密信息。利用获取到的用户访问Token,向服务器提交大量的非法数据,造成系统瘫痪,导致运营商的服务不可用。本文基于电信政企专线开通透明化系统,利用FP_Growth和Apriori算法对告警事件进行分析,以期实现网络攻击行为的预警。本文总共提取告警事件10 256条,并对相关的攻击行为进行标记。实验包括1种正常的网络行为和5种常用的网络攻击行为:拒绝服务攻击、利用型攻击行为、信息收集型攻击行为、假消息攻击行为、口令攻击行为。通过对告警事件数据进行预处理后,采用逐渐增加训练数据来测试模型的准确率,以防止出现模型的过拟合。本文采用传统的神经网络与本文提出的算法对攻击行为的预测结果如表4所示。
表4 传统算法和本文算法的准确率和耗费时间对比
通过实验对比,本文提出的算法较传统的神经网络在很大层度上提升了网络攻击行为的识别能力,由于采用FP_Growth对告警事件的属性进行关联,形成对虚假告警事件的过滤规则,大大算法降低了计算复杂度,降低虚假告警事件的干扰在一定程度上保证了算法的精度;而Apriori算法采用攻击事件的组合规则来发现新的攻击行为,能够在一定程度上保证了算法的扩展性,避免传统神经网络的过拟合现象,提升精度。
在运行速度方面,采用FP_Growth挖掘事件属性间的属性能够发现正确告警事件的规律,通过剔除大量的虚假告警事件,提升了后续网络攻击行为预警速度。
本文提出的基于网络告警事件特征的网络攻击行为预警方法,通过与传统分类方法进行对比发现,由于其虚假告警事件过滤以及新型攻击行为攻击预警方面表现出优异的性能,因此其在模型的识别准确率和速度上相比传统方法具有巨大的优势。本文提出的一种结合FP_Growth和Apriori算法的网络攻击行为预警模型作为一种新型的攻击行为监测模型,能够有效识别正常网络行为和虚假的告警事件的特征,然后在利用告警事件的序列关系形成攻击行为的组合规则,能够有效识别新的网络攻击行为。因此,该模型极大提高了网络安全与攻击行为预警的速度,是一种有效的、可靠的网络攻击行为预警模型,为网络安全态势的构建提供了一种新的思路。