一种基于流量模式比对的网络攻击识别方法及识别系统与流程

文档序号:15170330发布日期:2018-08-14 17:54阅读:251来源:国知局

本发明涉及信息安全技术领域,尤其涉及一种基于流量模式比对的网络攻击识别方法及识别系统。



背景技术:

“肉鸡”或“僵尸网络”是网络攻击的一大来源。“肉鸡”是指被黑客使用恶意软件如木马等远程控制的机器,“僵尸网络”则是指互联网上众多被僵尸程序感染的主机所组成的网络并被僵尸程序所控制,无论是肉鸡还是僵尸网络,都能够接受控制者发送的指令,进而作为攻击的发起方展开对网络上其他主机的攻击。

肉鸡和僵尸网络往往具有极强的隐蔽性。为了实现长期有效的控制,控制者会极力隐藏肉鸡上的恶意软件和僵尸程序,用来躲避杀毒软件的扫描。这使得识别和定位肉鸡变得十分困难,在肉鸡和僵尸网络开始实施网络攻击之前,很难准确找到被感染的肉鸡。当前主要使用基于dpi(深度包检测)的流量包特征匹配技术来监测和定位僵尸网络或僵尸网络发起的攻击,但是此类检测方法往往需要在网络数据包中预先发现、分析并提取相应的网络攻击特征,具有显著的滞后性;同时,这种方法对于新出现的网络攻击模式没有检测能力。因此,在攻击出现的初期,设计一种方法能够迅速发现网络攻击并定位攻击的源头是十分有必要的。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于流量模式比对的网络攻击识别方法及识别系统。

本发明的一个方面,提供了一种基于流量模式比对的网络攻击识别方法,包括以下步骤:利用网络流量捕获模块实时捕获多个网络节点的网络流量数据,并将多个网络流量数据分别发送至流量数据划分模块;

利用流量数据划分模块将各网络流量数据分别按预定时间间隔划分为多个流量帧,并将多个流量帧按照时序排列,将排列后的多个流量帧依次发送至流量特征波形图建立模块;

利用流量特征波形图建立模块按照时序接收各个流量帧,并基于每个流量帧建立流量特征波形图,并发送至流量数据对比模块;

利用流量数据对比模块对各网络节点进行两两分组,每一组网络节点按时序进行流量特征波形图的对比,计算每一组网络节点的流量数据相似度,若该流量数据相似度超过预定义的阈值,则判断该组网络节点受到网络攻击。

进一步地,网络流量数据包括数据包的包长、发送/接收的总字节数和源/目的端口。

进一步地,上述基于流量模式比对的网络攻击识别方法,还包括:利用流量数据归一化模块将各时间点的网络流量数据归一化为一数值。

进一步地,流量特征波形图的横坐标为时间点,纵坐标为网络流量数据归一化的数值。

进一步地,上述基于流量模式比对的网络攻击识别方法,还包括:利用告警模块对受到网络攻击的网络节点进行告警。

本发明的另一方面,提供了一种用于实现上述基于流量模式比对的网络攻击识别方法的识别系统,包括:

网络流量捕获模块,用于实时捕获多个网络节点的网络流量数据,并将多个网络流量数据分别发送至流量数据划分模块;

流量数据划分模块,用于将各网络流量数据分别按预定时间间隔划分为多个流量帧,并将多个流量帧按照时序排列,将排列后的多个流量帧依次发送至流量特征波形图建立模块;

流量特征波形图建立模块,用于按照时序接收各个流量帧,并基于每个流量帧建立流量特征波形图,并发送至流量数据对比模块;

流量数据对比模块,用于对各网络节点进行两两分组,每一组网络节点按时序进行流量特征波形图的对比,计算每一组网络节点的流量数据相似度,若该流量数据相似度超过阈值,则判断该组网络节点受到网络攻击。

进一步地,上述基于流量模式比对的网络攻击识别系统,还包括:

流量数据归一化模块,用于将各时间点的网络流量数据归一化为一数值。

进一步地,上述基于流量模式比对的网络攻击识别系统,还包括:

告警模块,用于对受到网络攻击的网络节点进行告警。

与现有技术相比,本发明具有以下优点:

1.本发明的网络攻击识别方法及识别系统采用实时的流量信息作为分析的参照,分析结果更加精准;

2.本发明的网络攻击识别方法及识别系统采用的网络流量数据来源广泛,不受具体平台、恶意代码库等限制,对于新出现的、未知的网络攻击方法也有良好的识别和定位效果;

3.本发明的网络攻击识别方法及识别系统部署灵活,以对用户透明的形式工作,能够有效规避恶意代码的攻击和伪造数据。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明的基于流量模式比对的网络攻击识别方法的步骤图;

图2为本发明的基于流量模式比对的网络攻击识别系统的连接框图;

图3为本发明的基于流量模式比对的网络攻击识别系统的应用示意图;

图4为本发明的基于流量模式比对的网络攻击识别系统的另一应用示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。

图1为本发明的基于流量模式比对的网络攻击识别方法的步骤图,如图1所示,本发明提供的基于流量模式比对的网络攻击识别方法,包括以下步骤:利用网络流量捕获模块实时捕获多个网络节点的网络流量数据,并将多个网络流量数据分别发送至流量数据划分模块;利用流量数据划分模块将各网络流量数据分别按预定时间间隔划分为多个流量帧,并将多个流量帧按照时序排列,将排列后的多个流量帧依次发送至流量特征波形图建立模块;利用流量特征波形图建立模块按照时序接收各个流量帧,并基于每个流量帧建立流量特征波形图,并发送至流量数据对比模块;利用流量数据对比模块对各网络节点进行两两分组,每一组网络节点按时序进行流量特征波形图的对比,计算每一组网络节点的流量数据相似度,若该流量数据相似度超过阈值,则判断该组网络节点受到网络攻击。本发明的网络攻击识别方法采用实时的流量信息作为分析的参照,分析结果更加精准。本发明的网络攻击识别方法采用的网络流量数据来源广泛,不受具体平台、恶意代码库等限制,对于新出现的、未知的网络攻击方法也有良好的识别和定位效果。

本实施例中,网络节点可以是主机,例如可以在一定时间内,捕获主机发出的网络流量数据,并按照固定的时间间隔,将网络流量分片为流量帧,为流量帧建立流量特征波形图,作为该主机的网络流量模式,例如捕获较长时间段(如5分钟)内主机网络流量数据,然后分割成若干较短时间片(如30秒)的流量数据集合,其中每个时间片内的流量数据称为流量帧。捕获网络流量数据时间长度的选择、分片时间间隔的选择、流量数据相似度阈值的选择均可以根据实际的应用场景而定,以适应不同的业务特征,同时避免人为操作带来的影响。流量数据相似度可以是通过对比两台主机在同一时间段内的流量帧生成的流量波形图后经计算得出的,这些流量帧必须按照同样的时间间隔进行分片。针对不同主机,使用其各自的流量特征波形图进行比对。流量特征波形图应当逐帧建立,即按照时间顺序,为每一帧流量帧绘制对应的流量特征波形图,以免出现丢帧或错帧、乱序。在比对流量特征波形图时,应当严格对照流量捕获的时间,逐帧进行比对,以避免时间错位带来的不准确性。在同一个时间段内,不同流量帧之间的比对会产生比对结果,计算同一时间段内对应时间片上流量特征波形图之间的相似度,例如可使用hausdorff距离(豪斯多夫距离)或其他相似度算法,例如12个流量帧的情况下,则会产生12个相似度数值,例如在5分钟的捕获时间段内,以30秒为一个时间片,则会产生12个流量帧,比对过程中则会生成12个比对结果。以hausdorff距离计算为例计算相似度如下,需要作出说明的是,在本发明中相似度的计算方法并不局限于hausdorff距离。

假设为主机a当前流量帧建立波形图,则该波形图可用ga={a1,a2,…,an}表示,其中ai(i∈{1,2,…,n})表示波形图中的点;

同样主机b的流量特征波形图可用gb={b1,b2,…,bn}表示;

则ga和gb之间的hausdorff距离d则可以表示为:

d(ga,gb)=maxh(d(ga,gb),d(gb,ga))

其中,

d(ga,gb)=max(a∈ga)(min(b∈gb)||a-b||)

d(gb,ga)=max(b∈gb)(min(a∈ga)||b-a||)

其中,||a-b||和||b-a||分别表示a,b和b,a之间的欧式距离。

sab=w1*dh1+w2*dh2+……+wn*dhn

其中,sab为主机a与主机b的流量数据相似度,1~n为将一定时间内的网络流量划分的流量帧的个数或者波形图个数,w1~wn为各波形图的加权系数,dh1~dhn为主机a与主机b同一时刻下两波形图之间的hausdorff距离。

当相似度sab达到一定阈值时,就认为主机a与主机b具有相同的流量模式,认为参与比对的主机正在执行网络攻击。其中,相似度的阈值为可变值,用以适应不同的应用环境,增强灵活性。在这里,阈值使用w1~wn加权系数设定,阈值threshold=w1+w2+…+wn,w1~wn的具体数值可初始化为1,也可以在计算过程中根据实际情况进一步设定调整。

上述基于流量模式比对的网络攻击识别方法,还包括:利用流量数据归一化模块将各时间点的网络流量数据归一化为一数值;网络流量数据包括数据包的包长、发送/接收的总字节数和源/目的端口。网络流量数据中的不同数据需要逐一归一化,支持多种归一化方法,包括但不限于z-score,log函数,反正切函数归一化等,例如使用log函数归一化的计算公式如下:

其中,x表示网络流量数据集,xi∈x表示其中的不同类型的数据。

流量特征波形图的横坐标为时间点,纵坐标为网络流量数据归一化的数值。

上述基于流量模式比对的网络攻击识别方法,还包括:利用告警模块对受到网络攻击的网络节点进行告警。

上述基于流量模式比对的网络攻击识别方法,还包括:计算所有网络节点组成的网络中的每一组网络节点的流量数据相似度。

上述基于流量模式比对的网络攻击识别方法,具体包括以下步骤:

s1.主机a和b分别捕获一定时间段内发出的网络流量数据,包括数据包的包长、发送/接收的总字节数、源/目的端口等;

s2.主机a和b将捕获得到的网络流量数据依据固定时间长度进行分片,形成若干流量帧;

s3.将流量数据进行归一化计算,为每一流量帧绘制流量特征波形图;

s4.将不同主机之间同一时间段内的流量特征波形图进行比对,计算对应时间内流量波形图之间hausdorff距离dh;

s5.对得到的hausdorff距离进行加权计算,结果即主机a和b的流量数据相似度sab;

s6.依据流量数据相似度sab判断主机a和b是否正在进行攻击。

图2为本发明的基于流量模式比对的网络攻击识别系统的连接框图,如图2所示,本发明提供的用于实现上述基于流量模式比对的网络攻击识别方法的识别系统,包括:网络流量捕获模块,用于实时捕获多个网络节点的网络流量数据,并将多个网络流量数据分别发送至流量数据划分模块;流量数据划分模块,用于将各网络流量数据分别按预定时间间隔划分为多个流量帧,并将多个流量帧按照时序排列,将排列后的多个流量帧依次发送至流量特征波形图建立模块;流量特征波形图建立模块,用于按照时序接收各个流量帧,并基于每个流量帧建立流量特征波形图,并发送至流量数据对比模块;流量数据对比模块,用于对各网络节点进行两两分组,每一组网络节点按时序进行流量特征波形图的对比,计算每一组网络节点的流量数据相似度,若该流量数据相似度超过阈值,则判断该组网络节点受到网络攻击。本发明的网络攻击识别系统采用实时的流量信息作为分析的参照,分析结果更加精准。本发明的网络攻击识别系统采用的网络流量数据来源广泛,不受具体平台、恶意代码库等限制,对于新出现的、未知的网络攻击方法也有良好的识别和定位效果。

上述基于流量模式比对的网络攻击识别系统,还包括:流量数据归一化模块,用于将各时间点的网络流量数据归一化为一数值;网络流量数据包括数据包的包长、发送/接收的总字节数和源/目的端口。流量特征波形图的横坐标为时间点,纵坐标为网络流量数据归一化的数值。

流量数据相似度的计算公式如下:

s=w1*dh1+w2*dh2+……+wn*dhn

其中,s为第一主机与第二主机的流量数据相似度,n为第一主机与第二主机中流量特征波形图个数,w1~wn为各流量特征波形图的加权系数,dh1~dhn分别为第一主机与第二主机同一时刻下两波形图之间的hausdorff距离,

其中,d(ga,gb)=maxh(d(ga,gb),d(gb,ga))

d(ga,gb)=max(a∈ga)(min(b∈gb)||a-b||)

d(gb,ga)=max(b∈gb)(min(a∈ga)||b-a||)

ga={a1,a2,…,an},gb={b1,b2,…,bn}

其中,ga为第一主机的波形图,a1,a2,…,an为第一主机的波形图的点,

gb为第二主机的波形图,b1,b2,…,bn为第二主机的波形图的点,

||a-b||和||b-a||分别表示a,b和b,a之间的欧式距离。

上述基于流量模式比对的网络攻击识别系统,还包括:告警模块,用于对受到网络攻击的网络节点进行告警。

网络流量捕获模块电连接至流量数据划分模块,流量数据划分模块电连接至流量数据归一化模块,流量数据归一化模块电连接至流量特征波形图建立模块,流量特征波形图建立模块电连接至流量数据对比模块,流量数据对比模块电连接至告警模块。

图3为本发明的基于流量模式比对的网络攻击识别系统的应用示意图,如图3所示,本发明的基于流量模式比对的网络攻击识别系统使用代理模块的方式部署在集群网络中,通过流量模式定位和识别网络攻击,用于发现集群中被木马或僵尸程序控制的主机,包括以下步骤:

s1.在集群中各主机上部署代理模块,代理模块主动连接管理中心并等待管理中心完成初始化操作;

s2.管理中心通过代理模块向集群主机下发相关参数,包括捕获时间段的长度、分片时间间隔的长度、流量数据相似度阈值等,完成集群代理模块的初始化;

s3.集群代理模块初始化完成后,开始根据参数进行流量捕获、流量帧分片以及生成流量特征波形图,并将流量特征波形图上传给管理中心;

s4.管理中心使用流量特征波形图分别计算每两台主机之间的流量数据相似度,并比对流量数据相似度是否超出预设的阈值,如果超出,则向系统管理员发出告警信息。

图3所示的应用系统包括:集中的管理中心,用于制定和下发流量捕获的参数,例如捕获时间段的长度、分片时间间隔的长度、流量数据相似度阈值等,还同时负责接收和存储集群中主机上传的流量特征波形图,并完成每两台主机的流量数据相似度计算、阈值比对、管理员告警等操作;为集群内每台主机部署的代理模块,用于实施流量捕获、对流量进行分片、流量特征波形图的生成、上传流量波形图到管理中心以及接收管理中心下发的参数;以及集群中各主机。本发明的网络攻击识别方法及识别系统部署灵活,以对用户透明的形式工作,能够有效规避恶意代码的攻击和伪造数据。

本实施例中,管理中心和集群中主机之间的通信连接应当是安全连接,保障数据传输的机密性和完整性。

本实施例中,在管理中心对集群中主机流量数据相似度的计算和阈值比对应当是两两计算比对,同时应当是实时的,确保网络攻击识别的全面性和实时性。

本实施例中,集群中代理模块对流量数据的捕获,流量特征波形图的建立和上报,以及网络流量特征相似度的计算应当以实时的方式进行,以确保识别的准确性和实时性。

图4为本发明的基于流量模式比对的网络攻击识别系统的另一应用示意图,如图4所示,本发明的基于流量模式比对的网络攻击识别系统在集群网络中独立使用流量模式定位和识别网络攻击,用于发现和定位网络攻击源,包括以下步骤:

s1.从网络集群的网络设备上收集流量数据(如核心交换机);

s2.将收集到的流量数据根据源地址分类,即为每一台集群主机发出的网络流量归为独立的类;

s3.使用统一的参数将主机网络流量进行分段、在每一个分段内划分流量帧;

s4.为每一片流量帧建立流量特征波形图,使用流量特征波形图分别计算每两台主机之间的流量数据相似度,如果流量数据相似度高于正常阈值,则认为这两台主机具有相同的网络流量模式,参与对比的主机正在执行网络攻击。

图4所示的应用系统包括:网络设备例如核心交换机等,用于收集网络流量数据并根据来源进行分类,即将来自同一主机的网络流量归为一类,为不同源主机的网络流量建立流量特征波形图,使用波形图计算不同主机发出的网络流量特征相似度,定位具有相同流量模式的主机,以及集群中各主机。本发明的网络攻击识别方法及识别系统部署灵活,以对用户透明的形式工作,能够有效规避恶意代码的攻击和伪造数据。

本实施例中,网络流量数据的收集采用旁路获取的手段,例如镜像交换机流量,不能影响集群网络的正常使用;

本实施例中,流量数据的分类和流量特征波形图的生成应当是实时的,确保发现和定位网络攻击源的实时性。

本实施例中,为不同源主机的网络流量建立流量特征波形图,使用波形图计算网络流量特征相似度,定位具有相同流量模式的主机。

以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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