CN112866175B - 一种异常流量类型保留方法、装置、设备及存储介质 - Google Patents

一种异常流量类型保留方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112866175B
CN112866175B CN201911102870.9A CN201911102870A CN112866175B CN 112866175 B CN112866175 B CN 112866175B CN 201911102870 A CN201911102870 A CN 201911102870A CN 112866175 B CN112866175 B CN 112866175B
Authority
CN
China
Prior art keywords
abnormal traffic
abnormal
consumption rate
types
type
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
Application number
CN201911102870.9A
Other languages
English (en)
Other versions
CN112866175A (zh
Inventor
曹雅琳
吴俊�
包德伟
孙振航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201911102870.9A priority Critical patent/CN112866175B/zh
Publication of CN112866175A publication Critical patent/CN112866175A/zh
Application granted granted Critical
Publication of CN112866175B publication Critical patent/CN112866175B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种异常流量类型保留方法、装置、设备及存储介质,其中,该方法包括:当根据网络设备在预设时间段内接收的流量数据检测存在多种异常流量类型时,获取多种异常流量类型各自对应的特征数据以及该网络设备在预设时间段内的实际CPU消耗率;将多种异常流量类型各自对应的特征数据输入预先训练的CPU消耗率预测模型,获得多种异常流量类型各自对应的预测CPU消耗率;根据多种异常流量类型各自对应的预测CPU消耗率以及实际CPU消耗率,确定多种异常流量类型之间的关系;根据多种异常流量类型之间的关系,确定多种异常流量类型中需要保留的目标异常流量类型。如此在高性能、低开销的情况下确定需要保留的异常流量类型。

Description

一种异常流量类型保留方法、装置、设备及存储介质
技术领域
本申请涉及通信技术领域,具体涉及一种异常流量类型保留方法、装置、设备及存储介质。
背景技术
防火墙作为内部网络环境与外部网络环境之间的保护屏障,用于阻断来自外部网络环境的不安全因素。近年来,因防火墙的中央处理器(central processing unit,CPU)过载而导致现网业务中断的事故频繁发生,而其中50%以上的事故都是因异常流量突发导致的。为了保证防火墙后续可以有效地拦截此类引起异常流量突发的攻击报文,通常需要在事故发生后识别异常流量类型,并采集属于该异常流量类型的攻击报文数据,基于采集的攻击报文数据挖掘五元组,进而将基于所挖掘的五元组生成的访问控制列表(accesscontrol lists,ACL)下发至防火墙端口。
然而,由于当前业界对异常流量类型的定义没有统一标准,并且很多异常流量类型的特征彼此之间存在较强的相关性,因此,识别异常流量类型时,通常容易识别出多种相关的异常流量类型,但是所属于这些异常流量类型的攻击报文可能存在较高的重叠度,即很多报文可能被重复地划分为多种不同的异常流量类型,如此,将导致针对很多报文重复挖掘五元组的情况发生,这会为防火墙CPU带来很大的开销。
以图1所示场景为例,攻击者101通过控制傀儡机102、傀儡机103和傀儡机104,分别对服务器105和设备106中的地址池进行报文数量为1G的同步序列号(synchronizesequence number,SYN)-flood攻击。这种情况下,防火墙会根据2G的SYN报文检测存在SYN-flood攻击,还会根据1G的用于攻击地址池的SYN报文检测存在针对地址池攻击;而用于攻击地址池的SYN报文既会被划分为SYN-flood攻击,又会被划分为针对地址池攻击;相应地,针对属于SYN-flood攻击的报文数据进行五元组挖掘时,将对此部分用于攻击地址池的SYN报文进行一次挖掘,针对属于针对地址池攻击的报文数据进行五元组挖掘时,将对此部分用于攻击地址池的SYN报文再进行一次挖掘,即此部分用于攻击地址池的SYN报文会被挖掘两次,而这种重复挖掘会为CPU带来很大的开销。
针对上文中因报文数据被划分至多种异常流量类型,而导致CPU对报文数据进行五元组挖掘时的开销增大的问题,当前业界的处理手段是人工手动对异常流量类型进行去重,这种方式实现代价高昂且处理严重滞后。
发明内容
本申请实施例提供了一种异常流量类型保留方法、装置、设备及存储介质,能够在高性能、低开销且兼顾准确率的情况下对异常流量类型进行去重处理。
有鉴于此,本申请第一方面提供了一种异常流量类型保留方法,该方法另辟蹊径,将与异常流量类型特征具有强相关性的CPU消耗率引入异常流量类型的去重处理中,根据由CPU消耗率预测模型确定的多种异常流量类型各自对应的预测CPU消耗率与实际CPU消耗率之间的关系,对多种异常流量类型相应地进行去重处理。
具体的,在本申请实施例提供的异常流量类型保留方法中,当根据网络设备在预设时间段内接收的流量数据检测出存在多种异常流量类型时,获取这多种异常流量类型各自对应的特征数据以及网络设备在预设时间段内的实际CPU消耗率。然后,利用预先训练好的CPU消耗率预测模型,根据多种异常流量类型各自对应的特征数据,确定这多种异常流量类型各自对应的预测CPU消耗率。进而,根据多种异常流量类型各自对应的预测CPU消耗率以及实际CPU消耗率,确定这多种异常流量类型之间的关系。并根据这多种异常流量类型之间的关系,确定这多种异常流量类型中需要保留的目标异常流量类型。
上述方法考虑到异常流量类型的特征与CPU消耗率之间具有较强的相关性,利用预先训练好的CPU消耗率预测模型,根据异常流量类型的特征数据准确地预测属于该种异常流量类型的报文对于CPU的消耗率;进而,再根据检测出的多种异常流量类型各自对应的预测CPU消耗率与网络设备的实际CPU消耗率之间的关系,从这多种异常流量类型中选出需要保留的目标异常流量类型。如此,对报文重叠度较高的异常流量类型进行去重处理,避免后续针对大量报文重复多次挖掘其对应的五元组,节省了网络设备CPU的开销;并且,相比人工对异常流量类型进行去重处理,本申请提供的方法更加智能化,能够有效地保证去重处理的及时性,提高了网络设备的整体处理性能。
在本申请实施例第一方面的第一种实现方式中,网络设备检测出的多种异常流量类型之间可以成独立关系,独立关系是指这多种异常流量类型下的报文完全不重叠。此时,网络设备可以从这多种异常流量类型中选出贡献度高于第一预设阈值的异常流量类型,作为需要保留的目标异常流量类型,此处异常流量类型的贡献度能够表征该种异常流量类型下的报文对于网络设备CPU的资源占用率。
如此,在多种异常流量类型成独立关系的情况下,网络设备可以通过上述方式,从这多种异常流量类型中选出占用CPU资源较多的异常流量类型,作为需要保留的目标异常流量类型,从而保证后续可以针对此类占用了较多CPU资源的目标异常流量类型下的报文进行五元组挖掘,以进一步保证五元组挖掘结果具有更高的应用价值。
在本申请实施例第一方面的第二种实现方式中,网络设备可以通过以下方式确定其检测出的多种异常流量类型是否成上述独立关系:先计算这多种异常流量类型各自对应的预测CPU消耗率的和,作为总预测CPU消耗率,然后,判断该总预测CPU消耗率与网络设备的实际CPU消耗率之间的差值是否在第一预设误差范围内,若是,则确定这多种异常流量类型之间的关系为独立关系,若否,则确定这多种异常流量类型之间的关系并非独立关系。在确定这多种异常流量类型之间的关系为独立关系时,网络设备可以进一步针对这多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与实际CPU消耗率之间的比值,作为该种异常流量类型的贡献度,进而,从这多种异常流量类型中选出贡献度大于第一预设阈值的异常流量类型,作为需要保留的目标异常流量类型。
如此,通过上述方式实现对于多种异常流量类型是否成独立关系的判断,以及对成独立关系的多种异常流量类型的去重处理,从而保证网络设备可以从成独立关系的多种异常流量类型中选出占用CPU资源较多的目标异常流量类型,进而保证基于该目标异常流量类型下的报文可以挖掘出更具应用价值的五元组。
在本申请实施例第一方面的第三种实现方式中,网络设备检测出的多种异常流量类型之间可以成完全包含关系,该完全包含关系是指这多种异常流量类型中一种异常流量类型下的报文完全包含其他异常流量类型下的报文。此时,网络设备可以从这多种异常流量类型中选出贡献度最高的异常流量类型,作为需要保留的目标异常流量类型,此处异常流量类型的贡献度能够表征该种异常流量类型下的报文对于网络设备CPU的资源占用率。
如此,在多种异常流量类型成完全包含关系的情况下,网络设备可以通过上述方式,从这多种异常流量类型中选出占用CPU资源最多的异常流量类型,作为需要保留的目标异常流量类型,该目标异常流量类型下的报文包含有多种异常流量类型中除该目标异常流量类型外的其他异常流量类型下的报文。由此保证后续可以仅针对此类占用了所有CPU资源的目标异常流量类型下的报文进行五元组挖掘,以进一步保证五元组挖掘结果具有更高的应用价值。
在本申请实施例第一方面的第四种实现方式中,网络设备可以通过以下方式确定其检测出的多种异常流量类型是否成上述完全包含关系:先针对多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与实际CPU消耗率的比值,作为该种异常流量类型对应的消耗率占比;然后,判断这多种异常流量类型各自对应的消耗率占比与1的差值是否在第二预设误差范围内,若存在异常流量类型对应的消耗率占比与1的差值在第二预设预测范围内,则确定这多种异常流量类型之间的关系为完全包含关系,该消耗率占比与1的差值在第二预设误差范围内的异常流量类型下的报文包含多种异常流量类型中其他异常流量类型下的报文。在确定这多种异常流量类型之间的关系为完全包含关系时,网络设备可以直接从多种异常流量类型中选择消耗率占比最大的异常流量类型,作为需要保留的目标异常流量类型,应理解,消耗率占比最大的异常流量类型实质上即为消耗率占比与1的差值在第二预设误差范围内的异常流量类型。
如此,通过上述方式实现对于多种异常流量类型是否成完全包含关系的判断,以及对成完全包含关系的多种异常流量类型的去重处理,从而保证网络设备可以从成完全包含关系的多种异常流量类型中选出占用CPU资源最多的目标异常流量类型,进而保证基于该目标异常流量类型下的报文可以挖掘出更具应用价值的五元组。
在本申请实施例第一方面的第五种实现方式中,网络设备检测出的多种异常流量类型可以成半包含关系,该半包含关系包括除上述独立关系和完全包含关系以外的其他关系,其具体是指多种异常流量类型下的报文部分重叠。此时,网络设备可以从这多种异常流量类型中选出贡献度高于第二预设阈值的异常流量类型,作为需要保留的目标异常流量类型,此处异常流量类型的贡献度能够表征该种异常流量类型下的报文对于网络设备CPU的资源占用率。
如此,在多种异常流量类型成半包含关系的情况下,网络设备可以通过上述方式,从这多种异常流量类型中选出占用CPU资源较多的异常流量类型,作为需要保留的目标异常流量类型,从而保证后续可以针对此类占用了较多CPU资源的目标异常流量类型下的报文进行五元组挖掘,以进一步保证五元组挖掘结果具有更高的应用价值。
在本申请实施例第一方面的第六种实现方式中,网络设备可以通过以下方式确定其检测出的多种异常流量类型是否成上述半包含关系:计算这多种异常流量类型各自对应的预测CPU消耗率的和,作为总预测CPU消耗率,并且针对这多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与实际CPU消耗率的比值,作为该种异常流量类型对应的消耗率占比。然后,根据总预测CPU消耗率与实际CPU消耗率之间的关系,判断这多种异常流量类型是否成独立关系,根据每种异常流量类型对应的消耗率占比与1之间的关系,判断这多种异常流量类型是否成完全包含关系,在这多种异常流量类型既不成独立关系,又不成完全包含关系的情况下,确定这多种异常流量类型成半包含关系;即若判断总预测CPU消耗率与实际CPU消耗率的差值超出第一预设误差范围(表明这多种异常流量类型不成独立关系),且这多种异常流量类型各自对应的消耗率占比与1的差值均超出第二预设误差范围(表明这多种异常流量类型不成完全包含关系),则可以确定这多种异常流量类型成半包含关系。
在确定这多种异常流量类型之间的关系为半包含关系时,网络设备可以进一步针对这多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与实际CPU消耗率之间的比值,作为该种异常流量类型的贡献度,进而,从这多种异常流量类型中选出贡献度大于第二预设阈值的异常流量类型,作为需要保留的目标异常流量类型。
如此,通过上述方式实现对于多种异常流量类型是否成半包含关系的判断,以及对成半包含关系的多种异常流量类型的去重处理,从而保证网络设备可以从成半包含关系的多种异常流量类型中选出占用CPU资源较多的目标异常流量类型,进而保证基于该目标异常流量类型下的报文可以挖掘出更具应用价值的五元组。
在本申请实施例第一方面的第七种实现方式中,可以存在多个CPU消耗率预测模型,这多个CPU消耗率预测模型与网络设备所能检测的多种异常流量类型成一一对应关系,即不同的CPU消耗率预测模型用于预测不同的异常流量类型下的报文对于网络设备CPU的消耗率。在这种情况下,网络设备确定其检测出的多种异常流量类型各自对应的预测CPU消耗率时,可以针对这多种异常流量类型中的每种异常流量类型,将该种异常流量类型对应的特征数据输入该异常流量类型对应的CPU消耗率预测模型,从而获得该种异常流量类型对应的预测CPU消耗率。
如此,网络设备可以通过上述方式,同时利用与其检测出的多种异常流量类型相对应的多个CPU消耗率预测模型,确定这多种异常流量类型各自对应的预测CPU消耗率,即实现并行预测多种异常流量类型各自对应的预测CPU消耗率,提升流量类型去重的处理效率。
在本申请实施例第一方面的第八种实现方式中,可以通过以下方式训练得到上述第七种实现方式中的CPU消耗率预测模型:针对一种异常流量类型训练其对应的CPU消耗率预测模型时,可以将该种异常流量类型视为目标异常流量类型,获取目标训练样本集,该目标训练样本集中包括多个在网络仿真环境中生成的目标训练样本,每个目标训练样本中包括该目标异常流量类型对应的特征数据以及属于该目标异常流量类型的报文对于CPU的消耗率,然后利用所获取的目标训练样本集,训练该目标异常流量类型对应的CPU消耗率预测模型。
如此,基于在网络仿真环境中生成的训练样本,对各种异常流量类型各自对应的CPU消耗率预测模型进行训练,能够保证训练得到的CPU消耗率预测模型具有较高的预测准确率,即保证训练得到的CPU消耗率预测模型可以针对实际网络环境中异常流量类型对应的特征数据,准确地预测该异常流量类型下的报文对于网络设备的CPU消耗率。
在本申请实施例第一方面的第九种实现方式中,可以仅存在一个CPU消耗率预测模型,该CPU消耗率预测模型与网络设备所能检测的多种异常流量类型成一对多的对应关系,即该CPU消耗率预测模型可以预测网络设备所能检测的多种异常流量类型各自对应的预测CPU消耗率。在这种情况下,网络设备确定其检测出的多种异常流量类型各自对应的预测CPU消耗率时,可以针对这多种异常流量类型中的每种异常流量类型,将该种异常流量类型对应的特征数据以及类型标签输入该CPU消耗率预测模型,从而获得该种异常流量类型对应的预测CPU消耗率。
如此,网络设备可以通过上述方式,利用一个CPU消耗率预测模型实现对于多种异常流量类型各自对应的CPU消耗率的预测,从而有效地减少了CPU消耗率预测模型占用的存储空间。
在本申请实施例第一方面的第十种实现方式中,可以通过以下方式训练得到上述第九种实现方式中的CPU消耗率预测模型:获取训练样本集,该训练样本集中包括多个在网络仿真环境中生成的对应不同异常流量类型的训练样本,每个训练样本中包括异常流量类型的类型标签、该异常流量类型对应的特征数据以及属于该异常流量类型的报文对于CPU的消耗率,然后利用所获取的训练样本集,训练CPU消耗率预测模型。
如此,基于在网络仿真环境中生成的训练样本,对用于预测多种异常流量类型各自对应的CPU消耗率的CPU消耗率预测模型进行训练,能够保证训练得到的CPU消耗率预测模型具有较高的预测准确率,即保证训练得到的CPU消耗率预测模型可以针对实际网络环境中多种异常流量类型各自对应的特征数据,准确地预测这多种异常流量类型下的报文对于网络设备的CPU消耗率。同时,由于仅需训练一个CPU消耗率预测模型,可以有效地减少搭建模型及训练模型时所需耗费的处理资源。
在本申请实施例第一方面的第十一种实现方式中,上述各种实现方式中提及的多种异常流量类型可以包括以下异常流量类型中的至少两种:大象流、SYN-flood、FIN-flood、RST-flood、ICMP不可达-flood、针对特定端口攻击和针对地址池攻击。
在本申请实施例第一方面的第十二种实现方式中,当多种异常流量类型包括大象流时,大象流对应的特征数据可以包括以下至少一种:预设时间段内的吞吐量、预设时间段内的报文数量和第一超出阈值百分比;该第一超出阈值百分比是根据预设时间段内大象流的报文数量以及大象流对应的报文数量基线值计算得到的。当多种异常流量类型包括SYN-flood时,SYN-flood对应的特征数据可以包括以下至少一种:预设时间段内的SYN报文数量、预设时间段内的SYN报文速率和第二超出阈值百分比;该第二超出阈值百分比是根据预设时间段内的SYN报文数量以及SYN报文对应的报文数量基线值确定的。当多种异常流量类型包括FIN-flood时,FIN-flood对应的特征数据可以包括以下至少一种:预设时间段内的FIN报文数量、预设时间段内的FIN报文速率和第三超出阈值百分比;该第三超出阈值百分比是根据所述预设时间段内的FIN报文数量以及FIN报文对应的报文数量基线值确定的。当多种异常流量类型包括RST-flood时,RST-flood对应的特征数据可以包括以下至少一种:预设时间段内的RST报文数量、预设时间段内的RST报文速率和第四超出阈值百分比;该第四超出阈值百分比是根据预设时间段内的RST报文数量以及RST报文对应的报文数量基线值确定的。当多种异常流量类型包括ICMP不可达-flood时,ICMP不可达-flood对应的特征数据可以包括以下至少一种:预设时间段内的ICMP不可达报文数量、预设时间段内的ICMP不可达报文速率和第五超出阈值百分比;该第五超出阈值百分比是根据预设时间段内的ICMP不可达报文数量以及ICMP不可达报文对应的报文数量基线值确定的。当多种异常流量类型包括针对特定端口攻击时,针对特定端口攻击对应的特征数据可以包括以下至少一种:预设时间段内的针对特定端口的报文数量、预设时间段内的针对特定端口的报文速率和第六超出阈值百分比;该第六超出阈值百分比是根据预设时间段内的针对特定端口的报文数量以及针对特定端口的报文数量基线值确定的。当多种异常流量类型包括针对地址池攻击时,针对地址池攻击对应的特征数据可以包括以下至少一种:预设时间段内的针对地址池的报文数量、针对地址池的报文速率和第七超出阈值百分比;所述第七超出阈值百分比是根据预设时间段内的针对地址池的报文数量以及针对地址池的报文数量基线值确定的。
在本申请实施例第一方面的第十三种实现方式中,针对网络设备检测出的多种异常流量类型完成去重处理后,即确定出多种异常流量类型中需要保留的目标异常流量类型后,网络设备可以向用于操控自身的客户端发送去重结果,该去重结果中包括网络设备检测出的多种异常流量类型以及经去重处理后保留下来的目标异常流量类型,进而,通过该客户端的显示界面显示该去重结果。
如此,通过用于操控网络设备的客户端,向相关工作人员展示去重处理前检测出的多种异常流量类型以及去重处理后保留下来的目标异常流量类型,以便相关工作人员根据去重处理前后的异常流量类型的对比结果,对网络设备的去重性能相应地进行验证。
本申请第二方面提供了一种异常流量类型保留装置,所述装置包括:
获取模块,用于当根据网络设备在预设时间段内接收的流量数据检测存在多种异常流量类型时,获取所述多种异常流量类型各自对应的特征数据以及所述网络设备在所述预设时间段内的实际CPU消耗率;
消耗率预测模块,用于将所述多种异常流量类型各自对应的特征数据输入预先训练的CPU消耗率预测模型,获得所述多种异常流量类型各自对应的预测CPU消耗率;所述CPU消耗率预测模型用于根据异常流量类型对应的特征数据,预测属于该异常流量类型的报文对于CPU的消耗率;
关系确定模块,用于根据所述多种异常流量类型各自对应的预测CPU消耗率以及所述实际CPU消耗率,确定所述多种异常流量类型之间的关系;
保留模块,用于根据所述多种异常流量类型之间的关系,确定所述多种异常流量类型中需要保留的目标异常流量类型。
在本申请实施例第二方面的第一种实现方式中,当所述多种异常流量类型之间的关系为独立关系时,所述独立关系是指所述多种异常流量类型下的报文完全不重叠,所述保留模块包括:
第一保留子模块,用于确定所述多种异常流量类型中贡献度高于第一预设阈值的异常流量类型,作为所述目标异常流量类型;所述异常流量类型的贡献度用于表征该种异常流量类型下的报文对于网络设备CPU的资源占用率。
在本申请实施例第二方面的第二种实现方式中,所述关系确定模块具体用于:
计算所述多种异常流量类型各自对应的预测CPU消耗率的和,作为总预测CPU消耗率;
若所述总预测CPU消耗率与所述实际CPU消耗率的差值在第一预设误差范围内,则确定所述多种异常流量类型之间的关系为所述独立关系;
则所述第一保留子模块具体用于:
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型的贡献度;
从所述多种异常流量类型中选出贡献度大于所述第一预设阈值的异常流量类型,作为所述目标异常流量类型。
在本申请实施例第二方面的第三种实现方式中,当所述多种异常流量类型之间的关系为完全包含关系时,所述完全包含关系是指所述多种异常流量类型中一种异常流量类型下的报文完全包含其他异常流量类型下的报文,所述保留模块包括:
第二保留子模块,用于确定所述多种异常流量类型中贡献度最高的异常流量类型,作为所述目标异常流量类型;所述异常流量类型的贡献度用于表征该种异常流量类型下的报文对于网络设备CPU的资源占用率。
在本申请实施例第二方面的第四种实现方式中,所述关系确定模块具体用于:
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型对应的消耗率占比;
若存在消耗率占比与1的差值在第二预设误差范围内的异常流量类型,则确定所述多种异常流量类型之间的关系为所述完全包含关系;
则所述第二保留子模块具体用于:
从所述多种异常流量类型中选择消耗率占比最大的异常流量类型,作为所述目标异常流量类型。
在本申请实施例第二方面的第五种实现方式中,当所述多种异常流量类型之间的关系为半包含关系时,所述半包含关系是指所述多种异常流量类型下的报文部分重叠,所述保留模块包括:
第三保留子模块,用于确定所述多种异常流量类型中贡献度高于第二预设阈值的异常流量类型,作为所述目标异常流量类型;所述异常流量类型的贡献度用于表征该异常流量类型下的报文对于网络设备CPU的资源占用率。
在本申请实施例第二方面的第六种实现方式中,所述关系确定模块具体用于:
计算所述多种异常流量类型各自对应的预测CPU消耗率的和,作为总预测CPU消耗率;
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型对应的消耗率占比;
若所述总预测CPU消耗率与所述实际CPU消耗率的差值超出第一预设误差范围,且所述多种异常流量类型各自对应的消耗率占比与1的差值均超出第二预设误差范围,则确定所述多种异常流量类型之间的关系为所述半包含关系;
则所述第三保留子模块具体用于:
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型的贡献度;
从所述多种异常流量类型中选出贡献度大于所述第二预设阈值的异常流量类型,作为所述目标异常流量类型。
在本申请实施例第二方面的第七种实现方式中,存在多个所述CPU消耗率预测模型,所述CPU消耗率预测模型与异常流量类型成一一对应关系;则所述消耗率预测模块具体用于:
针对所述多种异常流量类型中的每种异常流量类型,将该种异常流量类型对应的特征数据输入该异常流量类型对应的CPU消耗率预测模型,获得该种异常流量类型对应的预测CPU消耗率。
在本申请实施例第二方面的第八种实现方式中,所述装置还包括:
第一样本获取模块,用于获取目标训练样本集;所述目标训练样本集中包括多个在网络仿真环境中生成的目标训练样本,所述目标训练样本包括目标异常流量类型对应的特征数据以及属于目标异常流量类型的报文对于CPU的消耗率;
第一训练模块,用于利用所述目标训练样本集训练CPU消耗率预测模型。
在本申请实施例第二方面的第九种实现方式中,所述CPU消耗率预测模型用于确定多种异常流量类型各自对应的预测CPU消耗率;则所述消耗率预测模块具体用于:
针对所述多种异常流量类型中的每种异常流量类型,将该种异常流量类型对应的特征数据以及类型标签输入所述CPU消耗率预测模型,获得该种异常流量类型对应的预测CPU消耗率。
在本申请实施例第二方面的第十种实现方式中,所述装置还包括:
第二样本获取模块,用于获取训练样本集;所述训练样本集中包括多个在网络仿真环境中生成的对应不同异常流量类型的训练样本,所述训练样本包括异常流量类型的类型标签、该异常流量类型对应的特征数据以及属于该异常流量类型的报文对于CPU的消耗率;
第二训练模块,用于利用所述训练样本集训练CPU消耗率预测模型。
在本申请实施例第二方面的第十一种实现方式中,所述装置还包括:
反馈模块,用于向用于操控所述网络设备的客户端发送去重结果;所述去重结果包括:所述多种异常流量类型以及保留的所述目标异常流量类型;
显示模块,用于通过所述客户端的显示界面显示所述去重结果。
本申请第三方面提供了一种网络设备,所述网络设备包括:处理器以及存储器;
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行第一方面中任意一种实现方式所述的异常流量类型保留方法。
本申请第四方面提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行第一方面中任意一种实现方式所述的异常流量类型保留方法。
附图说明
图1为一种示例性的攻击防火墙设备的场景示意图;
图2为本申请实施例提供的异常流量类型保留方法的应用场景示意图;
图3为本申请实施例提供的异常流量类型保留方法的流程示意图;
图4为本申请实施例提供的一种CPU消耗率预测模型的训练过程示意图;
图5为本申请实施例提供的另一种CPU消耗率预测模型的训练过程示意图;
图6为本申请实施例提供的去重处理的实现过程示意图;
图7为本申请实施例提供的异常流量类型保留方法整体实现过程示意图;
图8为本申请实施例提供的异常流量类型保留方法中去重阶段的实现过程示意图;
图9为本申请实施例提供的异常流量类型保留装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
针对因报文数据被重复划分至多种异常流量类型,而导致网络设备CPU对多种异常流量类型下的报文数据进行五元组挖掘时额外耗费大量开销的问题,本申请实施例提供了一种智能化的流量类型去重方法。在实际应用中,对各异常流量类型下的报文数据进行五元组挖掘之前,可以采用本申请实施例提供的流量类型去重方法,对基于流量数据检测出的多种异常流量类型进行去重处理,以尽可能地保证同一报文数据仅被划分至一种异常流量类型,后续不会发生针对同一报文数据重复挖掘其对应的五元组的情况。
需要说明的是,在本申请实施例提供的技术方案中,网络设备根据其在预设时间段内接收的流量数据检测出的多种异常流量类型,实际上是真实存在的异常流量类型,之所以要对这多种异常流量类型进行去重处理,是因为这多种异常流量类型下的报文数据可能存在重复。例如,假设网络设备根据其在预设时间段内接收的流量数据检测出存在异常流量类型A和异常流量类型B,则表明网络设备接收到了属于异常流量类型A的攻击报文和属于异常流量类型B的攻击报文,在一种可能的情况下,属于异常流量类型A的攻击报文可能是属于异常流量类型B的攻击报文的子集,即属于异常流量类型A的攻击报文实际上也是属于异常流量类型B的攻击报文,为了防止对属于异常流量类型A的攻击报文重复挖掘其对应的五元组,本申请实施例提供了一种流量类型去重方法,通过该方法可以将异常流量类型A去除,从而保证对同时属于异常流量类型A和异常流量类型B的攻击报文,仅进行一次五元组挖掘操作,节省网络设备CPU的开销。
需要说明的是,在实际应用中,多种异常流量类型下的报文数据除了可以为上文介绍的完全包含关系(即属于异常流量类型A的攻击报文是属于异常流量类型B的攻击报文的子集)外,还可以为独立关系或者半包含关系;其中,独立关系是指多种异常流量类型下的报文数据完全不重叠(即属于异常流量类型A的攻击报文集合与属于异常流量类型B的攻击报文集合之间不存在交集);除独立关系和完全包含关系之外的其他关系均可以被视为半包含关系,其具体是指多种异常流量类型下的报文数据部分重叠(即属于异常流量类型A的攻击报文集合与属于异常流量类型B的攻击报文集合之间存在交集,且该交集同时小于属于异常流量类型A的攻击报文集合和属于异常流量类型B的攻击报文集合)。
本申请实施例提供的异常流量类型保留方法,旨在根据网络设备在预设时间段内接收的流量数据检测出存在多种异常流量类型的情况下,根据这多种异常流量类型各自对应的预测CPU消耗率与网络设备在预设时间段内的实际CPU消耗率之间的关系,确定这多种异常流量类型之间的关系具体属于完全包含关系、独立关系还是半包含关系,进而,根据这多种异常流量类型之间的关系类型,确定保留所有的异常流量类型,还是保留其中部分异常流量类型。经过上述去重处理,最终保留的异常流量类型下的报文数据基本不存在重叠,相应地,对最终保留的异常流量类型下的报文数据进行五元组挖掘时,基本不会出现针对同一报文数据重复挖掘五元组的情况,节约了网络设备CPU的开销。
为了便于理解本申请实施例提供的异常流量类型保留方法,下面以防火墙设备作为该异常流量类型保留方法的执行主体为例,对该异常流量类型保留方法的应用场景进行介绍。应理解,在实际应用中,本申请实施例提供的异常流量类型保留方法的执行主体除了可以为防火墙设备外,还可以为路由器等功能较为单一的用于转发报文数据的网络设备。
参见图2,图2为本申请实施例提供的异常流量类型保留方法的应用场景示意图。如图2所示,该应用场景中包括:防火墙设备210、路由器220、交换机230和交换机240;路由器220将来自外网的报文数据转发至防火墙设备210,防火墙设备210根据其中内置的ACL确定接收的报文数据是否合法,针对不合法的报文数据拦截其进入内网,针对合法的报文数据可以通过交换机230和/或交换机240相应地转发至内网1(10.1.0.0/24)和/或内网2(10.2.0.0/24)。
本申请实施例提供的异常流量类型保留方法通常在防火墙设备210的服务处理单元(Service Processing Unit,SPU)211上执行,SPU211中包括数据存储模块2111和分析模块2112;其中,数据存储模块2111用于存储在仿真环境中离线训练得到CPU消耗率预测模型和防火墙设备210接收的下行流量数据(即由外网向内网传输的流量数据),此处的流量数据通常是基于防火墙设备210接收的下行报文数据统计得到的;分析模块2112用于执行本申请实施例提供的异常流量类型保留方法,在根据防火墙设备210在预设时间段内接收的流量数据检测存在多种异常流量类型时,对这多种异常流量类型进行去重处理。
具体的,分析模块2112可以从数据存储模块2111中获取防火墙设备210在预设时间段内接收的流量数据,并根据所获取的流量数据检测预设时间段内存在的异常流量类型,若检测出预设时间段内存在多种异常流量类型,则获取这多种异常流量类型各自对应的特征数据以及防火墙设备210在预设时间段内的实际CPU消耗率,此处异常流量类型对应的特征数据具体可以根据属于该异常流量类型的流量数据确定。然后,分析模块2112可以从数据存储模块2111中相应地调取CPU消耗率预测模型,利用所调取的CPU消耗率预测模型确定上述多种异常流量类型各自对应的预测CPU消耗率,即预测属于每种异常流量类型下的报文数据对于防火墙设备210的CPU的消耗率。进而,根据这多种异常流量类型各自对应的预测CPU消耗率和防火墙设备210在预设时间段内的实际CPU消耗率,确定这多种异常流量类型之间的关系,并基于这多种异常流量类型之间的关系类型对这多种异常流量类型进行去重处理。
可选的,SPU211中还可以包括展示模块2113,分析模块2112完成对于多种异常流量类型的去重处理后,可以将去重处理结果传输至展示模块2113,以通过展示模块2113向内网1和/或内网2的用户展示去重结果,和/或向内网1和/或内网2的用户发送异常提醒消息。此外,分析模块2112完成对于多种异常流量类型的去重处理后,还可以将去重处理结果以日志的形式存储至数据存储模块2111,以便后续追溯。
分析模块2112完成对于多种异常流量类型的去重处理后,需要进一步对去重处理后保留下来的异常流量类型下的报文数据进行五元组挖掘,基于挖掘出的五元组对防火墙设备210中原本内置的ACL进行更新,并将更新后的ACL下发至防火墙设备210中的线路接口处理单元(line interface processing unit,LPU)212,以使防火墙设备210后续可以有效地拦截此类攻击报文。
应理解,图2所示的应用场景仅为示例,在实际应用中,本申请实施例提供的流量类型去重方法还可以应用于其他应用场景,在此不对本申请实施例提供的流量类型去重方法适用的应用场景做任何限定。
下面通过实施例对本申请提供的异常流量类型保留方法进行介绍。
参见图3,图3为本申请实施例提供的异常流量类型保留方法的流程示意图。为了便于描述,下面以防火墙设备作为执行主体对该异常流量类型保留方法进行介绍。如图3所示,该异常流量类型保留方法包括以下步骤:
步骤301:当根据网络设备在预设时间段内接收的流量数据检测存在多种异常流量类型时,获取所述多种异常流量类型各自对应的特征数据以及所述网络设备在所述预设时间段内的实际CPU消耗率。
在实际应用中,防火墙设备通常会周期性地对其在预设时间段内接收的报文数据进行统计,以获得该预设时间段内的流量数据;进而,根据该预设时间段内的流量数据检测是否存在异常流量,如若防火墙设备根据预设时间段内的流量数据检测出存在多种异常流量类型,则需要进一步获取这多种异常流量类型各自对应的特征数据以及防火墙设备在该预设时间段内的实际CPU消耗率,以便基于获取的数据开展后续操作。
具体根据预设时间段内的流量数据检测是否存在异常流量时,防火墙设备可以针对其在预设时间段内接收的每种报文,判断该种报文在预设时间段内的报文数量是否超出该种报文对应的报文数量基线值,若超过,则确定该种报文所属的流量类型为异常流量类型。例如,假设防火墙设备在预设时间段内接收的SYN报文的报文数量为2G,而SYN报文对应的报文数量基线值为1G,则可以确定防火墙设备在预设时间段内受到了SYN-flood攻击。
应理解,在实际应用中,防火墙设备除了可以通过上述方式检测是否存在异常流量外,也可以采用其他方式根据预设时间段内的流量数据检测是否存在异常流量,本申请在此不对检测异常流量的方式做具体限定。
为了便于理解步骤301的具体实现过程,下面对步骤301的具体实现过程进行举例说明:
假设防火墙设备每秒对其在上一秒内接收的报文数据进行一次统计,以获得上一秒内的流量数据;然后根据上一秒内的流量数据检测是否存在异常流量类型,假设防火墙设备在上一秒内接收的SYN报文数量超出了SYN报文对应的报文数量基线值,且在上一秒内接收的针对地址池的报文数量也超出了针对地址池的报文数量基线值,则防火墙设备可以确定存在SYN-flood攻击和针对地址池攻击;在该种情况下,防火墙设备需要获取上一秒内SYN-flood攻击对应的特征数据、上一秒内针对地址池攻击的特征数据以及防火墙设备在上一秒内的实际CPU消耗率。
应理解,在实际应用中,防火墙设备对于流量数据的统计周期以及上述预设时间段均可以根据实际需求设定,本申请在此不对流量数据的统计周期和预设时间段做具体限定。
需要说明的是,目前常见的异常流量类型主要包括:大象流、同步标志SYN-flood、结束标志(finish,FIN)-flood、复位标志(reset,RST)-flood、控制报文协议(internetcontrol message protocol,ICMP)不可达-flood、针对特定端口攻击、针对地址池攻击。表1所示为这些异常流量类型各自对应的定义。
表1
Figure BDA0002270377080000121
根据表1所示的各种异常流量类型各自对应的定义可知,目前较为常见的这些异常流量类型的定义模糊,因而导致这些异常流量类型之间在特征上存在重叠的情况。这些异常流量类型之间的重叠情况具体如表2所示,其中,单元格中的“√”表示该单元格对应的x方向上的异常流量类型与该单元格对应的y方向上的异常流量类型之间的相关性较强,容易针对同一报文同时识别为x方向上的异常流量类型和y方向上的异常流量类型;单元格中的“×”表示该单元格对应的x方向上的异常流量类型与该单元格对应的y方向上的异常流量类型之间的相关性较弱,针对同一报文通常不会同时将其识别x方向上的异常流量类型和y方向上的异常流量类型。
表2
Figure BDA0002270377080000131
当防火墙设备根据其在预设时间段内接收的流量数据,检测出预设时间段内存在多种异常流量类型时,防火墙设备需要获取预设时间段内这多种异常流量类型各自对应的特征数据。异常流量类型对应的特征数据通常可以根据预设时间段内属于该异常流量类型的流量数据确定,具体的,可以直接将预设时间段内属于该异常流量类型的流量数据作为该异常流量类型的特征数据,和/或,可以对预设时间段内属于该异常流量类型的流量数据做进一步处理,将处理得到的结果作为异常流量类型的特征数据。
更具体的,防火墙设备可以根据属于异常流量类型的流量数据,确定以下任意一种或多种数据作为异常流量类型对应的特征数据:属于异常流量类型的报文数据在预设时间段内的吞吐量、预设时间段内接收的属于异常流量类型的报文数量、预设时间段内属于异常流量类型的报文速率和超出阈值百分比。其中,属于异常流量类型的报文数据在预设时间段内的吞吐量,是指预设时间段内防火墙设备针对属于某种异常流量类型的报文数据接收并转发的最大数据速率;预设时间段内接收的属于异常流量类型的报文数量,是指防火墙设备在预设时间段内接收的属于某种异常流量类型的报文的数量;预设时间段内属于异常流量类型的报文速率,是指防火墙设备在预设时间段内接收的属于某种异常流量类型的报文数据每秒的吞吐量;超出阈值百分比,通常是根据防火墙设备在预设时间段内接收的属于某种异常流量类型的报文数量以及此类报文对应的报文数量基线值确定的,具体可以先利用预设时间段内接收的属于该种异常流量类型的报文数量减去此类报文对应的报文数量基线值,得到报文数量的超出值,然后利用报文数量的超出值除以此类报文对应的报文数量基线值,得到对应的超出阈值百分比。
针对表1所示的目前较为常见的几种异常流量类型,其各自对应的特征数据通常如表3所示。应理解,表3中特征数据一栏中的特征数据,均是以预设时间段内属于异常流量类型的流量数据为基础确定的。具体实现时,防火墙设备可以从异常流量类型对应的特征数据中,选取一种或多种特征数据作为后续处理的基础。
表3
Figure BDA0002270377080000141
当防火墙设备检测出的多种异常流量类型包括大象流时,防火墙设备可以获取以下至少一种大象流对应的特征数据:预设时间段内的吞吐量、预设时间段内接收的报文数量和第一超出阈值百分比;其中,第一超出阈值百分比是根据预设时间段内大象流的报文数量和大象流对应的报文数量基线值确定的,具体的,可以利用预设时间段内大象流的报文数量与大象流对应的报文数量基线值之间的差值,除以大象流对应的报文数量基线值获得。
当防火墙设备检测出的多种异常流量类型包括SYN-flood时,防火墙设备可以获取以下至少一种SYN-flood对应的特征数据:预设时间段内的SYN报文数量、预设时间段内的SYN报文速率和第二超出阈值百分比;其中,第二超出阈值百分比是根据预设时间段内的SYN报文数量与SYN报文对应的报文数量基线值确定的,具体的,可以利用预设时间段内的SYN报文数量与SYN报文对应的报文数量基线值之间的差值,除以SYN报文对应的报文数量基线值获得。
当防火墙设备检测出的多种异常流量类型包括FIN-flood时,防火墙设备可以获取以下至少一种FIN-flood对应的特征数据:预设时间段内的FIN报文数量、预设时间段内的FIN报文速率和第三超出阈值百分比;其中,第三超出阈值百分比是根据预设时间段内的FIN报文数量与FIN报文对应的报文数量基线值确定的,具体的,可以利用预设时间段内的FIN报文数量与FIN报文对应的报文数量基线值之间的差值,除以FIN报文对应的报文数量基线值获得。
当防火墙设备检测出的多种异常流量类型包括RST-flood时,防火墙设备可以获取以下至少一种RST-flood对应的特征数据:预设时间段内的RST报文数量、预设时间段内的RST报文速率和第四超出阈值百分比;其中,第四超出阈值百分比是根据预设时间段内的RST报文数量与RST报文对应的报文数量基线值确定的,具体的,可以利用预设时间段内的RST报文数量与RST报文对应的报文数量基线值之间的差值,除以RST报文对应的报文数量基线值获得。
当防火墙设备检测出的多种异常流量类型包括ICMP不可达-flood时,防火墙设备可以获取以下至少一种ICMP不可达-flood对应的特征数据:预设时间段内的ICMP不可达报文数量、预设时间段内的ICMP不可达报文速率和第五超出阈值百分比;其中,第五超出阈值百分比是根据预设时间段内的ICMP不可达报文数量与ICMP不可达报文对应的报文数量基线值确定的,具体的,可以利用预设时间段内的ICMP不可达报文数量与ICMP不可达报文对应的报文数量基线值之间的差值,除以ICMP不可达报文对应的报文数量基线值获得。
当防火墙设备检测出的多种异常流量类型包括针对特定端口攻击时,防火墙设备可以获取以下至少一种针对特定端口攻击对应的特征数据:预设时间段内的针对特定端口的报文数量、预设时间段内的针对特定端口的报文速率和第六超出阈值百分比;其中,第六超出阈值百分比是根据预设时间段内的针对特定端口的报文数量与针对特定端口的报文数量基线值确定的,具体的,可以利用预设时间段内的针对特定端口的报文数量与针对特定端口的报文数量基线值之间的差值,除以针对特定端口的报文数量基线值获得。
当防火墙设备检测出的多种异常流量类型包括针对地址池攻击时,防火墙设备可以获取以下至少一种针对地址池攻击对应的特征数据:预设时间段内的针对地址池的报文数量、预设时间段内的针对地址池的报文速率和第七超出阈值百分比;其中,第七超出阈值百分比是根据预设时间段内的针对地址池的报文数量与针对地址池的报文数量基线值确定的,具体的,可以利用预设时间段内的针对地址池的报文数量与针对地址池的报文数量基线值之间的差值,除以针对地址池的报文数量基线值获得。
需要说明的是,在实际应用中,防火墙设备除了可以检测出上述七种异常流量类型外,还可以检测其他异常流量类型,本申请在此不对防火墙设备所能检测出的异常流量类型做具体限定。此外,对于各种异常流量类型,防火墙设备除了可以获取表3中的特征数据外,还可以获取其他数据作为异常流量类型对应的特征数据,本申请在此也不对异常流量类型对应的特征数据做具体限定。
步骤302:将所述多种异常流量类型各自对应的特征数据输入预先训练的CPU消耗率预测模型,获得所述多种异常流量类型各自对应的预测CPU消耗率。
防火墙设备获取到其检测出的多种异常流量类型各自对应的特征数据后,可以将所获取的异常流量类型对应的特征数据相应地输入预先训练好的CPU消耗率预测模型,经CPU消耗率预测模型处理后,获得这多种异常流量类型各自对应的预测CPU消耗率。
需要说明的是,在本申请实施例提供的技术方案中,考虑到异常流量类型对应的特征数据与CPU消耗率之间具有较强的相关性,因此,预先利用在网络仿真环境中生成的样本数据对CPU消耗率预测模型进行训练,此处的样本数据至少包括在网络仿真环境中模拟的异常流量类型对应的特征数据以及属于该异常流量类型的报文对防火墙设备的CPU消耗率;如此训练得到的CPU消耗率预测模型能够根据异常流量类型对应的特征数据,相应地预测属于该异常流量类型的报文对防火墙设备CPU的消耗率。
在一种可能的实现方式中,预先可以离线训练多个CPU消耗率预测模型,这多个CPU消耗率预测模型与多种异常流量类型成一一对应的关系,即不同的CPU消耗率预测模型用于预测属于不同的异常流量类型的报文对于防火墙设备CPU的消耗率。相应地,利用这多个CPU消耗率预测模型对经步骤301获取到的多种异常流量类型各自对应的特征数据进行处理时,可以按照下述方式实现:
先根据防火墙设备检测出的多种异常流量类型,相应地调用这多种异常流量类型各自对应的CPU消耗率预测模型。然后,针对每种异常流量类型,将该种异常流量类型对应的特征数据相应地输入其对应的CPU消耗率预测模型,从而获得该CPU消耗率预测模型输出的该种异常流量类型对应的预测CPU消耗率。
需要说明的是,针对一种异常流量类型训练其对应的CPU消耗率预测模型时,可以将该种异常流量类型作为目标异常流量类型,获取该目标异常流量类型对应的目标训练样本集,目标训练样本集中通常包括大量在网络仿真环境中生成的目标训练样本,每个目标训练样本中包括目标异常流量类型对应的特征数据以及属于该目标异常流量类型的报文对于CPU的消耗率;进而,利用所获取的目标训练样本集,对预先构建的CPU消耗率预测模型进行训练,直至该CPU消耗率预测模型的预测准确率达到预设标准,确定完成对于该CPU消耗率预测模型的训练。
需要说明的是,在实际应用中,每种异常流量类型对应的CPU消耗率预测模型具体可以为以下任意一种模型结构:线性回归模型、决策树模型、支持向量机、贝叶斯预测模型和神经网络模型,当然,上述CPU消耗率预测模型也可以为其他模型结构,本申请在此不对CPU消耗率预测模型的模型结构组做任何限定。此外,不同的异常流量类型对应的CPU消耗率预测模型可以为相同的模型结构,也可以为不同的模型结构,本申请对此也不做任何限定。
为了便于理解上述实现方式的具体实现过程,下面以对应于各种异常流量类型的CPU消耗率预测模型均为神经网络模型为例,结合图4所示的训练过程对上述实现过程进行举例说明:
假设预先训练的CPU消耗率预测模型包括以下四个模型:大象流对应的CPU消耗率预测模型、SYN-flood对应的CPU消耗率预测模型、针对特定端口攻击对应的CPU消耗率预测模型和针对地址池攻击对应的CPU消耗率预测模型。
训练大象流对应的CPU消耗率预测模型时,可以在网络仿真环境中模拟产生属于大象流的报文,根据网络仿真环境中防火墙设备在预设时间段内接收的属于大象流的报文,统计得到大象流对应的特征数据,例如,统计大象流在预设时间段内的吞吐量,预设时间段内接收到的属于大象流的报文数量以及大象流对应的超出阈值百分比等,同时获取防火墙设备在该预设时间段内的CPU消耗率,将上述预设时间段内大象流对应的特征数据以及防火墙设备的CPU消耗率,组成一个目标训练样本;如此,按照上述方式获得大量目标训练样本,组成用于训练大象流对应的CPU消耗率预测模型的目标训练样本集。
应理解,目标训练样本中大象流对应的特征数据具体可以包括以下特征数据中的至少一种:预设时间段内的吞吐量、预设时间段内接收到的属于大象流的报文数量以及大象流对应的超出阈值百分比;本申请在此不对大象流对应的目标训练样本中包括的特征数据做具体限定。
进而,利用目标训练样本集,对预先构建的用作大象流对应的CPU消耗率预测模型的神经网络模型1进行训练。具体的,可以将目标训练样本中大象流对应的特征数据,输入预先构建的神经网络模型1中,获取该神经网络模型1输出的预测CPU消耗率,根据该预测CPU消耗率与该目标训练样本中的CPU消耗率之间的差距,对神经网络模型1的模型参数进行调整;如此,利用目标训练样本集中的目标训练样本对神经网络模型1的模型参数进行反复调整,直至该神经网络模型1的预测准确率达到预设标准为止。
相类似地,训练SYN-flood对应的CPU消耗率预测模型、针对特定端口攻击对应的CPU消耗率预测模型和针对地址池攻击对应的CPU消耗率预测模型时,同样可以采用上述方式,在网络仿真环境中获取SYN-flood、针对特定端口攻击和针对地址池攻击各自对应的目标训练样本集,并相应地利用SYN-flood、针对特定端口攻击和针对地址池攻击各自对应的目标训练样本集,分别对这三种异常流量类型各自对应的神经网络模型2、神经网络模型3和神经网络模型4进行训练。
在实际应用阶段,假设防火墙设备检测出存在SYN-flood和针对地址池攻击这两种异常流量类型,则防火墙设备可以相应地调用SYN-flood对应的CPU消耗率预测模型和针对地址池攻击对应的CPU消耗率预测模型,并将所获取的SYN-flood对应的特征数据输入SYN-flood对应的CPU消耗率预测模型,将所获取的针对地址池攻击对应的特征数据输入针对地址池攻击对应的CPU消耗率预测模型,获取SYN-flood对应的CPU消耗率预测模型的输出结果,作为SYN-flood对应的预测CPU消耗率,获取针对地址池攻击对应的CPU消耗率预测模型的输出结果,作为针对地址池攻击对应的预测CPU消耗率。
应理解,图4所示的训练过程仅为示例,在实际应用中,可以根据实际需求预先训练更多异常流量类型对应的CPU消耗率预测模型,例如,针对目前常见的七种异常流量类型分别训练其各自对应的CPU消耗率预测模型,本申请在此不对所训练的CPU消耗率预测模型的数量以及其对应的异常流量类型做任何限定。
在另一种可能的实现方式中,预先可以仅训练一个CPU消耗率预测模型,该CPU消耗率预测模型可以针对多种异常流量类型确定其对应的预测CPU消耗率,利用该CPU消耗率预测模型对经步骤301获取到的多种异常流量类型各自对应的特征数据进行处理时,可以按照下述方式实现:
针对防火墙设备检测出的多种异常流量类型,先确定这多种异常流量类型各自对应的类型标签,例如,针对大象流可以确定其对应的类型标签为1,针对SYN-flood可以确定其对应的类型标签为2,等等;然后,针对每种异常流量类型,将该种异常流量类型对应的特征数据以及类型标签输入CPU消耗率预测模型,进而获取该CPU消耗率预测模型的输出结果,作为该种异常流量类型对应的预测CPU消耗率;如此,针对检测出的多种异常流量类型,利用该CPU消耗率预测模型逐一确定这多种异常流量类型各自对应的预测CPU消耗率。
需要说明的是,对上述CPU消耗率预测模型进行训练时,可以先获取训练样本集,该训练样本集中包括多个在网络仿真环境中生成的对应于不同异常流量类型的训练样本,每个训练样本中包括异常流量类型的类型标签、异常流量类型对应的特征数据以及属于该异常流量类型的报文对于CPU的消耗率;然后,利用该训练样本集对预先构建的CPU消耗率预测模型进行训练,直至该CPU消耗率预测模型的准确率达到预设标准,确定完成对于该CPU消耗率预测模型的训练。
需要说明的是,在实际应用中,上述CPU消耗率预测模型具体可以为以下任意一种模型结构:线性回归模型、决策树模型、支持向量机、贝叶斯预测模型和神经网络模型,当然,上述CPU消耗率预测模型也可以为其他模型结构,本申请在此不对CPU消耗率预测模型的模型结构组做任何限定。
为了便于理解上述实现方式的具体实现过程,下面以上述CPU消耗率预测模型为神经网络模型为例,结合图5所示的训练过程对上述实现过程进行举例说明:
假设上述CPU消耗率预测模型能够针对大象流、SYN-flood、FIN-flood、RST-flood、ICMP不可达-flood、针对特定端口攻击和针对地址池攻击这七种异常流量类型,确定其对应的预测CPU消耗率。
训练该CPU消耗率预测模型时,需要获取大象流对应的训练样本、SYN-flood对应的训练样本、FIN-flood对应的训练样本、RST-flood对应的训练样本、ICMP不可达-flood对应的训练样本、针对特定端口攻击对应的训练样本和针对地址池攻击对应的训练样本,以利用这些训练样本组成用于训练CPU消耗率预测模型的训练样本集。
具体获取大象流对应的训练样本时,可以在网络仿真环境中模拟产生属于大象流的报文,根据网络仿真环境中防火墙设备在预设时间段内接收的属于大象流的报文,统计得到大象流对应的特征数据,例如,统计大象流在预设时间段内的吞吐量,预设时间段内接收到的属于大象流的报文数量以及大象流对应的超出阈值百分比等,同时获取防火墙设备在该预设时间段内的实际CPU消耗率以及大象流对应的类型标签(假设为1),利用上述预设时间段内大象流对应的特征数据、大象流对应的类型标签“1”和防火墙设备的实际CPU消耗率,组成一个大象流对应的训练样本;如此,按照上述方式获得多个大象流对应的训练样本。
应理解,训练样本中大象流对应的特征数据具体可以包括以下特征数据中的至少一种:预设时间段内的吞吐量、预设时间段内接收到的属于大象流的报文数量以及大象流对应的超出阈值百分比;本申请在此不对大象流对应的训练样本中包括的特征数据做具体限定。
相类似地,获取SYN-flood对应的训练样本、FIN-flood对应的训练样本、RST-flood对应的训练样本、ICMP不可达-flood对应的训练样本、针对特定端口攻击对应的训练样本和针对地址池攻击对应的训练样本时,同样可以采用上述方式,获得多个SYN-flood对应的训练样本、多个FIN-flood对应的训练样本、多个RST-flood对应的训练样本、多个ICMP不可达-flood对应的训练样本、多个针对特定端口攻击对应的训练样本和多个针对地址池攻击对应的训练样本,以利用所获取的异常流量类型各自对应的多个训练样本,组成训练样本集。
进而,利用所获取的训练样本集,对预先构建的用作CPU消耗率预测模型的神经网络模型进行训练。具体的,可以将训练样本中异常流量类型对应的特征数据和类型标签,输入预先构建的神经网络模型中,获取该神经网络模型输出的预测CPU消耗率,根据该预测CPU消耗率与该训练样本中的实际CPU消耗率之间的差距,对神经网络模型的模型参数进行调整;如此,利用训练样本集中多种异常流量类型各自对应的训练样本对神经网络模型的模型参数进行反复调整,直至该神经网络模型对于各种异常流量类型的预测准确率均达到预设标准为止。
在实际应用阶段,假设防火墙设备检测出存在SYN-flood和针对地址池攻击这两种异常流量类型,则防火墙设备可以相应地确定SYN-flood对应的类型标签为2和针对地址池攻击对应的类型标签为7,将所获取的SYN-flood对应的特征数据以及类型标签“2”输入预先训练好的CPU消耗率预测模型,获取该CPU消耗率预测模型的输出结果,作为SYN-flood对应的预测CPU消耗率,将所获取的针对地址池攻击对应的特征数据以及类型标签“7”输入预先训练好的CPU消耗率预测模型,获取该CPU消耗率预测模型的输出结果,作为针对地址池攻击对应的预测CPU消耗率。
步骤303:根据所述多种异常流量类型各自对应的预测CPU消耗率以及所述实际CPU消耗率,确定所述多种异常流量类型之间的关系。
步骤304:根据所述多种异常流量类型之间的关系,确定所述多种异常流量类型中需要保留的目标异常流量类型。
为了便于理解,下面对步骤303和步骤304的具体实现过程综合起来介绍:防火墙设备利用CPU消耗率预测模型,确定其检测存在的多种异常流量类型各自对应的预测CPU消耗率后,即可根据这多种异常流量类型各自对应的CPU消耗率以及在步骤301中获取的防火墙设备在预设时间段内的实际CPU消耗率,确定这多种异常流量类型之间的关系,进而,根据这多种异常流量类型之间的关系,确定这多种异常流量类型中需要保留的目标异常流量类型,即确定将这多种异常流量类型全部保留下来,或是保留其中部分贡献度较高的异常流量类型,此处异常流量类型的贡献度较高是指属于该异常流量类型的报文对于网络设备CPU的资源占用率较高。
需要说明的是,上述多种异常流量类型之间的关系实质上是指这多种异常流量类型下的报文的关系。在实际应用中,多种异常流量类型之间的关系具体可以为独立关系、完全包含关系或者半包含关系。其中,独立关系是指多种异常流量类型下的报文完全不重叠,例如,假设异常流量类型A和异常流量类型B为独立关系,则属于异常流量类型A的报文集合与属于异常流量类型B的报文集合之间完全不存在交集。完全包含关系是指多种异常流量类型中存在一种异常流量类型完全包含其他异常流量类型,即属于其他异常流量类型的报文集合是属于该种异常流量类型的报文集合的子集,例如,假设异常流量类型A和异常流量类型B为完全包含关系,则属于异常流量类型A的报文集合是属于异常流量类型B的报文集合的子集。半包含关系包括除独立关系和完全包含关系之外的其他关系,具体是指多种异常流量类型下的报文部分重叠,例如,假设异常流量类型A和异常流量类型B为半包含关系,则属于异常流量类型A的报文集合与属于异常流量类型B的报文集合之间存在交集,且该交集同时小于属于异常流量类型A的报文集合和属于异常流量类型B的报文集合。
在实际应用中,防火墙设备根据多种异常流量类型各自对应的预测CPU消耗率和实际CPU消耗率,确定这多种异常流量类型之间的关系,实质上就是确定这多种异常流量类型之间成独立关系,还是成完全包含关系,还是成半包含关系。下面对确定多种异常流量类型之间成独立关系,还是成完全包含关系,还是成半包含关系的具体实现方式分别进行详细介绍。
在多种异常流量类型之间的关系为独立关系的情况下,防火墙设备可以确定这多种异常流量类型中贡献度高于第一预设阈值的异常流量类型,作为需要保留的目标异常流量类型。此处异常流量类型的贡献度用于表征该种异常流量类型下的报文对于网络设备CPU的资源占用率。
判断多种异常流量类型之间是否成独立关系时,防火墙设备可以计算多种异常流量类型各自对应的预测CPU消耗率的和值,作为总预测CPU消耗率;若该总预测CPU消耗率与在步骤301中获取的实际CPU消耗率之间的差值在第一预设误差范围内,则确定贡献度大于第一预设阈值的异常流量类型,作为需要保留的目标异常流量类型,每种异常流量类型的贡献度具体是该种异常流量类型对应的预测CPU消耗率与实际CPU消耗率的比值。
具体的,由于防火墙设备CPU的主要功能是逐包检测恶意流量,因此,当多种异常流量类型成独立关系时,属于这多种异常流量类型的报文对于防火墙设备CPU消耗率的和值应当等于实际CPU消耗率;基于此,当多种异常流量类型各自对应的预测CPU消耗率与实际CPU消耗率之间的关系满足式(1)时,可以确定这多种异常流量类型成独立关系。
总预测CPU消耗率=∑预测CPU消耗率iin[实际CPU消耗率±ε] (1)
其中,ε为第一预设误差,具体可以通过式(2)计算得到该第一预设误差:
Figure BDA0002270377080000201
其中,e为CPU消耗率预测模型的训练误差,N为训练CPU消耗率预测模型时使用的训练样本的数量,z为正态分布,α为置信度。
在确定多种异常流量类型成独立关系的情况下,防火墙设备可以进一步计算这多种异常流量类型各自对应的贡献度,即针对每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与实际CPU消耗率的比值,作为该种异常流量类型对应的贡献度。进而,选择保留贡献度大于第一预设阈值β的异常流量类型作为目标异常流量类型,去除贡献度小于或等于第一预设阈值β的异常流量类型。
应理解,第一预设阈值β具体可以根据实际需求设定,例如可以将第一预设阈值β设置为10%,本申请在此不对第一预设阈值β做具体限定。
在确定多种异常流量类型成独立关系的情况下,防火墙设备除了可以根据多种异常流量类型各自对应的贡献度确定保留哪个或哪些异常流量类型外,还可以直接根据多种异常流量类型各自对应的预测CPU消耗率,确定保留哪个或哪些异常流量类型,例如,可以确定保留预测CPU消耗率大于第一预设消耗率阈值的异常流量类型,去除预测CPU消耗率小于或等于第一预设消耗率阈值的异常流量类型。
在多种异常流量类型之间的关系为完全包含关系的情况下,防火墙设备可以确定这多种异常流量类型中贡献度最高的异常流量类型,作为需要保留的目标异常流量类型。此处异常流量类型的贡献度用于表征该种异常流量类型下的报文对于网络设备CPU的资源占用率。
判断多种异常流量类型之间是否成完全包含关系时,防火墙设备可以针对每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与实际CPU消耗率之间的比值,作为该种异常流量类型对应的消耗率占比;判断是否存在消耗率占比与1的差值在第二预设误差范围内的异常流量类型,若存在,则确定这多种异常流量类型成完全包含关系,并且保留该消耗率占比与1的差值在第二预设误差范围内的异常流量类型,即从多种异常流量类型中选择消耗率占比最大的异常流量类型,作为需要保留的目标异常流量类型。
应理解,在实际应用中,消耗率占比与1的差值在第二预设误差范围的异常流量类型,实质上就是消耗率占比最大的异常流量类型,该异常流量类型下的报文包括了多种异常流量类型中其他异常流量类型下的报文;因此,保留消耗率占比与1的差值在第二预设误差范围内的异常流量类型,实质上就是保留消耗率占比最大的异常流量类型。
具体的,当多种异常流量类型成完全包含关系时,必然有一种异常流量类型对应的预测CPU消耗率与实际CPU消耗率之间的比值等于1,基于此,当多种异常流量类型中存在一种异常流量类型对应的预测CPU消耗率与实际CPU消耗率之间的比值满足式(3),即可确定这多种异常流量类型成完全包含关系。
Figure BDA0002270377080000211
其中,ε可以通过式(2)计算得到。
在确定多种异常流量类型成完全包含关系的情况下,防火墙设备可以直接确定保留该消耗率占比与1的差值在第二预设误差范围内的异常流量类型,而去除多种异常流量类型中的其他异常流量类型。
在多种异常流量类型之间的关系为半包含关系的情况下,防火墙设备可以确定这多种异常流量类型中贡献度高于第二预设阈值的异常流量类型,作为需要保留的目标异常流量类型。此处异常流量类型的贡献度用于表征该种异常流量类型下的报文对于网络设备CPU的资源占用率。
判断多种异常流量类型之间是否成半包含关系时,防火墙设备可以计算多种异常流量类型各自对应的预测CPU消耗率的和值,作为总预测CPU消耗率;针对每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与实际CPU消耗率的比值,作为该种异常流量类型对应的消耗率占比;若总预测CPU消耗率与实际CPU消耗率之间的差值超出第一预设误差范围,且多种异常流量类型各自对应的消耗率占比与1之间的差值均超出第二预设误差范围,则保留贡献度大于第二预设阈值的异常流量类型,每种异常流量类型的贡献度具体是该种异常流量类型对应的预测CPU消耗率与实际CPU消耗率的比值。
也就是说,防火墙设备可以先根据总预测CPU消耗率与实际CPU消耗率之间的关系,判断多种异常流量类型是否成独立关系,以及根据每种异常流量类型对应的消耗率占比与1之间的关系,判断多种异常流量类型是否成完全包含关系。若这多种异常流量类型既不成独立关系,又不成完全包含关系,则可以确定这多种异常流量类型成半包含关系,此时,可以选择贡献度大于第二预设阈值α的异常流量类型,作为需要保留的目标异常流量类型,而去除贡献度小于或等于第二预设阈值α的异常流量类型。
应理解,第二预设阈值α具体可以根据实际需求设定,例如可以将第二预设阈值α设置为50%,本申请在此不对第二预设阈值α做具体限定。需要说明的是,通常情况下,所设置的第二预设阈值α大于第一预设阈值β。
在确定多种异常流量类型成半包含关系的情况下,防火墙设备除了可以根据多种异常流量类型各自对应的贡献度确定保留哪个或哪些异常流量类型外,还可以直接根据多种异常流量类型各自对应的预测CPU消耗率,确定保留哪个或哪些异常流量类型,例如,可以确定保留预测CPU消耗率大于第二预设消耗率阈值的异常流量类型,去除预测CPU消耗率小于或等于第二预设消耗率阈值的异常流量类型。
为了便于理解上述根据多种异常流量类型之间的关系类型,对这多种异常流量类型进行去重处理的实现方式,下面以防火墙设备检测出存在异常流量类型A和异常流量类型B为例,结合图6对上述去重处理的实现过程进行具体举例说明。
如图6所示,异常流量类型A和异常流量类型B可以成半包含关系、完全包含关系或独立关系。当异常流量类型A和异常流量类型B成半包含关系时,属于异常流量类型A的报文集合与属于异常流量类型B的报文集合存在交集;当异常流量类型A和异常流量类型B成完全包含关系时,属于异常流量类型B的报文集合是属于异常流量类型A的报文集合的子集;当异常流量类型A和异常流量类型B成独立关系时,属于异常流量类型A的报文集合与属于异常流量类型B的报文集合不存在交集。
具体对异常流量类型A和异常流量类型B进行去重处理时,可以先判断异常流量类型A和异常流量类型B是否成独立关系,即判断异常流量类型A对应的预测CPU消耗率与异常流量类型B对应的预测CPU消耗率的和值,与实际CPU消耗率之间的差值是否在第一预设误差范围内,若是,则保留贡献度大于第一预设阈值β的异常流量类型。若否,则继续判断异常流量类型A和异常流量类型B是否成完全包含关系,即判断异常流量类型A对应的消耗率占比与1的差值是否在第二预设误差范围内,以及异常流量类型B对应的消耗率占比与1的差值是否在第二预设误差范围内,若异常流量类型A对应的消耗率占比与1的差值或者异常流量类型B对应的消耗率占比与1的差值,在第二预设误差范围内,则保留全集,即保留消耗率占比与1的差值在第二预设误差范围内的异常流量类型;若异常流量类型A对应的消耗率占比与1的差值和异常流量类型B对应的消耗率占比与1的差值均不在第二预设误差范围内,则直接保留贡献度大于第二预设阈值α的异常流量类型。
可选的,在完成对于多种异常流量类型的去重处理后,防火墙设备还可以向用于控制自身的客户端发送去重结果,该去重结果包括执行去重处理前的异常流量类型以及去重处理后保留的异常流量类型,以通过客户端的显示界面显示该去重结果。此外,客户端还可以根据防火墙设备发送的去重结果,发出异常提醒消息,以提示相关工作人员当前防火墙设备遭到了异常流量的攻击。
可选的,在完成对于异常流量类型的去重处理后,防火墙设备还可将去重结果写入相关数据库,以便后续追溯。
上述异常流量类型保留方法考虑到异常流量类型的特征与CPU消耗率之间具有较强的相关性,利用预先训练好的CPU消耗率预测模型,根据异常流量类型的特征数据准确地预测属于该种异常流量类型的报文对于CPU的消耗率;进而,再根据检测出的多种异常流量类型各自对应的预测CPU消耗率与网络设备的实际CPU消耗率之间的关系,从这多种异常流量类型中选出需要保留的异常流量类型。如此,对报文重叠度较高的异常流量类型进行去重处理,避免后续针对大量报文重复多次挖掘其对应的五元组,节省了网络设备CPU的开销;并且,相比人工对异常流量类型进行去重处理,上述方法更加智能化,能够有效地保证去重处理的及时性,提高了网络设备的整体处理性能。
为了便于进一步理解本申请实施例提供的技术方案,下面结合图7和图8对上文介绍的异常流量类型保留方法进行整体示例性介绍。
如图7所示,本申请实施例提供的异常流量类型保留方法主要分为离线模型训练阶段和在线异常流量类型去重阶段。
在离线模型训练阶段,先获取在网络仿真环境中模拟产生的异常流量类型对应的流量数据,然后通过数据预处理操作,基于网络仿真环境中的流量数据生成异常流量类型对应的特征数据,同时,获取异常流量类型对应的流量数据对于防火墙设备CPU的消耗率,利用异常流量类型对应的特征数据及其对应的CPU消耗率组成训练样本。进而,利用通过上述方式获取的多种异常流量类型各自对应的训练样本,采用有监督训练的方式,离线训练得到这多种异常流量类型各自对应的CPU消耗率预测模型。
在在线异常流量类型去重阶段,防火墙设备根据其接收的现网报文数据,判断当前是否存在多种异常流量类型;若是,则利用经离线模型训练阶段训练得到的CPU消耗率预测模型,确定这多种异常流量类型各自对应的预测CPU消耗率。根据这多种异常流量类型各自对应的预测CPU消耗率和现网的实际CPU消耗率,对这多种异常流量类型之间的关系进行判断,并基于所确定的关系类型采取相应的去重方案。更进一步地,还可以通过客户端展示去重处理结果。
下面结合图8所示的操作过程,对上述在线异常流量类型去重阶段做进一步详细介绍。
在防火墙设备确定当前存在多种异常流量类型的情况下,可以先根据数据存储模块中存储的流量数据,确定这多种异常流量类型各自对应的特征数据。然后,利用CPU消耗率预测模型,基于这多种异常流量类型各自对应的特征数据,确定这多种异常流量类型各自对应的预测CPU消耗率。接着,根据这多种异常流量类型各自对应的预测CPU消耗率和防火墙设备的实际CPU消耗率,对这多种异常流量类型下的报文数据的重叠关系进行判断。进而,根据所确定的这多种异常流量类型下的报文数据的重叠关系,对这多种异常流量类型进行去重处理,具体去重处理的过程参见图3所示实施例中步骤303的相关描述。最终,展示去重结果,即展示去重处理前的异常流量类型与去重处理后的异常流量类型的对比结果。
如图8所示,假设防火墙设备检测到在2019年5月16日16时22分52秒存在SYN-flood和针对地址池攻击,其中,SYN-flood对应的特征数据包括:报文数量434486、报文速率4000和超出阈值百分比180%,针对地址池攻击对应的特征数据包括:报文数量为203227、报文速率为2000和超出阈值百分比为140%,此时防火墙设备CPU的实际消耗率为80%。利用预先训练的CPU消耗率预测模型对SYN-flood对应的特征数据进行处理,确定SYN-flood对应的预测CPU消耗率为80%,利用预先训练的CPU消耗率预测模型对针对地址池攻击对应的特征数据进行处理,确定针对地址池攻击对应的预测CPU消耗率为40%。其中,SYN-flood对应的预测CPU消耗率与防火墙设备的实际CPU消耗率的比值为1,则说明SYN-flood完全包含针对地址池攻击,因此,相应地保留SYN-flood。
针对上文描述的异常流量类型保留方法,本申请实施例还提供了一种异常流量类型保留装置,以便上述异常流量类型保留方法在实际应用中得以实现。
参见图9,图9为本申请实施例提供的一种异常流量类型保留装置的结构示意图。如图9所示,该异常流量类型保留装置包括:
获取模块901,用于当根据网络设备在预设时间段内接收的流量数据检测存在多种异常流量类型时,获取所述多种异常流量类型各自对应的特征数据以及所述网络设备在所述预设时间段内的实际CPU消耗率;
消耗率预测模块902,用于将所述多种异常流量类型各自对应的特征数据输入预先训练的CPU消耗率预测模型,获得所述多种异常流量类型各自对应的预测CPU消耗率;所述CPU消耗率预测模型用于根据异常流量类型对应的特征数据,预测属于该异常流量类型的报文对于CPU的消耗率;
关系确定模块903,用于根据所述多种异常流量类型各自对应的预测CPU消耗率以及所述实际CPU消耗率,确定所述多种异常流量类型之间的关系;
保留模块904,用于根据所述多种异常流量类型之间的关系,确定所述多种异常流量类型中需要保留的目标异常流量类型。
具体实现时,获取模块901用于执行步骤301中的方法,详细请参考图3所示方法实施例中步骤301部分的相关描述。消耗率预测模块902用于执行步骤302中的方法,详细参考图3所示方法实施例中步骤302部分的相关描述。关系确定模块903用于执行步骤303中的方法,详细参考图3所示方法实施例中步骤303部分的相关描述。保留模块904用于执行步骤304中的方法,详细参考图3所示方法实施例中步骤304部分的相关描述。
可选的,当所述多种异常流量类型之间的关系为独立关系时,所述独立关系是指所述多种异常流量类型下的报文完全不重叠,所述保留模块904包括:
第一保留子模块,用于确定所述多种异常流量类型中贡献度高于第一预设阈值的异常流量类型,作为所述目标异常流量类型;所述异常流量类型的贡献度用于表征该种异常流量类型下的报文对于网络设备CPU的资源占用率。
具体实现时,上述第一保留子模块的具体操作过程可以参考图3所示方法实施例中步骤304相关内容的描述,此处不再赘述。
可选的,所述关系确定模块具体用于:
计算所述多种异常流量类型各自对应的预测CPU消耗率的和,作为总预测CPU消耗率;
若所述总预测CPU消耗率与所述实际CPU消耗率的差值在第一预设误差范围内,则确定所述多种异常流量类型之间的关系为所述独立关系;
则所述第一保留子模块具体用于:
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型的贡献度;
从所述多种异常流量类型中选出贡献度大于所述第一预设阈值的异常流量类型,作为所述目标异常流量类型。
具体实现时,上述关系确定模块和第一保留子模块的具体操作过程可以分别参考图3所示方法实施例中步骤303和步骤304相关内容的描述,此处不再赘述。
可选的,当所述多种异常流量类型之间的关系为完全包含关系时,所述完全包含关系是指所述多种异常流量类型中一种异常流量类型下的报文完全包含其他异常流量类型下的报文,所述保留模块包括:
第二保留子模块,用于确定所述多种异常流量类型中贡献度最高的异常流量类型,作为所述目标异常流量类型;所述异常流量类型的贡献度用于表征该种异常流量类型下的报文对于网络设备CPU的资源占用率。
具体实现时,上述第二保留子模块的具体操作过程可以参考图3所示方法实施例中步骤304相关内容的描述,此处不再赘述。
可选的,所述关系确定模块具体用于:
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型对应的消耗率占比;
若存在消耗率占比与1的差值在第二预设误差范围内的异常流量类型,则确定所述多种异常流量类型之间的关系为所述完全包含关系;
则所述第二保留子模块具体用于:
从所述多种异常流量类型中选择消耗率占比最大的异常流量类型,作为所述目标异常流量类型。
具体实现时,上述关系确定模块和第二保留子模块的具体操作过程可以分别参考图3所示方法实施例中步骤303和步骤304相关内容的描述,此处不再赘述。
可选的,当所述多种异常流量类型之间的关系为半包含关系时,所述半包含关系是指所述多种异常流量类型下的报文部分重叠,所述保留模块包括:
第三保留子模块,用于确定所述多种异常流量类型中贡献度高于第二预设阈值的异常流量类型,作为所述目标异常流量类型;所述异常流量类型的贡献度用于表征该异常流量类型下的报文对于网络设备CPU的资源占用率。
具体实现时,上述第三保留子模块的具体操作过程可以参考图3所示方法实施例中步骤304相关内容的描述,此处不再赘述。
可选的,所述关系确定模块具体用于:
计算所述多种异常流量类型各自对应的预测CPU消耗率的和,作为总预测CPU消耗率;
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型对应的消耗率占比;
若所述总预测CPU消耗率与所述实际CPU消耗率的差值超出第一预设误差范围,且所述多种异常流量类型各自对应的消耗率占比与1的差值均超出第二预设误差范围,则确定所述多种异常流量类型之间的关系为所述半包含关系;
则所述第三保留子模块具体用于:
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型的贡献度;
从所述多种异常流量类型中选出贡献度大于所述第二预设阈值的异常流量类型,作为所述目标异常流量类型。
具体实现时,上述关系确定模块和第三保留子模块的具体操作过程可以分别参考图3所示方法实施例中步骤303和步骤304相关内容的描述,此处不再赘述。
可选的,存在多个所述CPU消耗率预测模型,所述CPU消耗率预测模型与异常流量类型成一一对应关系;则所述消耗率预测模块具体用于:
针对所述多种异常流量类型中的每种异常流量类型,将该种异常流量类型对应的特征数据输入该异常流量类型对应的CPU消耗率预测模型,获得该种异常流量类型对应的预测CPU消耗率。
具体实现时,上述消耗率预测模块的具体操作过程可以参考图3所示方法实施例中步骤302相关内容的描述,此处不再赘述。
可选的,所述装置还包括:
第一样本获取模块,用于获取目标训练样本集;所述目标训练样本集中包括多个在网络仿真环境中生成的目标训练样本,所述目标训练样本包括目标异常流量类型对应的特征数据以及属于目标异常流量类型的报文对于CPU的消耗率;
第一训练模块,用于利用所述目标训练样本集训练CPU消耗率预测模型。
具体实现时,上述第一样本获取模块和第一训练模块的具体操作过程可以参考图3所示方法实施例中步骤302相关内容的描述,此处不再赘述。
可选的,所述CPU消耗率预测模型用于确定多种异常流量类型各自对应的预测CPU消耗率;则所述消耗率预测模块具体用于:
针对所述多种异常流量类型中的每种异常流量类型,将该种异常流量类型对应的特征数据以及类型标签输入所述CPU消耗率预测模型,获得该种异常流量类型对应的预测CPU消耗率。
具体实现时,上述消耗率预测模块的具体操作过程可以参考图3所示方法实施例中步骤302相关内容的描述,此处不再赘述。
可选的,所述装置还包括:
第二样本获取模块,用于获取训练样本集;所述训练样本集中包括多个在网络仿真环境中生成的对应不同异常流量类型的训练样本,所述训练样本包括异常流量类型的类型标签、该异常流量类型对应的特征数据以及属于该异常流量类型的报文对于CPU的消耗率;
第二训练模块,用于利用所述训练样本集训练CPU消耗率预测模型。
具体实现时,上述第二样本获取模块和第二训练模块的具体操作过程可以参考图3所示方法实施例中步骤302相关内容的描述,此处不再赘述。
可选的,所述装置还包括:
反馈模块,用于向用于操控所述网络设备的客户端发送去重结果;所述去重结果包括:所述多种异常流量类型以及保留的所述目标异常流量类型;
显示模块,用于通过所述客户端的显示界面显示所述去重结果。
具体实现时,上述反馈模块和显示模块的具体操作过程可以参考图3所示方法实施例中相关内容的描述,此处不再赘述。
上述异常流量类型保留装置考虑到异常流量类型的特征与CPU消耗率之间具有较强的相关性,利用预先训练好的CPU消耗率预测模型,根据异常流量类型的特征数据准确地预测属于该种异常流量类型的报文对于CPU的消耗率;进而,再根据检测出的多种异常流量类型各自对应的预测CPU消耗率与网络设备的实际CPU消耗率之间的关系,从这多种异常流量类型中选出需要保留的异常流量类型。如此,对报文重叠度较高的异常流量类型进行去重处理,避免后续针对大量报文重复多次挖掘其对应的五元组,节省了网络设备CPU的开销;并且,相比人工对异常流量类型进行去重处理,上述装置更加智能化,能够有效地保证去重处理的及时性,提高了网络设备的整体处理性能。
本申请实施例还提供了一种网络设备,该网络设备包括处理器和存储器;其中,存储器用于存储计算机程序,并将所存储的计算机程序传输给处理器;处理器用于根据计算机程序中的指令,执行前述各个实施例所述的异常流量类型保留方法中的任意一种实施方式。
本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的异常流量类型保留方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的异常流量类型保留方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (28)

1.一种异常流量类型保留方法,其特征在于,所述方法包括:
当根据网络设备在预设时间段内接收的流量数据检测存在多种异常流量类型时,获取所述多种异常流量类型各自对应的特征数据以及所述网络设备在所述预设时间段内的实际CPU消耗率;
将所述多种异常流量类型各自对应的特征数据输入预先训练的CPU消耗率预测模型,获得所述多种异常流量类型各自对应的预测CPU消耗率;所述CPU消耗率预测模型用于根据异常流量类型对应的特征数据,预测属于该异常流量类型的报文对于CPU的消耗率;
根据所述多种异常流量类型各自对应的预测CPU消耗率以及所述实际CPU消耗率,确定所述多种异常流量类型之间的关系;
根据所述多种异常流量类型之间的关系,确定所述多种异常流量类型中需要保留的目标异常流量类型。
2.根据权利要求1所述的方法,其特征在于,当所述多种异常流量类型之间的关系为独立关系时,所述独立关系是指所述多种异常流量类型下的报文完全不重叠,所述确定所述多种异常流量类型中需要保留的目标异常流量类型,包括:
确定所述多种异常流量类型中贡献度高于第一预设阈值的异常流量类型,作为所述目标异常流量类型;所述异常流量类型的贡献度用于表征该种异常流量类型下的报文对于网络设备CPU的资源占用率。
3.根据权利要求2所述的方法,其特征在于,所述根据所述多种异常流量类型各自对应的预测CPU消耗率以及所述实际CPU消耗率,确定所述多种异常流量类型之间的关系,包括:
计算所述多种异常流量类型各自对应的预测CPU消耗率的和,作为总预测CPU消耗率;
若所述总预测CPU消耗率与所述实际CPU消耗率的差值在第一预设误差范围内,则确定所述多种异常流量类型之间的关系为所述独立关系;
则所述确定所述多种异常流量类型中贡献度高于第一预设阈值的异常流量类型,作为所述目标异常流量类型,包括:
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型的贡献度;
从所述多种异常流量类型中选出贡献度大于所述第一预设阈值的异常流量类型,作为所述目标异常流量类型。
4.根据权利要求1所述的方法,其特征在于,当所述多种异常流量类型之间的关系为完全包含关系时,所述完全包含关系是指所述多种异常流量类型中一种异常流量类型下的报文完全包含其他异常流量类型下的报文,所述确定所述多种异常流量类型中需要保留的目标异常流量类型,包括:
确定所述多种异常流量类型中贡献度最高的异常流量类型,作为所述目标异常流量类型;所述异常流量类型的贡献度用于表征该种异常流量类型下的报文对于网络设备CPU的资源占用率。
5.根据权利要求4所述的方法,其特征在于,所述根据所述多种异常流量类型各自对应的预测CPU消耗率以及所述实际CPU消耗率,确定所述多种异常流量类型之间的关系,包括:
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型对应的消耗率占比;
若存在消耗率占比与1的差值在第二预设误差范围内的异常流量类型,则确定所述多种异常流量类型之间的关系为所述完全包含关系;
则所述确定所述多种异常流量类型中贡献度最高的异常流量类型,作为所述目标异常流量类型,包括:
从所述多种异常流量类型中选择消耗率占比最大的异常流量类型,作为所述目标异常流量类型。
6.根据权利要求1所述的方法,其特征在于,当所述多种异常流量类型之间的关系为半包含关系时,所述半包含关系是指所述多种异常流量类型下的报文部分重叠,所述确定所述多种异常流量类型中需要保留的目标异常流量类型,包括:
确定所述多种异常流量类型中贡献度高于第二预设阈值的异常流量类型,作为所述目标异常流量类型;所述异常流量类型的贡献度用于表征该异常流量类型下的报文对于网络设备CPU的资源占用率。
7.根据权利要求6所述的方法,其特征在于,所述根据所述多种异常流量类型各自对应的预测CPU消耗率以及所述实际CPU消耗率,确定所述多种异常流量类型之间的关系,包括:
计算所述多种异常流量类型各自对应的预测CPU消耗率的和,作为总预测CPU消耗率;
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型对应的消耗率占比;
若所述总预测CPU消耗率与所述实际CPU消耗率的差值超出第一预设误差范围,且所述多种异常流量类型各自对应的消耗率占比与1的差值均超出第二预设误差范围,则确定所述多种异常流量类型之间的关系为所述半包含关系;
则所述确定所述多种异常流量类型中贡献度高于第二预设阈值的异常流量类型,作为所述目标异常流量类型,包括:
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型的贡献度;
从所述多种异常流量类型中选出贡献度大于所述第二预设阈值的异常流量类型,作为所述目标异常流量类型。
8.根据权利要求1至7任一项所述的方法,其特征在于,存在多个所述CPU消耗率预测模型,所述CPU消耗率预测模型与异常流量类型成一一对应关系;则所述将所述多种异常流量类型各自对应的特征数据输入预先训练的CPU消耗率预测模型,获得所述多种异常流量类型各自对应的预测CPU消耗率,包括:
针对所述多种异常流量类型中的每种异常流量类型,将该种异常流量类型对应的特征数据输入该异常流量类型对应的CPU消耗率预测模型,获得该种异常流量类型对应的预测CPU消耗率。
9.根据权利要求8所述的方法,其特征在于,通过以下方式训练目标异常流量类型对应的CPU消耗率预测模型:
获取目标训练样本集;所述目标训练样本集中包括多个在网络仿真环境中生成的目标训练样本,所述目标训练样本包括目标异常流量类型对应的特征数据以及属于目标异常流量类型的报文对于CPU的消耗率;
利用所述目标训练样本集训练CPU消耗率预测模型。
10.根据权利要求1至7任一项所述的方法,其特征在于,所述CPU消耗率预测模型用于确定多种异常流量类型各自对应的预测CPU消耗率;则所述将所述多种异常流量类型各自对应的特征数据输入预先训练的CPU消耗率预测模型,获得所述多种异常流量类型各自对应的预测CPU消耗率,包括:
针对所述多种异常流量类型中的每种异常流量类型,将该种异常流量类型对应的特征数据以及类型标签输入所述CPU消耗率预测模型,获得该种异常流量类型对应的预测CPU消耗率。
11.根据权利要求10所述的方法,其特征在于,通过以下方式训练所述CPU消耗率预测模型:
获取训练样本集;所述训练样本集中包括多个在网络仿真环境中生成的对应不同异常流量类型的训练样本,所述训练样本包括异常流量类型的类型标签、该异常流量类型对应的特征数据以及属于该异常流量类型的报文对于CPU的消耗率;
利用所述训练样本集训练CPU消耗率预测模型。
12.根据权利要求1所述的方法,其特征在于,所述多种异常流量类型包括以下至少两种:大象流、同步标志SYN-flood、结束标志FIN-flood、复位标志RST-flood、控制报文协议ICMP不可达-flood、针对特定端口攻击、针对地址池攻击。
13.根据权利要求12所述的方法,其特征在于,所述大象流对应的特征数据包括以下至少一种:所述预设时间段内的吞吐量、所述预设时间段内的报文数量和第一超出阈值百分比;所述第一超出阈值百分比是根据所述预设时间段内大象流的报文数量以及大象流对应的报文数量基线值计算得到的;
所述SYN-flood对应的特征数据包括以下至少一种:所述预设时间段内的SYN报文数量、所述预设时间段内的SYN报文速率和第二超出阈值百分比;所述第二超出阈值百分比是根据所述预设时间段内的SYN报文数量以及SYN报文对应的报文数量基线值确定的;
所述FIN-flood对应的特征数据包括以下至少一种:所述预设时间段内的FIN报文数量、所述预设时间段内的FIN报文速率和第三超出阈值百分比;所述第三超出阈值百分比是根据所述预设时间段内的FIN报文数量以及FIN报文对应的报文数量基线值确定的;
所述RST-flood对应的特征数据包括以下至少一种:所述预设时间段内的RST报文数量、所述预设时间段内的RST报文速率和第四超出阈值百分比;所述第四超出阈值百分比是根据所述预设时间段内的RST报文数量以及RST报文对应的报文数量基线值确定的;
所述ICMP不可达-flood对应的特征数据包括以下至少一种:所述预设时间段内的ICMP不可达报文数量、所述预设时间段内的ICMP不可达报文速率和第五超出阈值百分比;所述第五超出阈值百分比是根据所述预设时间段内的ICMP不可达报文数量以及ICMP不可达报文对应的报文数量基线值确定的;
所述针对特定端口攻击对应的特征数据包括以下至少一种:所述预设时间段内的针对特定端口的报文数量、所述预设时间段内的针对特定端口的报文速率和第六超出阈值百分比;所述第六超出阈值百分比是根据所述预设时间段内的针对特定端口的报文数量以及针对特定端口的报文数量基线值确定的;
所述针对地址池攻击对应的特征数据包括以下至少一种:所述预设时间段内的针对地址池的报文数量、所述预设时间段内的针对地址池的报文速率和第七超出阈值百分比;所述第七超出阈值百分比是根据所述预设时间段内的针对地址池的报文数量以及针对地址池的报文数量基线值确定的。
14.根据权利要求1所述的方法,其特征在于,在所述确定所述多种异常流量类型中需要保留的目标异常流量类型,所述方法还包括:
向用于操控所述网络设备的客户端发送去重结果;所述去重结果包括:所述多种异常流量类型以及保留的所述目标异常流量类型;
通过所述客户端的显示界面显示所述去重结果。
15.一种异常流量类型保留装置,其特征在于,所述装置包括:
获取模块,用于当根据网络设备在预设时间段内接收的流量数据检测存在多种异常流量类型时,获取所述多种异常流量类型各自对应的特征数据以及所述网络设备在所述预设时间段内的实际CPU消耗率;
消耗率预测模块,用于将所述多种异常流量类型各自对应的特征数据输入预先训练的CPU消耗率预测模型,获得所述多种异常流量类型各自对应的预测CPU消耗率;所述CPU消耗率预测模型用于根据异常流量类型对应的特征数据,预测属于该异常流量类型的报文对于CPU的消耗率;
关系确定模块,用于根据所述多种异常流量类型各自对应的预测CPU消耗率以及所述实际CPU消耗率,确定所述多种异常流量类型之间的关系;
保留模块,用于根据所述多种异常流量类型之间的关系,确定所述多种异常流量类型中需要保留的目标异常流量类型。
16.根据权利要求15所述的装置,其特征在于,当所述多种异常流量类型之间的关系为独立关系时,所述独立关系是指所述多种异常流量类型下的报文完全不重叠,所述保留模块包括:
第一保留子模块,用于确定所述多种异常流量类型中贡献度高于第一预设阈值的异常流量类型,作为所述目标异常流量类型;所述异常流量类型的贡献度用于表征该种异常流量类型下的报文对于网络设备CPU的资源占用率。
17.根据权利要求16所述的装置,其特征在于,所述关系确定模块具体用于:
计算所述多种异常流量类型各自对应的预测CPU消耗率的和,作为总预测CPU消耗率;
若所述总预测CPU消耗率与所述实际CPU消耗率的差值在第一预设误差范围内,则确定所述多种异常流量类型之间的关系为所述独立关系;
则所述第一保留子模块具体用于:
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型的贡献度;
从所述多种异常流量类型中选出贡献度大于所述第一预设阈值的异常流量类型,作为所述目标异常流量类型。
18.根据权利要求15所述的装置,其特征在于,当所述多种异常流量类型之间的关系为完全包含关系时,所述完全包含关系是指所述多种异常流量类型中一种异常流量类型下的报文完全包含其他异常流量类型下的报文,所述保留模块包括:
第二保留子模块,用于确定所述多种异常流量类型中贡献度最高的异常流量类型,作为所述目标异常流量类型;所述异常流量类型的贡献度用于表征该种异常流量类型下的报文对于网络设备CPU的资源占用率。
19.根据权利要求18所述的装置,其特征在于,所述关系确定模块具体用于:
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型对应的消耗率占比;
若存在消耗率占比与1的差值在第二预设误差范围内的异常流量类型,则确定所述多种异常流量类型之间的关系为所述完全包含关系;
则所述第二保留子模块具体用于:
从所述多种异常流量类型中选择消耗率占比最大的异常流量类型,作为所述目标异常流量类型。
20.根据权利要求15所述的装置,其特征在于,当所述多种异常流量类型之间的关系为半包含关系时,所述半包含关系是指所述多种异常流量类型下的报文部分重叠,所述保留模块包括:
第三保留子模块,用于确定所述多种异常流量类型中贡献度高于第二预设阈值的异常流量类型,作为所述目标异常流量类型;所述异常流量类型的贡献度用于表征该异常流量类型下的报文对于网络设备CPU的资源占用率。
21.根据权利要求20所述的装置,其特征在于,所述关系确定模块具体用于:
计算所述多种异常流量类型各自对应的预测CPU消耗率的和,作为总预测CPU消耗率;
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型对应的消耗率占比;
若所述总预测CPU消耗率与所述实际CPU消耗率的差值超出第一预设误差范围,且所述多种异常流量类型各自对应的消耗率占比与1的差值均超出第二预设误差范围,则确定所述多种异常流量类型之间的关系为所述半包含关系;
则所述第三保留子模块具体用于:
针对所述多种异常流量类型中的每种异常流量类型,计算该种异常流量类型对应的预测CPU消耗率与所述实际CPU消耗率的比值,作为该种异常流量类型的贡献度;
从所述多种异常流量类型中选出贡献度大于所述第二预设阈值的异常流量类型,作为所述目标异常流量类型。
22.根据权利要求15所述的装置,其特征在于,存在多个所述CPU消耗率预测模型,所述CPU消耗率预测模型与异常流量类型成一一对应关系;则所述消耗率预测模块具体用于:
针对所述多种异常流量类型中的每种异常流量类型,将该种异常流量类型对应的特征数据输入该异常流量类型对应的CPU消耗率预测模型,获得该种异常流量类型对应的预测CPU消耗率。
23.根据权利要求22所述的装置,其特征在于,所述装置还包括:
第一样本获取模块,用于获取目标训练样本集;所述目标训练样本集中包括多个在网络仿真环境中生成的目标训练样本,所述目标训练样本包括目标异常流量类型对应的特征数据以及属于目标异常流量类型的报文对于CPU的消耗率;
第一训练模块,用于利用所述目标训练样本集训练CPU消耗率预测模型。
24.根据权利要求15所述的装置,其特征在于,所述CPU消耗率预测模型用于确定多种异常流量类型各自对应的预测CPU消耗率;则所述消耗率预测模块具体用于:
针对所述多种异常流量类型中的每种异常流量类型,将该种异常流量类型对应的特征数据以及类型标签输入所述CPU消耗率预测模型,获得该种异常流量类型对应的预测CPU消耗率。
25.根据权利要求24所述的装置,其特征在于,所述装置还包括:
第二样本获取模块,用于获取训练样本集;所述训练样本集中包括多个在网络仿真环境中生成的对应不同异常流量类型的训练样本,所述训练样本包括异常流量类型的类型标签、该异常流量类型对应的特征数据以及属于该异常流量类型的报文对于CPU的消耗率;
第二训练模块,用于利用所述训练样本集训练CPU消耗率预测模型。
26.根据权利要求15所述的装置,其特征在于,所述装置还包括:
反馈模块,用于向用于操控所述网络设备的客户端发送去重结果;所述去重结果包括:所述多种异常流量类型以及保留的所述目标异常流量类型;
显示模块,用于通过所述客户端的显示界面显示所述去重结果。
27.一种网络设备,其特征在于,所述网络设备包括:处理器以及存储器;
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行权利要求1至14任一项所述的异常流量类型保留方法。
28.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至14任一项所述的异常流量类型保留方法。
CN201911102870.9A 2019-11-12 2019-11-12 一种异常流量类型保留方法、装置、设备及存储介质 Active CN112866175B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911102870.9A CN112866175B (zh) 2019-11-12 2019-11-12 一种异常流量类型保留方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911102870.9A CN112866175B (zh) 2019-11-12 2019-11-12 一种异常流量类型保留方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112866175A CN112866175A (zh) 2021-05-28
CN112866175B true CN112866175B (zh) 2022-08-19

Family

ID=75984474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911102870.9A Active CN112866175B (zh) 2019-11-12 2019-11-12 一种异常流量类型保留方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112866175B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363212B (zh) * 2021-12-27 2023-12-26 绿盟科技集团股份有限公司 一种设备检测方法、装置、设备和存储介质
CN116915517B (zh) * 2023-09-14 2023-11-24 厦门快快网络科技有限公司 一种云服务资源风险安全管理方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348811A (zh) * 2013-08-05 2015-02-11 深圳市腾讯计算机***有限公司 分布式拒绝服务攻击检测方法及装置
CN105281981A (zh) * 2015-11-04 2016-01-27 北京百度网讯科技有限公司 网络服务的数据流量监控方法和装置
CN106850558A (zh) * 2016-12-24 2017-06-13 国网江苏省电力公司信息通信分公司 基于季节模型时间序列的智能电表状态异常检测方法
CN107040517A (zh) * 2017-02-22 2017-08-11 南京邮电大学 一种面向云计算环境的认知入侵检测方法
CN109639734A (zh) * 2019-01-24 2019-04-16 大连理工大学 一种具有计算资源自适应性的异常流量检测方法
CN109743314A (zh) * 2018-12-29 2019-05-10 杭州迪普科技股份有限公司 网络异常的监控方法、装置、计算机设备及其存储介质
CN110008079A (zh) * 2018-12-25 2019-07-12 阿里巴巴集团控股有限公司 监控指标异常检测方法、模型训练方法、装置及设备
CN110210508A (zh) * 2018-12-06 2019-09-06 北京奇艺世纪科技有限公司 模型生成方法、异常流量检测方法、装置、电子设备、计算机可读存储介质
CN110289992A (zh) * 2019-06-04 2019-09-27 新华三信息安全技术有限公司 一种报文处理方法及装置
CN110943974A (zh) * 2019-11-06 2020-03-31 国网上海市电力公司 一种DDoS异常检测方法及云平台主机
CN112529204A (zh) * 2019-09-17 2021-03-19 华为技术有限公司 模型训练方法、装置及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150326600A1 (en) * 2013-12-17 2015-11-12 George KARABATIS Flow-based system and method for detecting cyber-attacks utilizing contextual information

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348811A (zh) * 2013-08-05 2015-02-11 深圳市腾讯计算机***有限公司 分布式拒绝服务攻击检测方法及装置
CN105281981A (zh) * 2015-11-04 2016-01-27 北京百度网讯科技有限公司 网络服务的数据流量监控方法和装置
CN106850558A (zh) * 2016-12-24 2017-06-13 国网江苏省电力公司信息通信分公司 基于季节模型时间序列的智能电表状态异常检测方法
CN107040517A (zh) * 2017-02-22 2017-08-11 南京邮电大学 一种面向云计算环境的认知入侵检测方法
CN110210508A (zh) * 2018-12-06 2019-09-06 北京奇艺世纪科技有限公司 模型生成方法、异常流量检测方法、装置、电子设备、计算机可读存储介质
CN110008079A (zh) * 2018-12-25 2019-07-12 阿里巴巴集团控股有限公司 监控指标异常检测方法、模型训练方法、装置及设备
CN109743314A (zh) * 2018-12-29 2019-05-10 杭州迪普科技股份有限公司 网络异常的监控方法、装置、计算机设备及其存储介质
CN109639734A (zh) * 2019-01-24 2019-04-16 大连理工大学 一种具有计算资源自适应性的异常流量检测方法
CN110289992A (zh) * 2019-06-04 2019-09-27 新华三信息安全技术有限公司 一种报文处理方法及装置
CN112529204A (zh) * 2019-09-17 2021-03-19 华为技术有限公司 模型训练方法、装置及***
CN110943974A (zh) * 2019-11-06 2020-03-31 国网上海市电力公司 一种DDoS异常检测方法及云平台主机

Also Published As

Publication number Publication date
CN112866175A (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
US9130983B2 (en) Apparatus and method for detecting abnormality sign in control system
CN108429651B (zh) 流量数据检测方法、装置、电子设备及计算机可读介质
CN108234404B (zh) 一种DDoS攻击的防御方法、***及相关设备
CN112866175B (zh) 一种异常流量类型保留方法、装置、设备及存储介质
CN104601526A (zh) 一种冲突检测及解决的方法、装置
EP3582463B1 (en) Threat detection method and apparatus
CN112422554B (zh) 一种检测异常流量外连的方法、装置、设备及存储介质
CN111181850B (zh) 数据包泛洪抑制方法、装置和设备及计算机存储介质
CN105282152A (zh) 一种异常流量检测的方法
CN103701822A (zh) 访问控制方法
CN108712365B (zh) 一种基于流量日志的DDoS攻击事件检测方法及***
CN107426136B (zh) 一种网络攻击的识别方法和装置
CN108183884B (zh) 一种网络攻击判定方法及装置
CN114584351A (zh) 一种监控方法、装置、电子设备以及存储介质
CN104641606A (zh) 网络资源均衡处理的方法和虚拟网络管理实体
CN103905407A (zh) 一种防火墙访问控制策略的分析方法及装置
CN107995199A (zh) 网络设备的端口限速方法及装置
CN110381082B (zh) 基于Mininet的电力通信网络的攻击检测方法和装置
CN107395554B (zh) 流量攻击的防御处理方法及装置
CN106254375B (zh) 一种无线热点设备的识别方法及装置
US10237287B1 (en) System and method for detecting a malicious activity in a computing environment
CN112187807A (zh) 一种分支网络网关监控方法、装置及存储介质
US9794274B2 (en) Information processing apparatus, information processing method, and computer readable medium
CN106533882B (zh) 报文的处理方法及装置
CN106817268B (zh) 一种ddos攻击的检测方法及***

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