一种网络攻击分析方法与流程

文档序号:12478019阅读:432来源:国知局

本发明涉及信息安全领域,具体涉及一种网络攻击分析方法。



背景技术:

Internet的飞速发展,为信息的传播和利用带来了极大的方便,同时也使人类社会面临着信息安全的巨大挑战。为了缓解日益严重的安全问题,入侵检测设备(IDS:IntrusionDetectionSystem)得到了越来越广泛的部署。IDS安装在被保护的网段中,其监听网卡工作在混杂模式下,分析网段中所有的数据包,进行网络攻击事件的实时检测和响应。目前IDS普遍采用误用检测技术,其检测方法为:首先对标识特定的入侵行为模式进行编码,建立误用模式库,然后对实际检测过程中得到的事件数据进行过滤,检查是否包含入侵行为的标识。如果检测到入侵行为,则产生一条对应的日志,其中包含了入侵行为发起方地址(源地址)、入侵行为目标地址(目的地址)、入侵行为描述(事件类型)等信息。

入侵检测设备的大量引入一方面保护了信息系统的安全,另一方面也带来了新的问题,概况起来主要体现在以下两个方面:

1.连续运行的入侵检测设备会产生海量的日志,而真正有价值的报警信息被淹没在海量日志中。由于报警量大、不相关报警多,安全管理人员的大部分精力被耗费在处理无用信息上,很难了解系统的安全威胁状况。

2.现有的入侵检测设备大都是基于单个数据包进行检测的,体现在表现形式上,入侵检测设备的报警信息为孤立的入侵事件。这样当出现大规模网络异常行为时,很难从报警信息中直观获取异常行为的特点,难以从整体上评估当前的网络攻击状况。



技术实现要素:

本发明的目的在于克服现有技术中的上述缺陷,实现对海量日志的自动分析,给出对当前网络攻击状况的评价,以提高安全管理的效率。

根据本发明的目的,本发明提供了一种网络攻击分析方法,其特征在于,该方法包括以下步骤:

A.用于进行熵检测的步骤:读取所述入侵检测设备日志,计算所述入侵检测设备日志的源地址和目的地址的熵分布值,判断是否存在大规模的网络攻击事件,并输出判断结果;

B.用于进行三元组检测的步骤:读取所述入侵检测设备日志,根据源地址、目的地址、事件类型三个参数,对所述入侵检测设备日志进行归并,检测并报告异常地址或热点事件,并输出检测结果;

C.用于进行热点事件传播展示的步骤:读取所述入侵检测设备日志,统计并展示热点事件在指定时间段内的传播过程,并输出统计结果;

D.用于进行综合关联分析的步骤:根据上述三个步骤输出的判断结果、检测结果、统计结果进行关联分析,给出当前网络攻击状况的评价。

根据该方法,所述步骤A中利用指数加权移动平均算法检测所述入侵检测设备日志的源地址和目的地址的熵分布值,还更进一步地进行地址分布异常判断,具体包括以下步骤:

A1.学习阶段:根据设定的学习周期,建立源地址熵值、目的地址熵值的基线,所述基线包括所述熵值的正常值和波动范围;

A2.实时检测阶段:根据学习阶段建立的源地址熵、目的地址熵的基线,判断当前源地址熵值、目的地址熵值是否正常,从而判断所述入侵检测设备日志的地址分布是否异常,并根据当前的地址熵值动态更新基线。

根据该方法,所述步骤B对所述入侵检测设备日志进行归并后,检测并报告与源地址、目的地址、事件类型三个参数相关的事件集合。优选地,出现7种攻击情况:

B1.单一方式攻击:源地址、目的地址、事件类型均相同的事件集合;

B2.多种方式攻击:源地址、目的地址相同,事件类型任意的事件集合;

B3.查找攻击目标:源地址、事件类型相同,目的地址任意的事件集合;

B4.遭受同种攻击:目的地址、事件类型相同,源地址任意的事件集合;

B5.主要攻击来源:源地址相同,目的地址、事件类型任意的事件集合;

B6.濒危受害目标:目的地址相同,源地址、事件类型任意的事件集合;

B7.热点事件排名:事件类型相同,源地址、目的地址任意的事件集合。

根据该方法,所述步骤C中还包括根据步骤B中检测出并报告的热点事件中获取当前热点事件,然后以分钟为单位,计算出指定时间段内发出过这些事件的源地址的数量。

根据该方法,所述步骤C中进行展示的方式为图形显示。

根据该方法,所述步骤D给出当前网络攻击状况的评价的内容包括:源IP地址分布状况、目的IP地址分布状况、当前最活跃的攻击情况、当前的热点事件以及热点事件在过去一个设定时间段的传播过程。

本发明的网络攻击分析方法具有以下优点:

1、通过计算入侵检测设备日志的源地址和目的地址的熵分布值,能够检测出引起地址分布异常的大规模网络攻击事件,如网络扫描、分布式拒绝服务攻击等。

2、根据源地址、目的地址、事件类型三个参数进行归并,能够检测出多种攻击情况,能够在发生大规模网络攻击事件时能够检测出攻击源、攻击目标和事件类型。

3、通过观测和展示热点事件的传播过程,便于网络管理员判断该热点事件的发展趋势,从而制定出合理的应对措施。

为了进一步说明本发明的原理及特性,以下结合附图和具体实施方式对本发明进行详细说明。

附图说明

图1是按照本发明一个实施方式的网络攻击分析系统的结构示意图。

具体实施方式

下面结合附图详细描述本发明的具体实施方式。

图1是按照本发明一个实施方式的网络攻击分析系统的结构示意图。在按照该实施方式的网络攻击分析系统100中,包括熵模块单元101、三元组模块单元102、热点事件传播展示模块单元103、综合关联分析模块单元104。

熵模块单元101用于读取一个指定时间段内的入侵检测设备日志,然后计算入侵检测设备日志的源地址和目的地址的熵分布值,判断是否存在大规模网络攻击事件,然后向综合关联分析模块单元104输出当前网络攻击事件地址分布状况的判断结果。

三元组模块单元102用于读取一个时间段内的入侵检测设备日志,分别根据入侵检测设备日志的源地址、目的地址、事件类型对入侵检测设备日志进行归并,从而检测并报告异常地址、热点事件,并向综合关联分析模块单元104输出统计结果。

热点事件传播展示模块单元103用于从三元组模块单元102中获取当前的热点事件,计算出指定时间段内发出过这些事件的源地址的数量,向综合关联分析模块单元104输出统计结果,同时展示热点事件在该时间段内的传播过程。优选地,上述指定时间段以分钟为单位,上述统计结果是发出热点事件的源IP地址的数量。优选地,上述展示过程采用图形方式进行显示。

综合关联分析模块单元104用于分别接收来自熵模块单元101、三元组模块单元102、热点事件传播展示模块单元103的输出结果、检测结果和统计结果,并对这些接收到的结果进行关联分析。优选地,综合关联分析模块单元104对网络攻击状况进行综合评价的内容包括但不局限于:源IP地址分布状况、目的IP地址分布状况、当前最活跃的攻击情况、当前的热点事件以及热点事件在过去一个设定时间段内的传播过程。

按照本发明的一个实施方式,三元组模块单元103向综合关联分析模块单元104输出的统计结果包括以下7种攻击情况:

1、单一方式攻击:源地址、目的地址、事件类型均相同的事件集合;

2、多种方式攻击:源地址、目的地址相同,事件类型任意的事件集合;

3、查找攻击目标:源地址、事件类型相同,目的地址任意的事件集合;

4、遭受同种攻击:目的地址、事件类型相同,源地址任意的事件集合;

5、主要攻击来源:源地址相同,目的地址、事件类型任意的事件集合;

6、濒危受害目标:目的地址相同,源地址、事件类型任意的事件集合;

7、热点事件排名:事件类型相同,源地址、目的地址任意的事件集合。

更进一步地,按照本发明的一个实施方式,假设三元组模块单元103设置成获取每种攻击中排名最高的攻击情况,则如果某个检测周期内入侵检测设备共检测到以下攻击事件:

1.主机192.168.0.1对主机192.168.1.1实施了50次“SYN_FLOOD拒绝服务攻击”;

2.主机192.168.0.2对主机192.168.1.2实施了10次“FTP口令猜测攻击”;

3.主机192.168.0.3对主机192.168.1.1~192.168.1.100共100台主机各进行了一次“HTTP端口扫描攻击”;

4.主机192.168.0.1对主机192.168.1.1实施了30次“MS_LSA_远程缓冲区溢出漏洞利用攻击”;

5.主机192.168.0.4对主机192.168.1.1实施了40次“SYN_FLOOD拒绝服务攻击”;

那么,三元组模块单元103检测出并报告的攻击情况为:

单一方式攻击:源地址:192.168.0.1,目的地址:192.168.1.1,事件类型:SYN_FLOOD拒绝服务攻击,事件次数:50;

多种方式攻击:源地址:192.168.0.1,目的地址:192.168.1.1,事件次数:80;

查找攻击目标:源地址:192.168.0.3,事件类型:HTTP端口扫描攻击,事件次数:100;

遭受同种攻击:目的地址:192.168.1.1,事件类型:SYN_FLOOD拒绝服务攻击,事件次数:90;

主要攻击来源:源地址:192.168.0.3,事件次数:100;

濒危受害目标:目的地址:192.168.1.1,事件次数:121;

热点事件排名:事件类型:HTTP端口扫描攻击,事件次数:100。

以下是检测源地址、目标地址熵分布值的流程。该流程从步骤201开始。

步骤201:读取熵检测配置参数信息,并且将当前的地址熵检测阶段设置为学习阶段。

步骤202:查询当前观测周期内,入侵检测设备报告的所有日志。

步骤203:对入侵检测设备上报的所有日志进行统计,统计出日志中所有的源IP地址、目的IP地址的出现次数。在统计的时候利用哈希(Hash)算法将源IP地址、目的IP地址映射为整数。优选地,源IP地址、目的IP地址为32位的IPv4地址,在统计的时候利用Hash(哈希)算法将这些32位的IPv4地址映射为16位的整数。

步骤204:计算源IP地址、目的IP地址熵分布H。优选的计算方法为:

H=(-Σi=065535(CiS)log2(CiS))/log2S

其中,

Ci是经过Hash运算后的IP地址i出现的次数,

S是当前观测周期内总的IP地址数量,S=Σi=065535Ci.

当然,本领域的技术人员应该理解,计算熵分布的算法也可以采用现有技术中任何适当的熵分布算法。

步骤205:判断当前的熵检测阶段是否处于学习阶段,如果判断结果为“是”,则进入步骤206,否则进入步骤209。

步骤206:计算估计误差并更新误差队列。具体包括:计算源地址的熵估计误差、目的地址的熵估计误差,并将上述估计误差都加入到误差队列中。优选地,计算源地址的熵估计误差、目的地址的熵估计误差的优选算法是采用指数加权移动平均数(EWMA,ExponentiallyWeightedMovingAverage)算法,具体的优选计算方法为:

Si=αxi-1+(1-α)Si-1

ei=xi-Si

其中,

Si是第i期地址熵平滑值;

α是平滑系数,取值范围为(0,1),根据从步骤201读取的配置参数信息中得到;

xi是第i期地址熵计算值,由步骤204中的计算结果得到;

ei是第i期估计误差。

当然,本领域的技术人员应该理解,计算熵估计误差的算法也可以采用现有技术中任何适当的移动平均算法。

步骤207:判断误差队列是否已满。具体包括:根据从步骤201读取的熵检测配置参数信息中得到的队列长度参数,判断误差队列的长度是否满足队列长度参数要求,如果判断结果为“是”,则进入步骤208,否则进入步骤202。

步骤208:计算地址熵的基线并进入到实时检测阶段。具体包括:计算源地址熵、目的地址熵的基线,并将当前的地址熵检测阶段设为实时检测阶段,然后进入步骤202。计算上述基线的优选计算方法为:

(1)根据误差序列计算平均平方误差σ:

MSE=Σi=0L-1ei2L

σ=MSE

(2)根据EWMA算法,计算下一个观测周期的地址熵的预测值:

Sn=αxn-1+(1-α)Sn-1

步骤209:判断当前源IP地址熵、目的IP地址熵分布是否正常,如果判断结果为“是”,则进入步骤210,否则进入步骤211。

具体的判断方法为:计算地址熵预测值Sn与计算值之间的差值:

(1)如果|Sn-xn|<3σ,则当前的地址熵分布正常;

(2)如果3σ≤|Sn-xn|<5σ,则当前的地址熵分布轻度异常;

(3)如果5σ≤|Sn-xn|<8σ,则当前的地址熵分布中度异常;

(4)如果|Sn-xn|≥8σ:则当前的地址熵分布高度异常。

步骤210:输出当前地址熵状态并更新基线。更新基线的具体方式是:删去误差队列中的第一个元素,将步骤209中的估计误差加入到误差队列的末尾,利用步骤208的方法重新计算基线。然后进入步骤202。

步骤211:输出当前地址熵检测状态,然后进入步骤202。

以下按照本发明一个实施方式详细描述进行一次攻击分析的过程。

假设某个网段有192.168.0.1~192.168.0.100共100台主机,某个时刻攻击者利用这100台主机,向另外一台主机192.168.1.1发起了SYN_FLOOD拒绝服务攻击。为了避免引起网络流量突变,攻击者每分钟添加10台主机进行攻击,10分钟后100台主机都被用来进行攻击。

那么,按照本发明一个实施方式对该次攻击的分析过程为:

1.由于所有的发起的攻击都是针对主机192.168.1.1的,在入侵检测设备产生的日志中,目的地址的分布状态非常明显。因此熵模块单元101首先会检测到出现了异常,并按照上述地址熵检测流程,更进一步地得到该网段内所针对的目标地址都是192.168.1.1。然后,熵模块单元101将地址熵分布异常、目的地址集中为192.168.1.1的判断结果送到综合关联分析模块单元104。

2.三元组模块单元102通过从源地址、目的地址、事件类型三个参数进行归并,得出当前最常见的攻击情况是:目标为192.168.1.1的主机,受到类型为SYN_FLOOD拒绝服务的攻击,当前最活跃的攻击事件为SYN_FLOOD拒绝服务攻击,并将检测结果送到综合关联分析模块单元104。

3.热点事件传播模块单元103统计后得出这10分钟内,发出SYN_FLOOD拒绝服务攻击的主机次数在逐渐增加,并将统计结果送到综合关联分析模块单元104。

4.综合关联分析模块单元104接收并关联分析熵模块单元101、三元组模块单元102、热点事件传播展示模块单元103输出的结果,从而得出网络攻击状况的综合评价:由于地址熵分布异常,且目的地址都集中在主机192.168.1.1上,因此发生了针对该主机的拒绝服务攻击;攻击的类型为SYN_FLOOD拒绝服务攻击;攻击过程为从起始时刻起,每分钟增加10台主机进行攻击,直至攻击源总数为100台主机。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

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