CN108092989A - 一种基于智能蜂群算法的DDoS攻击检测方法 - Google Patents
一种基于智能蜂群算法的DDoS攻击检测方法 Download PDFInfo
- Publication number
- CN108092989A CN108092989A CN201711462728.6A CN201711462728A CN108092989A CN 108092989 A CN108092989 A CN 108092989A CN 201711462728 A CN201711462728 A CN 201711462728A CN 108092989 A CN108092989 A CN 108092989A
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- bee
- msubsup
- ant colony
- 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.)
- Granted
Links
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/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- 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
- 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 Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Coloring Foods And Improving Nutritive Qualities (AREA)
Abstract
本发明公开了一种基于智能蜂群算法的DDoS攻击检测方法,包含以下过程:通过融合聚类和智能蜂群算法,有效提高DDoS攻击检测精度。智能蜂群算法和聚类算法的融合,消除了聚类算法过度依赖原始聚类中心的缺陷,改进了数据流聚类效果;统计改进后聚类的异常数据流IP地址并计算IP地址的流量特征熵H(x),若H(x)大于等于初步聚类数据流的判别因子RM(x),则判定该数据流是DDoS攻击数据流,否则判定该数据流是其他异常数据流。本发明具有耗时短,DDoS攻击检测准确率高、误报率低的优点。
Description
技术领域
本发明涉及云安全领域,特别涉及一种基于智能蜂群算法的DDoS攻击检测方法。
背景技术
分布式拒绝服务攻击(Distributed Denial of Service,DDoS)是目前网络上最为常见也是最难以防御的一种网络攻击。2014年12月,爆发了运营商DNS网络DDoS攻击事件。从12月10日凌晨开始,网络监控到攻击流量突增的情况,到上午11点开始,攻击开始活跃,多地不断出现网页访问缓慢,甚至无法打开等故障现象。攻击者不仅在短暂的时间内发起了峰值大于6G bps的查询请求(全国范围内大于100G的攻击),而且连续的变换二级域名,造成各地方的DNS递归服务器延迟增大,核心解析业务受到严重影响。由于现在的DDoS攻击范围遍布全球,攻击源难以追踪和定位,这让DDoS攻击检测的难度大大增加。此外,分布式攻击无规律可寻,某些DDoS攻击发送的数据请求是合理的,也是使用常见的协议和服务,这给DDoS攻击的检测带来了严峻的考验。
目前研究提出一些的DDoS攻击检测模型如堆空间监测、流量特征分辨等,依然存在着很多缺陷,例如在检测时存在较大的遗漏率、漏检流量数据以及高误报率错误对正常数据警报。
如今的网络攻击者在不断地改进着DDoS攻击技术,但目前对DDoS攻击范围广、善于伪装和攻击源飘忽不定等DDoS的特性并没有非常合适的解决方案,例如传统聚类算法检测DDoS的方法在改进上的研究就不多见。
发明内容
本发明的目的在于提供一种基于智能蜂群算法的DDoS攻击检测方法,通过融合智能蜂群算法(DFSABC_elite)和聚类算法K-means改善了聚类的效果,再抓取数据流量包获取IP地址计算流量特征熵,根据初步聚类的流量计算广义似然比较判别因子设置DDoS检测判别阀值,实现提高DDoS检测的准确率,降低DDoS误报率的目的。
为了达到以上目的,本发明通过以下技术方案实现:
一种基于智能蜂群算法的DDoS攻击检测方法,包含以下过程:
步骤S1、融合聚类算法K-means和智能蜂群算法,利用智能蜂群算法对聚类算法K-means对原始聚类中心的依赖特性进行改进;
步骤S2、根据聚类结果将正常流量数据流和异常流量数据流分别聚类;
步骤S3、获取异常流量数据流IP地址,并计算异常流量数据流IP地址的特征熵H(x)和初步聚类流量的判别因子RM(x);
步骤S4、比较异常流量数据流IP地址的特征熵H(x)和初步聚类流量判别因子RM(x)的大小,若H(x)≥RM(x),则表明发生了DDoS攻击,反之,则表示未发生DDoS攻击,该异常流量数据流是其他异常数据流量;
步骤S5、根据比较结果,系统分别对DDoS攻击数据流和/或其他异常数据流发出预警信息。
优选地,所述智能蜂群算法是基于深度优先搜索框架的蜂群算法结合以下算式形成的:
式中,是从精英解决方案中随机选择的,是从当前的所有解决方案中随机选择的,和是不同的,是当前最优的解决方案,φi,j和φe,j是[-1,1]中的两个随机实数,Xe是精英解,Xk随机选择的个体,Xbest是全局最优解。
优选地,所述深度优先搜索框架的蜂群算法包含以下过程:
在所述蜂群算法中,人工蜂群分为引领蜂、跟随蜂和侦查蜂,假设在D维空间中,种群规模为2×N,引领蜂个数=跟随蜂个数=N,蜜源与引领蜂相对应,蜜源数目也为N,第i个蜜源的位置记X={X1,X2,X3,…,XN};每个蜜源的位置代表优化问题的一个候选解,花蜜的数量反映解的质量;人工蜂群搜索最优蜜源的过程如下:
步骤S1.1、引领蜂对当前蜜源进行邻域搜索,产生新蜜源,根据贪婪原则选择较优蜜源;
步骤S1.2、跟随蜂根据引领蜂分享的信息选择一个蜜源,进行邻域搜索,根据贪婪原则选择较优蜜源;
步骤S1.3、引领蜂放弃蜜源,转变成侦查蜂,并随机搜索新的蜜源;搜索过程中,跟随蜂根据引领蜂分享的信息,以轮盘赌的方式根据以下算式选择一个蜜源
式中,pi表示第i个解的适应度,fit是食物源适应度,fi表示待解决问题的目标函数值;
引领蜂根据记忆里食物源的位置进行邻居搜索,当找到了更好的食物源时会评估其适应度,引领蜂根据以下算式进行搜索:
vij=Xij+Rij(Xij-Xhj)
式中,i∈{1,2,...,N},j∈{1,2,...m},Xhj中的h是随机选取的,Rij是[-1,1]之间的一个随机数,Vij表示邻居食物源、Xij表示当前食物源、Xhj表示随机选取的食物源,每个解经历数次迭代,如果没有改善则舍弃该解;如果某个解i经过数次迭代没有成功更新,按照以下算式进行初始化:
Xi=Xmin+rand(0,1)(Xmax-Xmin)
式中,Xmax、Xmin分别表示定义域的上边界和下边界。
优选地,所述聚类算法K-means采用如下公式进行计算:
式中,tr(B)是类间分离度指标,表示为类间离差矩阵B的迹;tr(W)是类内紧密度,表示为类内离差矩阵W的迹;Zi是第i个类的中心,z为所有样本的中心,ni为第i个类的样本数,k为聚类数,n为样本总数;对于聚类问题,类间分离度越大,类内聚合度越小,则CH(k)的值就会越大,说明这样的划分越好。
优选地,在每次迭代过程中,利用智能蜂群算法对聚类中心进行优化,然后再重新计算聚类中心,两种算法交替进行,直到聚类结束;聚类算法K-means通过以下算式计算聚类中心E
式中,p为数据集中的一个对象,Ci为一个簇,mi为Ci的中心,即Ci中所有对象的均值;
所述步骤S2包含以下过程:
步骤S2.1、初始化数据集和相关参数,设定参数N、聚类数k、控制参数极限以及最大迭代次数MCN;
步骤S2.2、根据样本数据集和聚类数k确定食物源向量维数,初始化蜂群产生N个食物源,其中d为样本维数,计算食物源适应度的值;
步骤S2.3、为食物源分配一个引领蜂并根据贪婪原则进行选择食物源,搜索并产生一个新食物源;
步骤S2.4、根据食物源适应度,计算选择各个食物源的概率;跟随蜂再次进行邻域搜索若发现适应度更高的食物源则替换原引领蜂的旧食物源并转变成引领蜂;
步骤S2.5、若连续有限次迭代后,其适应度未得到进化则对应的引领蜂转变成侦查蜂并更新食物源;
步骤S2.6、对表示聚类中心的食物源进行一次聚类算法K-means迭代,按最近邻原则聚类划分,再重新计算每一个聚类的聚类中心,并根据贪婪原则更新蜂群;
步骤S2.7、记录当前找到的最优食物源,若当前迭代次数小于MCN转向步骤S2.3进行下一次迭代,否则输出最优解作为聚类结果。
优选地,所述步骤S3包含以下过程:
S3.1、获取网络流量IP数据包;
S3.2、统计网络流量IP数据包并根据以下算式计算IP地址特征熵H(X);
式中,表示报文总数,lb表示log2;H(X)的取值范围为(0,log2N),分布越分散则H(X)越大;分布最为集中时表示X只有一个取值,此时H(X)取最小值0;分布最为分散时,即n1=n2=…=nN时,H(X)取最大值log2N;
S3.3、根据以下算式计算初步聚类后流量的广义似然比较判别因子
式中,μz为网络流量数据的均值,Cz为协方差矩阵的最大似然估计值;mi表示初步聚类流量的特征,q表示流量特征个数。
优选地,所述的流量判别因子RM(x)和流量特征熵H(x)共同作为DDoS攻击是否发生的检测阀值标准,为DDoS发生的最低门限值。
本发明与现有技术相比具有以下优点:
融合了传统聚类算法K-means与智能蜂群算法,改进了传统聚类算法K-means过度依赖原始聚类中心的缺陷。使用流量特征熵和广义似然比较的判别因子共同作为DDoS攻击检测的指标,进一步提高了DDoS攻击检测的准确性并降低了DDoS检测的误报率。
附图说明
图1为本发明一种基于智能蜂群算法的DDoS攻击检测方法的流程图。
具体实施方式
以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。
如图1所示,本发明一种基于智能蜂群算法的DDoS攻击检测方法,该方法在类内紧密度、类间分离度、聚类准确率、算法耗时和DDoS检测准确率方面明显提高了性能效果。该检测方法包含以下过程:
步骤S1、融合聚类算法K-means和DFSABC_elite,利用DFSABC_elite具有跳出局部最优的优点来改进聚类算法K-means对原始聚类中心过度依赖的缺陷。
步骤S2、根据聚类结果将正常流量数据流和异常流量数据流分别聚类,各自划为一类。
步骤S3、获取异常流量数据流IP地址,并计算异常流量数据流IP地址的特征熵H(x)和初步聚类流量的判别因子RM(x)。
步骤S4、比较异常流量数据流IP地址的特征熵H(x)和初步聚类流量判别因子RM(x)的大小,若H(x)≥RM(x),则表明发生了DDoS攻击,反之,则表示未发生DDoS攻击,该异常流量数据流是其他异常数据流量。
步骤S5、根据比较结果,系统分别对DDoS攻击数据流和其他异常数据流发出预警信息。
本实例中,上述的方法是通过一种基于智能蜂群算法的DDoS攻击检测系统来实现,该系统设有一个或多个处理器,存储器,一个或多个程序,所述一个或多个程序被存储在所述存储器中并配置成由所述一个或多个处理器执行以完成以下步骤:建立所述智能蜂群算法模型,所述DFSABC_elite是基于深度优先搜索DFS(Depth-first search)框架的蜂群算法并结合了两个新公式形成的智能蜂群算法,DFS框架应用于人工蜂群算法(Artifical Bee Colony,ABC)。
所述的蜂群算法中,人工蜂群包括引领蜂、跟随蜂和侦查蜂3类.假设在D维空间中,种群规模为2×N(引领蜂个数=跟随蜂个数=N),蜜源与引领蜂一一对应,即蜜源数目为N,第i个蜜源的位置记X={X1,X2,X3,…,XN}。每个蜜源的位置代表优化问题的一个候选解,花蜜的数量反映解的质量。人工蜂群搜索最优蜜源的过程如下:
步骤S1.1、引领蜂对当前蜜源进行邻域搜索,产生新蜜源,贪婪选择较优蜜源.
步骤S1.2、跟随蜂根据引领蜂分享的信息选择一个蜜源,进行邻域搜索,贪婪选择较优蜜源。
步骤S1.3、引领蜂放弃蜜源,转变成侦查蜂,并随机搜索新的蜜源搜索过程中,跟随蜂根据引领蜂分享的信息,以轮盘赌的方式按公式(1)选择一个蜜源:
其中,pi表示第i个解的适应度,fit是食物源适应度,按照公式(2)计算:
引领蜂根据记忆里食物源的位置进行邻居搜索,当找到了更好的食物源时会评估其适应度,引领蜂根据公式(3)进行搜索:
vij=Xij+Rij(Xij-Xhj) (3)
其中i∈{1,2,...,N},j∈{1,2,...m},Xhj中的h是随机选取的,Rij是[-1,1]之间的一个随机数,Vij表示邻居食物源、Xij表示当前食物源,Xhj表示随机选取的食物源。每个解都会经历数次迭代,如果没有改善则会被舍弃。
如果某个解i经过数次迭代没有成功更新,按照公式(4)初始化:
Xi=Xmin+rand(0,1)(Xmax-Xmin) (4)
式中,Xmax、Xmin分别表示定义域的上边界和下边界。
所述的智能蜂群算法是针对蜂群算法在勘探方面较好,在开发方面仍然存在不足的缺陷而提出的新型算法,为了更好地平衡勘探和开发将DFS框架应用于ABC。DFS框架在大多数情况下可以加快收敛速度。为了更好的平衡ABC的勘探与开采能力,我们借鉴了两个新颖的侯选解计算公式从而形成了新的算法称为智能蜂群算法。
两个侯选解的新公式如下:
式中,是从精英解决方案中随机选择的,是从当前的所有解决方案中随机选择的,和是不同的,是当前最优的解决方案,φi,j和φe,j是[-1,1]中的两个随机实数,Xe是精英解,Xk随机选择的个体,Xbest是全局最优解。式(5)包含了精英解Xe的信息,可以应用于每个蜜蜂阶段,式(6)不仅利用精英解的信息,而且采用当前最好的解Xbest运用于跟随蜂阶段。
其中,聚类算法K-means采用如下计算公式:
其中,tr(B)表示类间分离度指标表示为类间离差矩阵B的迹,tr(W)表示类内紧密度表示为类内离差矩阵W的迹,计算公式分别如下所示:
式中,Zi是第i个类的类中心,z为所有样本的中心,ni为第i个类的样本数,k为聚类数,n为样本总数。对于聚类问题,类间分离度越大,类内聚合度越小,则CH(k)的值就会越大,说明这样的划分越好。
考虑到聚类过程,聚类过程:在每次迭代中,利用DFSABC_elite对聚类中心进行优化,然后再重新计算聚类中心,两种算法交替进行,一直到聚类结束。聚类算法K-means计算聚类中心E的计算公式如下:
其中,p为数据集中的一个对象,Ci为一个簇,mi为Ci的中心,即Ci中所有对象的均值。
聚类算法K-means计算过程如下:
步骤S2.1、初始化数据集和相关参数,设定参数N、聚类数k、控制参数limit以及最大迭代次数MCN。
步骤S2.2、根据样本数据集和聚类数k来确定食物源向量维数,初始化蜂群产生N个食物源,其中d为样本维数。根据公式(2)计算食物源适应度的值。
步骤S2.3、为食物源分配一个引领蜂并根据贪婪原则进行选择食物源,根据公式(3)进行搜索并产生一个新食物源。
步骤S2.4、根据食物源适应度,由公式(1)计算选择各个食物源的概率。跟随蜂再次利用公式(5)进行邻域搜索若发现适应度更高的食物源则替换原引领蜂的旧食物源并转变成引领蜂。
步骤S2.5、若连续有限次迭代后,其适应度未得到进化则对应的引领蜂转变成侦查蜂并根据公式(6)更新食物源。
步骤S2.6、对表示聚类中心的食物源进行一次K-means迭代,按最近邻原则聚类划分,再重新计算每一个聚类的聚类中心,并根据贪婪原则更新蜂群。
步骤S2.7、记录当前找到的最优食物源,若当前迭代次数小于MCN转向(3)进行下一次迭代,否则输出最优解作为聚类结果。
所述的DDoS攻击检测流程中,步骤S3与S4进一步包含以下过程:
步骤S3.1、获取网络流量IP数据包。
步骤S3.2、统计IP地址并计算IP地址特征熵。其中,流量IP地址特征熵的计算公式为:
式中,表示报文总数,lb表示log2。H(X)的取值范围为(0,log2N),分布越分散则H(X)越大。分布最为集中时表示X只有一个取值,此时H(X)取最小值0;分布最为分散时,即n1=n2=…=nN时,H(X)取最大值log2N。
步骤S3.3、计算初步聚类后流量的广义似然比较判别因子。初步聚类流量的判别因子计算公式为:
式中,网络流量数据的均值μz和协方差矩阵的最大似然估计值Cz的计算公式分别如下:
式中,mi表示初步聚类流量的特征,q表示流量特征个数。
步骤S4.1、设置阀值比较特征熵和判别因子判断是否发生DDoS攻击。
执行步骤S5发出流量异常预警。
本发明中,为检测基于改进的智能蜂群算法的DDoS攻击检测模型的性能,在实验中搭建了实验平台,目标主机为Linux操作系统,利用实验室服务器上搭建的云平台,部署4台虚拟机组成一个小型Spark集群。在平台集群上对获取的网络流量数据进行分析并作为训练样本,生成流量检测模型和基于智能蜂群算法的检测模型。经过实验结果统计得到本文提出的检测方法和其他DDoS攻击检测方法的检测的耗时和准确率比较结果如下表1所示:
表1为各种检测方法对比表
从表1显示了检测结果可以看出,本发明所提出的DDoS检测方法准确率最高,检测准确率高达99%以上,基于改进的ABC算法的DDoS检测方法准确率则要低一些,而基于K-means算法的DDoS检测方法最差。总体而言,本发明在功能和性能上都优于其他两种方案。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (7)
1.一种基于智能蜂群算法的DDoS攻击检测方法,其特征在于,包含以下过程:
步骤S1、融合聚类算法K-means和智能蜂群算法,利用智能蜂群算法对聚类算法K-means对原始聚类中心的依赖特性进行改进;
步骤S2、根据聚类结果将正常流量数据流和异常流量数据流分别聚类;
步骤S3、获取异常流量数据流IP地址,并计算异常流量数据流IP地址的特征熵H(x)和初步聚类流量的判别因子RM(x);
步骤S4、比较异常流量数据流IP地址的特征熵H(x)和初步聚类流量判别因子RM(x)的大小,若H(x)≥RM(x),则表明发生了DDoS攻击,反之,则表示未发生DDoS攻击,该异常流量数据流是其他异常数据流量;
步骤S5、根据比较结果,系统分别对DDoS攻击数据流和/或其他异常数据流发出预警信息。
2.如权利要求1所述的基于智能蜂群算法的DDoS攻击检测方法,其特征在于,所述智能蜂群算法是基于深度优先搜索框架的蜂群算法结合以下算式形成的:
<mrow>
<msubsup>
<mi>V</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
<mi>G</mi>
</msubsup>
<mo>=</mo>
<msubsup>
<mi>X</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
<mi>G</mi>
</msubsup>
<mo>+</mo>
<msub>
<mi>&phi;</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msubsup>
<mi>X</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
<mi>G</mi>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>X</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
<mi>G</mi>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msubsup>
<mi>V</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
<mi>G</mi>
</msubsup>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
<mrow>
<mo>(</mo>
<msubsup>
<mi>X</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
<mi>G</mi>
</msubsup>
<mo>+</mo>
<msubsup>
<mi>X</mi>
<mrow>
<mi>b</mi>
<mi>e</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
<mi>G</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>&phi;</mi>
<mrow>
<mi>e</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msubsup>
<mi>X</mi>
<mrow>
<mi>b</mi>
<mi>e</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
<mi>G</mi>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>X</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
<mi>G</mi>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
式中,是从精英解决方案中随机选择的,是从当前的所有解决方案中随机选择的,和是不同的,是当前最优的解决方案,φi,j和φe,j是[-1,1]中的两个随机实数,Xe是精英解,Xk随机选择的个体,Xbest是全局最优解。
3.如权利要求2所述的基于智能蜂群算法的DDoS攻击检测方法,其特征在于,所述深度优先搜索框架的蜂群算法包含以下过程:
在所述蜂群算法中,人工蜂群分为引领蜂、跟随蜂和侦查蜂,假设在D维空间中,种群规模为2×N,引领蜂个数=跟随蜂个数=N,蜜源与引领蜂相对应,蜜源数目也为N,第i个蜜源的位置记X={X1,X2,X3,…,XN};每个蜜源的位置代表优化问题的一个候选解,花蜜的数量反映解的质量;人工蜂群搜索最优蜜源的过程如下:
步骤S1.1、引领蜂对当前蜜源进行邻域搜索,产生新蜜源,根据贪婪原则选择较优蜜源;
步骤S1.2、跟随蜂根据引领蜂分享的信息选择一个蜜源,进行邻域搜索,根据贪婪原则选择较优蜜源;
步骤S1.3、引领蜂放弃蜜源,转变成侦查蜂,并随机搜索新的蜜源;搜索过程中,跟随蜂根据引领蜂分享的信息,以轮盘赌的方式根据以下算式选择一个蜜源
<mrow>
<msub>
<mi>p</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>fit</mi>
<mi>i</mi>
</msub>
</mrow>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<msub>
<mi>fit</mi>
<mi>i</mi>
</msub>
</mrow>
</mfrac>
</mrow>
式中,pi表示第i个解的适应度,fit是食物源适应度,fi表示待解决问题的目标函数值;
引领蜂根据记忆里食物源的位置进行邻居搜索,当找到了更好的食物源时会评估其适应度,引领蜂根据以下算式进行搜索:
vij=Xij+Rij(Xij-Xhj)
式中,i∈{1,2,...,N},j∈{1,2,...m},Xhj中的h是随机选取的,Rij是[-1,1]之间的一个随机数,Vij表示邻居食物源、Xij表示当前食物源、Xhj表示随机选取的食物源,每个解经历数次迭代,如果没有改善则舍弃该解;如果某个解i经过数次迭代没有成功更新,按照以下算式进行初始化:
Xi=Xmin+rand(0,1)(Xmax-Xmin)
式中,Xmax、Xmin分别表示定义域的上边界和下边界。
4.如权利要求3所述的基于智能蜂群算法的DDoS攻击检测方法,其特征在于,所述聚类算法K-means采用如下公式进行计算:
<mrow>
<mi>C</mi>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mi>t</mi>
<mi>r</mi>
<mrow>
<mo>(</mo>
<mi>B</mi>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>t</mi>
<mi>r</mi>
<mrow>
<mo>(</mo>
<mi>W</mi>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>-</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
</mrow>
<mrow>
<mi>t</mi>
<mi>r</mi>
<mrow>
<mo>(</mo>
<mi>B</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>k</mi>
</munderover>
<msub>
<mi>n</mi>
<mi>i</mi>
</msub>
<msup>
<mi>d</mi>
<mn>2</mn>
</msup>
<mrow>
<mo>(</mo>
<msub>
<mi>z</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<mi>z</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>t</mi>
<mi>r</mi>
<mrow>
<mo>(</mo>
<mi>W</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>k</mi>
</munderover>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>s</mi>
<mo>&Element;</mo>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
</mrow>
</munder>
<msup>
<mi>d</mi>
<mn>2</mn>
</msup>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mo>,</mo>
<msub>
<mi>z</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
式中,tr(B)是类间分离度指标,表示为类间离差矩阵B的迹;tr(W)是类内紧密度,表示为类内离差矩阵W的迹;Zi是第i个类的中心,z为所有样本的中心,ni为第i个类的样本数,k为聚类数,n为样本总数;对于聚类问题,类间分离度越大,类内聚合度越小,则CH(k)的值就会越大,说明这样的划分越好。
5.如权利要求4所述的基于智能蜂群算法的DDoS攻击检测方法,其特征在于,
在每次迭代过程中,利用智能蜂群算法对聚类中心进行优化,然后再重新计算聚类中心,两种算法交替进行,直到聚类结束;聚类算法K-means通过以下算式计算聚类中心E
<mrow>
<mi>E</mi>
<mo>=</mo>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>k</mi>
</msubsup>
<msub>
<mi>&Sigma;</mi>
<mrow>
<mi>p</mi>
<mo>&Element;</mo>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
</mrow>
</msub>
<mo>|</mo>
<mi>p</mi>
<mo>-</mo>
<msub>
<mi>m</mi>
<mi>i</mi>
</msub>
<msup>
<mo>|</mo>
<mn>2</mn>
</msup>
</mrow>
式中,p为数据集中的一个对象,Ci为一个簇,mi为Ci的中心,即Ci中所有对象的均值;
所述步骤S2包含以下过程:
步骤S2.1、初始化数据集和相关参数,设定参数N、聚类数k、控制参数极限以及最大迭代次数MCN;
步骤S2.2、根据样本数据集和聚类数k确定食物源向量维数,初始化蜂群产生N个食物源,其中d为样本维数,计算食物源适应度的值;
步骤S2.3、为食物源分配一个引领蜂并根据贪婪原则进行选择食物源,搜索并产生一个新食物源;
步骤S2.4、根据食物源适应度,计算选择各个食物源的概率;跟随蜂再次进行邻域搜索若发现适应度更高的食物源则替换原引领蜂的旧食物源并转变成引领蜂;
步骤S2.5、若连续有限次迭代后,其适应度未得到进化则对应的引领蜂转变成侦查蜂并更新食物源;
步骤S2.6、对表示聚类中心的食物源进行一次聚类算法K-means迭代,按最近邻原则聚类划分,再重新计算每一个聚类的聚类中心,并根据贪婪原则更新蜂群;
步骤S2.7、记录当前找到的最优食物源,若当前迭代次数小于MCN转向步骤S2.3进行下一次迭代,否则输出最优解作为聚类结果。
6.如权利要求1所述的基于智能蜂群算法的DDoS攻击检测方法,其特征在于,所述步骤S3包含以下过程:
S3.1、获取网络流量IP数据包;
S3.2、统计网络流量IP数据包并根据以下算式计算IP地址特征熵H(X);
<mrow>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>X</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mo>-</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mfrac>
<msub>
<mi>n</mi>
<mi>i</mi>
</msub>
<mi>S</mi>
</mfrac>
<mi>l</mi>
<mi>b</mi>
<mrow>
<mo>(</mo>
<mfrac>
<msub>
<mi>n</mi>
<mi>i</mi>
</msub>
<mi>S</mi>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
式中,表示报文总数,lb表示log2;H(X)的取值范围为(0,log2N),分布越分散则H(X)越大;分布最为集中时表示X只有一个取值,此时H(X)取最小值0;分布最为分散时,即n1=n2=…=nN时,H(X)取最大值log2N;
S3.3、根据以下算式计算初步聚类后流量的广义似然比较判别因子
<mrow>
<mi>R</mi>
<mi>M</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msup>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>-</mo>
<msub>
<mi>&mu;</mi>
<mi>z</mi>
</msub>
<mo>)</mo>
</mrow>
<mi>T</mi>
</msup>
<msubsup>
<mi>C</mi>
<mi>z</mi>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>-</mo>
<msub>
<mi>&mu;</mi>
<mi>z</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>&mu;</mi>
<mi>z</mi>
</msub>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mi>q</mi>
</mfrac>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<msub>
<mi>m</mi>
<mi>i</mi>
</msub>
</mrow>
<mrow>
<msub>
<mi>C</mi>
<mi>z</mi>
</msub>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mi>q</mi>
</mfrac>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<mrow>
<mo>(</mo>
<msub>
<mi>m</mi>
<mi>i</mi>
</msub>
<mo>-</mo>
<msub>
<mi>&mu;</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>m</mi>
<mi>i</mi>
</msub>
<mo>-</mo>
<msub>
<mi>&mu;</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mi>T</mi>
</msup>
</mrow>
式中,μz为网络流量数据的均值,Cz为协方差矩阵的最大似然估计值;mi表示初步聚类流量的特征,q表示流量特征个数。
7.如权利要求1所述的基于智能蜂群算法的DDoS攻击检测方法,其特征在于,所述的流量判别因子RM(x)和流量特征熵H(x)共同作为DDoS攻击是否发生的检测阀值标准,为DDoS发生的最低门限值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711462728.6A CN108092989B (zh) | 2017-12-28 | 2017-12-28 | 一种基于智能蜂群算法的DDoS攻击检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711462728.6A CN108092989B (zh) | 2017-12-28 | 2017-12-28 | 一种基于智能蜂群算法的DDoS攻击检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108092989A true CN108092989A (zh) | 2018-05-29 |
CN108092989B CN108092989B (zh) | 2020-11-06 |
Family
ID=62180922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711462728.6A Active CN108092989B (zh) | 2017-12-28 | 2017-12-28 | 一种基于智能蜂群算法的DDoS攻击检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108092989B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109120610A (zh) * | 2018-08-03 | 2019-01-01 | 上海海事大学 | 一种融合改进智能蜂群算法和bp神经网络的入侵检测方法 |
CN109274651A (zh) * | 2018-08-30 | 2019-01-25 | 上海海事大学 | 一种DDoS攻击检测方法 |
CN109583478A (zh) * | 2018-11-06 | 2019-04-05 | 北京交通大学 | 一种智能蜂群聚类方法及车辆目标检测方法 |
CN109709981A (zh) * | 2018-12-27 | 2019-05-03 | 西安工业大学 | 一种无人机群竞技对抗方法 |
CN114793174A (zh) * | 2022-04-21 | 2022-07-26 | 浪潮云信息技术股份公司 | 基于改进人工蜂群算法的ddos入侵检测方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104616656A (zh) * | 2014-12-25 | 2015-05-13 | 西安建筑科技大学 | 一种基于改进abc算法的朱鹮鸣声码书设计方法 |
CN104778477A (zh) * | 2015-04-10 | 2015-07-15 | 中国石油大学(华东) | 一种优化的人工蜂群聚类方法 |
CN107465664A (zh) * | 2017-07-07 | 2017-12-12 | 桂林电子科技大学 | 基于并行多人工蜂群算法和支持向量机的入侵检测方法 |
-
2017
- 2017-12-28 CN CN201711462728.6A patent/CN108092989B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104616656A (zh) * | 2014-12-25 | 2015-05-13 | 西安建筑科技大学 | 一种基于改进abc算法的朱鹮鸣声码书设计方法 |
CN104778477A (zh) * | 2015-04-10 | 2015-07-15 | 中国石油大学(华东) | 一种优化的人工蜂群聚类方法 |
CN107465664A (zh) * | 2017-07-07 | 2017-12-12 | 桂林电子科技大学 | 基于并行多人工蜂群算法和支持向量机的入侵检测方法 |
Non-Patent Citations (3)
Title |
---|
TAO PENG等: ""Proactively detecting distributed denial of service attacks using source ip address monitoring"", 《INTERNATIONAL CONFERENCE ON RESEARCH IN NETWORKING》 * |
张瑞琴: ""基于信息熵聚类的异常检测方法研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
曹永春等: ""基于K_means的改进人工蜂群聚类算法"", 《计算机应用》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109120610A (zh) * | 2018-08-03 | 2019-01-01 | 上海海事大学 | 一种融合改进智能蜂群算法和bp神经网络的入侵检测方法 |
CN109274651A (zh) * | 2018-08-30 | 2019-01-25 | 上海海事大学 | 一种DDoS攻击检测方法 |
CN109583478A (zh) * | 2018-11-06 | 2019-04-05 | 北京交通大学 | 一种智能蜂群聚类方法及车辆目标检测方法 |
CN109709981A (zh) * | 2018-12-27 | 2019-05-03 | 西安工业大学 | 一种无人机群竞技对抗方法 |
CN109709981B (zh) * | 2018-12-27 | 2022-01-14 | 西安工业大学 | 一种无人机群竞技对抗方法 |
CN114793174A (zh) * | 2022-04-21 | 2022-07-26 | 浪潮云信息技术股份公司 | 基于改进人工蜂群算法的ddos入侵检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108092989B (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108092989A (zh) | 一种基于智能蜂群算法的DDoS攻击检测方法 | |
Khan et al. | A new intrusion detection system using support vector machines and hierarchical clustering | |
Kayacik et al. | Selecting features for intrusion detection: A feature relevance analysis on KDD 99 intrusion detection datasets | |
CN107666490B (zh) | 一种可疑域名检测方法及装置 | |
CN110191103B (zh) | 一种dga域名检测分类方法 | |
CN106817248B (zh) | 一种apt攻击检测方法 | |
CN112910929B (zh) | 基于异质图表示学习的恶意域名检测方法及装置 | |
CN111107102A (zh) | 基于大数据实时网络流量异常检测方法 | |
CN109951444A (zh) | 一种加密匿名网络流量识别方法 | |
CN111131260A (zh) | 一种海量网络恶意域名识别和分类方法及系统 | |
CN113420802B (zh) | 基于改进谱聚类的报警数据融合方法 | |
Krishnaveni et al. | Ensemble approach for network threat detection and classification on cloud computing | |
Yue et al. | Detecting DoS attacks based on multi-features in SDN | |
Islam et al. | Network anomaly detection using lightgbm: A gradient boosting classifier | |
CN113705604A (zh) | 僵尸网络流量分类检测方法、装置、电子设备及存储介质 | |
Xu et al. | [Retracted] DDoS Detection Using a Cloud‐Edge Collaboration Method Based on Entropy‐Measuring SOM and KD‐Tree in SDN | |
Khoshgoftaar et al. | Intrusion detection in wireless networks using clustering techniques with expert analysis | |
Yu et al. | Design of DDoS attack detection system based on intelligent bee colony algorithm | |
Qin et al. | MUCM: multilevel user cluster mining based on behavior profiles for network monitoring | |
Atli et al. | Network intrusion detection using flow statistics | |
CN116527307A (zh) | 一种基于社区发现的僵尸网络检测算法 | |
CN113132291B (zh) | 一种边缘侧基于网络流量的异构终端特征生成及识别方法 | |
Leevy et al. | Feature evaluation for IoT botnet traffic classification | |
Long et al. | Botnet Detection Based on Flow Summary and Graph Sampling with Machine Learning | |
CN113132414A (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 |