一种基于动态关联分析的网络攻击链识别方法和装置与流程

文档序号:16544858发布日期:2019-01-08 20:47阅读:221来源:国知局
一种基于动态关联分析的网络攻击链识别方法和装置与流程

本发明涉及网络安全技术领域,尤其是涉及一种基于动态关联分析的网络攻击链识别方法和装置。



背景技术:

随着互联网的高速发展,网络安全事件种类和数量也急剧增长,攻击更具有多样化,攻击的真实目的也更加隐蔽。然而对网络安全的防御也不能仅仅局限于单机防火墙,故而基于大数据云计算的云端海量数据存储和动态分析成了网络安全保障的重要力量。

洛克希德马丁对网络攻击提出并总结了7个重要阶段,分别代表了目的性很强的网络攻击的7个阶段:侦察,武器构建,载荷投递,突防利用,安装植入,命令和控制(c&c)、目标达成,上述的网络攻击的7个阶段组成了一个完整网络攻击链。但是如何将云端中存储的数据还原为对应的网络攻击链,则是现在急需解决的问题。

针对上述问题还未提出有效的解决方案。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于动态关联分析的网络攻击链识别方法和装置,以缓解了现有技术中无法对漏洞数据和安全数据进行分析,并得到网络攻击链的技术问题。

第一方面,本发明实施例提供了一种基于动态关联分析的网络攻击链识别方法,该方法包括:从第一数据库中获取目标数据,所述目标数据为基于目标数据流确定的,所述目标数据流为网络攻击设备对待攻击设备进行攻击时发出的数据,所述目标数据包括:待攻击设备的漏洞数据和待攻击设备的安全事件数据;基于所述目标数据的属性信息,确定各个所述目标数据的动态关联信息,所述属性信息包括:所述目标数据的生成时间,发出所述目标数据的设备的ip地址,所述动态关联信息用于确定所述目标数据所属的攻击阶段;基于所述动态关联信息,将所述目标数据作为目标攻击阶段的攻击数据添加至目标网络攻击链,所述目标攻击阶段为所述目标网络攻击链中未添加对应攻击数据的阶段。

进一步地,在从第一数据库中读取目标数据之前,所述方法还包括获取所述目标数据流;对所述目标数据流进行处理,得到目标数据;将所述目标数据存储在所述第一数据库中。

进一步地,对所述目标数据流进行处理,得到目标数据包括:对所述目标数据流进行数据流转换处理,得到中间数据;对所述中间数据进行格式转换和数据清洗,得到所述目标数据。

进一步地,从第一数据库中获取目标数据包括:按照预设周期获取所述预设周期内所述第一数据库中的新增数据,并将所述新增数据作为所述目标数据。

进一步地,从第一数据库中获取目标数据包括:获取目标用户发送的请求信息,基于所述请求信息从所述第一数据库获取与所述请求信息相对应的数据,并将所述相对应的数据作为所述目标数据。

进一步地,所述方法还包括:获取第二数据库中存储的完整网络攻击链,并对所述完整网络攻击链进行展示,其中,所述完整网络攻击链包括以下攻击阶段的攻击数据:侦查阶段,武器构建阶段,载荷投递阶段,突防利用阶段,安装植入阶段,命令控制阶段,目标达成阶段。

进一步地,所述方法还包括:判断所述完整网络攻击链的安全等级,其中,所述安全等级包括:第一等级和第二等级,所述第一等级表示所述完整网络攻击链为安全网络攻击链,所述第二等级表示所述完整网络攻击链为危险网络攻击链;如果判断结果为所述完整网络攻击链的安全等级为所述第二等级,则向所述完整网络攻击链对应的终端设备发送告警信息。

第二方面,本发明实施例提供了一种基于动态关联分析的网络攻击链识别装置,所述装置包括:第一获取单元,确定单元和添加单元;所述第一获取单元用于从第一数据库中获取目标数据,所述目标数据为基于目标数据流确定的,所述目标数据流为网络攻击设备对待攻击设备进行攻击时发出的数据,所述目标数据包括:待攻击设备的漏洞数据和待攻击设备的安全事件数据;所述确定单元用于基于所述目标数据的属性信息,确定各个所述目标数据的动态关联信息,所述属性信息包括:所述目标数据的生成时间,发出所述目标数据的设备的ip地址,所述动态关联信息用于确定所述目标数据所属的攻击阶段;所述添加单元用于基于所述动态关联信息,将所述目标数据作为目标攻击阶段的攻击数据添加至目标网络攻击链,所述目标攻击阶段为所述目标网络攻击链中未添加对应攻击数据的阶段。

进一步地,所述装置还包括:第二获取单元,所述第二获取单元用于在从第一数据库中读取目标数据之前,获取所述目标数据流;对所述目标数据流进行处理,得到目标数据;将所述目标数据存储在所述第一数据库中。

进一步地,所述第二获取单元还用于:对所述目标数据流进行数据流转换处理,得到中间数据;对所述中间数据进行格式转换和数据清洗,得到所述目标数据。

在本发明实施例中,首先从第一数据库中获取目标数据,然后,基于目标数据的属性信息,确定各个所述目标数据的动态关联信息,最后,基于动态关联信息确定目标数据所属的攻击阶段,将所述目标数据作为目标攻击阶段的攻击数据添加至目标网络攻击链,其中,目标数据包括:网络攻击设备的漏洞数据和攻击设备的安全事件数据。通过上述处理方式,能够基于目标数据流准确的得到攻击行为处于网络攻击链的哪个攻击阶段,进而解决了现有技术中无法对漏洞数据和安全数据进行分析,并得到网络攻击链的技术问题,从而到达了对漏洞数据和安全事件数据进行分析,并基于漏洞数据和安全事件数据还原网络攻击链的目的,实现了能够对网络攻击行为或黑客行为进行还原的技术效果。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于动态关联分析的网络攻击链识别方法的流程图;

图2为本发明实施例提供的另一种基于动态关联分析的网络攻击链识别方法的流程图;

图3为本发明实施例提供的另一种基于动态关联分析的网络攻击链识别方法的流程图;

图4为本发明实施例提供的一种网络攻击链的示意图;

图5为本发明实施例提供的一种基于动态关联分析的网络攻击链识别装置的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

根据本发明实施例,提供了一种基于动态关联分析的网络攻击链识别方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种基于动态关联分析的网络攻击链识别方法,如图1所示,该方法包括如下步骤:

步骤s102,从第一数据库中获取目标数据,所述目标数据为基于目标数据流确定的,所述目标数据流为网络攻击设备对待攻击设备进行攻击时发出的数据,所述目标数据包括:待攻击设备的漏洞数据和待攻击设备的安全事件数据;

步骤s104,基于所述目标数据的属性信息,确定各个所述目标数据的动态关联信息,所述属性信息包括:所述目标数据的生成时间,发出所述目标数据的设备的ip地址,所述动态关联信息用于确定所述目标数据所属的攻击阶段;

步骤s106,基于所述动态关联信息,将所述目标数据作为目标攻击阶段的攻击数据添加至目标网络攻击链,所述目标攻击阶段为所述目标网络攻击链中未添加对应攻击数据的阶段。

在本发明实施例中,首先从第一数据库中获取目标数据,然后,基于目标数据的属性信息,确定各个所述目标数据的动态关联信息,最后,基于动态关联信息确定目标数据所属的攻击阶段,将所述目标数据作为目标攻击阶段的攻击数据添加至目标网络攻击链,其中,目标数据包括:网络攻击设备的漏洞数据和攻击设备的安全事件数据。通过上述处理方式,能够基于目标数据流准确的得到攻击行为处于网络攻击链的具体攻击阶段,进而解决了现有技术中无法对漏洞数据和安全数据进行分析,并得到网络攻击链的技术问题,从而到达了对漏洞数据和安全事件数据进行分析,并基于漏洞数据和安全事件数据还原网络攻击链的目的,实现了能够对网络攻击行为或黑客行为进行还原的技术效果。

需要说明的是,上述的步骤s104可以通过将目标数据输入预设的规则引擎和完成训练的机器学习模型中,以使预设的规则引擎和完成训练的机器学习模型能够根据每个目标破数据的属性信息,确定每个目标数据的动态关联信息和每个目标数据所属的攻击阶段。

另外,还需要说明的是,上述步骤s104和步骤s106均可以由数据分析层执行,其中,数据分析层可以采用kibana、sparksql、hive、mllib、graphx等数据分析工具执行上述两个步骤。

在本发明实施例中,如图2所示,步骤s102包括如下步骤:

步骤s1021,按照预设周期获取所述预设周期内所述第一数据库中的新增数据,并将所述新增数据作为所述目标数据。

在本发明实施例中,可以按照预设周期获取所述预设周期内所述第一数据库中的新增数据,并将所述新增数据作为所述目标数据,其中,上述的预设周期可以由用户自行设定,在本发明中不做具体限定,一般可以将预设周期设置为1天。

通过执行上述步骤s1021,能够达到在离线状态下对第一数据库中的目标数据进行批处理,从而能够提高目标数据的处理效率。

在本发明实施例中,如图2所示,步骤s102还包括如下步骤:

步骤s1022,获取目标用户发送的请求信息,基于所述请求信息从所述第一数据库获取与所述请求信息相对应的数据,并将所述相对应的数据作为所述目标数据。

在本发明实施例中,当获取到用户发送的请求信息后,可以基于所述请求信息从所述第一数据库获取与所述请求信息相对应的数据,并将所述相对应的数据作为所述目标数据,从而达到能够对网络攻击链进行实时还原的技术效果。

在本发明实施例中,如图3所示,在从第一数据库中读取目标数据之前,所述方法还包括如下步骤:

步骤s108,获取所述目标数据流;

步骤s110,对所述目标数据流进行处理,得到目标数据;

步骤s112,将所述目标数据存储在所述第一数据库中。

在本发明实施例中,在从第一数据库中获取目标数据之前,首先,可以通过数据收集层获取上述的目标数据流,其中,数据收集层可以由springcloud组件相关的api接口、logstash、flume、kafka等数据收集系统构成。

接着,通过数据处理层对上述目标数据流进行数据处理得到上述的目标数据,其中数据处理层可以由spring功能模块和sparkstreaming流处理模块组成。

最后,由数据存储层(即,第一数据库)对上述的目标数据进行存储,数据存储层可以采用采用elk技术,即elasticsearch、kibana、logstash,其中,elasticsearch用于存储上述目标数据,由于elasticsearch具备强大的搜索引擎功能,因此能够有效的提高目标数据搜索速度,以及提高目标数据利用效率。

在本发明实施例中,步骤s110还包括如下步骤:

步骤s1101,对所述目标数据流进行数据流转换处理,得到中间数据;

步骤s1102,对所述中间数据进行格式转换和数据清洗,得到所述目标数据。

具体地,当获取到目标数据流之后,可以通过sparkstreaming流处理模块对目标数据流进行数据流转换处理,从而获取到目标数据流中的中间数据。

然后,通过spring功能模块对上述中间数据进行格式转换和数据清洗,从而得到目标数据。

在本发明实施例中,如图3所示,所述方法还包括如下步骤:

步骤s114,获取第二数据库中存储的完整网络攻击链,并对所述完整网络攻击链进行展示,其中,所述完整网络攻击链包括以下攻击阶段的攻击数据:侦查阶段,武器构建阶段,载荷投递阶段,突防利用阶段,安装植入阶段,命令控制阶段,目标达成阶段。

在本发明实施例中,当第二数据库中存储的网络攻击链,经过目标数据的填充后得到完整网络攻击链后,则对完整网络攻击链进行展示,从而能够将上述的完整网络攻击链动态的呈现给对应的用户,进而能够使用户清晰的了解到自己正在遭受的网路攻击行为或黑客行为。

在本发明实施例中,如图3所示,所述方法还包括如下步骤:

步骤s116,判断所述完整网络攻击链的安全等级,其中,所述安全等级包括:第一等级和第二等级,所述第一等级表示所述完整网络攻击链为安全网络攻击链,所述第二等级表示所述完整网络攻击链为危险网络攻击链;

步骤s118,如果判断结果为所述完整网络攻击链的安全等级为所述第二等级,则向所述完整网络攻击链对应的终端设备发送告警信息。

在本发明实施例中,对完整网络攻击链进行安全等级判断,如果判断结果为完整网络攻击链的安全等级为安全,则不执行告警提示操作。

如果判断结果为完整网络攻击链的安全等级为危险,则向该完整网络攻击链所对应的终端设备发送告警信息,以使用户能够根据告警信息做出及时的应对。

需要说明的是,如图4所示,一个完整的网络攻击链包括如下阶段:侦察阶段,武器构建阶段,载荷投递阶段,突防利用阶段,安装植入阶段,命令和控制阶段,目标达阶段。

侦察阶段为攻击者在攻击前对待攻击设备进行扫描,包括网络扫描、系统扫描、端口扫描、漏洞扫描等,上述的扫描行为是攻击入侵的前期准备阶段,通过信息收集,掌握待攻击设备的系统信息、漏洞信息,从而能够更有效的进行入侵攻击。

武器构建阶段,该阶段均表现为恶意文件、木马程序,通过收集每条安全事件数据的文件名、md5值等定义文件的方式,对恶意文件及恶意文件的变种进行记录,从而能够在对还原网络攻击链进行追溯。

载荷投递阶段,该阶段主要通过社会工程学攻击、水坑攻击、接触式攻击和漏洞攻击等攻击方式对待攻击设备进行攻击。社会工程学攻击是一种通过社交网络或是其他途径获取目标敏感信息,随后利用这些信息进行进一步渗透的攻击方式。这种渗透方式利用了人性弱点,十分隐蔽,且难以被安全系统所察觉,攻击成功率较高。水坑攻击是在一种较为特殊的社会工程学方法,主要是通过待攻击设备经常访问的网站,然后将该网站其攻陷并在该网站中植入恶意代码,当待攻击设备再次访问该网站时就会触发网页中的恶意代码,执行攻击者的指令。这样既不会直接发送攻击流量避免被溯源,也可以提高攻击的成功率和准确率。接触式攻击即采用非技术手段接触待攻击设备(例如直接在待攻击设备中插入u盘),植入病毒,这种方式成本代价较高,但是特异性和成功率非常高。漏洞攻击是较为底层的攻击方式,除了通过社会工程学手段直接获取待攻击设备的管理权限外,几乎所有的其他攻击手段都要通过漏洞攻击加以实施。

突防利用阶段,该阶段是利用恶意程序对目标主机直接发起攻击,包括利用栈、堆方面的漏洞,利用web系统平台方面的漏洞,逻辑配置错误方面的漏洞,内存破坏方面的漏洞等,对待攻击设备发起攻击。成功之后常常包含ftp登录成功、telnet猜测成功信息等。

安装植入阶段,该阶段是指在攻击者成功进入待攻击设备后,在待攻击设备中安装恶意软件、木马程序或是直接挂马等,通过这些恶意的工具实现攻击者获取待攻击设备的控制权限,以使待攻击设备下载其他恶意软件等。

命令和控制阶段,该阶段即攻击者在待攻击设备安装完恶意软件后,恶意软件在待攻击设备产生的恶意行为包括控制链接、对待攻击设备进行恶意操作等。表现为待攻击设备的对外访问、异常请求或恶意行为等。

目标达阶段,该阶段有两种:一种是对待攻击设备进行破坏,损毁待攻击设备中的重要文件,进行恶意操作;另一种是窃取待攻击设备中存储的文件,例如,攻击者控制待攻击设备将敏感文件回传给攻击者等。

下面将举例说明网络攻击形成的网络攻击链:

例如,攻击者首先通过对待攻击设备进行tcp端口扫描、web漏洞扫描搜集待攻击设备情报。

接着,攻击者根据上述的待攻击设备情报找出核心攻击文件backdoor.win32.xiaoyu.generic.a,并根据该核心攻击文件构建攻击文件。

然后,攻击者对待攻击设备进行ssh暴力破解、sql注入将攻击文件植入待攻击设备,之后利用待攻击设备的弱口令漏洞和存在任意代码执行漏洞,在待攻击设备中植入木马。最后

当触发木马活动,攻击者监测到待攻击设备的远控活动,攻击者将控制待攻击设备将敏感文件上传。

实施例二:

本发明还提供了一种基于动态关联分析的网络攻击链识别装置,该装置用于执行本发明实施例上述内容所提供的基于动态关联分析的网络攻击链识别方法,以下是本发明实施例提供的基于动态关联分析的网络攻击链识别装置的具体介绍。

如图5所示,上述的基于动态关联分析的网络攻击链识别装置包括:第一获取单元10,确定单元20和添加单元30;

所述第一获取单元10用于从第一数据库中获取目标数据,所述目标数据为基于目标数据流确定的,所述目标数据流为网络攻击设备对待攻击设备进行攻击时发出的数据,所述目标数据包括:待攻击设备的漏洞数据和待攻击设备的安全事件数据;

所述确定单元20用于基于所述目标数据的属性信息,确定各个所述目标数据的动态关联信息,所述属性信息包括:所述目标数据的生成时间,发出所述目标数据的设备的ip地址,所述动态关联信息用于确定所述目标数据所属的攻击阶段;

所述添加单元30用于基于所述动态关联信息,将所述目标数据作为所述目标攻击阶段的攻击数据添加至所述目标网络攻击链,所述目标攻击阶段为所述目标网络攻击链中未添加对应攻击数据的阶段。

在本发明实施例中,首先,第一获取单元从第一数据库中获取目标数据,然后,确定单元基于目标数据的属性信息,确定各个所述目标数据的动态关联信息,最后,添加单元基于动态关联信息确定目标数据所属的攻击阶段,将所述目标数据作为目标攻击阶段的攻击数据添加至目标网络攻击链,其中,目标数据包括:网络攻击设备的漏洞数据和攻击设备的安全事件数据,进而解决了现有技术中无法对漏洞数据和安全数据进行分析,并得到网络攻击链的技术问题,从而解决了现有技术中无法对漏洞数据和安全事件数据进行分析,并基于漏洞数据和安全事件数据还原网络攻击链的技术问题,到达了能够对网络攻击行为或黑客行为进行还原的技术效果。

可选地,所述装置还包括:第二获取单元40,所述第二获取单元40用于在从第一数据库中读取目标数据之前,获取所述目标数据流;对所述目标数据流进行处理,得到目标数据;将所述目标数据存储在所述第一数据库中。

可选地,所述第二获取单元40还用于:对所述目标数据流进行数据流转换处理,得到中间数据;对所述中间数据进行格式转换和数据清洗,得到所述目标数据。

可选地,第一获取单元10还用于:按照预设周期获取所述预设周期内所述第一数据库中的新增数据,并将所述新增数据作为所述目标数据。

可选地,第一获取单元10还用于:获取目标用户发送的请求信息,基于所述请求信息从所述第一数据库获取与所述请求信息相对应的数据,并将所述相对应的数据作为所述目标数据。

可选地,所述装置还包括:展示单元50,所述展示单元用于获取所述第二数据库中存储的完整网络攻击链,并对所述完整网络攻击链进行展示,其中,所述完整网络攻击链包括以下攻击阶段的攻击数据:侦查阶段,武器构建阶段,载荷投递阶段,突防利用阶段,安装植入阶段,命令控制阶段,目标达成阶段。

可选地,所述装置还包括:告警单元60,所述告警单元用于判断所述完整网络攻击链的安全等级,其中,所述安全等级包括:第一等级和第二等级,所述第一等级表示所述完整网络攻击链为安全网络攻击链,所述第二等级表示所述完整网络攻击链为危险网络攻击链;如果判断结果为所述完整网络攻击链的安全等级为所述第二等级,则向所述完整网络攻击链对应的终端设备发送告警信息

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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