一种网络异常识别检测方法及装置与流程

文档序号:15930967发布日期:2018-11-14 01:38阅读:134来源:国知局

本发明涉及网络信息安全领域,特别涉及一种网络异常识别检测方法及装置。

背景技术

近年来,网络规模不断扩大,各种网络应用快速普及。网络给人们的生活、工作和学习带来了极大的便利,人们对网络的依赖性日益增强,但是,同时,规模庞大的网络、复杂多样的设备以及各种新应用的加入也带来了一系列的问题,网络安全问题日益显著,这对保证网络的正常运行提出了更大的挑战。网络异常情况会占用带宽资源造成网络拥塞,引起网络丢包、时延增大,情况严重时甚至会导致网络痛疾;还会浪费大量的网络资源,使正常信息无法得到及时的处理。

在每天的巨大的网络流量中,有一些不是正常的网络流量,它们可能是攻击性流量,会对于整个网络造成危害。因此,通过监控实时的网络流量来发现那些异常的网络流量是很重要的。网络异常出现在很大一部分网络流量中并且对于整个网络的性能有很大的影响,可能是由于网络拓扑结构的改变和网络的非正常使用所引起的。同样,网络流量的异常也可能是设备故障和一些网络攻击所引起的,对于这种事件的早期检测是特别有用的,因为它们可能损害网络的安全和可靠的操作。

网络异常检测的目的是检测给定网络流量数据中不符合既定正常模式的行为。这些异常可能会浪费网络资源,导致网络设备和终端主机的性能下降,并导致所有互联网用户的安全问题。因此,准确地检测此类异常已经成为网络社区需要解决的一个重要问题,从大量的数据中区分不同的异常模式是一个挑战。我们可以发现,对于网络流量进行监控并且能发现其中的异常流量对于网络安全是很有意义的。更进一步来说,如果能将异常流量进行分类,将每种异常流量对应到具体的系统故障或者网络攻击,那么对于网络的日常管理和运营维护将会有很大的帮助。

已有检测算法多侧重于对网络异常情况的发现而忽略了对异常行为的进一步分析,比如异常时刻定位、异常类型分析、多节点情形分析等等,恰恰这些分析工作更有利于异常行为的预防和异常源的定位等网络安全问题。吴巍等人的《一种基于深度学习的移动自组织网络入侵检测方法与设备》提出了一种用卷积神经网络和用深度信念网络来检测移动自组网入侵的方法。在中国专利申请公告号为cn101610516a、发明名称为“自组织网络中的入侵检测方法与设备”的专利文件中公开了一种基于信息增益将网络特征分类,采用支持向量机从分组中筛选最优特征子集,判断网络是否被入侵的入侵检测方法。但是该方法只能检测到网络中是否存在入侵,不能识别出入侵类型,只是一种异常检测技术;该方法使用的是一种浅层神经网络学习模型,不具有深度学习的优势。

对于流量检测方面,大部分已有工作只注重了用异常流量本身的特征来判断流量是否异常,却忽略了网络流量在时间上的联系。对于正常流量来说,虽然在短时间内可能没有时间上的规律,但是在一周内或者一天内的网络流量,也是有一定的规律可循的。而对于攻击来说,很多攻击其实也是循序渐进的,一种攻击作为另外一种攻击的铺垫,最后一步步的达成目的。所以无论对于正常流量和异常流量,时间上的联系都是存在的。



技术实现要素:

有鉴于此,本发明实施例提供了一种网络异常识别检测方法及装置,使用深度神经网络模型在普通特征值的基础上利用普通特征值之间的联系提取出更加丰富的特征值,并且在检测时,加入网络流量在时间上的联系,可以有效的提高网络异常的检测率。

第一方面,本发明提供一种网络异常识别检测方法,所述方法包括:

实时采集训练所需的第一实时网络流量,将所述第一实时网络流量转换为训练用流量数据包;

对所述训练用流量数据包进行预处理得到特征值数据;

利用所述特征值数据对深度神经网络模型进行训练直至稳定;

实时采集使用阶段的第二实时网络流量,将所述第二实时网络流量转换为检测用流量数据包;

利用深度神经网络模型对所述检测用流量数据包进行检测并输出结果。

作为一种可选的方案,所述对所述训练用流量数据包进行预处理得到特征值数据,具体包括:

捕获目标训练网络的训练用流量数据包;

对捕获的训练用流量数据包在分布式系统中进行预处理;

对预处理完的训练用流量数据包使用卷积神经网络进行第一行为特征值数据提取并且将所述第一行为特征值数据进行分类标记;

将所述第一行为特征值数据拆分分成训练数据和测试数据。

作为一种可选的方案,所述利用所述特征值数据对深度神经网络模型进行训练直至稳定,具体包括:

初始化深度神经网络模型的模型参数,所述模型参数包括学习率、深度和每一层的神经元个数;

将所述训练数据输入深度神经网络模型中对lstm长短期记忆网络进行训练,深度神经网络模型自动调整神经元之间的连接权重,得到对所述训练数据的抽象表达;

使用所述测试数据测试深度神经网络模型,对所述模型参数进行优化直至达到目标效果;

将优化完成的深度神经网络模型进行本地化存储。

作为一种可选的方案,所述测试数据包括网络正常行为数据和网络入侵行为数据,所述使用所述测试数据测试深度神经网络模型,对所述模型参数进行优化直至达到目标效果,包括:

将所述网络正常行数据和所述网络入侵行为数据分别输入深度神经网络模型,测试模型检测效果,优化调整模型参数直至检测效果达到目标效果。

作为一种可选的方案,所述实时采集使用阶段的第二实时网络流量,将所述第二实时网络流量转换为检测用流量数据包,具体包括:

实时采集使用阶段的第二实时网络流量并转换为检测用流量数据包;

对捕获的检测用流量数据包在分布式系统中进行预处理;

对预处理完的检测用流量数据包使用卷积神经网络进行第二行为特征值数据提取。

作为一种可选的方案,所述利用深度神经网络模型对所述检测用流量数据包进行检测并输出结果,具体包括:

当深度神经网络模型对所述第二行为特征值数据进行检测的输出结果为正常时,对所述第二实时网络流量进行放行;

当深度神经网络模型对所述第二行为特征值数据进行检测的输出结果为异常时,对所述第二实时网络流量进行异常处理。

作为一种可选的方案,所述当深度神经网络模型对所述第二行为特征值数据进行检测的输出结果为异常时,对所述第二实时网络流量进行异常处理,具体包括:

对深度神经网络模型对所述第二行为特征值数据进行检测,若符合已知入侵类型,则输出结果为告警所述类型入侵;

对深度神经网络模型对所述第二行为特征值数据进行检测,若不符合已知入侵类型,则将所述第二行为特征值数据作为新网络入侵特征向量进行存储,当深度神经网络模型可以识别存储的新网络入侵特征向量则使用聚类算法对所述第二行为特征值数据进行聚类划分,将聚类后的新网络入侵特征向量训练深度神经网络模型,以使得此类入侵类型再次发生时被检测识别。

作为一种可选的方案,所述对所述第二实时网络流量进行异常处理,包括:

当所述第二实时网络流量的异常为外部攻击行为时进行拦截;

当所述第二实时网络流量的异常为内部工作异常时提醒相应管理人员。

作为一种可选的方案,所述分布式系统采用mapreduce框架。

第二方面,本发明提供一种网络异常识别检测装置,所述装置包括:

转换单元,用于实时采集训练所需的第一实时网络流量,将所述第一实时网络流量转换为训练用流量数据包;

预处理单元,用于对所述训练用流量数据包进行预处理得到特征值数据;

训练单元,用于利用所述特征值数据对深度神经网络模型进行训练直至稳定;

所述转换单元还用于实时采集使用阶段的第二实时网络流量,将所述第二实时网络流量转换为检测用流量数据包;

处理单元,用于利用深度神经网络模型对所述检测用流量数据包进行检测并输出结果。

本发明提供的网络异常识别检测方法及装置,使用了分布式框架来处理大量的即时网络数据,提高了数据处理速度,在普通特征值之间丰富了特征值间的联系,并且在检测时,加入了网络流量在时间上的联系,可以有效的提高网络异常的检测率,相比较普通的简单地把流量分成正常和异常流量,可以识别出网络异常流量的具体种类。

附图说明

图1是本发明实施例中的网络异常识别检测方法的流程示意图;

图2是本发明实施例中的网络异常识别检测方法中分布式系统搭建流程图;

图3是本发明实施例中的网络异常识别检测装置的结构框图。

具体实施方式

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

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

结合图1所示,本发明提供一种网络异常识别检测方法,所述方法包括:

s101、实时采集训练所需的第一实时网络流量,将所述第一实时网络流量转换为训练用流量数据包。

针对目标网络进行实时采集,将采集到的第一实时网络流量作为训练使用,将第一实时网络流量转换为训练用流量数据包,可以将训练用流量数据包保存在本地。

s102、对所述训练用流量数据包进行预处理得到特征值数据。

预先定义一个模型根据模型制定学习策略,使用学习策略使模型来学习(拟合)训练数据,得到该模型中的所有参数,使用测试数据评估模型是否精确,如果不够精确则根据学习策略继续学习。如果足够精确,就可以认为机器学习结束,得到模型和参数,在这种方法下,需要预先准备好所有的训练数据,对训练数据进行精心组织和筛选,很多情况下还需要对数据进行标记(监督式学习),在这种算法中要处理完所有数据后才能更新权重和模型。

s103、利用所述特征值数据对深度神经网络模型进行训练直至稳定。

初始化深度神经网络模型的模型参数,所述模型参数包括学习率、深度和每一层的神经元个数,将所述训练数据输入深度神经网络模型中对lstm长短期记忆网络进行训练,深度神经网络模型自动调整神经元之间的连接权重,得到对所述训练数据的抽象表达,使用所述测试数据测试深度神经网络模型,对所述模型参数进行优化直至达到目标效果,将优化完成的深度神经网络模型进行本地化存储。其中,测试数据包括网络正常行数据和网络入侵行为数据,将网络正常行数据和网络入侵行为数据分别输入深度神经网络模型,测试模型检测效果,优化调整模型参数直至检测效果达到目标效果。

s104、实时采集使用阶段的第二实时网络流量,将所述第二实时网络流量转换为检测用流量数据包。

实时采集使用阶段的第二实时网络流量并转换为检测用流量数据包,对捕获的检测用流量数据包在分布式系统中进行预处理,对预处理完的检测用流量数据包使用卷积神经网络进行第二行为特征值数据提取。

s105、利用深度神经网络模型对所述检测用流量数据包进行检测并输出结果。

利用深度神经网络模型对检测用流量数据包进行检测,具体地,当检测到检测用流量数据包采用匹配的方式,当检测用流量数据包中的第二行为特征值数据匹配为正常时候,则输出正常,对该第二实施网络流量进行放行,当检测用流量数据包匹配为异常情况,可以分成多种情况进行处理,对深度神经网络模型对所述第二行为特征值数据进行检测,若符合已知入侵类型,则输出结果为告警所述类型入侵,对深度神经网络模型对所述第二行为特征值数据进行检测,若不符合已知入侵类型,则将所述第二行为特征值数据作为新网络入侵特征向量进行存储,当深度神经网络模型可以识别存储的新网络入侵特征向量则使用聚类算法对所述第二行为特征值数据进行聚类划分,将聚类后的新网络入侵特征向量训练深度神经网络模型,以使得此类入侵类型再次发生时被检测识别,另外,当所述第二实时网络流量的异常为外部攻击行为时进行拦截,当所述第二实时网络流量的异常为内部工作异常时提醒相应管理人员,进行人工处理。

结合图2所示,针对分布式系统的搭建方式,下面进行简单介绍:

搭建过程可以分为三个部分,分别是收集体验信息、处理体验信息以及存储结果,其中,在收集体验结果部分中,业务系统调用体验信息接口,将体验信息异步写入到特定的文件当中,使用永不停息的体验信息检测程序不断将新生成的体验信息发送到数据处理服务器,具体地,程序通过体验信息接口将体验信息写入体验信息文件中。我们假设程序会使用非阻塞的异步写入接口,体验信息接口的调用方只是将体验信息送入某个队列中,然后继续向下执行。接着体验信息写入线程从消息队列中读取数据,并将体验信息数据写入到真正的体验信息文件中。写入后,某一个体验信息代理程序会不断监视体验信息文件的改动,并将用户新写入的体验信息发送到体验信息处理服务器的体验信息收集服务接口上。体验信息收集服务接口是整个服务的对外接口,负责将其他节点发送的体验信息送入集群内部的redis节点,并将体验信息数据写入到redis的列表中。至此为止,体验信息收集过程就完成了。

在处理体验信息中,数据处理服务器的体验信息接收负责将体验信息写入本地的redis数据库中。然后我们使用消息源从redis中读取数据,再将数据发送到之后的消息处理单元,由不同的数据处理单元对体验信息进行不同处理。具体地,处理体验信息主要在计算拓扑中完成。分为四步:体验信息处理消息源:负责监视redis列表的改变,从redis列表中读取体验信息规则,并将体验信息规则文本转换成计算拓扑的内部数据格式,传送到下一个体验信息处理单元。体验信息规则引擎:使用体验信息规则引擎对体验信息进行处理和过滤。这一步是可选的,也就是用户可以加入自己的消息处理单元对收集的体验信息进行处理。这将会影响到发送到后续的消息处理单元(索引器和计数器)中的体验信息消息。这一步我们就不做处理了,如果读者感兴趣可以自己加入一个或者多个消息处理单元对体验信息进行处理。索引用于将体验信息规则引擎输出的体验信息写入到elasticsearch中,并便于用户日后检索这些体验信息。这里涉及到一步——将体验信息规则元组转换成json,并将json写入elasticsearch。统计用于对体验信息进行计数,这一步会将体验信息计数结果写入cassandra的对应表中,便于用户获取统计信息。

在存储结果中,消息处理单元完成体验信息处理之后,将体验信息处理结果写入到cassandra数据库中,并将体验信息数据写入到elasticsearch数据库中。其中关键的部分就是图中用长方形框出来的部分,该部分的作用是完成对数据的筛选、处理和基本分析。这部分我们将其称作计算拓扑,也就是用于完成实际计算的部分。具体地,对计算结果的存储,我们需要使用存储模块将数据写入到不同的数据库中:elasticsearch:该数据库用于存储被转换成json的原始体验信息信息。用户可以在elasticserach中检索体验信息。cassandra:该数据库用于存储体验信息的统计计算结果。因为cassandra支持原子计数列,因此可以非常胜任。

在本实施中,分布式系统采用mapreduce框架,对此不做限定。

针对深度神经网络模型,进行具体介绍,卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。它包括卷积层和池化层。卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。20世纪60年代,hubel和wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络。现在,cnn已经成为众多科学领域的研究热点之一,特别是在模式分类领域。

lstm算法全称为longshort-termmemory,是一种特定形式的循环神经网络,而循环神经网络是一系列能够处理序列数据的神经网络的总称。

一般地,rnn包含如下三个特性:a)循环神经网络能够在每个时间节点产生一个输出且隐单元间的连接是循环的;b)循环神经网络能够在每个时间节点产生一个输出,且该时间节点上的输出仅与下一时间节点的隐单元有循环连接;c)循环神经网络包含带有循环连接的隐单元,且能够处理序列数据并输出单一的预测。

lstm就是门限rnn中最著名的一种。有漏单元通过设计连接间的权重系数,从而允许rnn累积距离较远节点间的长期联系;而门限rnn则泛化了这样的思想,允许在不同时刻改变该系数,且允许网络忘记当前已经累积的信息。lstm的巧妙之处在于通过增加输入门限,遗忘门限和输出门限,使得自循环的权重是变化的,这样一来在模型参数固定的情况下,不同时刻的积分尺度可以动态改变,从而避免了梯度消失或者梯度膨胀的问题。

lstm具体结构如下,lstm除了外部的rnn循环外,还具有内部的自环,因此lstm不是简单地向输入和循环单元的仿射变换之后施加一个逐元素的非线性。与普通循环网络类似,每个单元具有相同的输入和输出,但也有更多的参数和控制信息流动的门控单元系统。最重要的组成部分是状态单元si(t),自环的权重由遗忘门fi(t)控制,由sigmoid单元将权重设置为0和1之间的值:

其中x(t)是当前输入向量,ht是当前隐藏层向量,ht包含所有lstm细胞的输出。bf、uf、wf分别是偏置、输入权重和遗忘门的循环权重。因此lstm细胞内部状态以如下方式更新,其中有一个条件的自环权重fi(t):

其中b、u、w分别是lstm细胞中的偏置、输入权重和遗忘门的循环权重。外部输入门单元以类似遗忘门的方法更新,但又自身的参数:

lstm细胞的输出也可以由输出门关闭:

其中bo、uo、wo分别是偏置、输入权重和遗忘门的循环权重。

本实施例中,第二行为特征值数据和第二行为特征值数据可以包括以下参数,如表1所示。

表1

本发明提供的网络异常识别检测方法,通过卷积神经网络提取了更加丰富的流量特征,并且使用lstm进行检测,在原有的特征基础上增加了时间上的联系,不仅仅可以标记网络异常流量,提高了数据处理速度,而且可以识别出多种网络异常流量的种类,上述方案经过试验证明可行。

结合图3所示,对应地,本发明提供一种网络异常识别检测装置,用于实现上述的网络异常识别检测方法,所述装置包括:

转换单元301,用于实时采集训练所需的第一实时网络流量,将所述第一实时网络流量转换为训练用流量数据包;

预处理单元302,用于对所述训练用流量数据包进行预处理得到特征值数据;

训练单元303,用于利用所述特征值数据对深度神经网络模型进行训练直至稳定;

所述转换单元301还用于实时采集使用阶段的第二实时网络流量,将所述第二实时网络流量转换为检测用流量数据包;

处理单元304,用于利用深度神经网络模型对所述检测用流量数据包进行检测并输出结果。

本发明提供的网络异常识别检测装置,使用了分布式框架来处理大量的即时网络数据,提高了数据处理速度,在普通特征值之间丰富了特征值间的联系,并且在检测时,加入了网络流量在时间上的联系,可以有效的提高网络异常的检测率,相比较普通的简单地把流量分成正常和异常流量,可以识别出网络异常流量的具体种类。

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

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

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。

以上对本发明所提供的一种网络异常识别检测方法及装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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