专利名称:海量事件安全分析方法及装置的制作方法
技术领域:
本发明涉及一种海量事件安全分析方法及装置。
背景技术:
随着计算机和通讯技术的高速发展,网络的开放性、互连性、共享性程度的扩大,企业越来越依赖信息和网络技术来支持他们在全球市场中的迅速成长和扩大。但随之而来的威胁也越来越多一黑客攻击、恶意代码、蠕虫病毒。现有的网络安全设备,如防火墙,入侵检测系统,杀毒软件等,在网络异常的情况下会产生各种各样的告警信息,加上服务器本身的系统和应用程序的产生的告警,这些告警错综复杂,而且数量庞大。但是对于每种网络的异常情况在单一的网络设备上是不能确定的,只有将各种设备的海量告警综合在一起才分析才有可能确定异常的情况。而这个工作对于网络管理员来说是不可能完成的,但随·着云计算的成熟,云平台和云计算已经不断在各个领域被利用,通过对海量事件安全分析才能准确的发现这些异常情况并且对异常情况提出解决方案。而现有的关联分析产品主要是安全管理中心(SOC)或者是安全信息管理系统。(SIM),其主要是实现了以下的五功能事件采集、事件储存、事件查询、事件关联分析以及告警通知。现有的分析方法存在以下的局限性I.分析的方式局限为了达到关联分析的实时和准确性,目前大部分的关联分析是基于内存的分析,设备的内存大小永远对于设备来说只是一个临时的存储,并且是所有进程共用的,并不能达到对海量临时信息的存储,这样无法对海量的事件进行更深入的分析。2.分析范围的狭窄传统的分析方式为了追求安全管理平台的可见性和易用性,只能对一些常见的异常和一些短时间的攻击,而对于现在越来越流行的0-day攻击和低速的拒绝服务攻击是没有无法进行发现。3.没有完整的攻击表示方式随着攻击的方式越来越隐蔽和多样化用户接到攻击告警后仍然需要到实际的环境中寻找攻击的实际路径。
发明内容本发明要解决的技术问题之一,在于提供一种海量事件安全分析方法,分析准确、完整、迅速。本发明要解决的技术问题之一是这样实现的一种海量事件安全分析方法,包括如下步骤步骤10、对海量的原始事件进行存储;步骤20、获取原始事件,对原始事件进行初步的基础分析,生成初步的分析结果,然后储存初步的分析结果;其中,该基础分析是对原始日志事件进行基础漏洞分析、规则分析和一些信息的确认;
步骤30、将初步的分析结果与原始事件进入分布式文件系统HDFS通过SQOOP进行并行分析,该并行分析的过程包括通过脚本语言对所有原始事件和初步的分析结果中一些对挖掘无意义的信息进行过滤;以及通过脚本语言对所有源地址、源端口、目的地址、目的端口以及事件类型均相同的原始事件和初步分析结果进行归并操作,并按条件进行统计;步骤40、通过一系列的配置和一系列的调度规则来从深入挖掘脚本库调用合适的深入挖掘脚本;该挖掘脚本是用于查看“基于源地址、目的地址或事件分类而进行的各类攻击”;步骤50、在hadoop平台上借助轻度脚本语言(轻度脚本语言是指一种基于原始脚本语言封装后,并且只能在hadoop平台上执行的简单脚本语言)执行所调用的挖掘脚本,完成所有事件的源和目标IP的关联以及挖掘脚本之间的关联,形成挖掘结果;最后根据挖掘结果发现的异常情况在网络中进行定位;步骤60、将异常情况和解决方案通过各种响应方式通知用户。·其中,所述步骤20中,所述基础漏洞分析是对事件本身由于某些漏洞引起的而需要进行的基础分析;所述规则分析是在短时间内对一些有相同属性的事件进行关联分析;所述一些信息的确认是指将原始事件中的地址和端口信息与防火墙上的NAT信息进行比对确认,以达到分析重要因素的准确性。所述步骤30中,所述对挖掘无意义的信息包括平台未识别事件和防火墙允许的用户事件。所述步骤50中在网络中进行定位是通过对异常目标反查的方式完成,该异常目标反查的方式是指将异常的事件源做为目标,对这些目标相关事件继续进行深入挖掘分析,重复上述过程,到相关的目标不存在事件为止。本发明要解决的技术问题之二,在于提供一种海量事件安全分析装置,分析准确、完整、迅速。本发明要解决的技术问题之二是这样实现的一种海量事件安全分析装置,包括海量事件存储库用于存放海量的原始事件;基础分析引擎用于对原始日志事件进行基础漏洞,规则的分析和一些信息的确认生成完整和准确的初步分析结果;初步分析结果库用于存放初步的分析结果;数据库与HDFS交互引擎通过SQOOP完成数据库和分布式文件系统HDFS的交互,将所有原始事件、初步的分析结果在分布式文件系统HDFS和数据库之间进行交互,该数据库包括海量事件存储库和初步分析结果库;事件过滤引擎通过脚本语言对所有原始事件和初步的分析结果中一些对挖掘无意义的信息进行过滤;事件归并引擎通过脚本语言对原始事件和初步的分析结果按照一些条件进行归并,主要按照原始事件的源地址,源端口,目的地址,目的端口,事件分类对事件进行一些归并操作;事件统计引擎通过脚本语言对原始事件按条件进行统计;
深入挖掘脚本库用于存放各类挖掘脚本,该挖掘脚本是用于查看“基于源地址、目的地址或事件分类而进行的各类攻击”;脚本调度引擎通过一系列的配置和一系列的调度规则来从深入挖掘脚本库调用合适的深入挖掘脚本;该挖掘脚本是用于查看“基于源地址、目的地址或事件分类而进行的各类攻击”;攻击拓扑生成引擎执行所调用的挖掘脚本,完成所有原始事件和初步的分析结果的源和目标IP的关联以及挖掘脚本之间的关联并输出异常情况;安全经验库用于存放各类异常情况的解决方案;响应模块通过所述攻击拓扑生成引擎输出的异常情况,在安全经验库匹配解决方案,并将异常情况和解决方案通过各种响应方式通知用户。
·
其中,所述基础漏洞分析是对事件本身由于某些漏洞引起的而需要进行的基础分析;所述规则分析是在短时间内对一些有相同属性的事件进行关联分析;所述一些信息的确认是指将原始事件中的地址和端口信息与防火墙上的NAT信息进行比对确认,以达到分析重要因素的准确性。所述对挖掘无意义的信息包括平台未识别事件和防火墙允许的用户事件。所述攻击拓扑生成引擎是通过对异常目标反查的方式完成在网络中进行定位,该异常目标反查的方式是指将异常的事件源做为目标,对这些目标相关事件继续进行深入挖掘分析,重复上述过程,到相关的目标不存在事件为止。所述脚本调度引擎涉及到的调度规则包括安排不同的深入挖掘脚本之间的时序关系。本发明具有如下优点(I)基于云平台的HDFS实现了对海量事件的存储,扩大对原始事件和初步分析结果的存储,可以大大增加海量事件安全分析的准确性和完整性。(2)采用了 SQOOP技术使数据在不同介质的传输更为迅速和准确,大大提高了海
量事件处理的效率。(3)基于轻度脚本语言的实现对海量事件进行深度挖掘,实现了挖掘的可视化和便捷化。(4)基于HADOOP平台的海量事件云分析,通过HADOOP实现云分析不同阶段的监控和管理,实现分析海量事件云分析的完整性和可用性,并且实现了分析的延续性和可追溯性,完成对每个异常的完整分析。(这条优点不知在技术方案中哪能地方有体现,请申请人稍作分析)(5)基于攻击溯源的网络拓扑,将每个攻击细化到复杂的网络系统中,将复杂的攻击图像化和具体化。
下面参照附图结合实施例对本发明作进一步的说明。图I为本发明方法执行流程图。图2为本发明异常目标反查所得的信息的拓扑图示例图示。图3为本发明装置执行本发明方法的流程框图。
具体实施方式如图I所示,本发明的海量事件安全分析方法,包括如下步骤步骤10、对海量的原始事件进行存储。步骤20、获取原始事件,对原始事件进行初步的基础分析,生成初步的分析结果,然后储存初步的分析结果;其中,该基础分析是对原始日志事件进行基础漏洞分析、规则分析和一些信息的确认。所述基础漏洞分析是对事件本身由于某些漏洞引起的而需要进行的基础分析。所述规则分析是在短时间内对一些有相同属性的事件进行关联分析;例如对同一个设备在秒级的时间内存在信息的探测和尝试的登录行为。所述一些信息的确认是指将原始事件中的地址和端口信息与防火墙上的NAT信息进行比对确认,以达到分析重要因素的准确性。步骤30、将初步的分析结果与原始事件进入分布式文件系统HDFS通过SQOOP进·行并行分析,该并行分析的过程包括通过脚本语言对所有原始事件和初步的分析结果中一些对挖掘无意义的信息进行过滤;以及通过脚本语言对所有源地址、源端口、目的地址、目的端口以及事件类型均相同的原始事件和初步分析结果进行归并操作,并按条件进行统计;其中,并行分析是通过SQOOP完成数据库和HDFS的交互,SQOOP技术使数据在不同介质的传输更为迅速和准确,大大提高了海量事件处理的效率。相关的脚本示例如下records=L0AD' /user/hadoop/event/20120523, txt' AS(ch:chararray, in:int);filtered_records=FILTER records BY ch!=’ 192. 168. 22. 11’。再通过脚本语言对所有源地址、源端口、目的地址、目的端口以及事件类型均相同的原始事件和初步分析结果进行归并操作,并按条件进行统计。归并的脚本示例如下records=L0AD,/user/hadoop/event/20120523, txt' AS(ch:chararray, in:int);grouped_records=GR0UP fiItered_records BY ch。统计脚本示例如下records=L0AD' /user/hadoop/event/20120523, txt’ AS(ch:chararray, chi: chararray, in:int);grouped_records=GR0UP fiItered_records BY ch;filtered_records=FILTER grouped_records BY ch!=’ 192. 168. 22. 11’。步骤40、通过一系列的配置和一系列的调度规则来从深入挖掘脚本库调用合适的深入挖掘脚本;该挖掘脚本是用于查看“基于源地址、目的地址或事件分类而进行的各类攻击”。以下是挖掘脚本的例子脚本A:records=L0AD' /user/hadoop/event/20120523, txt,AS(ch:chararray, chi: chararray, in:int);grouped_records=GR0UP fiItered_records BY ch;filtered_records=FILTER grouped_records BY in〉=:a;max_in=F0REACH fiItered_records脚本B records=L0AD' /user/hadoop/event/20120523, txt’ AS(ch:chararray, chi: chararray, in:int);filtered_records=FILTER records BY chl>=:b。步骤50、执行所调用的挖掘脚本,完成所有事件的源和目标IP的关联以及挖掘脚本之间的关联,形成挖掘结果;最后根据挖掘结果发现的异常情况在网络中进行定位;该在网络中进行定位是通过对异常目标反查的方式完成,该异常目标反查的方式是指将异常的事件源做为目标,对这些目标相关事件继续进行深入挖掘分析,重复上述过程,到相关的目标不存在事件为止。如图2所示,所述异常目标反查所得的信息可以用拓扑图的方式在用户端进行展示,以更加直观。步骤60、将异常情况和解决方案通过各种响应方式通知用户。其中解决方案可以预先存储在一个专门的数据库中,以备调用。结合图I至图3所示,本发明的海量事件安全分析装置,包括·
海量事件存储库I :用于存放海量的原始事件;该海量事件存储库基于云平台的HDFS实现了对海量事件的存储,扩大对原始事件和初步分析结果的存储,可以大大增加海量事件安全分析的准确性和完整性。基础分析引擎2 :用于对原始日志事件进行基础漏洞,规则的分析和一些信息的确认生成完整和准确的初步分析结果;其中,所述基础漏洞分析是对事件本身由于某些漏洞引起的而需要进行的基础分析;所述规则分析是在短时间内对一些有相同属性的事件进行关联分析,例如对同一个设备在秒级的时间内存在信息的探测和尝试的登录行为。所述一些信息的确认是指将原始事件中的地址和端口信息与防火墙上的NAT信息进行比对确认,以达到分析重要因素的准确性。本引擎还结合安全管理平台中对设备安全健康检查的结果,对事件中相关设备性能方面的告警进行确认。初步分析结果库3 :用于存放初步的分析结果。数据库与HDFS交互引擎4 :通过SQOOP完成数据库和分布式文件系统HDFS的交互,将所有原始事件、初步的分析结果在分布式文件系统HDFS和数据库之间进行交互,该数据库包括海量事件存储库和初步分析结果库。其中,SQOOP技术使数据在不同介质的传输更为迅速和准确,大大提高了海量事件处理的效率。事件过滤引擎5 :通过脚本语言对所有原始事件和初步的分析结果中一些对挖掘无意义的信息进行过滤,所述对挖掘无意义的信息包括平台未识别事件和防火墙允许的用户事件;相关的脚本示例如下records=L0AD,/user/hadoop/event/20120523, txt' AS(ch:chararray, in:int);filtered_records=FILTER records BY ch!=’ 192. 168. 22. 11’。事件归并引擎6 :通过脚本语言对原始事件和初步分析结果按照一些条件进行归并,主要按照原始事件的源地址,源端口,目的地址,目的端口,事件分类对事件进行一些归并操作;归并的脚本示例如下records=L0AD’/user/hadoop/event/20120523, txt' AS(ch:chararray, in:int);grouped_records=GR0UP fiItered_records BY ch。事件统计引擎7 :通过脚本语言对原始事件按条件进行统计;统计的脚本示例如下records=L0AD' /user/hadoop/event/20120523, txt,AS(ch:chararray, chi: chararray, in:int);grouped_records=GROUP fiItered_records BY ch;filtered_records=FILTER grouped_records BY ch!=’ 192. 168. 22. 11’ ;深入挖掘脚本库8 :用于存放各类挖掘脚本,该挖掘脚本是用于查看“基于源地址、目的地址或事件分类而进行的各类攻击”;深入挖掘的脚本示例如下脚本A records=L0AD' /user/hadoop/event/20120523, txt,AS(ch:chararray, chi: chararray, in:int);grouped_records=GROUP fiItered_records BY ch;·filtered_records=FILTER grouped_records BY in〉=:a;max_in=F0REACH fiItered_records脚本B records=L0AD' /user/hadoop/event/20120523, txt,AS(ch:chararray, chi: chararray, in:int);filtered_records=FILTER records BY chl>=:b。脚本调度引擎9 :通过一系列的配置和一系列的调度规则来从深入挖掘脚本库调用合适的深入挖掘脚本;该挖掘脚本是用于查看“基于源地址、目的地址或事件分类而进行的各类攻击”;所述脚本调度引擎涉及到的调度规则包括安排不同的深入挖掘脚本之间的时序关系。攻击拓扑生成引擎11 :执行所调用的挖掘脚本,完成所有原始事件和初步分析结果的源和目标IP的关联以及挖掘脚本之间的关联并以拓扑图的方式输出异常情况;所述攻击拓扑生成引擎是通过对异常目标反查的方式完成在网络中进行定位,该异常目标反查的方式是指将异常的事件源做为目标,对这些目标相关事件继续进行深入挖掘分析,重复上述过程,到相关的目标不存在事件为止。安全经验库12 :用于存放各类异常情况的解决方案;异常情况的解决方案可以是安全管理平台在不断运行过程中积累而得的。响应模块13 :通过所述攻击拓扑生成引擎输出的异常情况,在安全经验库匹配解决方案,并将异常情况和解决方案通过各种响应方式通知用户。本发明具有如下优点(6)基于云平台的HDFS实现了对海量事件的存储,扩大对原始事件和初步分析结果的存储,可以大大增加海量事件安全分析的准确性和完整性。(7)采用了 SQ00P技术使数据在不同介质的传输更为迅速和准确,大大提高了海
量事件处理的效率。(8)基于轻度脚本语言的实现对海量事件进行深度挖掘,实现了挖掘的可视化和便捷化。(9)基于HADOOP平台的海量事件云分析,通过HADOOP实现云分析不同阶段的监控和管理,实现分析海量事件云分析的完整性和可用性,并且实现了分析的延续性和可追溯性,完成对每个异常的完整分析。(这条优点不知在技术方案中哪能地方有体现,请申请人稍作分析)
基于攻击溯源的网络拓扑,将每个攻击细化到复杂的网络系统中,将复杂的攻击图像化和具体化。虽然以上描述了本发明的具体实施方式
,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。·
权利要求
1.一种海量事件安全分析方法,其特征在于包括如下步骤 步骤10、对海量的原始事件进行存储; 步骤20、获取原始事件,对原始事件进行初步的基础分析,生成初步的分析结果,然后储存初步的分析结果;其中,该基础分析是对原始日志事件进行基础漏洞分析、规则分析和一些信息的确认; 步骤30、将初步的分析结果与原始事件进入分布式文件系统HDFS通过SQOOP进行并行分析,该并行分析的过程包括 通过脚本语言对所有原始事件和初步的分析结果中一些对挖掘无意义的信息进行过滤;以及 通过脚本语言对所有源地址、源端口、目的地址、目的端口以及事件类型均相同的原始事件和初步分析结果进行归并操作,并按条件进行统计;步骤40、通过一系列的配置和一系列的调度规则来从深入挖掘脚本库调用合适的深入挖掘脚本;该挖掘脚本是用于查看“基于源地址、目的地址或事件分类而进行的各类攻击”;步骤50、在hadoop平台上借助轻度脚本语言执行所调用的挖掘脚本,完成所有事件的源和目标IP的关联以及挖掘脚本之间的关联,形成挖掘结果;最后根据挖掘结果发现的异常情况在网络中进行定位; 步骤60、将异常情况和解决方案通过各种响应方式通知用户。
2.根据权利要求I所述的海量事件安全分析方法,其特征在于所述步骤20中, 所述基础漏洞分析是对事件本身由于某些漏洞引起的而需要进行的基础分析; 所述规则分析是在短时间内对一些有相同属性的事件进行关联分析; 所述一些信息的确认是指将原始事件中的地址和端口信息与防火墙上的NAT信息进行比对确认。
3.根据权利要求I所述的海量事件安全分析方法,其特征在于所述步骤30中,所述对挖掘无意义的信息包括平台未识别事件和防火墙允许的用户事件。
4.根据权利要求I所述的海量事件安全分析方法,其特征在于所述步骤50中在网络中进行定位是通过对异常目标反查的方式完成,该异常目标反查的方式是指将异常的事件源做为目标,对这些目标相关事件继续进行深入挖掘分析,重复上述过程,到相关的目标不存在事件为止。
5.一种海量事件安全分析装置,其特征在于包括 海量事件存储库用于存放海量的原始事件,该海量事件存储库是基于云平台的HDFS实现了对海量事件的存储; 基础分析引擎用于对原始日志事件进行基础漏洞,规则的分析和一些信息的确认生成完整和准确的初步分析结果; 初步分析结果库用于存放初步的分析结果; 数据库与HDFS交互引擎通过SQOOP完成数据库和分布式文件系统HDFS的交互,将所有原始事件、初步的分析结果在分布式文件系统HDFS和数据库之间进行交互,该数据库包括海量事件存储库和初步分析结果库; 事件过滤引擎通过脚本语言对所有原始事件和初步的分析结果中一些对挖掘无意义的信息进行过滤;事件归并引擎通过脚本语言对原始事件和初步的分析结果按照一些条件进行归并,主要按照原始事件的源地址,源端口,目的地址,目的端口,事件分类对事件进行一些归并操作; 事件统计引擎通过脚本语言对原始事件按条件进行统计; 深入挖掘脚本库用于存放各类挖掘脚本,该挖掘脚本是用于查看“基于源地址、目的地址或事件分类而进行的各类攻击”; 脚本调度引擎通过一系列的配置和一系列的调度规则来从深入挖掘脚本库调用合适的深入挖掘脚本;该挖掘脚本是用于查看“基于源地址、目的地址或事件分类而进行的各类攻击”; 攻击拓扑生成引擎执行所调用的挖掘脚本,完成所有原始事件和初步的分析结果的 源和目标IP的关联以及挖掘脚本之间的关联并输出异常情况; 安全经验库用于存放各类异常情况的解决方案; 响应模块通过所述攻击拓扑生成引擎输出的异常情况,在安全经验库匹配解决方案,并将异常情况和解决方案通过各种响应方式通知用户。
6.根据权利要求5所述的海量事件安全分析装置,其特征在于 所述基础漏洞分析是对事件本身由于某些漏洞引起的而需要进行的基础分析; 所述规则分析是在短时间内对一些有相同属性的事件进行关联分析; 所述一些信息的确认是指将原始事件中的地址和端口信息与防火墙上的NAT信息进行比对确认。
7.根据权利要求5所述的海量事件安全分析装置,其特征在于所述对挖掘无意义的信息包括平台未识别事件和防火墙允许的用户事件。
8.根据权利要求5所述的海量事件安全分析装置,其特征在于所述攻击拓扑生成引擎是通过对异常目标反查的方式完成在网络中进行定位,该异常目标反查的方式是指将异常的事件源做为目标,对这些目标相关事件继续进行深入挖掘分析,重复上述过程,到相关的目标不存在事件为止。
9.根据权利要求5所述的海量事件安全分析装置,其特征在于所述脚本调度引擎涉及到的调度规则包括安排不同的深入挖掘脚本之间的时序关系。
全文摘要
本发明提供一种海量事件安全分析方法和装置,方法包括对海量的原始事件进行存储;对原始事件进行初步的基础分析,生成初步的分析结果并储存;将初步的基础分析结果与海量原始事件进入分布式文件系统HDFS进行并行分析,并行分析包括交互、过滤、归并以及统计等从深入挖掘脚本库调用合适的深入挖掘脚本;用于查看“基于源地址、目的地址或事件分类而进行的各类攻击”;执行所调用的挖掘脚本,完成所有事件的源和目标IP的关联以及挖掘脚本之间的关联,在网络中进行定位异常情况;最后将异常情况和解决方案通过各种响应方式通知用户。装置则包括执行上述方法的各虚拟模块,本发明的优点在于对海量事件的分析更加准确、完整、迅速。
文档编号H04L12/26GK102790706SQ201210265238
公开日2012年11月21日 申请日期2012年7月27日 优先权日2012年7月27日
发明者唐敏, 涂大志, 王丰, 陈冬冬, 黄震奇 申请人:福建富士通信息软件有限公司