CN112866185B - 网络流量监控设备和异常流量检测方法 - Google Patents
网络流量监控设备和异常流量检测方法 Download PDFInfo
- Publication number
- CN112866185B CN112866185B CN201911190057.1A CN201911190057A CN112866185B CN 112866185 B CN112866185 B CN 112866185B CN 201911190057 A CN201911190057 A CN 201911190057A CN 112866185 B CN112866185 B CN 112866185B
- Authority
- CN
- China
- Prior art keywords
- network
- training
- attack
- attack detection
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种网络流量监控设备和异常流量检测方法,属于网络安全技术领域。其中,网络流量监控设备包括网络接口、存储器和处理器;网络接口被配置为获取网络流量数据;存储器被配置为存储网络流量监控设备所使用的程序或数据;处理器被配置为若网络流量数据中包含异常数据,将异常数据输入攻击检测网络集合;根据攻击检测网络集合输出的检测结果,确定异常数据的攻击类型。本申请实施例提供的网络流量监控设备,在确定网络流量数据中包含异常数据之后,将异常数据输入攻击检测网络集合,根据攻击检测网络集合输出的检测结果,确定异常数据的攻击类型,不仅可以识别出异常数据,还可以确定异常数据的攻击类型,更有利于识别和化解网络攻击行为。
Description
技术领域
本申请涉及网络安全技术领域,特别是涉及一种网络流量监控设备和异常流量检测方法。
背景技术
网络流量是指网络上传输的数据,通常在一个网络环境中绝大部分网络流量数据都是正常数据。而异常数据是指与正常数据模式相差较大的网络流量数据,异常数据很可能是攻击性行为产生的流量数据。从网络流量数据中识别出异常数据,是网络安全管理的重要基础。近年来,网络攻击的种类繁多,攻击能力急剧增强,攻击手段和攻击方式变化莫测,数据泄露、恶意软件及安全事件频发,尤其是在云计算、大数据等新技术形态下,为网络安全的检测及防御带来巨大挑战。
现有的异常流量检测方法,通常是将获取的网络流量数据与预先设置的规则库进行特征匹配,识别出具有攻击性的异常数据。由于规则库中保存的特征有限,无法识别未保存在规则库中的之前从未出现过的异常数据,因此该方式漏报率较高。并且,现有的方法仅能确定网络流量数据是正常数据还是异常数据,无法对异常数据的攻击类型进行识别,因此不利于有效地识别和化解网络攻击行为。
综上所述,现有技术中尚缺乏一种有效的异常流量检测方案。
发明内容
本申请实施例提供了一种网络流量监控设备和异常流量检测方法,不仅可以识别出异常数据,还可以确定异常数据的攻击类型,有利于识别和化解网络攻击行为。
第一方面,本申请实施例提供了一种网络流量监控设备,包括网络接口、存储器和处理器;
所述网络接口,被配置为获取网络流量数据;
所述存储器,被配置为存储所述网络流量监控设备所使用的程序或数据;
所述处理器,被配置为若所述网络流量数据中包含异常数据,将所述异常数据输入攻击检测网络集合;所述攻击检测网络集合中包括至少一个攻击检测网络;根据所述攻击检测网络集合输出的检测结果,确定所述异常数据的攻击类型。
本申请实施例提供的网络流量监控设备,处理器在确定网络流量数据中包含异常数据之后,将异常数据输入攻击检测网络集合,根据攻击检测网络集合输出的检测结果,确定异常数据的攻击类型,不仅可以识别出异常数据,还可以确定异常数据的攻击类型,更有利于识别和化解网络攻击行为。
在一种可能的实现方式中,所述攻击检测网络集合中包括多个攻击检测网络,每个攻击检测网络用于检测至少一种攻击类型,每个攻击检测网络所检测的攻击类型互不相同;
所述处理器,还被配置为:将所述异常数据并行输入每个所述攻击检测网络。
该实施例提供的网络流量监控设备,可以通过多个攻击检测网络检测异常数据的攻击类型,每个攻击检测网络可以检测至少一种攻击类型,采用只检测一种攻击类型的攻击检测网络,可以提高检测的准确性;采用检测多种攻击类型的攻击检测网络,可以减少所使用的攻击检测网络的数量,节约计算资源。每个攻击检测网络所检测的攻击类型互不相同,避免对同一攻击类型进行重复检测,节约资源。将异常数据并行输入每个攻击检测网络,各个攻击检测网络同时对异常数据进行检测,可以提高检测效率,快速输出检测效果。
在一种可能的实现方式中,所述处理器,还被配置为:
将同一个基础攻击检测网络分别发送至训练集群中的每个训练节点,以使每个训练节点将攻击检测训练数据集中的训练数据作为输入,将所述训练数据的攻击类型作为输出,对所述基础攻击检测网络进行训练;所述训练数据带有预先标注的攻击类型标签;
将每个训练节点返回的模型参数的平均值,作为所述基础攻击检测网络的模型参数,得到攻击检测中间网络;
采用攻击检测测试数据集对所述攻击检测中间网络进行检验;
若检验未通过,将所述攻击检测中间网络发送至训练集群中的每个训练节点继续训练;
若检验通过,将所述攻击检测中间网络作为已训练的攻击检测网络。
该实施例提供的网络流量监控设备,使用通过深度学习得到的攻击检测网络,对于特征不明显的异常数据,相比现有技术可以大幅度提高检测的准确率,降低误报率。并且,将基础攻击检测网络分别发送至各个训练节点进行训练,可以缩短训练时间,提高训练效率。
在一种可能的实现方式中,所述处理器,还被配置为:对所述攻击检测中间网络进行检验之后,若检验未通过,并且检验未通过的次数达到设定次数或训练时长达到设定时长,输出训练失败提示;
根据用户指令减少所述攻击检测训练数据集的训练数据,减少的训练数据均带有相同的攻击类型标签;
将减少训练数据后的攻击检测训练数据集发送至每个训练节点,以使每个训练节点采用减少训练数据后的攻击检测训练数据集继续对所述攻击检测中间网络进行训练。
该实施例提供的网络流量监控设备,若多次训练或长时间训练后,得到的攻击检测中间网络仍不能通过检验,一方面,可能说明该类型的基础攻击检测网络不适合用于检测该攻击类型,输出训练失败提示,提示用户可以更换其它类型的基础攻击检测网络或更换包含其它攻击类型的训练数据的训练数据集。另一方面,可能说明用于训练该攻击检测网络的训练数据集包含的训练数据的攻击类型过多,输出训练失败提示,如果接收到减少训练数据集的训练数据的指令,采用减少训练数据后的训练数据集继续对攻击检测中间网络进行训练。
在一种可能的实现方式中,所述处理器,还被配置为:根据所述攻击检测网络集合输出的检测结果,确定所述异常数据的攻击类型之后,根据在异常流量检测过程中确定的新增训练数据更新攻击检测训练数据集;
按照设定的时间周期或响应用户输入的训练指令,将更新后的攻击检测训练数据集发送至每个训练节点,以使每个训练节点采用更新后的攻击检测训练数据集对所述攻击检测网络进行训练。
该实施例提供的网络流量监控设备,在使用攻击检测网络集合进行异常流量检测的过程中,可以根据新出现的异常数据实时更新训练数据集,采用更新后的训练数据集对攻击检测网络进行再次训练,以保持检测结果的准确性。
在一种可能的实现方式中,所述处理器,还被配置为:
通过异常检测模型确定获取的网络流量数据中是否包含异常数据。
该实施例提供的网络流量监控设备,使用异常检测模型检测异常数据,对于特征不明显的异常数据,相比现有技术可以大幅度提高检测的准确率,降低漏报率。
第二方面,本申请实施例提供了一种异常流量检测方法,包括:
若所述网络流量数据中包含异常数据,将所述异常数据输入攻击检测网络集合;所述攻击检测网络集合中包括至少一个攻击检测网络;
根据所述攻击检测网络集合输出的检测结果,确定所述异常数据的攻击类型。
在一种可能的实现方式中,所述攻击检测网络集合中包括多个攻击检测网络,每个攻击检测网络用于检测至少一种攻击类型,每个攻击检测网络所检测的攻击类型互不相同;
所述将所述异常数据输入攻击检测网络集合,包括:
将所述异常数据并行输入每个所述攻击检测网络。
在一种可能的实现方式中,通过下列方式对所述攻击检测网络集合中的攻击检测网络进行训练:
将同一个基础攻击检测网络分别发送至训练集群中的每个训练节点,以使每个训练节点将攻击检测训练数据集中的训练数据作为输入,将所述训练数据的攻击类型作为输出,对所述基础攻击检测网络进行训练;所述训练数据带有预先标注的攻击类型标签;
将每个训练节点返回的模型参数的平均值,作为所述基础攻击检测网络的模型参数,得到攻击检测中间网络;
采用攻击检测测试数据集对所述攻击检测中间网络进行检验;
若检验未通过,将所述攻击检测中间网络发送至训练集群中的每个训练节点继续训练;
若检验通过,将所述攻击检测中间网络作为已训练的攻击检测网络。
在一种可能的实现方式中,对所述攻击检测中间网络进行检验之后,所述方法还包括:
若检验未通过,并且检验未通过的次数达到设定次数或训练时长达到设定时长,输出训练失败提示;
根据用户指令减少所述攻击检测训练数据集的训练数据,减少的训练数据均带有相同的攻击类型标签;
将减少训练数据后的攻击检测训练数据集发送至每个训练节点,以使每个训练节点采用减少训练数据后的攻击检测训练数据集继续对所述攻击检测中间网络进行训练。
在一种可能的实现方式中,根据所述攻击检测网络集合输出的检测结果,确定所述异常数据的攻击类型之后,所述方法还包括:
根据在异常流量检测过程中确定的新增训练数据更新攻击检测训练数据集;
按照设定的时间周期或响应用户输入的训练指令,将更新后的攻击检测训练数据集发送至每个训练节点,以使每个训练节点采用更新后的攻击检测训练数据集对所述攻击检测网络进行训练。
在一种可能的实现方式中,通过下列方式确定网络流量数据中是否包含异常数据:
通过异常检测模型确定获取的网络流量数据中是否包含异常数据。
第三方面,本申请实施例提供了一种网络流量监控设备,包括:
攻击类型检测单元,用于若所述网络流量数据中包含异常数据,将所述异常数据输入攻击检测网络集合;所述攻击检测网络集合中包括至少一个攻击检测网络;并根据所述攻击检测网络集合输出的检测结果,确定所述异常数据的攻击类型。
在一种可能的实现方式中,所述攻击检测网络集合中包括多个攻击检测网络,每个攻击检测网络用于检测至少一种攻击类型,每个攻击检测网络所检测的攻击类型互不相同;
所述攻击类型检测单元,还用于:
将所述异常数据并行输入每个所述攻击检测网络。
在一种可能的实现方式中,所述设备还包括网络训练单元,用于:
将同一个基础攻击检测网络分别发送至训练集群中的每个训练节点,以使每个训练节点将攻击检测训练数据集中的训练数据作为输入,将所述训练数据的攻击类型作为输出,对所述基础攻击检测网络进行训练;所述训练数据带有预先标注的攻击类型标签;
将每个训练节点返回的模型参数的平均值,作为所述基础攻击检测网络的模型参数,得到攻击检测中间网络;
采用攻击检测测试数据集对所述攻击检测中间网络进行检验;
若检验未通过,将所述攻击检测中间网络发送至训练集群中的每个训练节点继续训练;
若检验通过,将所述攻击检测中间网络作为已训练的攻击检测网络。
在一种可能的实现方式中,所述网络训练单元,还用于:
若检验未通过,并且检验未通过的次数达到设定次数或训练时长达到设定时长,输出训练失败提示;
根据用户指令减少所述攻击检测训练数据集的训练数据,减少的训练数据均带有相同的攻击类型标签;
将减少训练数据后的攻击检测训练数据集发送至每个训练节点,以使每个训练节点采用减少训练数据后的攻击检测训练数据集继续对所述攻击检测中间网络进行训练。
在一种可能的实现方式中,所述设备还包括训练数据更新单元,用于:
根据在异常流量检测过程中确定的新增训练数据更新攻击检测训练数据集;
按照设定的时间周期或响应用户输入的训练指令,将更新后的攻击检测训练数据集发送至每个训练节点,以使每个训练节点采用更新后的攻击检测训练数据集对所述攻击检测网络进行训练。
在一种可能的实现方式中,所述设备还包括异常数据检测单元,用于:
通过异常检测模型确定获取的网络流量数据中是否包含异常数据。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述第二方面中任意一种异常流量检测方法的步骤。
第二方面至第四方面中任意一种实现方式所带来的技术效果可参见第一方面中对应的实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示例性示出了本申请实施例提供的一种异常流量检测方法的应用场景示意图;
图2示例性示出了本申请实施例提供的一种异常流量检测方法的流程示意图;
图3示例性示出了本申请实施例提供的一种异常检测模型的训练方法的流程示意图;
图4示例性示出了本申请实施例提供的一种攻击检测网络的训练方法的流程示意图;
图5示例性示出了本申请实施例提供的另一种异常流量检测方法的流程示意图;
图6示例性示出了本申请实施例提供的一种网络流量监控设备的结构框图;
图7示例性示出了本申请实施例提供的另一种网络流量监控设备的结构框图;
图8示例性示出了本申请实施例提供的另一种网络流量监控设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部份实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
需要说明的是,下文中本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
图1示出了本申请实施例提供的网络流量监控设备和异常流量检测方法的一种应用场景的示例图,图1所示为一个局域网场景,该局域网中包括终端设备100、网络设备200以及网络流量监控设备300。其中,终端设备100与网络设备200连接并进行数据交换。终端设备100指可以安装各类应用,并且能够进行网络通信的电子设备,终端设备100可以是移动的,也可以是固定的。终端设备100包括但不限于桌面计算机、移动电话、移动电脑、平板电脑等电子设备。局域网中通常包括多个终端设备100,终端设备之间可以通过网络设备200传递数据,终端设备100还可以通过网络设备200与外部网络连接。例如,用户可通过终端设备100中安装的浏览器或相关应用,打开用于与外部网络中的应用服务器交互的界面,通过网络设备200向应用服务器发送相关请求。网络设备200指局域网中的物理实体。例如集线器、交换机、网桥、路由器、网关、网络接口卡(NIC)、无线接入点(WAP)等。
网络流量监控设备300可以是与网络设备200连接的实体设备,如局域网内部的数据处理服务器等,也可以集成在网络设备200中。网络流量监控设备300可以与网络设备200共用处理器和存储器等硬件装置。网络流量监控设备300用于采集网络设备200与外部网络或终端设备100之间传输的网络流量数据,并根据采集到的网络流量数据进行网络流量监控。
可选地,局域网中可以包括多个网络设备200,网络流量监控设备300可以分别与每一个网络设备连接,每个网络设备直接将自身的网络流量数据传送给网络流量监控设备300。网络流量监控设备300也可以只与一个主网络设备连接并进行数据交换,其它网络设备通过主网络设备将网络流量数据传送给网络流量监控设备300。
例如,在电网营销营业厅的局域网中,终端设备100可以包括销售终端机、自动柜员机、叫号机、办公电脑、扫描仪、视频监视终端等,各个终端设备的接入方式、通信协议、业务应用、操作系统等可能各不相同。通常,攻击者可能会使用额外流量上传恶意代码,或者将盗取数据混夹在常规流量中下载到被入侵的终端设备,这些攻击会表现为终端设备的网络访问行为异常,并且具有多变性、高隐蔽性以及滞后性等特征。如果网络流量监控设备300采用现有的异常流量检测方法,将获取的网络流量数据与预先设置的规则库进行特征匹配,仅能识别出规则库中保存有特征的异常数据,无法识别未保存在规则库中的之前从未出现过的异常数据,也无法对异常数据的攻击类型进行识别。
基于此,本申请实施例提供了一种网络流量监控设备和异常流量检测方法,由于一定时间内的网络流量数据能够反应用户的某种意图倾向,因此,可以根据网络流量数据的特征值分布或熵值变化来体现用户意图或用户行为,本申请实施例采用深度学习的方法,通过攻击检测网络获取异常数据的流量特征,确定异常数据的攻击类型,更有利于识别和化解网络攻击行为。
本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
图2示出了本申请实施例提供了一种异常流量检测方法的流程示意图,该方法可以由图1中所示的网络流量监控设备300执行。如图2所示,该方法包括如下步骤:
步骤S201,若网络流量数据中包含异常数据,将异常数据输入攻击检测网络集合。
在一些实施例中,可以将获取的网络流量数据与预先设置的规则库进行特征匹配,确定网络流量数据中是否包含具有攻击性的异常数据。
在另一些实施例中,可以通过已训练的异常检测模型确定获取的网络流量数据中是否包含异常数据。异常检测模型可以采用机器学习模型,包括但不限于随机森林模型、孤立森林模型、隔离森林模型、朴素贝叶斯模型、K-邻近算法模型等。异常检测模型也可以采用深度学习模型,包括但不限于MLP(Multilayer Perceptron,多层感知器)模型、CNN(Convolutional Neural Networks,卷积神经网络)模型、LSTM(Long Short Term Memory,长短期记忆)模型等。异常检测模型也可以采用通过强化学习、对抗学习等方法获得的网络模型。异常检测模型的训练过程将在下文中详细介绍。
如果通过上述方法确定出网络流量数据中包含异常数据,将确定出的异常数据输入攻击检测网络集合。攻击检测网络集合用于检测异常数据所属的攻击类型,攻击类型可以包括但不限于僵尸网络攻击、拒绝服务攻击、分布式拒绝服务攻击、端口扫描攻击、暴力破解攻击、渗透攻击等。
攻击检测网络集合中包括至少一个攻击检测网络。如果攻击检测网络集合中包括一个攻击检测网络,该攻击检测网络可以检测多种攻击类型。如果攻击检测网络集合中包括多个攻击检测网络,每个攻击检测网络用于检测一种或多种攻击类型,每个攻击检测网络所检测的攻击类型互不相同。例如,在一个实施例中,攻击检测网络集合包括三个攻击检测网络,一个攻击检测网络用于检测僵尸网络攻击,一个攻击检测网络用于检测拒绝服务攻击和分布式拒绝服务攻击,另一个攻击检测网络用于检测端口扫描攻击、暴力破解攻击和渗透攻击。
攻击检测网络可以采用深度学习网络模型,指层数超过3层的神经网络模型,包括但不限于深度置信网络模型、循环神经网络模型、MLP网络、CNN模型、LSTM模型等。
步骤S202,根据攻击检测网络集合输出的检测结果,确定异常数据的攻击类型。
本申请实施例提供的网络流量监控方法,在确定网络流量数据中包含异常数据之后,将异常数据输入攻击检测网络集合,根据攻击检测网络集合输出的检测结果,确定异常数据的攻击类型,不仅可以识别出异常数据,还可以确定异常数据的攻击类型,更有利于识别和化解网络攻击行为。
下文分别介绍本申请实施例中所使用的异常检测模型和攻击检测网络的训练过程,首先介绍异常检测模型的训练过程。
异常检测模型用于检测获取的网络流量数据属于正常数据还是异常数据,输出网络流量数据属于正常数据和异常数据的概率。由于异常检测模型的输出结果是需要判断是或否的结果,因此,异常检测模型的输出端可以使用Sigmoid激活函数,Sigmoid激活函数的输出处于[0,1]的范围内,特别使用于需要输出概率的模型。
在一些实施例中,训练异常检测模型时,可以从多个模型中选择一个模型作为待训练的基础异常检测模型,获取异常检测训练数据集,异常检测训练数据集中的训练数据具有数据标签,例如,正常训练数据的数据标签为0,异常训练数据的数据标签为1。
为了保证训练得到的异常检测模型的准确性,异常检测训练数据集中正常训练数据与异常训练数据的比例(正负样本比例)可以根据业务场景进行设置,使正负样本比例能够与真实应用场景中正常数据与异常数据的比例相匹配。例如,在一些场景中,正常训练数据与异常训练数据的比例可以控制在1:5左右,即异常训练数据在异常检测训练数据集中的占比约在20%左右。也可以在最初进行训练时,将正常训练数据与异常训练数据的比例设置为1:5,在后续训练和应用过程中,根据训练检验结果和实际应用场景进行调整。
可选地,异常检测训练数据集可以是由下文所述的一个或多个攻击检测训练数据集组成的,为攻击检测训练数据集中的训练数据标注正常数据或异常数据的数据标签,将一个或多个攻击检测训练数据集合并,组成异常检测训练数据集。
采用异常检测训练数据集对基础异常检测模型进行训练。将异常检测训练数据集中的训练数据作为输入,将训练数据的数据标签作为输出,对基础异常检测模型进行训练。
具体地说,从异常检测训练数据集中随机抽取训练数据,将抽取的训练数据输入基础异常检测模型,得到基础异常检测模型输出的该训练数据属于正常数据和属于异常数据的概率,可以称为分类结果。将得到的训练数据的分类结果与训练数据的数据标签进行对比,计算损失值。基于损失值对基础异常检测模型的参数进行训练,即基于损失值调整基础异常检测模型的参数,然后重复上述训练过程,直至损失值收敛至预设的期望值。
在另一些实施例中,为了加快训练速度,可以采用分布式训练方法对异常检测模型进行训练。异常检测模型的具体训练过程可以如图3所示,包括如下步骤:
步骤S301,将待训练的异常检测模型分别发送至第一训练集群中的每个训练节点,以使每个训练节点将异常检测训练数据集中的训练数据作为输入,将所述训练数据的数据标签作为输出,对待训练的异常检测模型进行训练。
在进行首轮训练之前,模型训练设备可以从多个模型中选择一个基础异常检测模型作为待训练的异常检测模型,并获取异常检测训练数据集,与上述实施例相同,异常检测训练数据集中的训练数据具有数据标签,数据标签用于标示该训练数据是正常数据还是异常数据。将基础异常检测模型和异常检测训练数据集均发送至第一训练集群中的每个训练节点,开始首轮训练。上述模型训练设备可以是网络流量监控设备、服务器、终端设备,也可以是专用于训练模型的电子设备。该模型训练设备是第一训练集群中的主训练节点。
在一轮训练过程中,训练节点从异常检测训练数据集中随机抽取训练数据,将抽取的训练数据输入待训练的异常检测模型,得到待训练的异常检测模型输出训练数据的分类结果。将得到的训练数据的分类结果与训练数据的数据标签进行对比,计算损失值,以基于该损失值调整基础异常检测模型的参数,上述过程称为一次训练。在一轮训练过程中,训练节点可以对待训练的异常检测模型进行多次训练。
在每一轮训练过程中,每个训练节点分别根据异常检测训练数据集对待训练的异常检测模型进行训练,基于损失值调整待训练的异常检测模型的参数,直至训练的次数达到设定的训练次数或损失值收敛至预设的期望值,然后将模型参数返回至主训练节点。
例如,在一种实施例中,可以设定每轮训练的训练次数。在同一轮训练过程中,每个训练节点从异常检测训练数据集中抽取训练数据的顺序不同,抽取到的训练数据不同,当训练的次数达到设定的训练次数时,每个训练节点得到的模型参数可能不同。在另一种实施例中,可以设定每轮训练中损失值的期望值,每轮训练的期望值可以相同,也可以不同,譬如,每轮训练的期望值可以逐渐减小,下一轮训练的期望值可以小于上一轮训练的期望值。期望值越小,训练程度越高,训练得到的异常检测模型越好。这样设置可以使每轮训练的次数较少,从而减少训练用时,提高训练效率。
步骤S302,将第一训练集群中每个训练节点返回的模型参数的平均值,作为待训练的异常检测模型的模型参数,得到异常检测中间模型。
由于每个训练节点返回的模型参数可能不同,可以将得到的多个模型参数的平均值,作为待训练的异常检测模型的模型参数,得到异常检测中间模型。若异常检测中间模型不能满足要求,再将异常检测中间模型发送至每个训练节点继续进行训练。通过该方式,可以大幅度加快训练速度,提高训练效率。
步骤S303,采用异常检测测试数据集对异常检测中间模型进行检验,确定异常检测中间模型是否通过检验;若是,执行步骤S304;若否,执行步骤S305。
异常检测测试数据集中的测试数据与异常检测训练数据集中的训练数据具有相同的数据标签。每一轮训练后,采用异常检测测试数据集对异常检测中间模型进行检验。检验过程可以是,将异常检测测试数据集中的多个测试数据分别输入异常检测中间模型,得到异常检测中间模型输出测试数据的分类结果。将得到的测试数据的分类结果与测试数据的数据标签进行对比,计算损失值,得到多个损失值,求取多个损失值的平均损失值,判断平均损失值是否小于或等于设定值,若是,则检验通过,若否,则检验未通过。
步骤S304,将异常检测中间模型作为已训练的异常检测模型。
若检验通过,说明异常检测中间模型达到训练要求,可以停止训练,将异常检测中间模型作为训练好的可以使用的异常检测模型。
步骤S305,将异常检测中间模型作为待训练的异常检测模型。
若检验未通过,将异常检测中间模型作为待训练的异常检测模型,返回步骤S301,对异常检测中间模型进行继续训练。
在一种可选的实施例中,可以记录检验未通过的次数。若检验未通过,并且检验未通过的次数达到设定次数,可以停止训练,并输出训练失败的提示。在另一种可选的实施例中,可以记录训练时长,若训练时长达到设定时长,可以停止训练,输出训练失败的提示。训练失败可能是因为所选择的基础异常检测模型并不适合进行异常流量的检测,此时,用户可以选择其它模型作为新的基础异常检测模型,重新进行训练。
攻击检测网络的训练过程与异常检测模型的训练过程相似。攻击检测网络用于检测异常数据的攻击类型,攻击检测网络的一种网络结构可以是:攻击检测网络包括特征提取子网络和分类子网络,特征提取子网络用于确定异常数据的数据特征值,分类子网络用于根据该数据特征值确定异常数据所属的攻击类型。示例性地,在一些实施例中,攻击检测网络集合可以检测的几种攻击类型如表1所示。
表1
攻击类型 | 数据特征值 | 攻击类型标签 |
僵尸网络攻击 | 0x01 | Bot |
拒绝服务攻击 | 0x10 | DOS Huk |
分布式拒绝服务攻击 | 0x20 | DDOS |
端口扫描攻击 | 0x30 | Portscan |
暴力破解攻击 | 0x40 | Brute force Web |
渗透攻击 | 0x60 | Infilteration |
在本申请实施例中,攻击检测网络集合中的攻击检测网络可以用于检测一种攻击类型,以提高检测的准确性;也可以用于检测多种攻击类型,以减少所使用的攻击检测网络的数量,节约计算资源,同时提高检测效率。
在一些实施例中,对攻击检测网络进行训练时,可以从多个网络模型中选择一个网络模型作为待训练的基础攻击检测网络,获取攻击检测训练数据集,攻击检测训练数据集中的训练数据标注有攻击类型标签。
如果攻击检测训练数据集中只包括一种攻击类型标签,即攻击检测训练数据集中的训练数据分为两种,一种训练数据为正常训练数据,称为正样本,另一种训练数据为负样本,负样本都具有同一种攻击类型标签,则利用该攻击检测训练数据集训练得到的攻击检测网络用于检测一种攻击类型。
如果攻击检测训练数据集中包括多种攻击类型标签,例如,攻击检测训练数据集的负样本中既包括标注有第一种攻击类型标签的训练数据,还包括标注有第二种攻击类型标签的训练数据,则利用该攻击检测训练数据集训练得到的攻击检测网络可以用于检测多种攻击类型,如第一种攻击类型和第二种攻击类型。
为了保证训练得到的攻击检测模型的准确性,也需要控制攻击检测训练数据集中正负样本比例。例如,可以在最初进行训练时,将正负样本比例设置为1:5,在后续训练和应用过程中,根据训练检验结果和实际应用场景进行调整。进一步地,当攻击检测训练数据集中包括多种攻击类型标签时,在负样本中,还可以控制不同攻击类型的训练数据所占的比例。例如,如果所训练的攻击检测网络需要检测三种攻击类型,分别为分布式拒绝服务攻击、端口扫描攻击和暴力破解攻击。在真实应用环境中,分布式拒绝服务攻击占比40%左右,端口扫描攻击占比20%左右,暴力破解攻击占比10%左右,则在构建攻击检测训练数据集时,可以参照上述占比情况配置三种攻击类型的训练数据所占的比例。
采用攻击检测训练数据集对基础攻击检测网络进行训练。将攻击检测训练数据集中的训练数据作为输入,将训练数据的攻击类型标签作为输出,对基础攻击检测网络进行训练。
具体地说,从攻击检测训练数据集中随机抽取训练数据,将抽取的训练数据输入基础攻击检测网络,得到基础攻击检测网络输出的该训练数据的攻击类型。将得到的训练数据的攻击类型与训练数据的攻击类型标签进行对比,计算损失值。基于损失值对基础攻击检测网络的参数进行训练,即基于损失值调整基础攻击检测网络的参数,然后重复上述训练过程,直至损失值收敛至预设的期望值。
在上述训练过程中,计算损失值时使用的损失函数可以是但不限于多分类交叉熵损失函数、与度量学习相关的对比损失函数(contrastive Loss)或三元组损失函数(triplet Loss)等。
在另一些实施例中,为了加快训练速度,也可以采用分布式训练方法对攻击检测网络进行训练,以下参照图4说明攻击检测网络的训练过程。该训练过程中与异常检测模型的训练过程的相似之处可以参照上文的描述执行,不再详细说明,下文重点说明与异常检测模型的训练过程的不同之处,如图4所示,攻击检测网络的训练过程包括如下步骤:
步骤S401,将同一个待训练的攻击检测网络分别发送至第二训练集群中的每个训练节点,以使每个训练节点将攻击检测训练数据集中的训练数据作为输入,将训练数据的攻击类型标签作为输出,对待训练的基础攻击检测网络进行训练。第二训练集群中的训练节点与第一训练集群中的训练节点可以是相同的训练节点,也可以是不同的训练节点。
在进行首轮训练之前,模型训练设备可以从多个网络模型中选择一个基础攻击检测网络作为待训练的攻击检测网络,并获取攻击检测训练数据集,攻击检测训练数据集中的训练数据标注有攻击类型标签。将待训练的攻击检测网络和攻击检测训练数据集分别发送至第二训练集群中的每个训练节点,开始首轮训练。
步骤S402,将第二训练集群中每个训练节点返回的模型参数的平均值,作为待训练的攻击检测网络的模型参数,得到攻击检测中间网络。
步骤S403,采用攻击检测测试数据集对攻击检测中间网络进行检验,确定攻击检测中间模型是否通过检验;若是,执行步骤S404;若否,执行步骤S405。
攻击检测测试数据集中的测试数据与攻击检测训练数据集中的训练数据具有相同的攻击类型标签。每一轮训练后,采用攻击检测测试数据集对攻击检测中间网络进行检验。检验过程可以是,将攻击检测测试数据集中的多个测试数据分别输入攻击检测中间网络,得到攻击检测中间网络输出测试数据的攻击类型。将得到的测试数据的攻击类型与测试数据的攻击类型标签进行对比,计算损失值,得到多个损失值,求取多个损失值的平均损失值,判断平均损失值是否小于或等于设定值,若是,则检验通过,若否,则检验未通过。为了保证得到的攻击检测网络的检测准确性,示例性地,此处的设定值可以设定为5%。如果平均损失值小于5%,说明攻击检测中间网络的准确性达到95%以上,可以保证检测准确性。
步骤S404,将攻击检测中间网络作为已训练的攻击检测网络。
若检验通过,说明攻击检测中间网络达到训练要求,可以停止训练,将攻击检测中间网络作为训练好的可以使用的攻击检测网络。
步骤S405,将攻击检测中间网络作为待训练的攻击检测网络。
若检验未通过,将攻击检测中间网络作为待训练的攻击检测网络,返回步骤S401,对攻击检测中间网络进行继续训练。
在一种可选的实施例中,若检验未通过,并且检验未通过的次数达到设定次数或训练时长达到设定时长,输出训练失败提示。
如果攻击检测训练数据集中只包括一种攻击类型标签,训练失败说明所选择的基础攻击检测网络并不适合检测该攻击类型,此时,用户可以选择其它模型作为新的基础攻击检测网络,重新进行训练;或者,用户可以更换攻击检测训练数据集,新的攻击检测训练数据集包括不同于之前的攻击类型标签,采用新的攻击检测训练数据集对攻击检测中间网络再次进行训练。
如果攻击检测训练数据集中包括多种攻击类型标签,训练失败说明攻击检测网络所检测的攻击类型过多,无法保证检测的准确性。此时,可以减少攻击检测训练数据集中包括的攻击类型标签的种类,从而减少攻击检测网络所检测的攻击类型。模型训练设备可以根据用户指令减少攻击检测训练数据集的训练数据,减少的训练数据均带有相同的攻击类型标签,将减少训练数据后的攻击检测训练数据集发送至每个训练节点,以使每个训练节点采用减少训练数据后的攻击检测训练数据集继续对攻击检测中间网络进行训练。
为了更便于理解本申请实施例的方案,下文通过一个具体实例说明本申请实施例提供的异常流量检测方法的具体执行过程。如图5所示,该方法包括如下步骤:
步骤S501,获取网络流量数据。
网络流量监控设备可以通过PF_Ring(高效数据包捕获工具)、DPDK(Data PlaneDevelopment Kit,数据平面开发套件)、Libpacp(网络数据包捕获函数库)等工具采集网络流量数据,或者,可以通过SNMP(简单网络管理协议)建立网络管理系统,周期性地采集通过网络设备传输的网络流量数据,或者,可以通过分光器采集网络流量数据。其中,分光器是一种无源器件,通过在物理层上进行光复制来进行网络流量数据的采集。
步骤S502,通过异常检测模型确定获取的网络流量数据中是否包含异常数据;如果是,执行步骤S503;如果否,返回执行步骤S501。
在将网络流量数据输入异常检测模型之前,可以对获取的网络流量数据进行数据预处理,将网络流量数据的数据格式规范化,以使异常检测模型可以识别。例如,可以通过Spark streaming根据CICIDS-2018数据集特征格式,对网络流量数据进行处理。
异常检测模型对预处理后的网络流量数据进行检测,将网络流量数据中的正常数据标记为0,将网络流量数据中的异常数据标记为1。
例如,在电力缴费系统中,网络流量监控设备与POS机、ATM机等终端设备连接,用户使用ATM机进行缴费,ATM机会向网络流量监控设备发送缴费业务数据,网络流量监控设备从ATM机发送的缴费业务数据中提取ATM机的地址特征和业务流量特征,异常检测模型根据提取的地址特征和业务流量特征确定缴费业务数据属于异常数据的概率。如果得到的概率值小于或等于设定的阈值,则确定缴费业务数据是正常数据,该缴费行为属于正常操作。如果得到的概率值大于设定的阈值,则确定缴费业务数据是异常数据,该缴费行为属于异常操作。
步骤S503,将异常数据输入攻击检测网络集合进行攻击类型检测。
将标记为1的网络流量数据并行输入攻击检测网络集合中的多个攻击检测网络进行攻击类型检测。
步骤S504,根据攻击检测网络集合输出的检测结果,确定异常数据的攻击类型。
保存并输出异常数据的攻击类型。如果同一数据被两个攻击检测网络分别检测出不同的攻击类型,将两个攻击类型均作为该数据的攻击类型输出,并标记该数据,以使工作人员进行进一步检测,确定该数据的攻击类型。
可选地,在异常流量检测过程中,还可以将新获取的网络流量数据或者将人工分析后确定为出现误判的网络流量数据补充至上述的异常检测训练数据集或攻击检测训练数据集中。例如,可以将新获取的网络流量数据补充至用于对模型进行在线训练的SparkSQL数据库中,或者,将新获取的网络流量数据补充至用于对模型进行离线训练的HDFS数据库中。
在一些实施例中,可以根据在异常流量检测过程中确定的新增训练数据更新异常检测训练数据集,按照设定的时间周期或响应用户输入的训练指令,将更新后的异常检测训练数据集发送至每个训练节点,以使每个训练节点采用更新后的异常检测训练数据集对异常检测模型进行在线或离线训练。还可以根据在异常流量检测过程中确定的新增训练数据更新攻击检测训练数据集,按照设定的时间周期或响应用户输入的训练指令,将更新后的攻击检测训练数据集发送至每个训练节点,以使每个训练节点采用更新后的攻击检测训练数据集对攻击检测网络进行在线或离线训练。
在进行异常流量检测的过程中,可以根据新出现的异常数据实时更新训练数据集,采用更新后的训练数据集对异常检测模型或攻击检测网络进行再次训练,以保持检测结果的准确性。
上述方法可以由网络流量监控设备执行,也可以由能够获取网络流量数据的服务器或终端设备执行。
与上述方法实施例基于同一发明构思,本申请实施例还提供了一种网络流量监控设备,如图6所示,该网络流量监控设备包括:
异常数据检测单元61,用于通过异常检测模型确定获取的网络流量数据中是否包含异常数据;
攻击类型检测单元62,用于若所述网络流量数据中包含异常数据,将所述异常数据输入攻击检测网络集合;所述攻击检测网络集合中包括至少一个攻击检测网络;并根据所述攻击检测网络集合输出的检测结果,确定所述异常数据的攻击类型。
在一种可能的实现方式中,所述攻击检测网络集合中包括多个攻击检测网络,每个攻击检测网络用于检测至少一种攻击类型,每个攻击检测网络所检测的攻击类型互不相同;
所述攻击类型检测单元62,还可以用于:
将所述异常数据并行输入每个所述攻击检测网络。
在一种可能的实现方式中,如图7所示,所述设备还可以包括网络训练单元71,用于:
将同一个基础攻击检测网络分别发送至训练集群中的每个训练节点,以使每个训练节点将攻击检测训练数据集中的训练数据作为输入,将所述训练数据的攻击类型作为输出,对所述基础攻击检测网络进行训练;所述训练数据带有预先标注的攻击类型标签;
将每个训练节点返回的模型参数的平均值,作为所述基础攻击检测网络的模型参数,得到攻击检测中间网络;
采用攻击检测测试数据集对所述攻击检测中间网络进行检验;
若检验未通过,将所述攻击检测中间网络发送至训练集群中的每个训练节点继续训练;
若检验通过,将所述攻击检测中间网络作为已训练的攻击检测网络。
在一种可能的实现方式中,所述网络训练单元71,还可以用于:
若检验未通过,并且检验未通过的次数达到设定次数或训练时长达到设定时长,输出训练失败提示;
根据用户指令减少所述攻击检测训练数据集的训练数据,减少的训练数据均带有相同的攻击类型标签;
将减少训练数据后的攻击检测训练数据集发送至每个训练节点,以使每个训练节点采用减少训练数据后的攻击检测训练数据集继续对所述攻击检测中间网络进行训练。
在一种可能的实现方式中,所述网络训练单元71,还可以用于:
将基础异常检测模型分别发送至训练集群中的每个训练节点,以使每个训练节点将异常检测训练数据集中的训练数据作为输入,将所述训练数据的数据标签作为输出,对所述基础异常检测模型进行训练;
将每个训练节点返回的模型参数的平均值,作为所述基础异常检测模型的模型参数,得到异常检测中间模型;
采用攻击检测测试数据集对所述异常检测中间模型进行检验;
若检验未通过,将所述异常检测中间模型发送至训练集群中的每个训练节点继续训练;
若检验通过,将所述异常检测中间模型作为已训练的异常检测模型。
在一种可能的实现方式中,所述设备还包括训练数据更新单元72,用于:
根据在异常流量检测过程中确定的新增训练数据更新攻击检测训练数据集;
按照设定的时间周期或响应用户输入的训练指令,将更新后的攻击检测训练数据集发送至每个训练节点,以使每个训练节点采用更新后的攻击检测训练数据集对所述攻击检测网络进行训练。
本申请实施例提供的网络流量监控设备,在确定网络流量数据中包含异常数据之后,将异常数据输入攻击检测网络集合,根据攻击检测网络集合输出的检测结果,确定异常数据的攻击类型,不仅可以识别出异常数据,还可以确定异常数据的攻击类型,更有利于识别和化解网络攻击行为。
与上述方法实施例基于同一发明构思,本申请实施例还提供了一种网络流量监控设备。该网络流量监控设备可以是图1中所示的网络流量监控设备300,也可以集成在网络设备、服务器或终端设备中。
图8示出了一种本申请实施例提供的网络流量监控设备的结构框图。如图8所示,网络流量监控设备以通用电子设备的形式表现。网络流量监控设备300的组件可以包括但不限于:至少一个处理器310、至少一个存储器320、至少一个网络接口330,连接不同系统组件(包括存储器320、网络接口330和处理器310)的总线340。本领域技术人员可以理解,图8中示出的网络流量监控设备300结构并不构成对网络流量监控设备300的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图8对网络流量监控设备300的各个构成部件进行具体的介绍:
总线340表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器320可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ROM)323。存储器320被配置为存储所述网络流量监控设备所使用的程序或数据。
存储器320还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
网络流量监控设备300可以通过网络接口330与网络设备、终端设备以及一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图8所示,网络接口330通过总线340与网络流量监控设备300的其它模块进行数据传输。网络接口330被配置为获取网络流量数据。获取的网络流量数据既可以是从网络设备发送给外部网络的,也可以是由外部网络流入网络设备的。网络接口330可以通过PF_Ring、DPDK、Libpacp等工具采集网络流量数据,或者,可以通过SNMP协议周期性地采集通过网络设备传输的网络流量数据。在一种实施例中,网络接口330可以通过分光器采集网络流量数据。其中,分光器是一种无源器件,通过在物理层上进行光复制来进行网络流量数据的采集。分光器是将经过的网络流量进行复制的,复制的网络流量用于进行网络流量监控,而被复制的网络流量则正常传输与处理,不会影响正常业务数据的传输。
通过分光器采集网络流量数据时,由于不需要网络设备向网络流量监控设备300上报数据,网络设备不会产生额外的负载,可以以秒级甚至毫秒级的时间粒度进行采集,以实现网络流量的实时监控。
具体地,分光器的采集周期时按照网络流量监控的监控需求进行设置,例如,网络流量监控的监控需求是获取秒级数据,则分光器可以按照秒级时间粒度进行采集。可选的,分光器的采集周期也可以按照网络流量监控设备300的处理性能来设置的,例如网络流量监控设备的处理性能较高,则可以加快分光器的采集频率,当网络流量监控设备的处理性能较低时,则可以降低分光器的采集频率。
网络流量监控设备300还可以与一个或多个外部设备360(例如键盘、显示器等)通信,例如,通过显示器将异常流量检测的结果展示给用户。网络流量监控设备300还可与一个或者多个使得用户能与网络流量监控设备300交互的设备通信,和/或与使得该网络流量监控设备300能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口350进行。应当理解,尽管图中未示出,可以结合网络流量监控设备300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器310是网络流量监控设备300的控制中心,利用各种接口和线路连接整个网络流量监控设备300的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器320内的数据,执行网络流量监控设备300的各种功能和处理数据,从而对网络流量监控设备300进行整体监控。可选的,处理器310可包括一个或多个处理单元;可选的,处理器310可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、应用及应用内部的功能模块等软件程序。调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器310中。
在本申请实施例中,处理器310被配置为:若网络流量数据中包含异常数据,将所述异常数据输入攻击检测网络集合;所述攻击检测网络集合中包括至少一个攻击检测网络;根据所述攻击检测网络集合输出的检测结果,确定所述异常数据的攻击类型。
可选地,所述攻击检测网络集合中包括多个攻击检测网络,每个攻击检测网络用于检测至少一种攻击类型,每个攻击检测网络所检测的攻击类型互不相同;所述处理器310,还被配置为:将所述异常数据并行输入每个所述攻击检测网络。
可选地,所述处理器310,还被配置为:将同一个基础攻击检测网络分别发送至训练集群中的每个训练节点,以使每个训练节点将攻击检测训练数据集中的训练数据作为输入,将所述训练数据的攻击类型作为输出,对所述基础攻击检测网络进行训练;所述训练数据带有预先标注的攻击类型标签;
将每个训练节点返回的模型参数的平均值,作为所述基础攻击检测网络的模型参数,得到攻击检测中间网络;
采用攻击检测测试数据集对所述攻击检测中间网络进行检验;
若检验未通过,将所述攻击检测中间网络发送至训练集群中的每个训练节点继续训练;
若检验通过,将所述攻击检测中间网络作为已训练的攻击检测网络。
可选地,所述处理器310,还被配置为:对所述攻击检测中间网络进行检验之后,若检验未通过,并且检验未通过的次数达到设定次数或训练时长达到设定时长,输出训练失败提示;
根据用户指令减少所述攻击检测训练数据集的训练数据,减少的训练数据均带有相同的攻击类型标签;
将减少训练数据后的攻击检测训练数据集发送至每个训练节点,以使每个训练节点采用减少训练数据后的攻击检测训练数据集继续对所述攻击检测中间网络进行训练。
可选地,所述处理器310,还被配置为:根据所述攻击检测网络集合输出的检测结果,确定所述异常数据的攻击类型之后,根据在异常流量检测过程中确定的新增训练数据更新攻击检测训练数据集;
按照设定的时间周期或响应用户输入的训练指令,将更新后的攻击检测训练数据集发送至每个训练节点,以使每个训练节点采用更新后的攻击检测训练数据集对所述攻击检测网络进行训练。
可选地,所述处理器310,还被配置为:通过异常检测模型确定获取的网络流量数据中是否包含异常数据。
可以理解,图8所示的结构仅为示意,网络流量监控设备还可包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。图8中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例提供的网络流量监控设备,处理器在确定网络流量数据中包含异常数据之后,将异常数据输入攻击检测网络集合,根据攻击检测网络集合输出的检测结果,确定异常数据的攻击类型,不仅可以识别出异常数据,还可以确定异常数据的攻击类型,更有利于识别和化解网络攻击行为。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于实现本申请任一实施例所述的异常流量检测方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (8)
1.一种网络流量监控设备,其特征在于,包括网络接口、存储器和处理器;
所述网络接口,被配置为获取网络流量数据;
所述存储器,被配置为存储所述网络流量监控设备所使用的程序或数据;
所述处理器,被配置为若所述网络流量数据中包含异常数据,将所述异常数据输入攻击检测网络集合;所述攻击检测网络集合中包括至少一个攻击检测网络;根据所述攻击检测网络集合输出的检测结果,确定所述异常数据的攻击类型;
所述处理器,还被配置为:将同一个基础攻击检测网络分别发送至训练集群中的每个训练节点,以使每个训练节点将攻击检测训练数据集中的训练数据作为输入,将所述训练数据的攻击类型作为输出,对所述基础攻击检测网络进行训练;所述训练数据带有预先标注的攻击类型标签;
将每个训练节点返回的模型参数的平均值,作为所述基础攻击检测网络的模型参数,得到攻击检测中间网络;
采用攻击检测测试数据集对所述攻击检测中间网络进行检验;
若检验未通过,将所述攻击检测中间网络发送至训练集群中的每个训练节点继续训练;
若检验通过,将所述攻击检测中间网络作为已训练的攻击检测网络。
2.如权利要求1所述的网络流量监控设备,其特征在于,所述攻击检测网络集合中包括多个攻击检测网络,每个攻击检测网络用于检测至少一种攻击类型,每个攻击检测网络所检测的攻击类型互不相同;
所述处理器,还被配置为:将所述异常数据并行输入每个所述攻击检测网络。
3.如权利要求1所述的网络流量监控设备,其特征在于,所述处理器,还被配置为:对所述攻击检测中间网络进行检验之后,若检验未通过,并且检验未通过的次数达到设定次数或训练时长达到设定时长,输出训练失败提示;
根据用户指令减少所述攻击检测训练数据集的训练数据,减少的训练数据均带有相同的攻击类型标签;
将减少训练数据后的攻击检测训练数据集发送至每个训练节点,以使每个训练节点采用减少训练数据后的攻击检测训练数据集继续对所述攻击检测中间网络进行训练。
4.如权利要求1所述的网络流量监控设备,其特征在于,所述处理器,还被配置为:
通过异常检测模型确定获取的网络流量数据中是否包含异常数据。
5.一种异常流量检测方法,其特征在于,包括:
若网络流量数据中包含异常数据,将所述异常数据输入攻击检测网络集合;所述攻击检测网络集合中包括至少一个攻击检测网络;
根据所述攻击检测网络集合输出的检测结果,确定所述异常数据的攻击类型;
通过下列方式对所述攻击检测网络集合中的攻击检测网络进行训练:
将同一个基础攻击检测网络分别发送至训练集群中的每个训练节点,以使每个训练节点将攻击检测训练数据集中的训练数据作为输入,将所述训练数据的攻击类型标签作为输出,对所述基础攻击检测网络进行训练;
将每个训练节点返回的模型参数的平均值,作为所述基础攻击检测网络的模型参数,得到攻击检测中间网络;
采用攻击检测测试数据集对所述攻击检测中间网络进行检验;
若检验未通过,将所述攻击检测中间网络发送至训练集群中的每个训练节点继续训练;
若检验通过,将所述攻击检测中间网络作为已训练的攻击检测网络。
6.如权利要求5所述的方法,其特征在于,所述攻击检测网络集合中包括多个攻击检测网络,每个攻击检测网络用于检测至少一种攻击类型,每个攻击检测网络所检测的攻击类型互不相同;
所述将所述异常数据输入攻击检测网络集合,包括:
将所述异常数据并行输入每个所述攻击检测网络。
7.如权利要求5所述的方法,其特征在于,对所述攻击检测中间网络进行检验之后,所述方法还包括:
若检验未通过,并且检验未通过的次数达到设定次数或训练时长达到设定时长,输出训练失败提示;
根据用户指令减少所述攻击检测训练数据集的训练数据,减少的训练数据均带有相同的攻击类型标签;
将减少训练数据后的攻击检测训练数据集发送至每个训练节点,以使每个训练节点采用减少训练数据后的攻击检测训练数据集继续对所述攻击检测中间网络进行训练。
8.如权利要求5所述的方法,其特征在于,通过下列方式确定网络流量数据中是否包含异常数据:
通过异常检测模型确定获取的网络流量数据中是否包含异常数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911190057.1A CN112866185B (zh) | 2019-11-28 | 2019-11-28 | 网络流量监控设备和异常流量检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911190057.1A CN112866185B (zh) | 2019-11-28 | 2019-11-28 | 网络流量监控设备和异常流量检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112866185A CN112866185A (zh) | 2021-05-28 |
CN112866185B true CN112866185B (zh) | 2021-11-02 |
Family
ID=75995367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911190057.1A Active CN112866185B (zh) | 2019-11-28 | 2019-11-28 | 网络流量监控设备和异常流量检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866185B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113408609A (zh) * | 2021-06-17 | 2021-09-17 | 武汉卓尔信息科技有限公司 | 一种网络攻击检测方法及系统 |
CN113452684A (zh) * | 2021-06-17 | 2021-09-28 | 湖南工程学院 | 一种网络安全检测网关及系统 |
CN113514107B (zh) * | 2021-07-20 | 2023-07-28 | 大唐互联科技(武汉)有限公司 | 基于设备点检的展开方法及系统 |
CN114157467B (zh) * | 2021-11-25 | 2024-06-04 | 山东科技大学 | 分布式可切换工控蜜网诱捕方法 |
CN113965562B (zh) * | 2021-12-21 | 2022-03-01 | 深圳市思迅网络科技有限公司 | 一种降低pos前台下载资料流量消耗的实现方法 |
CN115150182B (zh) * | 2022-07-25 | 2023-07-25 | 国网湖南省电力有限公司 | 基于流量分析的信息系统网络攻击检测方法 |
CN115296984B (zh) * | 2022-08-08 | 2023-12-19 | 中国电信股份有限公司 | 异常网络节点的检测方法及装置、设备、存储介质 |
CN117056951B (zh) * | 2023-08-09 | 2024-06-25 | 上海好芯好翼智能科技有限公司 | 一种数字平台的数据安全管理方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505241A (zh) * | 2019-09-17 | 2019-11-26 | 武汉思普崚技术有限公司 | 一种网络攻击面检测方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4827972B2 (ja) * | 2007-09-28 | 2011-11-30 | 日本電信電話株式会社 | ネットワーク監視装置、ネットワーク監視方法およびネットワーク監視プログラム |
CN102821002B (zh) * | 2011-06-09 | 2015-08-26 | 中国移动通信集团河南有限公司信阳分公司 | 网络流量异常检测方法和系统 |
CN108809974A (zh) * | 2018-06-07 | 2018-11-13 | 深圳先进技术研究院 | 一种网络异常识别检测方法及装置 |
CN110149315A (zh) * | 2019-04-24 | 2019-08-20 | 南京邮电大学 | 异常网络流量检测方法、可读存储介质和终端 |
-
2019
- 2019-11-28 CN CN201911190057.1A patent/CN112866185B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505241A (zh) * | 2019-09-17 | 2019-11-26 | 武汉思普崚技术有限公司 | 一种网络攻击面检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112866185A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112866185B (zh) | 网络流量监控设备和异常流量检测方法 | |
US9870470B2 (en) | Method and apparatus for detecting a multi-stage event | |
US9836600B2 (en) | Method and apparatus for detecting a multi-stage event | |
CN108881265B (zh) | 一种基于人工智能的网络攻击检测方法及系统 | |
CN101841533B (zh) | 分布式拒绝服务攻击检测方法和装置 | |
KR102120214B1 (ko) | 앙상블 기계학습 기법을 이용한 사이버 표적공격 탐지 시스템 및 그 탐지 방법 | |
CN112737800B (zh) | 服务节点故障定位方法、调用链生成方法及服务器 | |
CN106330588B (zh) | 一种bfd检测方法与装置 | |
CN113537268A (zh) | 一种故障检测方法、装置、计算机设备及存储介质 | |
CN111586028B (zh) | 一种异常登录的评估方法、装置、服务器和存储介质 | |
CN110618977B (zh) | 登录异常检测方法、装置、存储介质和计算机设备 | |
CN115022022A (zh) | 一种基于节点过往行为分析的Raft共识机制改进方法 | |
CN111526109B (zh) | 自动检测web威胁识别防御系统的运行状态的方法及装置 | |
Sen et al. | Towards an approach to contextual detection of multi-stage cyber attacks in smart grids | |
CN111708672B (zh) | 数据传输方法、装置、设备及存储介质 | |
Lee et al. | AI-based network security enhancement for 5G industrial Internet of things environments | |
CN117312098A (zh) | 一种日志异常告警方法及装置 | |
CN103731315A (zh) | 一种服务器故障检测方法 | |
CN109040075B (zh) | 无线移动传感器网络中节点的管理方法、服务器和系统 | |
CN115118525B (zh) | 一种物联网安全防护系统及其防护方法 | |
CN114301796A (zh) | 预测态势感知的验证方法、装置及系统 | |
CN112073426A (zh) | 一种云防护环境下网站扫描检测方法、系统及设备 | |
CN111431909A (zh) | 用户实体行为分析中分组异常检测方法及装置、终端 | |
KR102672651B1 (ko) | IoT 장치 식별 방법 및 이를 구현한 네트워크 관리 장치 | |
CN112333157B (zh) | 基于大数据的网络安全防护方法和网络安全防护平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |