一种基于流量分层的异常流量检测方法、装置及存储介质与流程

文档序号:32042460发布日期:2022-11-03 05:46阅读:31来源:国知局
一种基于流量分层的异常流量检测方法、装置及存储介质与流程

1.本发明涉及网络安全领域,具体地,涉及一种基于流量分层的异常流量检测方法、装置及存储介质。


背景技术:

2.由于传统工控系统在建设之初仅考虑到了功能的可用性,未考虑到安全性问题,因此在与互联网的相互融合中完全暴露了其脆弱性,导致网络安全事件层出不穷,特别是针对工业控制系统网络等设施的入侵攻击,会严重影响到工控系统的正常运行,进而影响对生产设备的操作控制,造成重大的生产安全事故。
3.为了保证工控网络的网络安全,对工控网络中的流量进行检测具有重要意义,然而,如何准确地检测出工控网络中的异常流量是亟待解决的问题。


技术实现要素:

4.提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
5.根据本发明的第一方面,提供一种基于流量分层的异常流量检测方法,所述方法包括:
6.获取工控网络的网络流量;
7.将所述网络流量分别输入流量特征提取模块、数据包特征提取模块以及内容特征提取模块,分别得到流量特征、数据包特征以及内容特征;
8.将所述流量特征、所述数据包特征以及所述内容特征输入预先训练得到的流量检测网络,得到流量检测结果。
9.可选地,所述将所述网络流量分别输入流量特征提取模块、数据包特征提取模块以及内容特征提取模块,分别得到流量特征、数据包特征以及内容特征包括:
10.通过所述流量特征提取模块,按照预设滑动窗口,获取所述网络流量在对应的滑动窗口内的流量信息,得到对应多个滑动窗口的多个流量信息;
11.基于所述多个流量信息,构建每一滑动窗口对应的流量特征;
12.其中,所述流量信息包括在对应的滑动窗口内的数据包个数、包速率、窗口内字节数、数据包时间间隔。
13.可选地,所述将所述网络流量分别输入流量特征提取模块、数据包特征提取模块以及内容特征提取模块,分别得到流量特征、数据包特征以及内容特征包括:
14.通过所述数据包特征提取模块,依次对所述网络流量中的数据包进行协议解析,得到协议信息;
15.基于所述协议信息,构建每一所述数据包的数据包特征;
16.所述协议信息包括事务元标识符、单元标识符以及功能码。
17.可选地,所述将所述网络流量分别输入流量特征提取模块、数据包特征提取模块以及内容特征提取模块,分别得到流量特征、数据包特征以及内容特征包括:
18.通过所述内容特征提取模块,依次对所述网络流量中的数据包进行协议解析,得到语义信息;
19.基于所述语义信息,构建每一数据包对应的内容特征;
20.其中,所述语义信息包括地址类型、开始地址、结束地址、内容最小值以及内容最大值。
21.可选地,所述方法包括:
22.对所述流量特征、所述数据包特征以及所述内容特征进行标准化处理,得到标准化后的第一流量特征、第一数据包特征以及第一内容特征;
23.所述将所述流量特征、所述数据包特征以及所述内容特征输入预先训练得到的流量检测网络,得到流量检测结果包括:
24.将所述第一流量特征、所述第一数据包特征以及所述第一内容特征输入所述流量检测网络,得到流量检测结果。
25.可选地,所述流量检测网络包括并行的第一lstm子网络、第二lstm子网络、第三lstm子网络;
26.所述将所述流量特征、所述数据包特征以及所述内容特征输入预先训练得到的流量检测网络,得到流量检测结果包括:
27.将所述流量特征输入所述第一lstm子网络,得到流量特征预测值;
28.将所述数据包特征输入所述第二lstm子网络,得到数据包特征预测值;
29.将所述内容特征输入所述第三lstm子网络,得到内容特征预测值;
30.根据所述流量特征预测值、所述数据包特征预测值以及所述内容特征预测值,确定预测偏差;
31.在确定预设偏差大于预设阈值的情况下,得到用于表征检测到异常流量的流量检测结果。
32.可选地,所述流量检测网络的训练包括:
33.获取样本网络流量,所述样本网络流量为正常流量;
34.将所述样本网络流量分别输入流量特征提取模块、数据包特征提取模块以及内容特征提取模块,分别得到样本流量特征、样本数据包特征以及样本内容特征;
35.将所述样本流量特征、所述样本数据包特征以及所述样本内容特征输入流量检测网络,得到训练完成的流量检测网络。
36.根据本发明的第二方面,提供一种基于流量分层的异常流量检测装置,所述装置包括:
37.获取模块,用于获取工控网络的网络流量;
38.特征提取模块,用于将所述网络流量分别输入流量特征提取模块、数据包特征提取模块以及内容特征提取模块,分别得到流量特征、数据包特征以及内容特征;
39.检测模块,用于将所述流量特征、所述数据包特征以及所述内容特征输入预先训练得到的流量检测网络,得到流量检测结果。
40.根据本发明的第三方面,提供一种非临时性计算机可读存储介质,其上存储有计
算机程序,该程序被处理器执行时实现本发明第一方面中任一项所述方法的步骤。
41.根据本发明的第四方面,提供一种电子设备,包括:
42.存储器,其上存储有计算机程序;
43.处理器,用于执行所述存储器中的所述计算机程序,以实现本发明第一方面中任一项所述方法的步骤。
44.通过上述技术方案,分别提取工控网络中网络流量的流量层级、数据包层级以及内容层级的特征,并综合根据多个层级的特征,对网络流量进行检测,能够基于不同粒度的特征,有效地提高针对网络流量的检测的覆盖率,能够更加准确地检测出异常流量,进而保证工控网络的网络安全。
附图说明
45.附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
46.图1是根据一示例性实施例示出的一种基于流量分层的异常流量检测方法的流程图;
47.图2是根据一示例性实施例示出的一种流量检测网络的训练方法的流程图;
48.图3是根据一示例性实施例示出的一种流量检测网络的示意图;
49.图4是根据一示例性实施例示出的一种基于流量分层的异常流量检测装置的框图;
50.图5是根据一示例性实施例示出的一种电子设备的框图;
51.图6是根据一示例性实施例示出的另一种电子设备的框图。
具体实施方式
52.下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
53.应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
54.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
55.需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
56.需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
57.本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性
的目的,而并不是用于对这些消息或信息的范围进行限制。
58.可以理解的是,在使用本发明各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本发明所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
59.同时,可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
60.图1是根据一示例性实施例示出一种基于流量分层的异常流量检测方法,可以应用于工控网络中的控制终端,或者与工控网络通信连接的服务器,本发明对此不作具体限定,参照图1,所述方法包括:
61.s101、获取工控网络的网络流量。
62.具体地,可以是通过交换机的镜像口采集的。
63.可以理解的是,可以是在该方法开始执行后,就实时地通过交换机的镜像口,采集工控网络中通过该交换机的数据包,在具体地进行工控网络是否存在异常流量的判别时,仅选用距离当前时刻最接近的预设时长内采集到的网络流量进行判断。
64.s102、将所述网络流量分别输入流量特征提取模块、数据包特征提取模块以及内容特征提取模块,分别得到流量特征、数据包特征以及内容特征。
65.其中,上述流量特征提取模块、数据包特征提取模块、内容特征提取模块可以是按照预设算法设计的功能虚拟模块,也可以是用于实现具体功能的实体电子设备,也可以是一种api(application programming interface,应用编程接口)接口,本发明对此不作限定。
66.s103、将所述流量特征、所述数据包特征以及所述内容特征输入预先训练得到的流量检测网络,得到流量检测结果。
67.其中,流量检测网络可以是无监督学习训练得到的。流量检测结果可以是布尔值,在流量检测结果为false或者0时,则表征未检测到异常流量,在流量检测结果为true或者1时,则表征检测到了异常流量。
68.进一步,在检测到工控网络中存在异常流量的情况下,则可以根据异常流量中数据包中的信息确定指向的ip地址或端口,或者发出异常流量的ip地址或端口,通过修改防火墙或者网关的配置将这些ip地址或者端口与工控网络隔离。
69.在本发明实施例中,分别提取工控网络中网络流量的流量层级、数据包层级以及内容层级的特征,并综合根据多个层级的特征,对网络流量进行检测,能够基于不同粒度的特征,有效地提高针对网络流量的检测的覆盖率,能够更加准确地检测出异常流量,进而保证工控网络的网络安全。
70.在一些可选地实施例中,所述将所述网络流量分别输入流量特征提取模块、数据包特征提取模块以及内容特征提取模块,分别得到流量特征、数据包特征以及内容特征包括:
71.通过所述流量特征提取模块,按照预设滑动窗口,获取所述网络流量在对应的滑动窗口内的流量信息,得到对应多个滑动窗口的多个流量信息;基于所述多个流量信息,构建每一滑动窗口对应的流量特征;其中,所述流量信息包括在对应的滑动窗口内的数据包个数、包速率、窗口内字节数、数据包时间间隔。
72.示例地,若预设滑动窗口为5秒,网络流量共有10秒,则可以根据该滑动窗口,得到第0秒至第5秒的第一窗口流量;第1秒至第6秒的第二窗口流量;第2秒至第7秒的第三窗口流量;第3秒至第8秒的第四窗口流量;第4秒至第9秒的第五窗口流量。进一步,则可以根据上述第一至第五窗口流量,分别提取窗口内的流量信息,并基于流量信息得到流量特征。
73.具体地,流量信息例如可以包括窗口内的数据包个数、窗口内字节数、数据包传输速率、数据表包时间间隔以及对目标发起连接数,进一步,根据数据包时间间隔,该流量信息还可以包括时间间隔均值、时间间隔方差、时间价格标准差、时间间隔最小值、时间间隔最大值。基于上述流量信息,则可以按照预设顺序构建特征向量,进而得到流量特征,例如针对上述第0至第5秒的第一窗口流量,可以得到流量特征向量[a,b,c,d],其中a,b,c,d分别对应第一窗口流量对应的数据包个数、窗口内字节数、数据包传输速率、数据表包时间间隔。在一些可能地实施例中,还可以对以上流量特征向量进行归一化,得到归一化后的流量特征向量。
[0074]
采用上述方案,通过流量特征提取模块,基于滑动窗口将网络流量均匀采样并分别确定对应的流量特征,能有效地提取出流量在时间上的变化规律,进而能够基于可以表征网络流量的变化规律的流量特征,对工控网络的网络流量的流量层级进行准确的异常流量检测,有效地保证了工控网络的安全性能。
[0075]
在一些可选地实施例中,所述将所述网络流量分别输入流量特征提取模块、数据包特征提取模块以及内容特征提取模块,分别得到流量特征、数据包特征以及内容特征包括:
[0076]
通过所述数据包特征提取模块,依次对所述网络流量中的数据包进行协议解析,得到协议信息;基于所述协议信息,构建每一所述数据包的数据包特征;所述协议信息包括事务元标识符、单元标识符以及功能码。
[0077]
具体地,上述协议信息可以是协议应用层信息。协议信息还可以包括数据包源ip地址、数据包目的ip地址、事务元标识符、帧长度、单元标识符以及功能码。
[0078]
示例地,若解析数据包确定某数据包为协议为modbus的数据包,并可以确定该数据包的数据包源ip地址、数据包目的ip地址、事务元标识符、帧长度、单元标识符以及功能码。应知悉的是,modbus协议处于应用层,依据工控协议规约,功能码用于标明一个数据帧的用途,即可以表示数据包的功能,例如,modbus功能码为0x03时表示读取保持寄存器,在工业生产环境中hmi周期性发送着这种数据包,以读取设备的状态进而获取工控系统工作的各项指标。modbus帧长度周期性变化,unitid即单元标识符作为工控协议中特定的地址字段,在同一ip地址下可区分不同的设备。
[0079]
具体地,针对网络流量中的任意一个数据包,基于解析后得到的协议信息,可以按照预设顺序构建数据包特征向量[e,f,g,h,i,j,k],得到数据包特征,其中,e,f,g,h,i,j,k分别对应该数据包的数据包源ip地址、数据包目的ip地址、事务元标识符、帧长度、单元标识符以及功能码。在一些可能地实施例中,还可以对以上数据包特征向量进行归一化,得到归一化后的数据包特征向量。
[0080]
采用上述方案,通过数据包特征提取模块,对网络流量中的各个数据包依次进行解析,并根据解析得到的结果,构建数据包特征,基于解析得到的协议信息构建得到的数据包特征,能够准确地定义该数据包的行为特征,进而能够基于各个数据包的行为特征,对工
控网络的网络流量的数据包层级进行准确的异常流量检测,有效地保证了工控网络的安全性能。
[0081]
在又一些可选地实施例中,所述将所述网络流量分别输入流量特征提取模块、数据包特征提取模块以及内容特征提取模块,分别得到流量特征、数据包特征以及内容特征包括:
[0082]
通过所述内容特征提取模块,依次对所述网络流量中的数据包进行协议解析,得到语义信息;基于所述语义信息,构建每一数据包对应的内容特征;其中,所述语义信息包括地址类型、开始地址、结束地址、内容最小值以及内容最大值。
[0083]
其中,上述依次对所述网络流量中的数据包进行协议解析,得到语义信息具体可以是对数据包进行协议解析,并获取数据包应用层工控协议负载信息,该协议负载信息中可以包括访问的地址以及操作内容,进而可以访问的地址以及操作内容得到该数据包对应的语义信息,该语义信息具体可以包括地址类型、开始地址、结束地址、内容最小值以及内容最大值。
[0084]
可以理解的是,基于语义信息构建得到的内容特征能够表征是否有异常地址被访问或是否传递异常内容,示例地,针对modbus协议的数据包,由于modbus协议有离散输入、线圈、输入寄存器、保持寄存器四种地址区域类型,故针对不同的区域类型有不同的取值范围,进而,根据该数据包的语义信息中的地址类型构建得到的内容特征,可以有效地表征该数据包是否存在异常。
[0085]
采用上述方案,通过内容特征提取模块,对网络流量中的各个数据包依次进行解析,并根据解析得到的结果得到语义信息,并基于语义信息构建各个数据包的内容特征,能够使得该内容特征可以表征是否有异常地址被访问或是否传递异常内容,进而能够基于各个数据包的内容特征,对工控网络的网络流量的内容层级进行准确的异常流量检测,有效地保证了工控网络的安全性能。
[0086]
在一些可选地实施例中,所述方法包括:
[0087]
对所述流量特征、所述数据包特征以及所述内容特征进行标准化处理,得到标准化后的第一流量特征、第一数据包特征以及第一内容特征;所述将所述流量特征、所述数据包特征以及所述内容特征输入预先训练得到的流量检测网络,得到流量检测结果包括:将所述第一流量特征、所述第一数据包特征以及所述第一内容特征输入所述流量检测网络,得到流量检测结果。
[0088]
可以理解的是,在存在流量层级、数据包层级以及内层级的多种维度特征体系中,由于各特征的性质不同,通常具有不同的数量级和单位,如果直接利用原始数据,就会突出数值较高的特征在流量检测网络进行分析时的作用,相对弱化数值较低的特征的作用。因此,为了流量检测结果的可靠性,需要对原始数据进行标准化。
[0089]
具体地,上述对流量特征、数据包特征以及内容特征进行标准化处理可以是对流量特征、数据包特征以及内容特征计算z-score值。可以理解的是,z-score能够将不同量级的数据统一转化为同一个量级,统一用计算出的z-score值衡量,以保证不同层级的特征之间的可比性。
[0090]
采用上述方案,通过对流量特征、数据包特征以及内容特征进行标准化处理,能够有效地避免因为流量特征、数据包特征以及内容特征处于不同维度具备不同的量纲值对异
常流量检测的精度造成影响,有效地提高了流量检测网络的异常流量检测精度,保障了工控网络的网络安全性能。
[0091]
在又一些可选地实施例中,所述流量检测网络包括并行的第一lstm子网络、第二lstm子网络、第三lstm子网络;
[0092]
所述将所述流量特征、所述数据包特征以及所述内容特征输入预先训练得到的流量检测网络,得到流量检测结果包括:将所述流量特征输入所述第一lstm子网络,得到流量特征预测值;将所述数据包特征输入所述第二lstm子网络,得到数据包特征预测值;将所述内容特征输入所述第三lstm子网络,得到内容特征预测值;根据所述流量特征预测值、所述数据包特征预测值以及所述内容特征预测值,确定预测偏差;在确定预设偏差大于预设阈值的情况下,得到用于表征检测到异常流量的流量检测结果。
[0093]
采用上述方案,通过设置并行的lstm神经网络建立不同层次的模型,通过分层次的网络架构,能够有效地提取不同层次的依赖关系,能够避免单层次的lstm网络中不同类型的特征同时输入由于网络中的节点权重的差异导致相关特征值的作用降低,造成无法准确地对异常流量检测的问题,有效地保证了流量检测网络的异常流量检测效果,保证了工控网络的网络安全。
[0094]
本领域技术人员应知悉,lstm是一种特殊的rnn网络,lstm作为一种特殊的rnn,其增加了输入门、遗忘门、输出门等门控机制,控制记忆过程,可有效解决长序列训练中的梯度消失与梯度爆炸问题,故在长序列中有比普通rnn更好的表现。
[0095]
可以理解的是,可以是按照流量特征、数据包特征以及内容特征的时序,依次将对应地特征输入上述的各个lstm子网络中的,例如,可以将第一窗口流量对应的流量特征输入第一lstm子网络后,再将第二窗口流量对应的流量特征输入第一lstm,并依次将第三窗口流量对应的流量特征、第四窗口流量对应的流量特征以及第五窗口流量对应的流量特征输入该第一lstm子网络,以得到对应网络流量的流量特征预测值。
[0096]
进一步,上述的各个lstm子网络可以分别包括输入层、3个隐含层以及输出层,隐含层节点数分别为对应其输出层节点数量的三倍。各个lstm子网络能够基于输入其中的特征,对下一时刻的流量特征、数据包特征以及内容特征进行预测,即可以得到流量特征预测值、数据包特征预测值以及内容特征预测值。
[0097]
可选地,在确定各个预测值之后,则可以根据预测值以及输入值,确定流量特征、数据包特征以及内容特征对应的均方根误差,进一步基于各个均方差确定预测偏差。
[0098]
其中,流量检测网络还可以包括自编码器,在确定各个均方根误差后,将各个均方根误差输入该自编码器,以使得该自编码器通过编码、解码的过程重构各个均方根误差,得到最终的预测偏差。可以理解的是,自编码器是一种无监督学习算法,其利用反向传播算法使得神经网络输出值等于输入值。通过自编码器可以高效的学到输入数据的特征,即各个均方根误差的特征。
[0099]
进一步,在预测偏差大于预设阈值的情况下,则可以确定对应的网络流量为异常流量,流量检测网络即可以输出用于表征检测到异常流量的流量检测结果,即true或者1,在预测偏差小于或等于预设阈值的情况下,则可以确定对应的网络流量为正常流量,流量检测网络即可以输出用于表征检测未到异常流量的流量检测结果,即false或者0。
[0100]
图2是根据一示例性实施例示出的一种流量检测网络的训练方法的流程图,参照
图2,所述流量检测网络的训练包括:
[0101]
s201、获取样本网络流量,所述样本网络流量为正常流量。
[0102]
s202、将所述样本网络流量分别输入流量特征提取模块、数据包特征提取模块以及内容特征提取模块,分别得到样本流量特征、样本数据包特征以及样本内容特征。
[0103]
s203、将所述样本流量特征、所述样本数据包特征以及所述样本内容特征输入流量检测网络,以对所述流量检测网络进行训练,得到训练完成的流量检测网络。
[0104]
其中,上述步骤s201至步骤s203可以是多次执行的,具体可以是根据训练后的流量检测网络的精确率、f1-score、马修斯相关系数以及auc值(area under the curve of roc,接收者操作特征曲线下方的面积),确定是否停止执行上述步骤s201至步骤s230的。
[0105]
采用上述方案,通过采集正常的样本网络流量,并按照不同的层级,分别进行特征提取后,输入流量检测网络进行训练,最终得到训练完成的流量检测网络,能够使得该流量检测网络学习到正常网络流量的特征,进而在接收到异常的网络流量时,能够按照不同的粒度准确地对异常流量进行检测,有效地提高针对网络流量的检测的覆盖率,能够更加准确地检测出异常流量,进而保证工控网络的网络安全。
[0106]
可选地,在步骤s203执行之前,还可以将样本流量特征、样本数据包特征以及样本内容特征进行标准话操作。具体地,可以是对样本流量特征、样本数据包特征以及样本内容特征计算z-score值。可以理解的是,z-score能够将不同量级的数据统一转化为同一个量级,统一用计算出的z-score值衡量,以保证不同层级的特征之间的可比性。
[0107]
图3是根据一示例性实施例示出的一种流量检测网络的示意图,如图3所示,该流量检测网络包括并行的第一lstm子网络31、第二lstm子网络32、第三lstm子网络33,以及,分别与上述各个lstm子网络连接的自编码器34。
[0108]
在训练过程中,可以分别将样本流量特征、样本数据包特征以及样本内容特征,分别输入第一lstm子网络31、第二lstm子网络32、第三lstm子网络33,得到分别对应样本流量特征、样本数据包特征以及样本内容特征的均方根误差,其中,该均方根误差是根据分别对应样本流量特征、样本数据包特征以及样本内容特征的预测值计算得到的。进一步,即可以根据各个lstm子网络的均方根误差对各个lstm子网络的参数进行调整迭代。
[0109]
进一步,自编码器34可以将基于各个lstm子网络输出的均方根误差确定预测偏差,该预测偏差可以也是一种均方根误差,并基于该预测偏差对该自编码器34的参数进行调整迭代。
[0110]
本领域技术人员应知悉,自编码器34能够基于训练,获得合理的均方根误差的特性,在基于正常的网络流量训练后,该自编码器能够具备重构与正常网络流量具有相同分布规律的数据的能力,进而得到正常流量的预测偏差对应的阈值。
[0111]
具体地,在该自编码器34接收到各个lstm子网络输出的均方根误差后,可以根据编码以及解码,计算对应整个网络流量的预测偏差,在训练阶段接收各个lstm子网络的输出的均方根误差,并将此数据作为自编码器的输入,获取到正常流量的重构关系,即正常流量的预测偏差对应的阈值,从而在流量检测网络接收到异常流量后,输出产生较大偏差,进而使得流量检测网络准确地对异常流量进行检测。
[0112]
基于相同的发明构思,图4是根据一示例性实施例示出的一种基于流量分层的异常流量检测装置40的框图,如图4所示,所述装置40包括:
[0113]
获取模块41,用于获取工控网络的网络流量;
[0114]
特征提取模块42,用于将所述网络流量分别输入流量特征提取模块、数据包特征提取模块以及内容特征提取模块,分别得到流量特征、数据包特征以及内容特征;
[0115]
检测模块43,用于将所述流量特征、所述数据包特征以及所述内容特征输入预先训练得到的流量检测网络,得到流量检测结果。
[0116]
可选地,所述特征提取模块42具体用于:
[0117]
通过所述流量特征提取模块,按照预设滑动窗口,获取所述网络流量在对应的滑动窗口内的流量信息,得到对应多个滑动窗口的多个流量信息;
[0118]
基于所述多个流量信息,构建每一滑动窗口对应的流量特征;
[0119]
其中,所述流量信息包括在对应的滑动窗口内的数据包个数、包速率、窗口内字节数、数据包时间间隔。
[0120]
可选地,所述特征提取模块42具体用于:
[0121]
通过所述数据包特征提取模块,依次对所述网络流量中的数据包进行协议解析,得到协议信息;
[0122]
基于所述协议信息,构建每一所述数据包的数据包特征;
[0123]
所述协议信息包括事务元标识符、单元标识符以及功能码。
[0124]
可选地,所述特征提取模块42具体用于:
[0125]
通过所述内容特征提取模块,依次对所述网络流量中的数据包进行协议解析,得到语义信息;
[0126]
基于所述语义信息,构建每一数据包对应的内容特征;
[0127]
其中,所述语义信息包括地址类型、开始地址、结束地址、内容最小值以及内容最大值。
[0128]
可选地,所述装置40还用于:
[0129]
对所述流量特征、所述数据包特征以及所述内容特征进行标准化处理,得到标准化后的第一流量特征、第一数据包特征以及第一内容特征;
[0130]
所述将所述流量特征、所述数据包特征以及所述内容特征输入预先训练得到的流量检测网络,得到流量检测结果包括:
[0131]
将所述第一流量特征、所述第一数据包特征以及所述第一内容特征输入所述流量检测网络,得到流量检测结果。
[0132]
可选地,所述流量检测网络包括并行的第一lstm子网络、第二lstm子网络、第三lstm子网络;
[0133]
所述检测模块43具体用于:
[0134]
将所述流量特征输入所述第一lstm子网络,得到流量特征预测值;
[0135]
将所述数据包特征输入所述第二lstm子网络,得到数据包特征预测值;
[0136]
将所述内容特征输入所述第三lstm子网络,得到内容特征预测值;
[0137]
根据所述流量特征预测值、所述数据包特征预测值以及所述内容特征预测值,确定预测偏差;
[0138]
在确定预设偏差大于预设阈值的情况下,得到用于表征检测到异常流量的流量检测结果。
[0139]
可选地,所述装置40还用于:
[0140]
获取样本网络流量,所述样本网络流量为正常流量;
[0141]
将所述样本网络流量分别输入流量特征提取模块、数据包特征提取模块以及内容特征提取模块,分别得到样本流量特征、样本数据包特征以及样本内容特征;
[0142]
将所述样本流量特征、所述样本数据包特征以及所述样本内容特征输入流量检测网络,得到训练完成的流量检测网络。
[0143]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0144]
图5是根据一示例性实施例示出的一种电子设备500的框图。如图5所示,该电子设备500可以包括:处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(i/o)接口504,以及通信组件505中的一者或多者。
[0145]
其中,处理器501用于控制该电子设备500的整体操作,以完成上述的基于流量分层的异常流量检测方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如网络流量、样本网络流量等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(near field communication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件505可以包括:wi-fi模块,蓝牙模块,nfc模块等等。
[0146]
在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的基于流量分层的异常流量检测方法。
[0147]
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的基于流量分层的异常流量检测方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由电子设备
500的处理器501执行以完成上述的基于流量分层的异常流量检测方法。
[0148]
图6是根据一示例性实施例示出的一种电子设备600的框图。例如,电子设备600可以被提供为一服务器。参照图6,电子设备600包括处理器622,其数量可以为一个或多个,以及存储器632,用于存储可由处理器622执行的计算机程序。存储器632中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器622可以被配置为执行该计算机程序,以执行上述的基于流量分层的异常流量检测方法。
[0149]
另外,电子设备600还可以包括电源组件626和通信组件650,该电源组件626可以被配置为执行电子设备600的电源管理,该通信组件650可以被配置为实现电子设备600的通信,例如,有线或无线通信。此外,该电子设备600还可以包括输入/输出(i/o)接口658。电子设备600可以操作基于存储在存储器632的操作系统,例如windows server
tm
,mac os x
tm
,unix
tm
,linux
tm
等等。
[0150]
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的基于流量分层的异常流量检测方法的步骤。例如,该非临时性计算机可读存储介质可以为上述包括程序指令的存储器632,上述程序指令可由电子设备600的处理器622执行以完成上述的基于流量分层的异常流量检测方法。
[0151]
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的基于流量分层的异常流量检测方法的代码部分。
[0152]
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0153]
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本发明的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0154]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1