一种基于相似度计算的攻击路径重构方法与流程

文档序号:16812065发布日期:2019-02-10 13:46阅读:205来源:国知局
一种基于相似度计算的攻击路径重构方法与流程

本发明涉及一种基于相似度计算的攻击路径重构方法。



背景技术:

随着web技术的飞速发展,网络攻击日益增多。网络攻击对国家安全和社会秩序构成极大威胁。网络安全态势分析通过检测来自不同安全设备的攻击警报来反映当前的态势威胁。威胁态势分析必须考虑以下两个问题。第一种情况是,多个日志设备中的一个攻击行为可能导致大量重复的攻击警报。二是网络攻击变得越来越复杂,攻击行为可以包括多个攻击步骤,每个攻击步骤可以在不同的设备上生成警报。为了准确检测攻击行为,跟踪攻击源,发现网络系统的薄弱环节,需要对攻击警报进行融合并重构攻击路径。目前,还没有公开文献涉及恶意站点的实时在线检测方法。



技术实现要素:

为了解决目前对于复杂情况下网络攻击的分析方法较为落后导致对于网络威胁的处理实时性不足的技术问题,本发明提供一种基于相似度计算的攻击路径重构方法。

为了实现上述技术目的,本发明的技术方案是,

一种基于相似度计算的攻击路径重构方法,包括以下步骤:

步骤一,搭建包括日志采集子系统、日志融合子系统和攻击路径重构子系统在内的攻击路径重构系统;

步骤二,启动攻击路径重构系统;

步骤三,日志采集子系统采集网络日志、主机日志和应用程序日志;然后根据特征匹配来判断日志记录中是否存在攻击告警,并将攻击告警存入攻击告警队列aa中;

步骤四,日志融合子系统对攻击告警队列aa中的攻击告警进行融合,去除重复告警,建立攻击事件队列ae;

步骤五,攻击路径重构子系统采用相似度计算方法构造攻击路径队列ap。

所述的一种基于相似度计算的攻击路径重构方法,所述的日志采集子系统包括日志采集客户端和日志采集服务端。

所述的一种基于相似度计算的攻击路径重构方法,所述的步骤三中,日志采集客户端将网络日志、主机日志和应用程序日志采集至日志采集服务端;日志服务端根据特征匹配的方法,判断日志记录中是否存在攻击告警,并将攻击告警存入攻击告警队列aa中。

所述的一种基于相似度计算的攻击路径重构方法,所述的步骤三中,日志采集子系统通过syslog协议来采集网络日志、主机日志和应用程序日志。

所述的一种基于相似度计算的攻击路径重构方法,所述的步骤三中,所述的根据特征匹配来判断日志记录中是否存在攻击告警,是根据日志中所记录的关键字作为特征来判断是否存在攻击告警。

所述的一种基于相似度计算的攻击路径重构方法,所述的步骤四中,日志融合子系统采用如下步骤建立攻击事件队列:

步骤1:初始化攻击事件队列ae为空;

步骤2:取出攻击告警队列中的队头元素aai,并由其他元素填补为队头元素,若攻击告警队列已为空,则结束建立攻击事件队列;

步骤3:比对攻击事件队列ae中是否存在与攻击告警aai的攻击类型、攻击目的地址相同的攻击事件aej元素,且aai的告警发生时间和aej的攻击发生时间差值小于预设阈值;若是,将aej的攻击发生时间修改为aai的告警发生时间,转到步骤2;否则转到步骤4;

步骤4:将攻击告警加入到攻击事件队列中,转到步骤2。

所述的一种基于相似度计算的攻击路径重构方法,所述的步骤五中,攻击路径重构子系统采用如下步骤构造攻击路径队列:

步骤1:初始化攻击路径队列ap为空;

步骤2:取出攻击事件队列ae中的队头元素aei,并由其他元素填补为队头元素,若攻击事件队列已为空,则结束建立攻击路径队列;

步骤3:读取攻击路径队列中的队头元素apj,然后取出攻击路径apj中保存的最后一个攻击事件ael,并判断与aei的相似度sim(aei,ael)是否小于阈值;若是,将aei放入临时数组s中,进入步骤4;否则,进入步骤6,其中取出最后一个攻击事件ael后,由原倒数第二个攻击事件填补为新的最后一个攻击事件;

步骤4:判断apj是否为空,转到步骤5;否则,转到步骤3;

步骤5:取出临时数组s中相似度aei最小的加入到攻击路径apj中,转到步骤2;

步骤6:创建新的攻击路径,转到步骤2;

所述的一种基于相似度计算的攻击路径重构方法,所述的攻击事件相似度sim(aei,ael)计算方法如下:

其中wk为权重值,

其中

sim4(aei,ael)=pmn;

其中,dst_ip为攻击事件的目的地址,src_ip为攻击事件的源地址,dst_port为攻击事件的目的端口,sq为信息系统q的地址范围,class_c为一个c类地址段,pmn为两个攻击步骤的相似度取值,m,n为攻击步骤的序号,取值均为1-5,攻击步骤按照顺序为:扫描,入侵,提权,攻击成功和其他。

所述的一种基于相似度计算的攻击路径重构方法,所述的pmn的取值参见以下矩阵:

本发明的技术效果在于,通过将一个攻击事件中的多次攻击进行融合后形成一个攻击事件,然后通过将多个攻击步骤形成一个攻击路径,有效的将原本较为复杂的网络攻击过程清晰化、条理化,有助于准确的检测攻击行为,跟踪攻击源,发现网络系统的薄弱环节。

附图说明

图1为本发明攻击路径重构系统结构图;

图2为本发明日志采集子系统结构图;

图3为本发明日志融合子系统流程图;

图4为本发明攻击路径重构子系统流程图。

具体实施方式

参见图1-图4,本发明包括以下步骤:

步骤一,搭建包括日志采集子系统、日志融合子系统和攻击路径重构子系统在内的攻击路径重构系统;

步骤二,启动攻击路径重构系统;

步骤三,日志采集子系统采集网络日志、主机日志和应用程序日志;然后根据特征匹配来判断日志记录中是否存在攻击告警,并将攻击告警存入攻击告警队列aa中。日志采集子系统包括日志采集客户端和日志采集服务端。日志采集客户端通过syslog协议将网络日志、主机日志和应用程序日志采集至日志采集服务端;日志服务端根据特征匹配的方法,判断日志记录中是否存在攻击告警,并将攻击告警存入攻击告警队列aa中。

该步骤中,根据特征匹配来判断日志记录中是否存在攻击告警,是根据日志中所记录的关键字作为特征来判断是否存在攻击告警。由于目前网络攻击均具有相应的特征,在日志中会记录到这些特征,在检查是否存在攻击时,只要进行关键字匹配即可。

步骤四,日志融合子系统对攻击告警队列aa中的攻击告警进行融合,去除重复告警,建立攻击事件队列ae。aa和ae中均包括攻击类型、攻击目的地址、发生时间等信息。由于网络攻击在很多情况下会连续发起,故本实施例将一次攻击事件中的多轮攻击记录为一次攻击事件,即通过融合来去除重复告警。具体包括以下步骤:

所述的一种基于相似度计算的攻击路径重构方法,所述的步骤四中,日志融合子系统采用如下步骤建立攻击事件队列:

步骤1:初始化攻击事件队列ae为空;

步骤2:取出攻击告警队列中的队头元素aai,并由其他元素填补为队头元素,若攻击告警队列已为空,则结束建立攻击事件队列;

步骤3:比对攻击事件队列ae中是否存在与攻击告警aai的攻击类型、攻击目的地址相同的攻击事件aej元素,且aai的告警发生时间和aej的攻击发生时间差值小于预设阈值;若是,将aej的攻击发生时间修改为aai的告警发生时间,转到步骤2;否则转到步骤4。其中预设阈值由人为进行设定,需要根据具体的攻击事件来进行设定,如设定为1分钟等。而将aej的攻击发生时间修改为aai的告警发生时间,目的是记录最新发生的攻击时间。

步骤4:将攻击告警加入到攻击事件队列中,转到步骤2。

步骤五,攻击路径重构子系统采用相似度计算方法构造攻击路径队列ap。ap的元素中会包括网络攻击的多个步骤。攻击路径重构子系统采用如下步骤构造攻击路径队列:

步骤1:初始化攻击路径队列ap为空;

步骤2:取出攻击事件队列ae中的队头元素aei,并由其他元素填补为队头元素,若攻击事件队列已为空,则结束建立攻击路径队列;

步骤3:读取攻击路径队列中的队头元素apj,然后取出攻击路径apj中保存的最后一个攻击事件ael,并判断与aei的相似度sim(aei,ael)是否小于阈值;若是,将aei放入临时数组s中,进入步骤4;否则,进入步骤6,其中取出最后一个攻击事件ael后,由原倒数第二个攻击事件填补为新的最后一个攻击事件;

步骤4:判断apj是否为空,转到步骤5;否则,转到步骤3;

步骤5:取出临时数组s中相似度aei最小的加入到攻击路径apj中,转到步骤2;

步骤6:创建新的攻击路径,转到步骤2;

其中攻击事件相似度sim(aei,ael)计算方法如下:

其中wk为权重值,该权重值一般根据网络攻击的不同类型来人为设定。

其中

sim4(aei,ael)=pmn;

其中,dst_ip为攻击事件的目的地址,src_ip为攻击事件的源地址,dst_port为攻击事件的目的端口,sq为信息系统q的地址范围,class_c为一个c类地址段,pmn为两个攻击步骤的相似度取值,即连续发生两个攻击步骤的相应取值,如p12可理解为发生扫描和入侵两个攻击步骤。m,n为攻击步骤的序号,取值均为1-5,攻击步骤按照顺序为:扫描,入侵,提权,攻击成功和其他。pmn的取值参见以下矩阵:

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