CN108696543B - 基于深度森林的分布式反射拒绝服务攻击检测、防御方法 - Google Patents

基于深度森林的分布式反射拒绝服务攻击检测、防御方法 Download PDF

Info

Publication number
CN108696543B
CN108696543B CN201810975597.XA CN201810975597A CN108696543B CN 108696543 B CN108696543 B CN 108696543B CN 201810975597 A CN201810975597 A CN 201810975597A CN 108696543 B CN108696543 B CN 108696543B
Authority
CN
China
Prior art keywords
address
attack
packet
service
detection
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
CN201810975597.XA
Other languages
English (en)
Other versions
CN108696543A (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.)
Hainan University
Original Assignee
Hainan University
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 Hainan University filed Critical Hainan University
Priority to CN201810975597.XA priority Critical patent/CN108696543B/zh
Publication of CN108696543A publication Critical patent/CN108696543A/zh
Application granted granted Critical
Publication of CN108696543B publication Critical patent/CN108696543B/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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service

Abstract

本发明提供一种基于深度森林的分布式反射拒绝服务攻击检测、防御方法,检测方法包括:对正常网络流进行采样,获取风险服务的数据包信息,数据包信息包括源IP地址、目的IP地址、源端口、目的端口及数据包的应用层载荷;根据数据包信息分别计算:Cq、Vq、Pq、Cr、Vr及Pr,并将Cq、Vq、Pq、Cr、Vr及Pr整合为六元组特征,采集一定时间段内的六元组特征作为正常样本;通过模拟分布式反射拒绝服务攻击,对攻击网络流进行采样,获取攻击网络流中的六元组特征作为异常样本;采用正常样本和异常样本组合成的训练集,进行深度森林模型训练,得到检测模型;采用检测模型进行DRDoS攻击。本发明提高了在大数据环境下的DRDoS攻击检测的有效性、效率和准确率。

Description

基于深度森林的分布式反射拒绝服务攻击检测、防御方法
技术领域
本发明涉及互联网技术领域,特别涉及一种分布式反射拒绝服务(DistributedReflection Denial of Service,DRDoS)攻击检测与防御方法。
背景技术
分布式拒绝服务攻击(DDoS)攻击是指攻击者通过有组织、分布式或者远程控制僵尸网络,联合多台计算机设备,向目标系统发送大量连续攻击请求,以增加攻击威力。DDoS攻击发展至今,已经进化出多种形式,其中,最具破坏力的一种就是DRDoS攻击。DRDoS的作用原理是发送伪造网络服务请求使得攻击目标收到大量回应请求的数据包。具体地,一台计算机伪装成攻击目标,向网络中众多计算机的某一服务发送一些服务请求包,并且这些服务请求的响应包的大小通常远大于其相应的请求包,随后这些响应包均被送往攻击目标,造成攻击目标响应滞后或者宕机。
传统的DRDoS攻击检测方法大多依赖于信息度量,但是在大数据和物联网时代,巨大的信息量、极快的转发时间等新特征下,传统检测方法愈发无力。而已有的防御DRDoS攻击的方法大多无法防御早期阶段的攻击流,难以有效地防御攻击。
有鉴于此,本发明提供一种能够在大数据环境下使用的、检测率较高的基于深度森林的分布式反射拒绝服务攻击的检测与防御方法。
发明内容
本申请的目的在于提供一种基于深度森林的分布式反射拒绝服务攻击的检测方法,以提高在大数据环境下的DRDoS攻击检测的有效性、效率和准确率。
为实现上述目的,本申请一方面提供一种基于深度森林的分布式反射拒绝服务攻击的检测方法,包括以下步骤:
对正常网络流进行采样,获取可以用来进行分布式反射拒绝服务攻击的风险服务的数据包信息,所述数据包信息包括源IP地址、目的IP地址、源端口、目的端口及所述数据包的应用层载荷;
根据所述数据包信息分别计算:从同一个源IP地址经过当前节点的请求包的总数量Cq、单位时间内由同一个源IP地址发出的请求包的大小Vq、由同一个源IP地址发出的请求包的不同的源端口的数量Pq、送往同一个目的IP地址且经过当前节点的响应包的总数量Cr、单位时间内送往同一个目的IP地址的响应包的大小Vr、送往同一个目的IP地址的响应包的不同的目的端口的数量Pr;将所述Cq、所述Vq、所述Pq、所述Cr、所述Vr及所述Pr整合为六元组特征,并采集一定时间段内的所述六元组特征作为正常样本;
通过模拟分布式反射拒绝服务攻击,对攻击网络流进行采样,获取所述攻击网络流中的所述六元组特征作为异常样本;
采用所述正常样本和所述异常样本组合成的训练集,进行深度森林模型训练,得到检测模型;
采用所述检测模型进行分布式反射拒绝服务攻击。
进一步地,所述深度森林模型包括多层,每一层包括五个评估器,五个所述评估器包括一个最大梯度提升树分类器、两个随机森林分类器,以及两个完全随机森林分类器。
进一步地,训练所述深度森林模型的过程包括以下步骤:
输入六元组的所述训练集,第一层的每个所述评估器输出一个四维向量的分类结果;
将第一层中的所有所述分类结果相连,形成一个二十维的特征向量;
将所述特征向量与原始输入的所述训练集连接,形成一个二十六维的增广向量;
将所述增广向量作为下一层的输入,依次输出N层的所述增广向量,直至最终的所述增广向量的准确率等于上一层所述增广向量的准确率。
进一步地,所述随机森林分类器采用回归树作为弱学习器,并对基本的决策树进行优化,所述优化包括以下步骤:
对所述训练集进行m次采样,得到一个包含m个样本的子训练集;
通过随机选取所述n个特征,训练第t个决策树模型Gt(x);
T个弱学习器投票最多的类将作为最终的预测结果。
进一步地,所述最大梯度提升树的增益等于:左节点的分数加上右节点的分数,再减去不分割的当前节点的分数,最后减去引入新的叶节点的复杂度代价。
进一步地,所述最大梯度提升树定义的增益计算公式如下:
Figure BDA0001777336950000031
其中,GL为左子树信息增益,GR为右子树信息增益HL为左子树高度HR为右子树高度,λ和γ为正规化项的参数。
为实现上述目的,本发明还提供一种分布式反射拒绝服务攻击的防御方法,采用上述检测模型进行防御,包括以下步骤:
采用所述检测模型进行检测,并根据检测结果对网络流中的数据包的IP地址进行分类;
根据区分服务进行处理,过滤掉具有攻击风险的上述数据包;
生成防御模型。
进一步地,所述根据区分服务进行处理包括:若所述IP地址分类为normal,则允许所有对应所述IP地址的IP层数据包都通过;若所述IP地址分类为upstream,则过滤掉来自于所述IP地址且发往所述风险服务的请求包;若所述IP地址分类为downstream,则过滤掉发往所述IP地址的所述风险服务的响应包;若所述IP地址分类为混合流,则同时过滤掉来自于所述IP地址发往所述风险服务的请求包,和发往所述IP地址的所述风险服务的响应包。
进一步地,还包括以下步骤:
增加阈值集合H,超过所述阈值集合H的所述风险服务的请求包或响应包为异常包;
所述阈值集合H的析取范式公式为:A:((P1∧P3)∨(P2∧P4))∧(P1∨P5),其中,P1代表是风险服务请求包,P2代表是风险服务响应包,P3代表风险服务请求包的长度大于请求包和响应包的长度上界,P4代表风险服务响应包超过了响应包的总长度,P5代表已发送的风险服务响应包的总长度大于五倍的响应包的总长度。
进一步地,所述防御方法的形式化描述如公式:
Figure BDA0001777336950000033
其中,Si为源IP地址,Di为目的IP地址。
本发明提供的在大数据和物联网设备飞速发展环境下的DRDoS检测和防御方法,对于检测DRDoS攻击的部分,分析了网络节点中的DRDoS请求包和响应包的统计学特征,例如包长度,IP地址信息,单位时间内端口号的数量等,在经由处理和结合这些特征之后,提出了基于主机的六元组特征,即威胁指数HDTI,然后采集HDTI样本作为训练集训练深度森林模型得到检测模型,采用训练好的检测模型可以进行有效、快速、准确地检测,该检测方法有着较高的适应性,可以将检测模型部署到网络中的任意节点上。对于本申请提出的DRDoS防御方法,将它构建在深度森林的模型之上,在集成了区分服务的步骤之后,该防御方法有着高效、低复杂度和低误报率、低漏报率的特点;且可以在大数据环境高速度、高容量的情景下的保持预期的准确率;亦可适应于不同种类的DRDoS攻击。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的DRDoS攻击检测方法流程图;
图2为本发明实施例的深度森林模型的结构示意图;
图3a是本发明实施例的检测方法与相关方法的检测率对比图,(br=1,bq=100);
图3b是本发明实施例的检测方法与相关方法的漏报率和误报率对比图(br=1,bq=100);
图4a是本发明实施例的检测方法与相关方法的检测率对比图(br=1,bq=500);
图4b是本发明实施例的检测方法与相关方法的漏报率和误报率对比图(br=1,bq=500);
图5a是本发明实施例的检测方法与相关方法的检测率对比图(br=100,bq=100);
图5b是本发明实施例的检测方法与相关方法的漏报率和误报率对比图(br=100,bq=100);
图6是本发明实施例的防御方法对正常流与攻击流的削减情况对比图(仅存在upstream);
图7是本发明实施例的防御方法对正常流与攻击流的削减情况对比图(仅存在downstream);
图8是本发明实施例的防御方法对正常流与攻击流各阶段的削减率对比图;
图9是本发明实施例的防御方法推广到memcached系统时对正常流与攻击流的削减情况对比图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种DRDoS攻击检测方法,用于检测DRDoS攻击。如图1,具体步骤包括如下步骤S101~步骤S105。
步骤S101,对正常网络流进行采样,获取可以用来进行分布式反射拒绝服务攻击的风险服务的数据包信息,所述数据包信息包括源IP地址、目的IP地址、源端口、目的端口及所述数据包的应用层载荷。
在本实施例中,采样的数据包为标准OSI参考模型中第4层的包,即IP层的包。在这一层中,IP包中包含了源IP地址、目的IP地址源端口、目的端口及所述数据包的应用层载荷等信息,便于后续六元组特征的提取。
步骤S102,根据所述数据包信息分别计算:从同一个源IP地址经过当前节点的请求包的总数量Cq、单位时间内由同一个源IP地址发出的请求包的大小Vq、由同一个源IP地址发出的请求包的不同的源端口的数量Pq、送往同一个目的IP地址且经过当前节点的响应包的总数量Cr、单位时间内送往同一个目的IP地址的响应包的大小Vr、送往同一个目的IP地址的响应包的不同的目的端口的数量Pr;将所述Cq、所述Vq、所述Pq、所述Cr、所述Vr及所述Pr整合为六元组特征,并采集一定时间段内的所述六元组特征作为正常样本。
本实施例中,将每个IP包定义为IPi=(Si,Di,Ti,Psi,Pdi),其中定义Si为源IP地址,Di为目的IP地址,Psi为源端口号,Pdi为目的端口号,Ti则是该IP包的应用层载荷。使用Δt作为采样时间参数。最后定义那些可被用来进行DRDoS攻击的风险服务(例如DNS,NTP,UPnP,BT-DHT等)为VSD。
在每次采样中,将所有的源IP地址和目的IP地址都放进集合M中。提取集合M中的第k个IP地址提取的特征为(Cqk,Vqk,Pqk,Crk,Vrk,Prk),定义该六元组特征为基于网络中各节点的DRDoS威胁指数HDTI。其中,Cqk代表从第k个IP发往VSD且经过当前节点的请求包的总数量,Vqk为单位时间内由第k个IP发往VSD的请求包的大小,Pqk代表第k个IP发往VSD请求包的不同的源端口的数量。相应的,Crk代表送往第k个IP且经过当前节点的VSD响应包的总数量,Vrk为单位时间内送往第k个IP的VSD响应包的大小,Prk代表送往第k个IP的VSD响应包的不同的目的端口的数量。
在每个采样时段中,为每个IP地址表征的特征计算如下:
当攻击者发起DRDoS攻击的时候,对于某些Si来说,观测到大量的VSD请求包或者来自反射器的VSD响应包。因此,为VSD请求包中的源IP地址和VSD响应包中的目的IP地址分别统计各自VSD请求包、VSD响应包的数量。对于VSD请求包来说,使用一个字典Wq,它的键为源IP地址,它的值Wq[Si]为声称从Si发送的VSD请求包的数量。对应的,对于VSD响应包来说,使用一个字典Wr,它的键为目的IP地址,它的值Wr[Si]为发往Di的VSD响应包的数量,则有:
Figure BDA0001777336950000061
并且在每个采样时段中,为每一个在集合M中的IP计算它所发出的或送往它的VSD包,则有:
Figure BDA0001777336950000062
Figure BDA0001777336950000063
如果有任一Cqk是一个异常大的值,那么很有可能其对应的Mk正在遭受DRDoS攻击。因为在大数据环境下,DRDoS攻击的一个关键因素就是速度,攻击者会生成巨量的VSD请求包并将它们发送到反射器,从而使得最终的攻击流尽可能大。因此,当Crk的值也异常的大的时候,可能也表明其对应的Mk正在遭受DRDoS攻击。
对VSD请求包和VSD响应包,分别为每一个源IP地址和目的IP地址计算单位时间内的总大小,定义每个包的长度为Li。对于请求包来说,使用一个字典Qq,它的键为源IP地址,它的值Qq[Si]为声称从Si发送的VSD请求包的总大小。对应的,对于VSD响应包来说,使用一个字典Qr,它的键为目的IP地址,它的值Qr[Si]为发往Di的VSD响应包的总大小,则有:
Figure BDA0001777336950000071
随后为集合M中的每个IP分别计算单位时间内的VSD请求包和VSD响应包总流量,则有:
Figure BDA0001777336950000072
Figure BDA0001777336950000073
一个异常大的Vqk表明这里可能存在DRDoS攻击,因为一些VSD可以用相对较大的请求包来增加从反射器发出的攻击流大小,以此增大攻击流放大系数。因此,从VSD请求包中提取这一特征。显然的,一个异常大的Vrk表明这里存在DRDoS攻击。
在某一时刻,因为每要发出或接收一个IP包就会占用机器上的一个源端口或者目的端口,因此也将不同的端口号的数量考虑进来。类似的,使用一个字典Jq,它的键为源IP地址,它的值Jq[Si]为声称从Si发送的VSD请求包的不同的源端口号的数量。对应的,对于VSD响应包来说,使用一个字典Jr,它的键为目的IP地址,它的值Jr[Si]为发往Di的VSD响应包的目的端口号的数量。
Figure BDA0001777336950000074
于是对Pqk和Prk的计算:
Figure BDA0001777336950000075
Figure BDA0001777336950000076
在HDTI中使用Pqk和Prk做为另外两个基本特征的原因是,当攻击者发起DRDoS攻击的时候,为了让攻击流尽可能大使得攻击有效,攻击者会尽可能发送多的VSD请求包,于是会有很多请求包在同一时间发送,而每个包又会占用一个源端口,因此Pqk将会是一个异常大的值。并且根据TCP/IP规范,响应包的目的端口与其对应的请求包的端口是相同的,这也就表明Prk在Mk遭受DRDoS攻击的时候也会是一个异常大的值。
步骤S103,通过模拟分布式反射拒绝服务攻击,对攻击网络流进行采样,获取所述攻击网络流中的所述六元组特征作为异常样本;
在本实施例中,为了实现检测模型,首先通过对正常流采样获取一系列6元组HDTI作为正常样本,随后模拟DRDoS攻击并获取一系列6元组HDTI作为异常样本,在正常流中也包含发往VSD或来自VSD的包。具体地,可以选择4小时正常网络流和30秒的DRDoS攻击流,将它们顺序连接形成一个4小时零30秒的网络流,提取正常样本和异常样本作为训练集,以便用于深度森林模型的训练。
步骤S104,采用所述正常样本和所述异常样本组合成的训练集,进行深度森林模型训练,得到检测模型。
本实施例中,所述深度森林模型如图2,由多个层组成,每一层包括五个评估器,五个所述评估器包括一个最大梯度提升树分类器、两个随机森林分类器,以及两个完全随机森林分类器。
训练所述深度森林模型的过程包括以下步骤:输入六元组的所述训练集,第一层的每个所述评估器输出一个四维向量的分类结果;将第一层中的所有所述分类结果相连,形成一个二十维的特征向量;将所述特征向量与原始输入的所述训练集连接,形成一个二十六维的增广向量。
本实施例中,最初输入HDTI的6维的特征值,当它在第一层被使用时,每个评估器都会输出初始的分类结果,每一个都是4维的向量;随后,第一层每个评估器的结果会连接在一起,形成一个20维的特征向量,接下来,将这个20维的特征向量与原始的6维特征值连接在一起,形成一个26维的增广向量作为下一层的输入;类似的步骤一直进行,直到在某一层之后没有明显的准确率提升,则完成深度森林模型的训练,得到检测模型。因此,由上可知深度森林的层数是可变的,这也使得检测模型的适应性得到增强,可以适应于不同规模的数据集大小,且可以部署于网络中的任意节点。
所述最大梯度提升树分类器通过最大梯度提升树的增益来获得特征的最佳分割;所述随机森林分类器随机的选取节点上n个特征的子集,在所述n个特征上决定出最佳划分;所述完全随机森林分类器随机的选取特征的划分。
本实施例中,一个提升树的基本组成部分是回归树,或者是分类和回归树(CART),一个CART为其中的每一片叶子分配一个属性,并且赋予每一个叶子结点一个实数值。然而,仅用CART还不能够做出一个有效的预测,因此最大梯度提升树分类器是采用一个更好的组合树模型,组合树模型可以用公式
Figure BDA0001777336950000091
表达,其中fk属于函数空间
Figure BDA0001777336950000092
即所有回归树的集合。因此,可将目标函数写为
Figure BDA0001777336950000093
在最大梯度提升树中的训练部分,选取一个函数ft()来最小化目标函数Obj的值。
Figure BDA0001777336950000094
其中
Figure BDA0001777336950000095
且T是叶子的数量,wj是第j片叶子的权重,随后就可以按每一片叶子来重写目标函数了。即变为T个独立的二次函数的和。
Figure BDA0001777336950000096
假设树的结构q是固定的,然后就可以求得最优的
Figure BDA0001777336950000097
并且可以得到相应的目标函数的最大增益,
Figure BDA0001777336950000098
所以,最大梯度提升树定义的增益等于左节点的分数加上右节点的分数,再减去不分割当前节点情况下的分数,最后减去引入新的叶节点的复杂度代价。随后可以从左到右线性扫描已排序的实例,以此来获得特征的最佳分割。根据上述计算,得出最大梯度提升树的增益表达式为
Figure BDA0001777336950000099
Figure BDA00017773369500000910
其中,GL为左子树信息增益,GR为右子树信息增益,HL为左子树高度,HR为右子树高度,λ和γ为正规化项的参数。
在一实施例中,所述随机森林分类器采用回归树作为弱学习器,并对基本的决策树进行优化,所述优化包括以下步骤:对所述训练集进行m次采样,得到一个包含m个样本的子训练集;通过随机选取所述n个特征,训练第t个决策树模型Gt(x);T个弱学习器投票最多的类将作为最终的预测结果。
完全随机森林是随机森林的一种变体,它们之间仅有2个微小的差别:其一,随机森林在训练集上采样,而完全随机森林直接使用原始输入作为训练集。其次,在选取了n个特征之后,随机森林利用信息增益、基尼系数或者是均方差来决定特征的最佳划分。然而,完全随机森林则更激进,它随机的选取特征的划分,虽然这会导致树的层数的增长,但是完全随机森林的泛化能力得到了增强。
步骤S105,采用所述检测模型进行分布式反射拒绝服务攻击。
在一具体实施例中,基于WRCCDC 2018数据集,其中包含了一个超过50名用户、7到10个服务器的网络,网络中同时也包含了常见的英特网服务,例如网页服务器、邮件服务器和一个电子商务网站。使用不同的采样时间,Δt=[0.01,0.1,0.5,1.0]。然后提取上述六元组特征,生成训练集,训练深度森林模型,生成检测模型,然后用检测模型进行DRDoS检测。
本发明实施例还提供一种DRDoS防御方法,主要你采用前述检测方法进行防御,具体包括以下步骤:采用所述检测模型进行检测,并根据检测结果对网络流中的数据包的IP地址进行分类;根据区分服务进行处理,过滤掉具有攻击风险的上述数据包;生成防御模型。
在本实施例中,应用训练好的深度森林的检测模型,可以判断网络中的每一个IP层数据包的类别,然后根据分类结果利用区分服务进行相应进一步的处理。
具体地,利用区分服务进行相应进一步的处理的过程如下:若所述IP地址分类为normal,则允许所有对应所述IP地址的IP层数据包都通过;若所述IP地址分类为upstream,则过滤掉来自于所述IP地址且发往所述风险服务的请求包;若所述IP地址分类为downstream,则过滤掉发往所述IP地址的所述风险服务的响应包;若所述IP地址分类为混合流MUD(mixed upstream&downstream),此时同时应用所述IP地址分类为upstream和downstream时的处理方法,即则同时过滤掉来自于所述IP地址发往所述风险服务的请求包,和发往所述IP地址的所述风险服务的响应包。如此处理完成后,即形成DRDoS防御模型。
在一实施中,为了让区分服务更加智能,也就是过滤掉攻击的同时,不影响正常流通过,增加阈值集合H,超过所述阈值集合H的所述风险服务的请求包或响应包为异常包;所述阈值集合H的析取范式公式为:A:((P1∧P3)∨(P2∧P4))∧(P1∨P5),其中,P1代表是风险服务请求包,P2代表是风险服务响应包,P3代表风险服务请求包的长度大于请求包和响应包的长度上界,P4代表风险服务响应包超过了响应包的总长度,P5代表已发送的风险服务响应包的总长度大于五倍的响应包的总长度。
本实施例中,添加了一个阈值集合H,定义超过了阈值集合H的VSD请求包或响应包为异常包。区分服务将在下列条件满足时过滤掉一个异常包。对于分类为MUD的IP地址,将同时标记它为upstream和downstream。
为了得到可用的阈值集合H,可以利用统计分析的方法,从正常合法的VSD请求包和VSD响应包学习到相应的阈值。在实际应用中,专家可以将他们的经历转化为经验性的阈值规则来判定一个包是否异常。
在本申请中,包的长度作为了阈值集合H一条规则。从正常流中分别学习并计算了最大和最小的合法VSD请求包和VSD响应包的长度。使用Gq,Lq来表示合法VSD请求包的最大和最小长度,相应的,Gr,Lr表示合法VSD响应包的最大和最小长度。随后分别计算出请求包和响应包的长度上界Uq=Gq+(Gq-Lq)和Ur=Gr+(Gr-Lr)。接下来即可以为VSD请求包和VSD响应包定义如下的规则:
1.VSD请求包的长度是否超过Uq
H1:(Ti是VSD请求包)∧(Li>Uq)
2.为VSD响应包添加的规则:使用字典Z来保存一段时间内发往目的IPMk的VSD响应包的总大小,如果发往Mk的VSD响应包长度超过了Ur,那么就检测已发往目的IPMk的VSD响应包的总大小是否超过5Ur。该规则用于避免正常网络流波动带来的误判,该规则表达式如下
H2:(Tiis a VSD response packet)∧(Li>Ur)∧(Z[Mk]>5Ur)
根据上述阈值集合H,得出阈值集合H的析取范式公式为:
A:((P1∧P3)∨(P2∧P4))∧(P1∨P5),其中:
P1:Tiis a VSD request packet
P2:Tiis a VSD response packet
P3:Li>Uq
P4:Li>Ur
P5:Z[Mk]>5Ur
那么,防御方法的形式化描述如公式:
Figure BDA0001777336950000111
其中,Si为源IP地址,Di为目的IP地址。
为了评估本实施例所提出的检测方法和预防方法,定义了如下的评估标准:首先定义TN是被正确识别为DRDoS攻击的包的数量,FN则是被错误识别为DRDoS攻击的包的数量,TP为被正确识别为正常网络流的包的数量,FP为被错误识别为正常网络流的包的数量,则有:
1.检测率DR,代表了分类器正确识别出DRDoS攻击的概率。
Figure BDA0001777336950000112
2.漏报率MR,代表了分类器未能识别出DRDoS攻击的概率。
Figure BDA0001777336950000113
3.误报率FAR,代表了正常VSD包被识别为异常VSD包且被过滤的概率。
Figure BDA0001777336950000121
在接近1TB大小的WRCCDC 2018数据集中,包括非VSD包的典型的网络流量为166Mbps左右,然后模拟DNS服务的DRDoS攻击,进行DRDoS攻击的检测方法对比实验,具体如下:
首先,直接在网络中注入大量VSD异常响应包,验证采用本申请的检测方法的检测率、漏报率和误报率,其中注入的VSD异常响应包的带宽为b=[100,200,500,1000]Mbps。
然后,直接在网络中注入大量VSD异常请求包,验证采用本申请的检测方法的检测率、漏报率和误报率,其中,注入的VSD异常请求包的带宽为b=[1,10,20,50,100]Mbps。
最后,同时在网络中注入大量VSD异常响应包和VSD异常请求包,检测率、漏报率和误报率,其中,注入的VSD异常响应包的带宽为br=[100,200,500,1000]Mbps,VSD异常请求包的带宽为bs=[1,10,20,50,100]Mbps。
具体地,取出了30秒正常网络流,和进行了30秒的模拟DRDoS攻击流,其中,DRDoS攻击流的前10秒仅包含VSD异常请求包,即upstream,随后的10秒则是仅包含VSD异常响应包,即downstream,最后的10秒则是混合了upstream和downstream。之后将提出的检测方法、防御方法与支持向量机(SVM)、k近邻(kNN)和纯随机森林方法在同样的实验设备下进行了对比。结果如表1~表6,其中较有代表性的检测结果如附图3a~图5b。
表1.Crossed Comparison with DRDoS Detection Methods of br=1,bq=1000
Figure BDA0001777336950000122
表2.Crossed Comparison with DRDoS Detection Methods ofbr=10,bq=1000
Figure BDA0001777336950000123
表1.Crossed Comparison with DRDoS Detection Methods ofbr=10,bq=500
Figure BDA0001777336950000131
表2.Crossed Comparison with DRDoS Detection Methods ofbr=20,bq=200
Figure BDA0001777336950000132
表3.Crossed Comparison with DRDoS Detection Methods ofbr=50,bq=200
Figure BDA0001777336950000133
表4.Crossed Comparison with DRDoS Detection Methods ofbr=50,bq=100
Figure BDA0001777336950000134
由表1~表6及附图3a~图5b可知,相较于SVM方法和kNN方法,本申请提出的基于HDTI的检测方法则具有相对较高的检测率和更低的误报率,可以检测出绝大多数DRDoS攻击流,并且不易对正常用户产生干扰,更能适应于不同的情况。
本申请还进行了DRDoS攻击的防御对比实验,用削减率来评估对正常流与攻击流的影响。实验中,取采样时间Δt=0.1,实验结果如图6和图7,其中,请求包的发送速率为bq=10,响应包的速率为br=1000。
由图6和图7可知,采用本申请提出的防御方法,DRDoS攻击流展现了明显的下降,所以本申请提出的防御方法是可行且可以高效的缓解受害者端的网络压力,并且尽可能不会对正常用户产生影响。
图8给出了Δt=[0.1,0.5,1.0],br=1000和bq=10的正常流与攻击流的削减情况。由图8可知,在应用了本申请提出的防御方法之后,DRDoS攻击流在早期、中期和末期都被大量削减,这表明提出的防御方法可以部署在靠近攻击源端和网络中的节点,例如服务提供商的路由或交换机上,或者是受害者端。
为了展示本申请提出的检测方法是高效的,并且可以适应于其他风险服务,进行次真实环境下的实验。在实验中,可以观察到攻击流大约有50000倍的放大。在部署了本申请提出的检测和防御方法之后,到达受害者端的攻击流有显著下降。这表明的方法有着较高的鲁棒性和可扩展性。为了进行这个真实环境下的实验,进行了如下工作:
扫描了半个IPv4地址空间,来寻找所有开放了TCP 11211端口的服务器,在的设备上花了15个小时的时间,占用了最大30Mbps的出口带宽,发现有超过2000000台服务器开放了TCP 11211端口。
随后,探测了超过2000000台服务器,找出了真正运行着memcahced服务并且响应UDP请求的服务器,观察到有1466台服务器可以被用来发起DRDoS攻击。
在这一阶段,向这些有风险的服务器上传了用于DRDoS攻击的载荷,每台服务器上的载荷都被设置为了1MB大小,实际上可以上传更大的载荷到服务器上去,比如2MB,这样一来DRDoS攻击流的放大倍数就会几乎翻倍。
在这一阶段,可以伪装成受害者向有风险的服务器发送UDP包请求取回载荷。每个UDP请求包的大小是20字节,因此放大倍数为
Figure BDA0001777336950000141
为了避免造成真正的DRDoS攻击,仅向其中20台发送了这些请求包。即便如此,也受到了最高104Mbps、平均90Mbps的DRDoS攻击流。
随后,在第30秒左右,部署本申请提出的防御方法,然后观察到了受害者受到攻击流的大幅下降,如图9所示。如结果所展示的,本申请提出的检测、防御方法可以泛化到其他类型的DRDoS攻击,并且在检测和防御方面都能保持较好的性能,同时也再次证明了该方法的鲁棒性。
本实施例提出的在大数据和物联网设备飞速发展环境下的DRDoS检测和防御方法。对于检测DRDoS攻击的部分,分析了网络节点中的DRDoS请求包和响应包的统计学特征,例如包长度,IP地址信息,单位时间内端口号的数量等,在经由处理和结合这些特征之后,提出了基于主机的威胁指数HDTI。对于本申请提出的DRDoS防御方法,将它构建在深度森林的模型之上,其中深度森林的模型每一层都包含了1个XGBoost评估器,2个随机森林评估器和2个完全随机森林评估器,在集成了区分服务的步骤之后,该防御方法有着高效、低复杂度和低误报率、漏报率的特点;且可以在大数据环境高速度、高容量的情景下的保持预期的准确率;亦可适应于不同种类的DRDoS攻击。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于深度森林的分布式反射拒绝服务攻击检测方法,其特征在于,包括以下步骤:
对正常网络流进行采样,获取可以用来进行分布式反射拒绝服务攻击的风险服务的数据包信息,所述数据包信息包括源IP地址、目的IP地址、源端口、目的端口及所述数据包的应用层载荷;
根据所述数据包信息分别计算:从同一个源IP地址经过当前节点的请求包的总数量Cq、单位时间内由同一个源IP地址发出的请求包的大小Vq、由同一个源IP地址发出的请求包的不同的源端口的数量Pq、送往同一个目的IP地址且经过当前节点的响应包的总数量Cr、单位时间内送往同一个目的IP地址的响应包的大小Vr、送往同一个目的IP地址的响应包的不同的目的端口的数量Pr;将所述Cq、所述Vq、所述Pq、所述Cr、所述Vr及所述Pr整合为六元组特征,并采集一定时间段内的所述六元组特征作为正常样本;
通过模拟分布式反射拒绝服务攻击,对攻击网络流进行采样,获取所述攻击网络流中的所述六元组特征作为异常样本;
采用所述正常样本和所述异常样本组合成的训练集,进行深度森林模型训练,得到检测模型;
所述深度森林模型包括多层,每一层包括五个评估器,五个所述评估器包括一个最大梯度提升树分类器、两个随机森林分类器,以及两个完全随机森林分类器;
训练所述深度森林模型的过程包括以下步骤:
输入六元组的所述训练集,第一层的每个所述评估器输出一个四维向量的分类结果;
将第一层中的所有所述分类结果相连,形成一个二十维的特征向量;
将所述特征向量与原始输入的所述训练集连接,形成一个二十六维的增广向量;
将所述增广向量作为下一层的输入,依次输出N层的所述增广向量,直至最终的所述增广向量的准确率等于上一层所述增广向量的准确率;采用所述检测模型进行分布式反射拒绝服务攻击。
2.如权利要求1所述的检测方法,其特征在于,所述随机森林分类器采用回归树作为弱学习器,并对基本的决策树进行优化,所述优化包括以下步骤:
对所述训练集进行m次采样,得到一个包含m个样本的子训练集;
所述最大梯度提升树分类器通过最大梯度提升树的增益来获得特征的最佳分割;所述随机森林分类器随机的选取节点上n个特征的子集,在所述n个特征上决定出最佳划分;所述完全随机森林分类器随机的选取特征的划分;
通过随机选取所述n个特征,训练第t个决策树模型Gt(x);
T个弱学习器投票最多的类将作为最终的预测结果。
3.如权利要求1所述的检测方法,其特征在于,所述最大梯度提升树的增益等于:左节点的分数加上右节点的分数,再减去不分割的当前节点的分数,最后减去引入新的叶节点的复杂度代价。
4.如权利要求3所述的检测方法,其特征在于,所述最大梯度提升树定义的增益计算公式如下:
Figure FDA0002728055550000021
其中,GL为左子树信息增益,GR为右子树信息增益HL为左子树高度HR为右子树高度,λ和γ为正规化项的参数。
5.一种基于深度森林的分布式反射拒绝服务攻击防御方法,其特征在于:采用权利要求1-4任一项所述的检测模型进行防御,包括以下步骤:
采用所述检测模型进行检测,并根据检测结果对网络流中的数据包的IP地址进行分类;
根据区分服务进行处理,过滤掉具有攻击风险的上述数据包;
生成防御模型。
6.如权利要求5所述的防御方法,其特征在于,所述根据区分服务进行处理包括:若所述IP地址分类为normal,则允许所有对应所述IP地址的IP层数据包都通过;若所述IP地址分类为upstream,则过滤掉来自于所述IP地址且发往所述风险服务的请求包;若所述IP地址分类为downstream,则过滤掉发往所述IP地址的所述风险服务的响应包;若所述IP地址分类为混合流,则同时过滤掉来自于所述IP地址发往所述风险服务的请求包,和发往所述IP地址的所述风险服务的响应包。
7.如权利要求6所述的防御方法,其特征在于,还包括以下步骤:
增加阈值集合H,超过所述阈值集合H的所述风险服务的请求包或响应包为异常包;
所述阈值集合H的析取范式公式为:A:((P1∧P3)∨(P2∧P4))∧(P1∨P5),其中,P1代表是风险服务请求包,P2代表是风险服务响应包,P3代表风险服务请求包的长度大于请求包和响应包的长度上界,P4代表风险服务响应包超过了响应包的总长度,P5代表已发送的风险服务响应包的总长度大于五倍的响应包的总长度,其中,符号∧为开方符号,符号∨为指数符号。
8.如权利要求7所述的防御方法,其特征在于,所述防御方法的形式化描述如公式:
Figure FDA0002728055550000031
其中,Si为源IP地址,Di为目的IP地址。
CN201810975597.XA 2018-08-24 2018-08-24 基于深度森林的分布式反射拒绝服务攻击检测、防御方法 Active CN108696543B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810975597.XA CN108696543B (zh) 2018-08-24 2018-08-24 基于深度森林的分布式反射拒绝服务攻击检测、防御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810975597.XA CN108696543B (zh) 2018-08-24 2018-08-24 基于深度森林的分布式反射拒绝服务攻击检测、防御方法

Publications (2)

Publication Number Publication Date
CN108696543A CN108696543A (zh) 2018-10-23
CN108696543B true CN108696543B (zh) 2021-01-05

Family

ID=63841356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810975597.XA Active CN108696543B (zh) 2018-08-24 2018-08-24 基于深度森林的分布式反射拒绝服务攻击检测、防御方法

Country Status (1)

Country Link
CN (1) CN108696543B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109741597B (zh) * 2018-12-11 2020-09-29 大连理工大学 一种基于改进深度森林的公交车路段运行时间预测方法
CN111343127B (zh) * 2018-12-18 2021-03-16 北京数安鑫云信息技术有限公司 一种提升爬虫识别召回率的方法、装置、介质及设备
CN110691073A (zh) * 2019-09-19 2020-01-14 中国电子科技网络信息安全有限公司 一种基于随机森林的工控网络暴力破解流量检测方法
CN113037687B (zh) * 2019-12-24 2022-09-16 中移物联网有限公司 一种流量识别方法及电子设备
CN112699936B (zh) * 2020-12-29 2022-06-28 东北电力大学 一种电力cps广义虚假数据注入攻击识别方法
CN112953956B (zh) * 2021-03-05 2022-11-18 中电积至(海南)信息技术有限公司 一种基于主被动结合的反射放大器识别方法
CN113206860B (zh) * 2021-05-17 2022-07-01 北京交通大学 一种基于机器学习和特征选择的DRDoS攻击检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882881A (zh) * 2012-10-10 2013-01-16 常州大学 针对dns服务的拒绝服务攻击的数据过滤方法
CN104794192A (zh) * 2015-04-17 2015-07-22 南京大学 基于指数平滑、集成学习模型的多级异常检测方法
CN107256245A (zh) * 2017-06-02 2017-10-17 河海大学 面向垃圾短信分类的离线模型改进与选择方法
CN107563542A (zh) * 2017-08-02 2018-01-09 阿里巴巴集团控股有限公司 数据预测方法及装置和电子设备
CN107872460A (zh) * 2017-11-10 2018-04-03 重庆邮电大学 一种基于随机森林的无线传感网dos攻击轻量级检测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882881A (zh) * 2012-10-10 2013-01-16 常州大学 针对dns服务的拒绝服务攻击的数据过滤方法
CN104794192A (zh) * 2015-04-17 2015-07-22 南京大学 基于指数平滑、集成学习模型的多级异常检测方法
CN107256245A (zh) * 2017-06-02 2017-10-17 河海大学 面向垃圾短信分类的离线模型改进与选择方法
CN107563542A (zh) * 2017-08-02 2018-01-09 阿里巴巴集团控股有限公司 数据预测方法及装置和电子设备
CN107872460A (zh) * 2017-11-10 2018-04-03 重庆邮电大学 一种基于随机森林的无线传感网dos攻击轻量级检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《Deep Forest: Towards an Alternative to Deep Neural Networks》;周志华;《Deep Forest: Towards an Alternative to Deep Neural Networks》;20170531;正文第2-4部分 *

Also Published As

Publication number Publication date
CN108696543A (zh) 2018-10-23

Similar Documents

Publication Publication Date Title
CN108696543B (zh) 基于深度森林的分布式反射拒绝服务攻击检测、防御方法
CN109951444B (zh) 一种加密匿名网络流量识别方法
CN112738015B (zh) 一种基于可解释卷积神经网络cnn与图检测的多步攻击检测方法
Loukas et al. Likelihood ratios and recurrent random neural networks in detection of denial of service attacks
Bilge et al. Disclosure: detecting botnet command and control servers through large-scale netflow analysis
Vijayasarathy et al. A system approach to network modeling for DDoS detection using a Naive Bayesian classifier
CN107018084B (zh) 基于sdn架构的ddos攻击防御网络安全方法
Husain et al. Development of an efficient network intrusion detection model using extreme gradient boosting (XGBoost) on the UNSW-NB15 dataset
CN110417729B (zh) 一种加密流量的服务与应用分类方法及系统
Staudemeyer et al. Extracting salient features for network intrusion detection using machine learning methods
CN107370752B (zh) 一种高效的远控木马检测方法
Soe et al. Rule generation for signature based detection systems of cyber attacks in iot environments
CN110691073A (zh) 一种基于随机森林的工控网络暴力破解流量检测方法
CN111262849A (zh) 一种基于流表信息的网络异常流量行为识别阻断的方法
CN112995202A (zh) 一种基于SDN的DDoS攻击检测方法
Riadi et al. Internet forensics framework based-on clustering
CN110336806B (zh) 一种结合会话行为和通信关系的隐蔽通信检测方法
McCarthy et al. Feature vulnerability and robustness assessment against adversarial machine learning attacks
Hossain et al. Efficient feature selection for detecting botnets based on network traffic and behavior analysis
Yi et al. Source-based filtering scheme against DDOS attacks
CN116915450A (zh) 基于多步网络攻击识别和场景重构的拓扑剪枝优化方法
Sun et al. A rough set approach for automatic key attributes identification of zero-day polymorphic worms
Aldwairi et al. Characterizing realistic signature-based intrusion detection benchmarks
Rana et al. Automated fast-flux detection using machine learning and genetic algorithms
Puranik et al. A Two-level DDoS attack detection using entropy and machine learning in SDN

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