一种基于海量告警的攻击事件识别方法及电子装置与流程

文档序号:22324823发布日期:2020-09-25 17:52阅读:124来源:国知局
一种基于海量告警的攻击事件识别方法及电子装置与流程

本发明涉及计算机科学的技术领域,尤其涉及一种基于海量告警的攻击事件识别方法及电子装置。



背景技术:

从海量告警中识别攻击事件主要通过机器学习的方法,对从多个层次的安全设备产生的告警进行关联融合,实现误报的剔除和攻击事件的识别,为后续安全运维人员进行系统加固和其他防御操作提供基本信息。

随着信息化的不断发展,网络规模逐渐增大,网络安全事件层出不穷,同时各类业务系统受到黑客攻击的风险也随之增加。因此,当前在各类业务系统中均接入了多个层次的安全设备,用于检测威胁和攻击事件,例如防火墙,防病毒软件,入侵检测系统(intrusiondetectionsystem,ids)、下一代防火墙(nextgenerationfirewall,ngfw)和统一威胁管理(uunifiedthreatmanagement,utm)等。基于内置的规则库和威胁策略,这些广泛部署的安全设备可以针对特定的行为产生告警信息,随后这些告警信息被汇集到安全操作中心(securityoperationcenter,soc)进行统一分析和处理。

虽然各类安全设备可以检测攻击事件,但是由于多种原因,仍需大量的人工操作对告警信息进行人工校验。第一,告警信息数量繁多。由于各个层次的安全设备均会产生告警,当所有的安全信息汇集集中起来时,告警的数量便会激增使得安全操作中心面临巨大的压力。第二,误报信息较多。由于任何异常情况都将触发告警,而在这些告警中通常仅有少量告警是由真正的入侵行为产生的,因此需要剔除这些误报信息。除此之外,网络中的每一个安全设备具有独立的识别和报告可疑事件的功能,这使得通过来源于单一设备的信息无法准确判断是否发生了攻击事件,同时不同的安全设备针对单一事件产生重复告警。因此,需要对来自于不同安全设备的告警信息进行关联,一方面对重复的告警记录进行剔除,另一方面融合多维度的信息来更准确的判断告警信息是否来源于攻击事件。

目前,告警关联可以大致分为三类:1)基于相似度;2)基于顺序;3)基于知识。基于相似度的方法通过相似度来聚集和汇总告警,以减少用于分析告警数量。基于顺序的方法通过告警的因果关系将告警关联起来,以检测多步攻击。在此类别中,被攻击路径的构建广泛使用了基于图的结构。基于知识的方法通过已有攻击场景相关知识来关联告警。其中,攻击场景可能是安全专家人工构建的,也可能由机器学习或知识图谱技术基于现有知识推断的规则生成。

虽然上述提及的方法理论上均可应用于从告警信息中识别出攻击事件的场景,例如中国专利申cn109684181a公开了一种告警根因分析方法、装置、设备及存储介质,其融合不同告警的时序关联性与拓扑关联性,从告警中挖掘出根本告警原因。但是在现实场景中经常面临海量的告警数据,而上述这些方法均难以适应海量数据的场景,从而难以应用于现实中。



技术实现要素:

为解决上述问题,本发明提出一种基于海量告警的攻击事件识别方法及电子装置。本发明基于图的思想对告警数据进行高效关联,使用映射归约(mapreduce)计算框架对告警信息进行分组归约,然后构建融合模型对告警信息真实性进行判断,从而可以适应海量告警日志信息的情况,并且具有较高的检测准确率。

为达到上述目的,本发明采用具体技术方案是:

一种基于海量告警的攻击事件识别方法,其步骤包括:

1)依据告警信息的属性列,将告警信息分为一局部特征组及若干全局特征组;

2)获取局部特征组的局部特征键列组及全局特征组的全局特征键列组集合,计算局部特征表与全局特征表集合;

3)拼接局部特征表与全局特征表集合,将得到的完整特征表输入堆叠模型,根据输出概率判定对应事件是否属于攻击事件。

进一步地,局部特征组为事件标识组;事件标识组包含告警记录所归属的事件;全局特征组为网络标识属性组、安全设备属性组及告警描述属性组;网络标识组属性组包含告警记录所设计的网络信息;安全设备属性组包含告警记录所产生的安全设备的状态和属性;告警描述属性组包含告警记录的异常信息内容。

进一步地,通过以下步骤生成全局特征键列组集合:

1)从网络标识属性组、安全设备属性组及告警描述属性组中任选两个属性组;

2)从两个属性组中各选一个具体属性列作为一全局特征键列;

3)遍历两个属性组,得到全部的全局特征键列,构成全局特征键列组集合。

进一步地,通过以下步骤得到局部特征表与全局特征表集合:

1)以局部特征键列组为主键对告警信息进行映射操作,分别得到局部特征分组;对局部特征分组内的其他属性列进行归约操作,得到局部特征表;

2)以全局特征键列组集合内的每一个特征键列组为主键对告警信息进行映射操作,得到全局特征分组集合;对集合内的每一个特征分组的其他属性列进行归约操作,得到全局特征表集合。

进一步地,采取下述策略进行归约操作:

1)对数值型列,计算此列的最大值、最小值、平均值、奇异值及标准差;

2)对字符型列,计算此列最频繁项与奇异值。

进一步地,通过以下步骤拼接局部特征表与全局特征表集合:

1)任选全局特征表集合中的一个全局特征表,将该全局特征表的主键列作为外部主键拼接到局部特征表上;

2)通过不断循环拼接过程,将全局特征表集合中的所有全局特征表均拼接到局部特征表上,得到完整特征表。

进一步地,通过以下步骤对输入堆叠模型前的完整特征表进行预处理:

1)对字符型列与数值型列进行空值替换;

2)对字符型数据进行编码;

3)对全部特征的数据进行最大-最小归一化。

进一步地,所述堆叠模型由两个层次构成,包括:

1)由梯度提升树分类器与adaboost分类器构建的第一层;

2)由梯度提升树分类器构建的第二层。

一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序执行上述方法。

一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述方法。

本发明的有益效果在于:

本发明为从海量告警中识别攻击事件提供一种基于海量告警的攻击事件识别方法及电子装置,增强在告警数量巨大的背景下的网络管理能力,同时提升网络安全性,降低安全运维人员的工作量。本发明基于告警信息的不同属性维度进行特征工程,有效关联不同的告警信息,产生局部特征和全局特征作为关键识别信息,充分利用了不同防护层次的告警信息,同时使用了堆叠模型作为最终的分类依据,可以适用于海量告警数据,同时具有较高的检测率。与现有的告警关联方法相比,本发明具有以下几点优势:

1、基于告警记录所涵盖的信息维度对告警属性进行划分,然后基于属性的划分对原始告警信息进行高效关联,在保证关联信息有效广泛的同时,减少了冗余特征的生成。

2、基于映射归约(mapreduce)计算框架进行特征生成,适合海量告警数据的情况。

3、识别准确率高,通过在ieeebigdata2019cup:suspiciousnetworkeventrecognition数据集上进行验证,真实攻击事件的检测率可以达到94%。

附图说明

图1是本发明的整体流程图。

图2是特征生成的步骤流程图

图3是特征聚合的步骤流程图

图4是数据预处理的步骤流程图

图5是攻击概率检测的步骤流程图

图6是效果验证的roc曲线。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的目的、特征和优点能够更加明显易懂,下面结合附图和事例对本发明中技术核心作进一步详细的说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明公开了一种基于海量告警的攻击事件识别方法,该方法通过对信息分组然后进行特征工程生成特征数据,并使用堆叠模型对该事件属于攻击事件的概率进行检测。其中,根据生成特征所涵盖的信息范围,可以将生成的特征分为局部特征和全局特征。局部特征涵盖了该事件所有的告警信息,而全局特征则不局限于特定事件,而是涵盖了所有与其有关联的告警信息。除此之外,为了适应海量告警数据的场景,局部特征和全局特征均通过mapreduce框架生成,从而可以进行分布式计算。同时,本发明使用了堆叠模型,提高模型检测的准确率。

本发明的整体流程图如图1所示,所述方法的具体步骤细节如下所示:

(1)信息分组标识。本发明中的方法需首先根据告警记录的格式中每一类具体属性所涵盖的信息范围对告警信息的属性进行分组,归纳为四个分组。其中分为两个部分,第一部分包括一个主键维度,主要涵盖事件标识。事件标识主要用于标识告警信息所归属的特定事件。第二部分包括三个属性维度:网络标识属性,安全设备属性,告警描述属性。网络标识属性包括该告警涉及的主机ip地址、端口和具体协议信息。这类信息往往是识别不安全主机的重要依据。安全设备属性包括生成该告警的设备类型及其供应商信息。由于不同的设备有其独特的告警触发规则,告警真实性参差不齐,因而设备属性可以作为排除误报的重要信息。告警描述信息包括告警的类型、时间戳、时长以及次数等详细信息。

(2)特征生成。如图2所示,根据不同的键列产生的不同映射归约(mapreduce)结果,作为局部特征和全局特征。局部特征键列组和全局特征键列组集合由步骤1)对告警信息的划分生成。

其中,局部特征键列组仅由事件标识组构成,而全局特征键列组集合则由以下过程构成:如图3所示,首先从三个属性组中任选两个属性组,然后从这两个属性组中分别任选一个具体属性列作为全局特征键列。通过不断遍历组合,得到全部的全局特征键列,构成全局特征键列集合。

以上一步生成的局部特征键列组为主键,对原始告警信息进行映射(map)操作,然后对局部特征分组内的属性列(非主键列)进行归约(reduce)操作,得到局部特征表;然后根据全局特征键列组集合,分别以键列组集合中的每一个键列组元素为主键对原始告警信息进行映射(map)操作,得到全局特征分组集合;然后对全局特征分组集合内的每一个分组内的属性列(非主键列)进行归约(reduce)操作,得到全局特征表集合。其中,在局部特征表以及全局特征表集合生成过程中的reduce操作中,根据其他属性列的类型,采用不同的操作,具体计算的方法入下表所示。针对数值型的列,计算此列的max(最大值),min(最小值),mean(平均值),unique(奇异值),std(标准差);针对字符型列,计算此列的dominate(最频繁项),unique(奇异值)。

(3)特征拼接。由于局部特征表和全局特征表集合是两个独立的数据结构,因此需要对这些多个特征表进行拼接,从而实现特征的聚合。首先选取全局特征集合中的一个全局特征表,对该表的属性列(非主键列)进行重命名,然后以该表的主键列作为外部主键拼接到局部特征表上。对全局特征表内的属性列命名的策略是以“该表在全局特征集合中的索引号+原始属性列”作为新的属性列名称。对全局特征属性列重命名的意义在于,避免多个全局特征表具有相同的属性列,造成拼接的混乱。通过不断循环拼接过程,直至全局特征集合中的所有表均拼接到局部特征表上,从而得到完整特征表。

(4)完整特征表的数据预处理。如图4所示,首先进行空值替换操作。对于字符型列,使用字符列名称进行空值替换。对于数值型列,使用从-1开始递增的数字进行空值替换。然后进行字符型数据的编码操作。本操作的实现通过调用sklearn包中的labelencoder函数完成。最后进行数据的归一化。本模块使用的归一化策略为最大-最小归一化。最终输出经过归一化后的特征数据。

(5)攻击概率检测。攻击概率检测根据(4)过程输出的预处理的完整特征表数据判断事件是否属于真实的攻击。通过将特征数据输入到堆叠模型中,即可得到事件由攻击行为引起的概率。其中,堆叠模型由两个层次构成,第一个层次的模型由梯度提升树(gbdt)模型和adaboost模型构成,第二个层次的模型仅由gbdt构成。

(6)攻击事件判定。攻击事件判定根据(5)过程输出的事件由攻击行为引起的概率以及预先设定的阈值,判定该事件是否属于攻击事件。一般设定该阈值为0.5,即若该事件由攻击行为引起的概率大于0.5,即判定该事件为攻击事件。最终的效果使用ieeebigdata2019cup:suspiciousnetworkeventrecognition数据进行验证。验证结果的准确率如图5所示,roc曲线如图6所示。

本发明还公开一种基于海量告警的攻击事件检测电子装置,包括:信息分组模块、特征生成模块、预处理模块和攻击检测模块;其中:

1、信息分组模块。信息分组模块实现对网络告警信息不同维度属性的划分。通过人工判断,将告警信息的属性划分为四个组,事件标识信息组,网络标识属性组,安全设备属性组,告警描述信息组。事件标识指明告警记录归属哪个事件;网络标识属性包括该条告警记录的主机ip地址、端口和具体协议信息;安全设备属性包括设备类型、设备代码、设备供应商代码等信息;告警描述信息包括该条告警的类型、时长、次数以及时间戳等详细信息。

2、特征生成模块。特征生成模块主要完成生成局部特征、全局特征和特征聚合操作,实现从原始告警信息到特征的转化。模块整体使用python语言实现。首先将事件标识信息作为局部特征键列,然后根据局部特征键列对原始告警信息进行相应的mapreduce操作,得到局部特征表;然后根据三个属性维度生成全局特征键列组集合,根据集合中的每个键列组对原始告警信息进行mapreduce操作,得到全局特征表集合。最终通过将全局特征表集合中的每个全局特征拼接到局部特征表上,从而得到完整特征表。

3、预处理模块。预处理模块主要完成特征生成模块输出的全部特征的数据转换操作,以实现数据的规整便于模型的预测。预处理模块主要完成空值替换、字符型数据的编码,以及数据的归一化。最终输出经过归一化后的特征数据。

4、攻击检测模块。攻击检测模块主要完成基于特征数据的攻击事件判定。本模块主要使用堆叠模型对攻击概率进行预测,然后通过设定阈值进行攻击事件判定。堆叠模型是一个两层结构的融合模型,其基础模型包括梯度提升树(gbdt)和adaboost模型。首先将预处理模块输出的特征数据输入到堆叠模型的第一层,得到第一层次的攻击概率预测。然后将第一层次的输出作为第二层次的输入,得到最终的攻击概率预测。

以上所述实施例仅表达了本发明的实施方式,其描述较为具体,但并不能因此理解为对本发明专利范围的限制。应当指出,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应当以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1