一种针对低速率DDoS攻击的检测方法和系统与流程

专利2022-05-09  101


本发明涉及网络安全检测技术领域,尤其涉及一种针对低速率ddos攻击的检测方法和系统。



背景技术:

lddos攻击是ddos攻击中的一种变体,与传统的通过高速率流量耗尽目标网络资源的泛洪式ddos攻击不同,它的攻击流量始终保持较低速率。lddos攻击具有以下特点:

i)lddos攻击具有极强的针对性。攻击者在发起攻击前,充分获取受害者的应用服务信息或网络协议的自适应机制存在的漏洞,从而针对其特定的漏洞发起攻击。

ii)攻击者采用低密度、周期性的方式发送攻击数据包,进而耗尽被攻击者的网络资源,降低网络和服务性能。

iii)lddos攻击行为具有极高的隐蔽性。

目前,现有技术中的对lddos攻击的检测方法主要分为三类:特征检测,频域检测和时域检测。特征检测需建立一个特征数据集,该特征数据集中含有已知lddos攻击的特征,一旦检测到lddos攻击的特征,则判断为lddos攻击流量。频域检测利用流量在频域中的多重分形特性,通过频谱分析和小波变换等方法研究频域中的变化情况检测lddos攻击。时域检测则采用自相关等算法,通过将计算值与静态阈值比较判断是否存在攻击流量。

现有技术中的对lddos攻击的检测方法的缺点为:仅针对单类别lddos攻击实施检测,未划分更细致的lddos攻击类别。同时,存在单类别攻击检测时间复杂度高且效率低的问题。



技术实现要素:

本发明的实施例提供了一种针对低速率ddos攻击的检测方法和系统,以实现有效防御多种类型低速率ddos攻击。

为了实现上述目的,本发明采取了如下技术方案。

根据本发明的一个方面,提供了一种针对低速率ddos攻击的检测方法,包括:

获取一定时间段内的网络流量,通过流特征提取工具提取网络流量的特征信息,将所有网络流量的特征信息组成lddos攻击数据集;

基于所述lddos攻击数据集利用统计阈值和特征工程分析lddos攻击和正常流量的特征信息,得到lddos攻击的典型特征信息;

利用所述lddos攻击数据集和所述lddos攻击的典型特征信息对混合深度学习模型进行调参训练,得到检测性能指标最好的训练好的混合深度学习模型;

利用所述检测性能指标最好的训练好的混合深度学习模型对待检测网络的入口流量数据进行在线检测,输出待检测网络的lddos攻击检测分类结果。

优选地,所述lddos攻击数据集中包含不同类型的lddos攻击流量和合法流量数据的特征信息,所述不同类型的lddos攻击包括针对http协议的slowread攻击、slowheaders攻击、slowbody攻击及针对tcp协议的shrew攻击。

优选地,所述网络流量的特征信息包括时间特征、流报头特征和有效载荷特征,所述时间特征包括流处于活跃时间的统计特征,流中两数据包间隔时间的统计特征、前向两数据包间隔时间的统计特征以及流处于空闲时间的统计特征;所述流报头特征包括流持续时间、每秒的流字节数、前向/反向数据包头部长度和每秒流中的数据包数;所述有效载荷特征包括每秒的前/反向数据包数目、数据包长度的统计特征、标志位计数,所述统计特征包括平均值、标准偏差、最大值和最小值。

优选地,所述的基于所述lddos攻击数据集利用统计阈值和特征工程分析lddos攻击和正常流量的特征信息,得到lddos攻击的典型特征信息,包括:

将所述lddos攻击数据集中所含的特征信息分为时间特征、流报头特征和有效载荷特征。在统计阈值方面,查看lddos攻击流量和正常流量的各特征值分布直方图,使用概率分布直方图和概率分布图展示各个特征信息的分布及阈值情况,查看lddos攻击流量和正常流量的特征值分布情况,通过对比选取特征值分布具有明显差异的特征;从攻击原理、攻击源码和攻击时序图方面,结合发起攻击时的网络数据包抓取工具的抓包情况,分析特征阈值分布及产生该分布的原因,总结各个lddos攻击特征的阈值情况及阈值分布原理,得到各个lddos攻击的典型特征信息。在特征工程方面,选择使用斯皮尔曼相关系数法、递归特征消除法、xgboost、基于gini系数的随机森林和基于信息熵的随机森林的五种方法,对每种类型lddos攻击进行特征重要性排序。最终选取至少3种方法含有的特征,作为特征工程分析的结论。根据前述攻击原理和攻击时序图,对被选择特征的表现和原理做详细分析。

优选地,所述各个低速率ddos攻击的典型特征信息包括:

针对http协议的slowread攻击、slowheaders攻击、slowbody攻击及针对tcp协议的shrew攻击的典型特征信息如表2所示:

表2

优选地,利用所述lddos攻击数据集和所述lddos攻击的典型特征信息对混合深度学习模型进行训练,得到检测性能指标最好的训练好的混合深度学习模型,包括:

针对每种不同的lddos攻击从所述lddos攻击数据集中选取对应的特征,将这些特征进行合并整理,得到用于离线训练的lddos攻击检测样本集,一个检测样本对应五元组标记的一个数据流的特征信息,五元组信息为源ip地址、目的ip地址、源端口号、目的端口号和通信协议,将所述lddos攻击检测样本集按照一定比例划分,得到用于离线训练的训练集和测试集;

利用长短期记忆网络lstm和随机森林rf的混合算法组成混合深度学习模型,使用所述lddos攻击的典型特征信息对所述训练集进行筛选,利用筛选后的训练集对混合深度学习模型进行训练,对比不同参数下混合深度学习模型的检测性能指标,选择具有最高检测性能指标的混合深度学习模型作为最终的攻击检测模型。

优选地,利用所述训练好的混合深度学习模型对待检测网络的入口流量数据进行在线检测,输出待检测网络的lddos攻击检测分类结果,包括:

在网络入口处设置训练好的混合深度学习模型,通过数据包抓取工具在线采集一定时间段内的待检测的网络流量,该网络流量包括正常流量和不同类型的lddos攻击流量;

使用网络流量特征提取工具cicflowmeter提取所述网络流量中的特征信息,特征信息通过五元组标记为不同网络流数据,形成lddos攻击数据集,使用所述各个lddos攻击的典型特征信息对所述lddos攻击数据集进行筛选,得到lddos攻击特征集;

对lddos攻击数据集进行数据预处理,在线读取已训练好的混合深度学习模型的结构及参数,按照时间顺序依次将数据预处理后的lddos攻击特征集输入混合深度学习模型,混合深度学习模型输出信息包括指示所述待检测的网络流量是否是lddos攻击流量、指示lddos攻击的具体类别、源ip地址和目的ip地址、检测准确率和恶意流量降低率,所述源ip地址和目的ip地址指示攻击实施的通信地址,所述检测准确率用于指示检测模型的性能,所述恶意流量降低率通过检测前后测试环境中攻击流数据条数占总数据流条数比例的变化得到。

优选地,所述的对lddos攻击数据集进行数据预处理,包括:处理lddos攻击数据集中为空的特征值、缺失的特征值和无穷大的特征值,处理lddos攻击数据中特征值的数据类型。

根据本发明的另一个方面,提供了一种针对低速率ddos攻击的检测系统,包括:数据集生成模块、特征分析及选择模块、模型离线训练模块和在线检测模块。

优选地,所述的数据集生成模块,用于获取一定时间段内的网络流量,通过流特征提取工具提取网络流量的特征信息,将所有网络流量的特征信息组成低速率ddos攻击数据集;

优选地,所述的特征分析及选择模块,用于基于所述低速率ddos攻击数据集利用统计阈值和特征工程分析低速率ddos攻击和正常流量的特征信息,得到低速率ddos攻击的典型特征信息;

优选地,所述的模型离线训练模块,用于利用所述低速率ddos攻击数据集和所述低速率ddos攻击的典型特征信息对混合深度学习模型进行训练,得到检测性能指标最好的训练好的混合深度学习模型;

优选地,所述的在线检测模块,用于利用所述训练好的混合深度学习模型对待检测网络的入口流量数据进行在线检测,输出待检测网络中低速率ddos攻击的检测分类结果。包括:

在网络入口处部署训练好的混合深度学习模型,通过数据包抓取工具在线采集一定时间段内的待检测的网络流量,该网络流量包括正常流量和不同类型的lddos攻击流量;

使用网络流量特征提取工具cicflowmeter提取所述网络流量中的特征信息,特征信息通过五元组标记为不同网络流数据,形成lddos攻击数据集,使用所述各个lddos攻击的典型特征信息对所述lddos攻击数据集进行筛选,得到lddos攻击特征集;

对lddos攻击数据集进行数据预处理,在线读取已训练好的混合深度学习模型的结构及参数,按照时间顺序依次将数据预处理后的lddos攻击特征集输入混合深度学习模型,混合深度学习模型输出信息包括指示所述待检测的网络流量是否是lddos攻击流量、指示lddos攻击的具体类别、源ip地址和目的ip地址、检测准确率和恶意流量降低率。所述源ip地址和目的ip地址指示攻击实施的通信地址,所述检测准确率用于指示模型的检测分类性能,所述恶意流量降低率通过检测前后测试环境中攻击流数据条数占总数据流条数比例的变化得到。

由上述本发明的实施例提供的技术方案可以看出,本发明实施例基于混合深度学习算法构建混合深度学习模型,通过分析不同类型低速率ddos攻击流量和正常流量的特征值,得到每种类型攻击具有代表性的特征,对其进行汇总得到用于特征选择的特征种类。因此,能够降低数据集的特征维度,提高每种类型低速率ddos攻击的检测准确性,能够有效防御多种类型低速率ddos攻击,从而提高恶意流量降低率。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种针对lddos攻击的检测方法的处理流程图;

图2为本发明实施例提供的一种lddos攻击检测方法的混合深度学习模型示意图;

图3为本发明实施例提供的一种混合深度学习模型在线检测方法的流程图;

图4为本发明实施例提供的一种lddos攻击检测系统的结构图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。

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

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

本发明实施例可对包括针对http协议的slowread攻击、slowbody攻击和slowheaders攻击以及针对tcp协议的shrew攻击共四种类型低速率ddos攻击进行检测。

针对http协议的低速率攻击利用现有http协议keep-alive机制的漏洞,长时间保持连接且不释放,占用服务器资源,实现对web服务器的攻击。slowread攻击向服务器发送合法的读取请求,同时将tcp滑动窗口设置为较小值,响应数据需使用大量的数据包进行传输,服务器与攻击者之间需长时间建立通信连接,连接数目足够大时将耗尽服务器的资源池,导致无法响应请求和提供服务。slowheaders攻击发送的http请求以字符‘\r\n’结尾,导致服务器认为请求未发送完毕并继续等待,最终使得连接数达到服务器上限,无法处理新的请求产生拒绝服务攻击。slowbody攻击者向服务器发送post请求,并设置较大的内容长度值,但服务器每次只发送含少量字节数的数据包,当post请求足够多时,消耗大量的服务器的资源。针对tcp协议的低速率攻击则利用tcp协议的超时重传机制,周期性的发送短暂突发脉冲,降低了tcp吞吐量,导致被攻击服务器的服务质量下降,产生拒绝服务。

根据以上所述,不同类型的lddos攻击具有不同的攻击原理和攻击特性。因此,本发明实施例从统计阈值和特征工程的角度分别对每种lddos攻击类型进行特征分析,汇总得到lddos攻击特征集,有助于实现更细粒度的攻击检测。同时,本发明提出一种针对lddos攻击的检测方法及系统,能够提高lddos攻击的检测准确率,克服检测效率低的问题,提高恶意流量降低率。

本发明实施例提供的一种针对lddos攻击的检测方法的处理流程如图1所示,包括如下的处理步骤:

步骤s101:获取一定时间段内的网络流量,通过流特征提取工具提取网络流量的特征信息,将所有网络流量的特征信息组成lddos攻击数据集。所述lddos攻击数据集中包含不同类型的lddos攻击流量和合法流量数据的特征信息。

可选地,所述不同类型的lddos攻击包括针对http协议的slowread攻击、slowheaders攻击、slowbody攻击及针对tcp协议的shrew攻击。

具体地,某段时间内发生了不同类型的lddos攻击,选取包括发生不同类型lddos攻击在内的时间段为指定时间段,获取不同类型lddos攻击流量及正常流量。通过流特征提取工具提取网络流量中的特征信息,得到lddos攻击数据集。比如前一周的星期三上午10点至晚上12点发生了多次lddos攻击,可选取该天中的上午10点至上午12点为指定时间段。

可选地,网络流量的特征信息包括83种特征,包括时间特征、流报头特征和有效载荷特征。时间特征包括流处于活跃时间的统计特征;流中两数据包间隔时间的统计特征、前向两数据包间隔时间的统计特征以及流处于空闲时间的统计特征等。流报头特征可包括流持续时间、每秒的流字节数、前向/反向数据包头部长度和每秒流中的数据包数等。有效载荷特征可包括每秒的前/反向数据包数目、数据包长度的统计特征、syn/fin/rst等标志位计数等。其中统计特征可以包括平均值、标准偏差、最大值和最小值等。

s102:基于前面所述lddos攻击数据集中所含的特征信息,在统计阈值和特征工程的角度,分析lddos攻击和正常流量的特征信息,得到lddos攻击最具代表性的典型特征信息。

可选地,为实现lddos攻击更细粒度的有效检测,本发明实施例从统计阈值和特征工程的角度,分别对四种类型lddos攻击进行特征分析,能够降低每种类型攻击数据集的特征维度,降低模型的训练时间。

下述以slowread攻击为例,对该攻击的特征分析方法进行详细叙述。

可选地,在统计阈值方面,查看slowread攻击流量和正常流量的各特征值分布直方图,选取直方图分布存在明显差异的特征。再次,从攻击原理、攻击源码和攻击时序图等方面,结合发起攻击时wireshark等工具的抓包情况,分析特征阈值分布及产生该分布的原因,总结各个特征的阈值情况及阈值分布原理。

可选地,wireshark是一个网络封包分析软件,能够抓取网络封包,并最大程度显示出最为详细的网络封包资料。同时,该软件有强大的过滤器引擎,可使用过滤器筛选出有用的数据包,排除无关信息的干扰。

首先,将83种特征分为时间特征、流报头特征和有效载荷特征。使用概率分布直方图和概率分布图展示各个特征信息的分布及阈值情况,查看slowread攻击流量和正常流量的特征值分布情况,通过对比选取特征值分布具有明显差异的特征。

可选地,查看流特征提取工具的源码,结合源码理解各个特征的生成函数,有助于分析特征值分布产生的原因。可根据现有定义的参数及特征种类,新增特征生成函数,提取对检测lddos攻击有效的特征,提高lddos攻击检测的准确率。

可选地,使用slowhttptest等攻击工具发起slowread攻击,查看启动该攻击的命令及相关参数含义,设置不同攻击参数使其实现最佳攻击效果。同时,使用不同的攻击发起指令实施攻击,通过wireshark抓取数据包用于查看攻击实施过程的变化情况,绘制攻击时序图,用于分析slowread攻击原理与特征值分布之间的关系。

slowhttptest是基于http协议的拒绝服务攻击工具,基本原理为服务器在接收完全的请求后处理请求,若客户端发送请求速度缓慢或发送请求不完整,服务端将为其保留连接,当大量此类请求并发时将导致拒绝服务攻击。

可选地,在特征工程方面,选择使用斯皮尔曼相关系数法、递归特征消除法、xgboost、基于gini系数的随机森林和基于信息熵的随机森林的五种方法,对每种类型lddos攻击实施特征选择。最终选取至少3种方法含有的特征,作为slowread攻击特征分析的结论。根据前述攻击原理和攻击时序图,对被选择特征的表现和原理做详细分析。

对于slowread攻击,总结统计阈值和特征工程选择出的特征,如表1所示,该表展示了slowread攻击特征集的特征种类及特征含义。采用表1中的特征可反映攻击实施时的特性,例如:flowduration反映slowread攻击长期保持连接的特性;activemax反映攻击保持持续发包的特性;ackflagcnt反映攻击在频繁建立和关闭http连接时的交互情况等。

表1

同理,针对slowbody攻击进行如上所述的特征信息分析。使用slowbody攻击特征集的特征可描述该攻击实施时的特性。例如:rstflagcnt表示出现异常时请求关闭连接的特性,flowbyts/s、pktlenmin可表示攻击发包数目少的特性等;totfwdpkts反映前向发送数据包负载字节数少等。

同理,针对slowheaders攻击进行如上所述的特征信息分析。使用slowheaders攻击特征集的特征可描述该攻击实施时的特性,提高针对该类攻击的检测准确率。

同理,针对shrew攻击进行如上所述的特征信息分析。使用shrew攻击特征集的特征种类可描述该攻击实施时的特性,例如:flowiatstd表示前向发送数据包之间时间间隔小的特性;totfwdpkts表示攻击将在短时间内发送大量数据包达到瓶颈带宽的特性;flowpkts/s表示攻击发包保持低速率的特性等。

综上所述,总结四种类型低速率ddos攻击的特征分析结论,得到最具代表性的低速率ddos攻击特征,如表2所示。

表2

步骤s103:对lddos攻击数据集进行特征选择,得到用于离线训练的lddos攻击检测样本集。该方法可有效降低输入攻击检测模型中数据集的特征维度,减少训练和测试所用的时间,实现对多种类型lddos攻击的检测和分类,提高各攻击类型的检测准确率。

将输出的lddos攻击检测样本集按照一定比例划分,得到用于离线训练的训练集和测试集。检测样本集中包含不同类型的lddos攻击流量和正常流量数据。

可选地,检测样本集中包括训练样本子集和测试样本子集,对混合深度学习模型进行训练所使用的样本来自于所述训练样本子集。其中,检测样本集中包括多个检测样本,一个检测样本对应五元组标记的一个数据流的特征信息,五元组信息分别是源ip地址、目的ip地址、源端口号、目的端口号和通信协议。

可选地,检测样本集中网络流量的特征信息按网络流量的传输时间顺序排列。

可选地,检测样本中包括标签信息,该标签信息用于指示该检测样本是否是lddos攻击流量,同时指示lddos攻击的具体类别。

步骤s104:使用检测样本集中百分之七十的检测样本,对混合深度学习模型进行训练;使用检测样本集中的测试样本子集中的部分样本输入到混合深度学习模型中,用于验证混合深度学习模型的性能。

其中,所述离线训练混合深度学习模型的输出信息包含检测精准率、召回率和f1分数等。输出结果用于指示输入的网络流量是否是lddos攻击流量,以及lddos攻击的具体类别。

检测精准率p,表示被预测为某类型流量中正确预测的比例,公式如下所示:

其中,tp表示真实值为真,模型判定为真的数量。tn表示真实值为假,模型判定为假的数量。

召回率r又称灵敏度,表示在真实值为真的结果中,模型判定正确的比例,公式如下所示:

其中,fn表示真实值为真,模型判定为假的数量。

f1分数(f1score)则综合了精准率和召回率的结果,该指标的取值在0~1之间,当为1时表示模型的输出结果最好,0代表模型的输出结果最差。公式如下所示:

可选地,本发明示例采用混合深度学习算法实现对lddos攻击的检测,该算法为深度学习算法和机器学习算法的混合。例如:长短期记忆网络(longshorttermmemorynetwork,lstm)和随机森林(randomforest,rf)的混合。

正常情况下,在设定时长内的抓取的网络流量具有多个固有特征,比如持续出现流量波峰、波谷,且有一定的振荡频率;流量的密集区间和稀疏区间基本稳定;流量总量落在某个期望内;前向数据包的数量也在某个波动范围内等。发起不同类型的lddos攻击时,这些网络流量的固有特征将会被打破,故可利用lstm记忆正常情况和不同异常情况下的流量特征。该神经网络算法通过改进循环神经网络单元结构,引入新的内部状态进行线性的循环信息传递,可以解决和预测时间序列中间隔和延迟非常长的时间;与此同时,能够捕捉到流量在时间前后的关联,具有优异的深层特征提取优势。

随机森林作为一种有监督学习的机器学习算法,在处理分类问题时具有优异的性能。该算法采用cart决策树作为弱分类器,通过bagging的集成学习方法,将形成的许多决策树结合起来形成森林,实现模型的训练和预测。进一步地,若测试得到的分类准确率较低,则可通过增加深度学习网络的层数和调整检测模型的参数等方式,优化混合深度学习模型,提高lddos攻击的检测准确率。

需要说明的是,lstm原理、结构以及对lstm和rf的参数调整皆为现有技术,本申请对此不作限定。

本申请的上述实施例中,获取指定时间段内网络流量的特征信息,分析不同类型lddos攻击和正常流量的特征分布情况,得到lddos攻击最具有代表性的特征;根据该结论对lddos攻击数据集进行特征选择,得到用于lddos攻击离线训练的检测样本集;将检测样本集分为训练集和测试集,对lddos攻击模型进行训练和测试。最后,实现利用混合深度学习模型对lddos攻击实施检测,提高lddos攻击的检测准确率。

图2为本发明实施例提供的一种lddos攻击检测方法的混合深度学习模型示意图,即基于lstm和rf的混合深度学习模型示意图。

如图2所示,混合深度学习模型示意图中,将lddos攻击数据集输入该模型,输出检测分类结果。图2包含组成该模型的层次类别和输出维度,该模型混合了lstm算法和rf算法。其中,lstm算法用于从数据集中提取更深层次的相关特征,尤其是与时间序列相关的特征;rf算法作为分类器对输入数据集进行检测并输出分类结果。

可选地,检测模型使用两层lstm,同时通过全连接层与rf分类层建立连接。在lstm层后加入batchnormalization层,该层可有效加速模型收敛,防止过拟合。进而降低网络对初始化权重的不敏感性。

可选地,在第二层lstm后加入alphadropout层。该层表示在深度学习训练过程中,对于神经网络训练单元,按照一定的概率将其从网络中移除。减少中间特征的数量,增加每层各个特征之间的正交性。

最后,使用全连接层连接rf分类器。lstm输出向量的维度为指定的层次单元,使用全连接层进行维度转换,使其转变为可输入rf分类器的维度。同时,全连接层可将前面提取到的深层次特征,经过非线性变化提取特征之间的关联,有利于rf分类器进行最后的分类预测。

可选地,若分类结果较差,可调整lstm算法的层次及各参数,调整rf分类器的超参数,优化混合深度学习模型的结构。

基于相同的技术构思,本申请实施例提供一种混合深度学习模型的在线检测方法流程图如图3所示,该流程包括:

s301:在线测试环境中,模拟不同类型的lddos攻击和合法通信。

其中,通过slowhttptest攻击工具或攻击脚本等模拟不同类型的lddos攻击。本发明所述不同类型的lddos攻击包括针对http协议的slowbody攻击、slowheaders攻击和slowread攻击以及针对tcp协议的shrew攻击。

可选地,通过修改合法流量数据集中的通信地址,将其重放完成模拟正常通信。

s302:在网络入口处,在线采集一定时间段内的网络流量,包括正常流量和不同类型的lddos攻击流量。

可选地,使用tcpdump等抓包工具在线采集网络流量,设置采集时间为1分钟,表示将1分钟内捕获的网络流量按照抓取时间(精确到秒)保存为流量文件,保存文件类型为pcap类型。

tcpdump是unix下一个功能强大的网络抓包工具,运行在命令行下,允许用户拦截和显示发送和收到过网络连接到计算机的tcp/ip和其他数据包,可用于大多数的类unix系统。该工具能够分析网络性能和接收网络流量,支持针对协议和端口等的过滤。pcap文件是常用的数据报存储格式,该文件的总体结构为文件头-数据包头1-协议数据和内容数据1-数据包头2-协议数据和内容数据2等形式,便于读取网络通信数据包信息。

s303:在线读取新生成的流量文件,使用cicflowmeter等流特征提取工具在线提取上述流量中的特征信息,保存为csv文件。特征信息通过五元组标记为不同流数据,形成lddos攻击数据集。其中五元组包括源ip地址、目的ip地址、源端口号、目的端口号和协议,生成flowid。

可选地,cicflowmeter作为流特征提取工具,能够根据提交的pcap文件生成含83个特征的csv文件,使用方式包括离线和在线模式。在线模式可实时监控网络流量并提取相关特征信息,离线模式则自行选择pcap文件得到含83个特征的csv文件。同时,cicflowmeter是一个开源工具,可从pcap文件生成双向流,其中第一个数据包用于确定前向和反向方向,可在前向和反向分别计算与统计时间有关的特征。

csv文件又称逗号分隔值文件,该文件以纯文本形式存储表格数据。csv文件由任意数目的记录组成,记录间以某种换行符号分割,每条记录由字段组成,字段间的分隔符为逗号或其他制表符。

可选地,在将流量文件转为特征数据后,在线删除原流量文件。可保证在线扫描文件的准确性,不占用内存空间,降低扫描时间。

可选地,lddos攻击数据集中含有不同类型的lddos攻击和正常流量数据,共83种特征,包括时间特征、流报头特征和有效载荷特征。

可选地,每个lddos攻击数据集的命名方式同流量文件命名方式,方便后续文件查看。

s304:在线读取新生成的lddos攻击数据集。此前所述lddos攻击特征分析,得到具有代表性的lddos攻击特征。根据汇总的lddos攻击特征种类,对原始lddos攻击数据集进行特征选择,形成lddos攻击特征集。

可选地,在线扫描保存数据集的文件夹,当扫描到有新的csv文件存入时,则将其加入缓存区。待上一数据集完成在线检测,按照时间顺序依次执行后续数据集的检测。

可选地,根据前述对lddos攻击特征分析的结论,对lddos攻击数据集进行特征选择,降低数据集的特征维度,能够降低在线检测时间,提高在线检测的准确率。

s305:在线读取已训练好的混合深度学习模型,包括模型的结构及参数。按照时间顺序,依次将缓存区中的lddos攻击数据集输入检测模型。混合深度学习模型输出信息用于指示所述待检测网络流量是否是lddos攻击流量,同时指示lddos攻击的具体类别。

可选地,对lddos攻击数据集进行数据预处理。例如:处理特征值为空或存在缺失值的特征数据;处理特征值为无穷大的特征数据;处理特征值存在异常的数据以及处理特征值的数据类型使其更易操作。

所述混合深度学习模型的输出信息包括:预测标签、源ip地址和目的ip地址、检测准确率和恶意流量降低率。

可选地,预测标签用于指示待检测网络流量是否是lddos攻击流量,同时指示lddos攻击的具体类别;源ip地址和目的ip地址指示攻击实施的通信地址;检测准确率用于指示检测模型的性能。恶意流量降低率通过检测前后测试环境中攻击流数据条数占总数据流条数比例的变化得到,具体含义如下所示:

可选地,将输出结果保存为易于读取和查看的npy类型或csv类型文件。同时,输出结果中可包含输入混合深度学习模型的各个特征种类及相应的特征值。

npy格式文件以二进制存储数据,在二进制文件第一行以文本形式保存数据的元信息,包括维度和数据类型等。numpy是一个python包,是由多维数组对象和用于处理数组的例程集合组成的库,它提供了一个n维数组类型ndarray,使用该库可对npy文件进行保存和读取。

图4为本发明实施例提供的一种低速率ddos攻击检测系统的结构示意图。如图4所示,该系统包括:数据集生成模块401、特征分析及选择模块402、模型离线训练模块403及在线检测模块404;

数据集生成模块401,用于获取一定时间段内的网络流量,通过所述流特征提取工具提取各类别流量的特征信息,形成lddos攻击数据集;所述lddos数据集中包含不同类别的lddos攻击流量和正常流量数据。

特征分析及选择模块402,用于分析每种类型lddos攻击流量与正常流量的特征值,在得到lddos攻击的特征信息后,总结lddos攻击具有代表性的典型特征,根据典型特征对lddos攻击数据集进行特征选择,得到可输入检测模型的lddos攻击数据集。

可选地,在统计阈值和特征工程的角度对lddos攻击流量和正常流量的特征值进行对比和分析,得到lddos攻击最具代表性的典型特征。

模型离线训练模块403,用于使用所述lddos攻击数据集中的检测样本,对混合深度学习模型进行训练和测试;其中,所述混合深度学习模型的输出信息为检测精准率、召回率和f1分数,用于指示离线训练混合深度学习模型的检测性能。

可选地,所述lddos攻击数据集中的数据样本包括被检测为不同类型的lddos攻击流量的样本和被检测为正常流量的样本。

可选地,所述输入检测模型的样本集中包括训练样本子集和测试样本子集;训练样本子集用于对混合深度学习模型进行训练;测试样本子集用于测试训练后的混合深度学习模型的检测性能。

在线检测模块404,用于在线读取混合深度学习模型的结构及参数,采集一定时间段内的网络流量,并在线提取网络流量中的流特征信息;针对每个lddos攻击数据集分别实施检测;混合深度学习模型的输出结果用于指示输入的网络流量是否是lddos攻击流量,并明确指示lddos攻击的具体类别。

所述的在线检测模块,具体用于在网络入口处部署训练好的混合深度学习模型,通过数据包抓取工具在线采集一定时间段内的待检测的网络流量,该网络流量包括正常流量和不同类型的lddos攻击流量;

使用网络流量特征提取工具cicflowmeter提取所述网络流量中的特征信息,特征信息通过五元组标记为不同网络流数据,形成lddos攻击数据集,使用所述各个lddos攻击的典型特征信息对所述lddos攻击数据集进行筛选,得到lddos攻击特征集;

对lddos攻击数据集进行数据预处理,在线读取已训练好的混合深度学习模型的结构及参数,按照时间顺序依次将数据预处理后的lddos攻击特征集输入混合深度学习模型,混合深度学习模型输出信息包括指示所述待检测的网络流量是否是lddos攻击流量、指示lddos攻击的具体类别、源ip地址和目的ip地址、检测准确率和恶意流量降低率,所述源ip地址和目的ip地址指示攻击实施的通信地址,所述检测准确率用于指示检测模型的性能,所述恶意流量降低率通过检测前后测试环境中攻击流数据条数占总数据流条数比例的变化得到。

综上所述,鉴于常规的lddos攻击检测方法均只针对大类攻击类型和正常流量实施检测,存在检测准确率低、可扩展性差等问题。本发明实施例可针对网络中多种类的lddos攻击实现在线检测,对lddos攻击类别进行了更细致的划分。同时,针对每种类型的lddos攻击,分析得到可明显区分于正常流量的特征种类,使用该特征集可描述攻击的相关特性。因此,lddos攻击在线检测模型可对不同类型的lddos攻击实现高准确率的检测,输出检测分类结果,能够提高检测系统的可扩展性,提高恶意流量降低率。

本发明实施例可对包括slowread攻击、slowheaders攻击、slowbody攻击以及shrew攻击等多种低速率ddos攻击实施检测。本发明实施例基于混合深度学习算法构建混合深度学习模型,通过分析不同类型低速率ddos攻击流量和正常流量的特征值,得到每种类型攻击具有代表性的特征,对其进行汇总得到用于特征选择的特征种类。提高每种类型低速率ddos攻击的检测准确性,能够有效防御低速率ddos攻击,降低网络中的恶意流量。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

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

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。


技术特征:

1.一种针对低速率ddos攻击的检测方法,其特征在于,包括:

获取一定时间段内的网络流量,通过流特征提取工具提取网络流量的特征信息,将所有网络流量的特征信息组成lddos攻击数据集;

基于所述lddos攻击数据集利用统计阈值和特征工程分析低速率ddos攻击和正常流量的特征信息,得到lddos攻击的典型特征信息;

利用所述lddos攻击数据集和所述lddos攻击的典型特征信息对混合深度学习模型进行调参训练,得到检测性能指标最好的训练好的混合深度学习模型;

利用所述检测性能指标最好的训练好的混合深度学习模型对待检测网络的入口流量数据进行在线检测,输出待检测网络的lddos攻击检测分类结果。

2.根据权利要求1所述的方法,其特征在于,所述lddos攻击数据集中包含不同类型的lddos攻击流量和合法流量数据的特征信息,所述不同类型的lddos攻击包括针对http协议的slowread攻击、slowheaders攻击、slowbody攻击及针对tcp协议的shrew攻击。

3.根据权利要求2所述的方法,其特征在于,所述网络流量的特征信息包括时间特征、流报头特征和有效载荷特征,所述时间特征包括流处于活跃时间的统计特征,流中两数据包间隔时间的统计特征、前向两数据包间隔时间的统计特征以及流处于空闲时间的统计特征;所述流报头特征包括流持续时间、每秒的流字节数、前向/反向数据包头部长度和每秒流中的数据包数;所述有效载荷特征包括每秒的前/反向数据包数目、数据包长度的统计特征、标志位计数,所述统计特征包括平均值、标准偏差、最大值和最小值。

4.根据权利要求3所述的方法,其特征在于,所述的基于所述lddos攻击数据集利用统计阈值和特征工程分析lddos攻击和正常流量的特征信息,得到lddos攻击的典型特征信息,包括:

将所述lddos攻击数据集中所含的特征信息分为时间特征、流报头特征和有效载荷特征。在统计阈值方面,查看lddos攻击流量和正常流量的各特征值分布直方图,使用概率分布直方图和概率分布图展示各个特征信息的分布及阈值情况,查看lddos攻击流量和正常流量的特征值分布情况,通过对比选取特征值分布具有明显差异的特征;从攻击原理、攻击源码和攻击时序图方面,结合发起攻击时的网络数据包抓取工具的抓包情况,分析特征阈值分布及产生该分布的原因,总结各个lddos攻击特征的阈值情况及阈值分布原理,得到各个lddos攻击的典型特征信息。在特征工程方面,选择使用斯皮尔曼相关系数法、递归特征消除法、xgboost、基于gini系数的随机森林和基于信息熵的随机森林的五种方法,对每种类型lddos攻击进行特征重要性排序。最终选取至少3种方法含有的特征,作为特征工程分析的结论。根据前述攻击原理和攻击时序图,对被选择特征的表现和原理做详细分析。

5.根据权利要求4所述的方法,其特征在于,所述各个低速率ddos攻击的典型特征信息包括:

针对http协议的slowread攻击、slowheaders攻击、slowbody攻击及针对tcp协议的shrew攻击的典型特征信息如表2所示:

表2

6.根据权利要求1至5任一项所述的方法,其特征在于,利用所述lddos攻击数据集和所述lddos攻击的典型特征信息对混合深度学习模型进行训练,得到检测性能指标最好的训练好的混合深度学习模型,包括:

针对每种不同的lddos攻击从所述lddos攻击数据集中选取对应的特征,将这些特征进行合并整理,得到用于离线训练的lddos攻击检测样本集,一个检测样本对应五元组标记的一个数据流的特征信息,五元组信息为源ip地址、目的ip地址、源端口号、目的端口号和通信协议,将所述lddos攻击检测样本集按照一定比例划分,得到用于离线训练的训练集和测试集;

利用长短期记忆网络lstm和随机森林rf的混合算法组成混合深度学习模型,使用所述lddos攻击的典型特征信息对所述训练集进行筛选,利用筛选后的训练集对混合深度学习模型进行训练,对比不同参数下混合深度学习模型的检测性能指标,选择具有最高检测性能指标的混合深度学习模型作为最终的攻击检测模型。

7.根据权利要求6所述的方法,其特征在于,利用所述训练好的混合深度学习模型对待检测网络的入口流量数据进行在线检测,输出待检测网络的lddos攻击检测分类结果,包括:

在网络入口处设置训练好的混合深度学习模型,通过数据包抓取工具在线采集一定时间段内的待检测的网络流量,该网络流量包括正常流量和不同类型的lddos攻击流量;

使用网络流量特征提取工具cicflowmeter提取所述网络流量中的特征信息,特征信息通过五元组标记为不同网络流数据,形成lddos攻击数据集,使用所述各个lddos攻击的典型特征信息对所述lddos攻击数据集进行筛选,得到lddos攻击特征集;

对lddos攻击数据集进行数据预处理,在线读取已训练好的混合深度学习模型的结构及参数,按照时间顺序依次将数据预处理后的lddos攻击特征集输入混合深度学习模型,混合深度学习模型输出信息包括指示所述待检测的网络流量是否是lddos攻击流量、指示lddos攻击的具体类别、源ip地址和目的ip地址、检测准确率和恶意流量降低率,所述源ip地址和目的ip地址指示攻击实施的通信地址,所述检测准确率用于指示检测模型的性能,所述恶意流量降低率通过检测前后测试环境中攻击流数据条数占总数据流条数比例的变化得到。

8.根据权利要求7所述的方法,其特征在于,所述的对lddos攻击数据集进行数据预处理,包括:处理lddos攻击数据集中为空的特征值、缺失的特征值和无穷大的特征值,处理lddos攻击数据中特征值的数据类型。

9.一种针对低速率ddos攻击的检测系统,其特征在于,包括:数据集生成模块、特征分析及选择模块、模型离线训练模块和在线检测模块;

所述的数据集生成模块,用于获取一定时间段内的网络流量,通过流特征提取工具提取网络流量的特征信息,将所有网络流量的特征信息组成低速率ddos攻击数据集;

所述的特征分析及选择模块,用于基于所述低速率ddos攻击数据集利用统计阈值和特征工程分析低速率ddos攻击和正常流量的特征信息,得到低速率ddos攻击的典型特征信息;

所述的模型离线训练模块,用于利用所述低速率ddos攻击数据集和所述低速率ddos攻击的典型特征信息对混合深度学习模型进行训练,得到检测性能指标最好的训练好的混合深度学习模型;

所述的在线检测模块,用于利用所述训练好的混合深度学习模型对待检测网络的入口流量数据进行在线检测,输出待检测网络中低速率ddos攻击的检测分类结果。

10.根据权利要求9所述的系统,其特征在于:

所述的在线检测模块,具体用于在网络入口处部署训练好的混合深度学习模型,通过数据包抓取工具在线采集一定时间段内的待检测的网络流量,该网络流量包括正常流量和不同类型的lddos攻击流量;

使用网络流量特征提取工具cicflowmeter提取所述网络流量中的特征信息,特征信息通过五元组标记为不同网络流数据,形成lddos攻击数据集,使用所述各个lddos攻击的典型特征信息对所述lddos攻击数据集进行筛选,得到lddos攻击特征集;

对lddos攻击数据集进行数据预处理,在线读取已训练好的混合深度学习模型的结构及参数,按照时间顺序依次将数据预处理后的lddos攻击特征集输入混合深度学习模型,混合深度学习模型输出信息包括指示所述待检测的网络流量是否是lddos攻击流量、指示lddos攻击的具体类别、源ip地址和目的ip地址、检测准确率和恶意流量降低率。所述源ip地址和目的ip地址指示攻击实施的通信地址,所述检测准确率用于指示模型的检测分类性能,所述恶意流量降低率通过检测前后测试环境中攻击流数据条数占总数据流条数比例的变化得到。

技术总结
本发明提供了一种针对低速率DDoS(LDDoS)攻击的检测方法和系统。该方法包括:通过流特征提取工具提取网络流量的特征信息,将网络流量的特征信息组成LDDoS攻击数据集;利用统计阈值和特征工程分析LDDoS攻击和正常流量的特征信息,得到LDDoS攻击的典型特征信息;利用该典型特征信息对混合深度学习模型进行训练,得到检测性能指标最好的训练好的混合深度学习模型;利用混合深度学习模型对待检测网络的入口流量数据进行在线检测,输出LDDoS攻击的检测分类结果。本发明基于混合深度学习算法构建攻击检测模型,通过分析不同类型LDDoS攻击和正常流量的特征值,可检测出网络中多种类别的LDDoS攻击,提高LDDoS攻击的检测准确性,降低恶意流量。

技术研发人员:周华春;李丽娟;涂哲;沈琦;杨天奇;李颖之
受保护的技术使用者:北京交通大学
技术研发日:2021.05.17
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-2200.html

最新回复(0)