CN113630420A - 一种基于SDN的DDoS攻击检测方法 - Google Patents
一种基于SDN的DDoS攻击检测方法 Download PDFInfo
- Publication number
- CN113630420A CN113630420A CN202110940617.1A CN202110940617A CN113630420A CN 113630420 A CN113630420 A CN 113630420A CN 202110940617 A CN202110940617 A CN 202110940617A CN 113630420 A CN113630420 A CN 113630420A
- Authority
- CN
- China
- Prior art keywords
- flow
- sdn
- queue
- controller
- conditional entropy
- 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.)
- Withdrawn
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 60
- 238000007637 random forest analysis Methods 0.000 claims abstract description 17
- 238000013145 classification model Methods 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims abstract description 7
- 230000014509 gene expression Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 7
- 239000013598 vector Substances 0.000 claims description 7
- 230000003321 amplification Effects 0.000 claims description 6
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 6
- 238000007477 logistic regression Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 238000010801 machine learning Methods 0.000 abstract description 3
- 230000001960 triggered effect Effects 0.000 abstract 1
- 238000003066 decision tree Methods 0.000 description 4
- 238000012706 support-vector machine Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于SDN的DDoS攻击检测方法,属于软件定义网络领域。本发明使用队列论及条件熵作为SDN环境中到达流的粗粒度检测模块,使用机器学习作为细粒度检测模块,准确的从合法包中检测出恶意流量,保护控制器免受攻击的同时,减少网络中服务器被攻击的可能。粗粒度检测由两个并行的检测模块构成,多维条件熵检测模块与控制器入口队列长度检测模块,任何一个模块检测结果超过阈值则触发细粒度检测,细粒度检测模块基于OpenFlow协议向交换机收集流表项及计数器信息进行统计处理,使用已训练好并置入控制器内的随机森林(RF)分类模型对流量进行最终的判决,进而对攻击流量进行有效检测,防止控制器受到破坏。
Description
技术领域
本发明涉及一种基于SDN的DDoS攻击检测方法,属于软件定义网络领域。
背景技术
软件定义网络(Software-Defined Networking,SDN),是一种逻辑集中控制 的新网络架构,SDN将网络的控制平面和数据平面解耦分离,抽象了数据平面网 络资源,并支持通过统一的接口对网络直接进行编程控制,SDN通过对流表的控 制与下发来管理整个网络的流向。在SDN环境下,一切都由控制器进行管理,根 据OpenFlow协议,一个新的报文来到交换机时,交换机中的转发表没有匹配的 路由规则,交换机会利用Packet_In数据帧将其封装并发送至控制器,请求新的 路由规则。控制器收到消息之后提供相应的应答策略,通过Packet_Out消息将 指示发送给对应的交换机,交换机根据接收到的规则处理报文。
尽管SDN拥有许多其他网络架构无法比拟的优势,但其存在的安全隐患依旧 令人担忧。分布式拒绝服务攻击(DDoS)是互联网上一个日益严重的问题。攻击 者以一些服务器(受害者)为目标,使用大量的虚假请求与这些服务器进行通讯, 通过增加该服务器的计算负载和占用内存资源,使合法用户的访问不可用的同时 也加剧SDN中的控制器的负担,最终达到破坏目标服务器与SDN控制中枢的目的。 由于互联网的高速发展,可接入终端的快速增长,攻击者可控制的僵尸网络大量 增加,分布式拒绝攻击(DDoS)比以往任何时候都更加常见和激进。在发生DDoS 攻击时,控制器将接受到大量的Packet_In消息,控制器将花费大量的资源处理 这些消息,交换机与控制器之间的带宽可能会被激增的流量占满,大幅度降低网 络性能,合法请求将不被回应。目前大部分针对DDoS攻击的检测方法都是基于 传统的网络架构,无法很好的适用于SDN,SDN环境下检测DDoS攻击的研究依旧 处于初级阶段,因此,SDN下的DDoS攻击检测模型研究具有广阔的前景
近年来,对SDN中DDoS攻击的检测提出了很多方案都是针对服务器的防护, 很少涉及到对控制器的保护,检测方案大多分为基于统计分析或基于机器学习, 检测准确率往往不如人意,检测机制没有充分发挥SDN网络架构的特点。
发明内容
针对现有技术中的上述不足,本发明在SDN环境OpenFlow策略下,提供一 种粗粒度与细粒度结合的可精准检测DDoS攻击方法。方法采用多维条件熵与 M/M/1队列论体系作为SDN中到达流的初步检测模块,实现对流量的初步预警以 及对控制器的保护,粗粒度检测模块预警后,细粒度检测模块立即向关键交换机 收集流表项及计数器信息进行统计处理,提取多维流量特征组并启用已训练好的 随机森林(RF)分类模型进行识别。在本专利所述检测框架下,经过对k近邻分 类(K-NN)、朴素贝叶斯(NB)、随机森林(RF)、决策树(DT)、支持向量机(SVM) 5种分类模型的测试,随机森林分类模型具有最好的准确率与最低的计算时间, 能最大程度减少对控制器处理资源的占用。
本发明采用的技术方案是:一种基于SDN的DDoS攻击检测方法,包括如下 步骤:
(1)根据公开DDoS数据集计算多维条件熵阈值;
(2)使用M/M/1队列论计算控制器入口队列长度阈值;
(3)通过SDN控制器实时监控SDN状态,实时计算到达流量中各维条件熵;
(4)通过SDN控制器实时监控控制器入口Packet_In数据帧队列长度;
(5)根据实时计算得到的条件熵值与队列长度值判断当前网络是否存在DDoS 攻击,若有,则进入步骤(6),反之则正常下发路由规制至相应交换机;
(6)将Packet_In数据帧送入细粒度检测模块,该模块基于OpenFlow协议向 发送Packet_in数据帧的交换机收集流表项及计数器信息进行统计处理,提取特 征向量,使用已训练好的随机森林分类模型对流量是否有为攻击流量进行判决, 一旦判决为攻击流量,将该流量特征存入攻击流量特征数据库;
(7)当检测到存在DDoS攻击到达一定次数时,计算攻击流量特征数据库多 维条件熵,根据计算结果对相应条件熵阈值进行订正调整。
具体地,所述步骤(1)包括如下步骤:
1.1、根据大量公开DDoS数据集共同特点,选取条件熵特征值H(Sip|Dip)、 H(Sip|Dport)、H(Dport|Dip),H(Sip|Dip)表示源地址关于目的地址的条件 熵,可分辨双方地址之间的随机性大小,H(Sip|Dport)表示源地址关于目的端 口的条件熵,可分辨源地址与目的服务器端口间的随机性大小,H(Dport|Dip) 表示目的端口与目的地址间条件熵,可描述目的端口与目的地址间的随机性大小;
1.2、根据选取的特征值,使用窗口大小W计算该特征值条件熵,分别构建 频率直方图,根据统计结果使用错误拒绝率FRR与错误接受率FAR相等时的值作 为该特征的阈值Ti,其中条件熵计算公式为:
其中A,B为随机变量,H(A|B)表示B给定的条件下A的不确定性,P(a,b)表 示A=a,B=b的联合分布概率,P(b)表示B=b时的概率;
1.3、根据各特征值阈值进一步得到各特征值的权重wi,其表达式为:
其中Ai为每个特征值的接受率,Ai=1-Ei,Ei为该特征选定阈值Ti后的识 别错误率。
具体地,所述步骤(2)包括如下步骤:
2.2、用Lt表示队列长度阈值,其表达式为:
Lt=Lq+kσq
其中Lq表示队列中正在排队的数据帧数量,k为放大系数,σq为队列长度 标准差;
2.3、根据M/M/1队列论公式计算Lq与σq,其表达式分别为:
pn=ρn(1-ρ)=ρnp0
其中n为队列中数据包的数量,pn表示队列长度为n时的***状态概率,p0表示队列为空时的概率;
2.4、联合步骤2.1、2.2、2.3与队列长度超过设定阈值的概率P计算队列 长度阈值Lt,Lt的最终表达式与P的表达式为:
其中s表示队列长度Lq大于阈值Lt的最小整数,使用放大系数k对队列阈值 进行放大,使得超过该阈值的概率P降为小概率事件,最终确定该条件下的阈值 Lt。
具体地,所述步骤(3)包括如下步骤:
3.1、提取并计算送入控制器的Packet_In数据帧中步骤1.1中所提的多维 条件熵;
3.2、使用逻辑回归方法使用步骤1.3中计算得到的各特征值的权重wi, 计算该数据帧多维条件熵最终得分R。
具体地,所述步骤(4)包括如下步骤:
4.1、实时获取控制器入口队列长度;
4.2、将入口队列长度与步骤(2)中所设阈值比较。
具体地,所述步骤(5)包括如下步骤:
5.1、若条件熵检测模块结果R超过所设阈值,或队列长度检测模块结果超 过阈值Lt,则认为网络中发的生了DDoS攻击,设置警告标志Flag=1,同时记录 Flag被设置为1的次数Count,若Flag=0,则通过OpenFlow协议中的Packet_out 数据帧向相应交换机下发路由规则。
具体地,所述步骤(6)中包括以下步骤:
6.1、提取攻击流量中多维流表项向量对随机森林模型训练,将训练好的模 型置入SDN环境中;
6.2、检查Flag警告标志,若Flag=1,则提取Packet_In数据帧中相应交 换机识别号,根据识别号提取该交换机步骤6.1所提流表项多维特征,使用已训 练好的分类模型对流量进行评估,识别是否为攻击流量,若判定为攻击流量,则 将该流量各项特征存入攻击流量数据库,若Flag=0,则正常下发路由表。
具体地,所述步骤(7)中包括以下步骤:
7.1、检查Flag位被设置次数Count;
7.2、Count超过一定次数后使用攻击流量数据库特征对步骤(1)中阈值进 行自适应调整。
本发明的有益效果:
(1)本发明通过两个阶段对攻击进行检测,通过粗粒度检测和细粒度检测两 个阶段对攻击流量全面监控,粗粒度检测模块由条件熵检测模块和队列长度检测 模块实时并行检测,在攻击发生的时候通过设置警告标志触发细粒度检测,细粒 度检测模块使用已训练好的高精度机器学习分类模型对流量进行最终识别,将已 识别的攻击流量特征反馈到粗粒度检测模块,采用自适应算法更新模块阈值,消 除设置静态阈值的不足。
(2)本发明统计计算各个公开DDoS攻击数据集中H(Sip|Dip)、 H(Sip|Dport)、H(Dport|Dip)条件熵阈值,根据数据客观得出检测阈值,能有 效对DDoS攻击进行预警。
(3)本发明使用M/M/1队列论理论对SDN中控制器服务强度进行计算,使用 合理阈值控制控制器入口队列长度,检测攻击的同时保护控制器不受攻击,是的 正常数据包能够获得较好的服务质量,维持网络的正常状态且确保正常数据包的 处理。
(4)本发明使用的随机森林(RF)分类模型是在本发明框架下对k近邻分 类(K-NN)、朴素贝叶斯(NB)、随机森林(RF)、决策树(DT)、支持向量机(SVM) 5种主流分类模型测试后,选择的准确率最高,检测速度最快,对控制器资源占 用最少的分类模型,在粗粒度检测预警后能提供可靠、有效检测效果。
附图说明
图1为本发明的流程示意图;
图2为本发明的检测结构示意图;
图3为本发明的队列长度检测模块结构示意图;
图4为背景技术中攻击的结构示意图。
具体实施方式
下面结合附图和具体实施例,对本发明做进一步的描述。
实施例1:如图1所示,一种基于SDN的DDoS攻击检测方法,包括如下步骤:
(1)根据公开DDoS数据集计算多维条件熵阈值;
(2)使用M/M/1队列论计算控制器入口队列长度阈值;
(3)通过SDN控制器实时监控SDN状态,实时计算到达流量中各维条件熵;
(4)通过SDN控制器实时监控控制器入口Packet_In数据帧队列长度;
(5)根据实时计算得到的条件熵值与队列长度值判断当前网络是否存在 DDoS攻击,若有,则进入步骤(6),反之则正常下发路由规制至相应交换机;
(6)将Packet_In数据帧送入细粒度检测模块,该模块基于OpenFlow协议 向发送Packet_in数据帧的交换机收集流表项及计数器信息进行统计处理,提取 特征向量,使用已训练好的随机森林分类模型对流量是否有为攻击流量进行判决, 一旦判决为攻击流量,将该流量特征存入攻击流量特征数据库,若Flag=0,则 正常下发路由表;
(7)当检测到存在DDoS攻击到达一定次数时,计算攻击流量特征数据库多 维条件熵,根据计算结果对步骤(3)中各特征值权重进行订正,采用自适应算 法调整特征值阈值;
进一步地,本实例中所述步骤(1)包括如下步骤:
1.1、根据大量公开DDoS数据集共同特点,选取条件熵特征值H(Sip|Dip)、 H(Sip|Dport)、H(Dport|Dip),H(Sip|Dip)表示源地址关于目的地址的条件 熵,可分辨双方地址之间的随机性大小,H(Sip|Dport)表示源地址关于目的端 口的条件熵,可分辨源地址与目的服务器端口间的随机性大小,H(Dport|Dip) 表示目的端口与目的地址间条件熵,可描述目的端口与目的地址间的随机性大小;
1.2、根据选取的特征值,使用窗口大小W=200计算该特征值条件熵,对计 算结果进行线性函数归一化,将结果数据等比例缩放至[0,1]范围内,统计结果, 构建频率直方图,根据直方图的分布情况分析DDoS攻击流量与正常流量各特征 的出现频率及分布情况,攻击流量与正常流量的重叠面积越小,错误检测几率越 小。根据统计结果使用错误拒绝率(FRR)与错误接受率(FAR)相等时的值作为 该特征的阈值Ti,其中条件熵计算公式为:
其中A,B为随机变量,H(A|B)表示B给定的条件下A的不确定性,P(a,b)表 示A=a,B=b的联合分布概率,P(b)表示B=b时的概率;
1.3、根据本实例中步骤1.2计算得到的各特征值阈值Ti和识别错误率Ei, 得到每个特征值的接受率Ai(Ai=1-Ei),获得Ai之后,使用wi表达式计算每 个特征值的权重,得到权重以后在步骤3.2中使用逻辑回归方法对3个特征值进 行合并以发挥每个特征值的最高性能:
进一步地,本实例中所述步骤(2)包括如下步骤:
2.1、如图3所示,λi和μc分别表示数据包到达率与控制器服务率,新的数 据包到达时,交换机会将无路由记录的数据包通过Packet_in数据帧发送给控制 器,到达控制器的Packet_in数据帧会在控制器的入口排队,SDN中数据包到达 数服从泊松分布,我们使用M/M/1队列论计算控制器临界服务强度
2.2、用Lt表示队列长度阈值,其表达式为:
Lt=Lq+kσq
其中Lq表示队列中正在排队的数据帧数量,k为放大系数,σq为队列长度 标准差;
2.3、根据M/M/1队列论公式计算Lq与σq,其表达式分别为:
pn=ρn(1-ρ)=ρnp0
其中n为队列中数据包的数量,pn表示队列长度为n时的***状态概率,p0表示队列为空时的概率;
2.4、联合步骤2.1、2.2、2.3与队列长度超过设定阈值的概率P(本实例 中设置为1%)计算队列长度阈值Lt,即队列长度超过阈值Lt的概率为1%,要求 队列长度超过阈值Lt为小概率事件,计算该条件下的阈值Lt,其中Lt的最终表达 式和P的表达式为:
其中s表示队列长度Lq大于阈值Lt的最小整数,使用放大系数k对队列阈值 进行放大,使得超过该阈值的概率降为1%,最终确定该条件下的阈值Lt;
进一步地,本实例所述步骤(3)包括以下步骤:
3.1、提取并计算送入控制器的Packet_In数据帧中H(Sip|Dip)、 H(Sip|Dport)、H(Dport|Dip)多维条件熵,若数据中相应条件熵超过步骤1.2 中所设阈值,则为其分配分数si=1;
3.2、使用逻辑回归方法使用步骤1.3中计算得到的各特征值的权重wi,计 算该数据帧多维条件熵最终得分R,其表达式为:
若任意两个特征值超过阈值Ti,即结果函数R>0.6,则认为是发生了DDoS 攻击;
进一步地,本实例所述步骤(4)中包括以下步骤:
4.1、如图3所示,使用空队列与控制器入口队列Li同步,DDoS攻击发生后, 数据包的到达率λi、流表无匹配概率pnf迅速上升,Packet_in数据帧发送概率pnfλi的大幅提升,入口队列长度Li会迅速增加,;
4.2、实时计算Li长度,若Li超过本实例步骤2.2中所设阈值Lt则认为发生 了DDoS攻击;
进一步地,本实例所述步骤(5)包括以下步骤:
5.1若步骤3.2中R超过所设阈值或步骤4.2中检测结果Li超过阈值Lt,则 认为网络中发的生了DDoS攻击,设置警告标志Flag=1,同时记录Flag被设置为 1的次数Count,若Flag=0,则通过OpenFlow协议中的Packet_out数据帧向相 应交换机下发路由规则;
进一步地,本实例中所述步骤(6)中包括以下步骤:
6.1、提取公开DDoS数据集攻击流量中多维流表项向量对随机森林模型训练, 将训练好的模型置入SDN环境中。
本实例中,提取的流表项向量包括:
其中,n表示收集到流表项总数,i为各条流表项,matches和lookups分别 表示交换机中匹配成功的次数与查找流表项的次数,idle_ti表示每个流表项两次 流之间的平均空闲时间。
6.2、检查Flag警告标志,若Flag=1,则提取Packet_In数据帧中相应交 换机识别号,根据识别号提取该交换机步骤6.1中所提的流表项多维特征,使用 上述置入SDN控制器中的分类模型对流量进行评估,识别是否为攻击流量,若判 定为攻击流量,则将该流量各项特征存入攻击流量数据库;
进一步地,本实例中所示步骤(7)包括如下步骤:
7.1、检查Flag被设置次数Count,一旦Count≥50,计算攻击流量数据库 中攻击流量的H(Sip|Dip)、H(Sip|Dport)、H(Dport|Dip)条件熵并将Count 清0;
7.2、使用步骤7.1中计算得到的结果与步骤1.2中设定的阈值进行比较, 若新阈值较设定阈值更偏向步骤1.2频率直方图中正常流量数值,则更新为新阈 值并对相应特征权重wi更新实现自适应调整;
本实例中,为了贴近SDN在数据中心的真实使用场景,通过如图4所示的胖 树网络拓扑结构,对DDoS攻击进行模拟,h1-h30为合法用户,对服务提供者h1 进行正常访问,h31和h32作为攻击者向h1发起DDoS攻击,使用本发明的检测 框架,获得了较高的准确率,实现了对DDoS攻击的精确检测。
本发明可以部署在支持OpenFlow协议的SDN网络环境中,对SDN环境中DDoS 流量检测的检测控制器是否受到攻击。对于单点控制器而言,当DDoS攻击发生 时,一旦控制器资源耗尽将无法处理正常网络服务,进而导致整个网络瘫痪,造 成巨大影响,因此,随着SDN的发展与推广,此类攻击的检测值得考虑,本发明 可以在通用的SDN控制器上运行,通过SDN控制器对网络全局监控,流量获取等 机制结合本发明中粗粒度与细粒度结合的检测方法即使获取网络异常状态,本发 明可以直接进行控制器相关功能编程,且不限于任何SDN控制器的运行平台以及 编程语言。
本发明通过以上设计解决了在满足OpenFlow策略下,如何精确检测可疑 Packet_In数据帧消息,及时发现网络异常并预警,进而保护网络通讯,使得正 常数据包能够获得较好的服务质量。本发明检测速度快、精度高、结构合理、根 据不同网络拓扑易于调整、具有很强的推广应用价值。
上面结合附图介绍对本发明的具体实例做了详细的阐述,但是本发明并不仅 局限于上述实例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离 本发明宗旨的前提下做出各种变化。
Claims (8)
1.一种基于SDN的DDoS攻击检测方法,其特征在于:包括如下步骤:
(1)根据公开DDoS数据集计算多维条件熵阈值;
(2)使用M/M/1队列论计算控制器入口队列长度阈值;
(3)通过SDN控制器实时监控SDN状态,实时计算到达流量中各维条件熵;
(4)通过SDN控制器实时监控控制器入口Packet_In数据帧队列长度;
(5)根据实时计算得到的条件熵值与队列长度值判断当前网络是否存在DDoS攻击,若有,则进入步骤(6),反之则正常下发路由规制至相应交换机;
(6)将Packet_In数据帧送入细粒度检测模块,该模块基于OpenFlow协议向发送Packet_in数据帧的交换机收集流表项及计数器信息进行统计处理,提取特征向量,使用已训练好的随机森林分类模型对流量是否有为攻击流量进行判决,一旦判决为攻击流量,将该流量特征存入攻击流量特征数据库;
(7)当检测到存在DDoS攻击到达一定次数时,计算攻击流量特征数据库多维条件熵,根据计算结果对相应条件熵阈值进行订正调整。
2.根据权利要求1所述的基于SDN的DDoS攻击检测方法,其特征在于:所述步骤(1)包括如下步骤:
1.1、根据大量公开DDoS数据集共同特点,选取条件熵特征值H(Sip|Dip)、H(Sip|Dport)、H(Dport|Dip),H(Sip|Dip)表示源地址关于目的地址的条件熵,可分辨双方地址之间的随机性大小,H(Sip|Dport)表示源地址关于目的端口的条件熵,可分辨源地址与目的服务器端口间的随机性大小,H(Dport|Dip)表示目的端口与目的地址间条件熵,可描述目的端口与目的地址间的随机性大小;
1.2、根据选取的特征值,使用窗口大小W计算该特征值条件熵,分别构建频率直方图,根据统计结果使用错误拒绝率FRR与错误接受率FAR相等时的值作为该特征的阈值Ti,其中条件熵计算公式为:
其中A,B为随机变量,H(A|B)表示B给定的条件下A的不确定性,P(a,b)表示A=a,B=b的联合分布概率,P(b)表示B=b时的概率;
1.3、根据各特征值阈值进一步得到各特征值的权重wi,其表达式为:
其中Ai为每个特征值的接受率,Ai=1-Ei,Ei为该特征选定阈值Ti后的识别错误率。
3.根据权利要求1所述的基于SDN的DDoS攻击检测方法,其特征在于:所述步骤(2)包括如下步骤:
2.2、用Lt表示队列长度阈值,其表达式为:
Lt=Lq+kσq
其中Lq表示队列中正在排队的数据帧数量,k为放大系数,σq为队列长度标准差;
2.3、根据M/M/1队列论公式计算Lq与σq,其表达式分别为:
pn=ρn(1-ρ)=ρnp0
其中n为队列中数据包的数量,pn表示队列长度为n时的***状态概率,p0表示队列为空时的概率;
2.4、联合步骤2.1、2.2、2.3与队列长度超过设定阈值的概率P计算队列长度阈值Lt,Lt的最终表达式与P的表达式为:
其中s表示队列长度Lq大于阈值Lt的最小整数,使用放大系数k对队列阈值进行放大,使得超过该阈值的概率P降为小概率事件,最终确定该条件下的阈值Lt。
4.根据权利要求3所述的基于SDN的DDoS攻击检测方法,其特征在于:所述步骤(3)包括如下步骤:
3.1、提取并计算送入控制器的Packet_In数据帧中步骤1.1中所提的多维条件熵;
3.2、使用逻辑回归方法使用步骤1.3中计算得到的各特征值的权重wi,计算该数据帧多维条件熵最终得分R。
5.根据权利要求4所述的基于SDN的DDoS攻击检测方法,其特征在于:所述步骤(4)包括如下步骤:
4.1、实时获取控制器入口队列长度;
4.2、将入口队列长度与步骤(2)中所设阈值比较。
6.根据权利要求1所述的基于SDN的DDoS攻击检测方法,其特征在于:所述步骤(5)包括如下步骤:
5.1、若条件熵检测模块结果R超过所设阈值,或队列长度检测模块结果超过阈值Lt,则认为网络中发的生了DDoS攻击,设置警告标志Flag=1,同时记录Flag被设置为1的次数Count,若Flag=0,则通过OpenFlow协议中的Packet_out数据帧向相应交换机下发路由规则。
7.根据权利要求1所述的基于SDN的DDoS攻击检测方法,其特征在于:所述步骤(6)中包括以下步骤:
6.1、提取攻击流量中多维流表项向量对随机森林模型训练,将训练好的模型置入SDN环境中;
6.2、检查Flag警告标志,若Flag=1,则提取Packet_In数据帧中相应交换机识别号,根据识别号提取该交换机步骤6.1所提流表项多维特征,使用已训练好的分类模型对流量进行评估,识别是否为攻击流量,若判定为攻击流量,则将该流量各项特征存入攻击流量数据库,若Flag=0,则正常下发路由表。
8.根据权利要求1所述的基于SDN的DDoS攻击检测方法,其特征在于:所述步骤(7)中包括以下步骤:
7.1、检查Flag位被设置次数Count;
7.2、Count超过一定次数后使用攻击流量数据库特征对步骤(1)中阈值进行自适应调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110940617.1A CN113630420A (zh) | 2021-08-17 | 2021-08-17 | 一种基于SDN的DDoS攻击检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110940617.1A CN113630420A (zh) | 2021-08-17 | 2021-08-17 | 一种基于SDN的DDoS攻击检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113630420A true CN113630420A (zh) | 2021-11-09 |
Family
ID=78385907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110940617.1A Withdrawn CN113630420A (zh) | 2021-08-17 | 2021-08-17 | 一种基于SDN的DDoS攻击检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113630420A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422235A (zh) * | 2022-01-18 | 2022-04-29 | 福州大学 | 基于p4的工业互联网隐蔽攻击防御方法 |
CN115065519A (zh) * | 2022-06-09 | 2022-09-16 | 河北大学 | 分布式边端协同的DDoS攻击实时监测方法 |
-
2021
- 2021-08-17 CN CN202110940617.1A patent/CN113630420A/zh not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422235A (zh) * | 2022-01-18 | 2022-04-29 | 福州大学 | 基于p4的工业互联网隐蔽攻击防御方法 |
CN115065519A (zh) * | 2022-06-09 | 2022-09-16 | 河北大学 | 分布式边端协同的DDoS攻击实时监测方法 |
CN115065519B (zh) * | 2022-06-09 | 2023-08-15 | 河北大学 | 分布式边端协同的DDoS攻击实时监测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109617931B (zh) | 一种SDN控制器的DDoS攻击防御方法及防御*** | |
Robinson et al. | Ranking of machine learning algorithms based on the performance in classifying DDoS attacks | |
CN107483512B (zh) | 基于时间特征的SDN控制器DDoS检测与防御方法 | |
CN108632224B (zh) | 一种apt攻击检测方法和装置 | |
WO2009135396A1 (zh) | 网络攻击处理方法、处理装置及网络分析监控中心 | |
CN108632269B (zh) | 基于c4.5决策树算法的分布式拒绝服务攻击检测方法 | |
CN113630420A (zh) | 一种基于SDN的DDoS攻击检测方法 | |
Yao et al. | Detection and defense of cache pollution attacks using clustering in named data networks | |
CN107770132A (zh) | 一种对算法生成域名进行检测的方法及装置 | |
CN109194608B (zh) | 一种基于流的DDoS攻击与闪拥事件检测方法 | |
CN111262849A (zh) | 一种基于流表信息的网络异常流量行为识别阻断的方法 | |
CN114021135B (zh) | 一种基于R-SAX的LDoS攻击检测与防御方法 | |
CN113114694A (zh) | 一种面向高速网络分组抽样数据采集场景的DDoS攻击检测方法 | |
CN110138759A (zh) | SDN环境下针对Packet-In注入攻击的轻量级自适应检测方法及*** | |
CN113923041A (zh) | 一种SDN网络下DDoS攻击流量识别检测方法 | |
Celesova et al. | Enhancing security of SDN focusing on control plane and data plane | |
CN110289992B (zh) | 一种报文处理方法及装置 | |
CN108667804B (zh) | 一种基于SDN架构的DDoS攻击检测及防护方法和*** | |
CN112953910B (zh) | 基于软件定义网络的DDoS攻击检测方法 | |
CN111885089A (zh) | 基于层次分析法的DNS服务器DDoS攻击防御方法 | |
CN115580490B (zh) | 工业互联网边缘设备行为检测方法、装置、设备及介质 | |
CN111931168B (zh) | 一种基于警报关联的僵尸机检测方法 | |
CN117118738B (zh) | 一种软件定义网络中的DDoS攻击风险量化防御方法及*** | |
US11941626B2 (en) | System and method for associating a cryptocurrency address to a user | |
CN118138374B (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211109 |