CN113949550A - 一种SDN环境下的DDoS攻击检测方法 - Google Patents

一种SDN环境下的DDoS攻击检测方法 Download PDF

Info

Publication number
CN113949550A
CN113949550A CN202111169720.7A CN202111169720A CN113949550A CN 113949550 A CN113949550 A CN 113949550A CN 202111169720 A CN202111169720 A CN 202111169720A CN 113949550 A CN113949550 A CN 113949550A
Authority
CN
China
Prior art keywords
data
port
bytes
packets
normal
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
Application number
CN202111169720.7A
Other languages
English (en)
Other versions
CN113949550B (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.)
Northeastern University China
Original Assignee
Northeastern University China
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 Northeastern University China filed Critical Northeastern University China
Priority to CN202111169720.7A priority Critical patent/CN113949550B/zh
Publication of CN113949550A publication Critical patent/CN113949550A/zh
Application granted granted Critical
Publication of CN113949550B publication Critical patent/CN113949550B/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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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
    • 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
    • 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
    • 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

Landscapes

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

Abstract

本发明属于软件定义网络异常检测算法领域,提供了一种SDN环境下的DDoS攻击检测方法。该方法收集正常SDN环境中流表项和端口的统计信息作为特征训练VAE模型,并且明确了异常阈值的计算方法,有效解决了SDN中基于深度学习的攻击检测算法存在的训练标记难以获得、检测模型过于复杂和异常阈值计算方式不明确的问题。该方法不仅能够准确、快速地检测SDN环境中的DDoS攻击的发生情况,而且还可以降低控制器在训练和检测过程中的资源消耗,对于真实的攻击检测环境具有相当的适用价值。

Description

一种SDN环境下的DDoS攻击检测方法
技术领域
本发明属于软件定义网络异常检测算法领域,具体涉及一种SDN环境下的 DDoS攻击检测方法。
背景技术
软件定义网络(Software Defined Network,SDN)作为一种新型的网络结构,从逻辑上可以划分为应用平面、控制平面和数据平面,不仅实现了控制器策略和转发过程的分离,而且通过应用平面可以便捷地实现不同网络状况下处理策略的部署和切换,有效解决了传统网络中设备难以配置、协议难以更改的问题。控制平面中的控制器作为整个网络的智能中心,不仅可以在数据平面进行转发时获取最优的转发路径,还可以在网络被攻击的情况下进行快速反应,保障网络的通信质量,维护用户的通信体验。
分布式拒绝服务攻击(Distributed Denail of Sevice,DDoS)作为传统网络中最常见的攻击手段之一,在SDN环境中发展出新的攻击手段:控制平面饱和攻击和数据平面饱和攻击。控制器平面饱和攻击中,攻击者控制僵尸网络发送大量新流到SDN中,触发交换机的table-miss规则,从而发送大量Packet-in消息给控制器,造成控制器资源紧张而拒绝服务。数据平面饱和攻击中,攻击者通过僵尸网络发送大量垃圾数据包到SDN中的目标服务器,从而使目标服务器拒绝服务。为了充分发挥SDN网络结构的优势,避免DDoS攻击的威胁,SDN中的DDoS攻击检测算法成为研究的热点课题。
然而,通过对SDN中基于深度学习的DDoS攻击检测算法进行深入调研,发现此类算法中存在如下三个问题:(1)训练数据的真实标签难以获得。SDN 作为新型的网络结构,目前并没有公开的数据集,需要收集SDN环境中的数据作为训练数据,但是收集的每条训练数据其真实标签均需要网络专家进行详细分析,时间周期长,可操作性不强;(2)检测模型过于复杂。不同类型的网络结构具有不同的功能,将不同类型的网络进行叠加,虽然会增强网络的表示能力,使分类结果更加精确,但同时也会导致训练参数的大量增加,为SDN控制器带来巨大的计算压力;(3)异常阈值没有明确的计算方式。大量检测算法没有明确的阈值计算方式,通常通过测试集中数据的检测效果确定,导致检测算法的性能与数据集密切相关,检测算法的可移植性较差。
发明内容
针对上述问题,本发明提供一种利用变分自编码器(Varational AutoEncoder,VAE)算法进行DDoS攻击检测的算法正常阈值变分自编码器(Normal-ThresholdVarational AutoEncoder,NT-VAE)。NT-VAE算法收集正常运行的SDN环境中的相关数据作为训练数据,并且采用单类分类机制,以减少模型对训练数据标签的依赖。其次,NT-VAE算法采用VAE作为基础检测算法,网络结构简单,而且其中间变量,即输入数据的隐变量后验分布参数指示正常数据和DDoS攻击数据的区别,在满足检测需求的同时,降低训练和检测的复杂程度。此外, NT-VAE算法采用所有正常数据相关参数的统计量作为阈值,可以准确表示正常数据的普遍特征,体现正常数据与异常数据的差异,从而精确判断攻击情况的发生。
本发明提供一种SDN环境下的DDoS攻击检测方法,降低了模型训练和检测的代价,提高了检测方法的准确度。首先,NT-VAE算法收集正常运行的SDN 环境中流表项和端口数据以及链路时延数据作为正常数据训练VAE模型,得到 Normal-VAE模型。其次,将正常数据输入到Normal-VAE模型中,计算正常数据隐变量后验分布的近似参数和异常阈值。然后,将测试数据输入到 Normal-VAE模型中,计算每个测试数据隐变量后验分布的均值及均值在正常分布中出现的概率。最后,比较测试数据均值在正常分布中的概率与异常阈值的关系,判断是否存在异常。
本发明的技术方案为:
一种适用于SDN的DDoS攻击检测方法,包括步骤如下:
第一步,获取Normal-VAE模型;
1-1设置VAE网络结构和损失函数
首先,对VAE算法的网络结构进行设置。ei表示Encoder部分的第i层,dj表示Decoder部分的第j层,(wk,bk)表示整个网络第k层的参数。x表示输入数据,z表示隐变量。
Figure BDA0003292428870000031
其次,对VAE算法的损失函数进行说明。因为输入数据的隐变量均为连续变量,所以似然分布选择正态分布,
采用均方误差衡量输入数据与重构数据的误差,VAE算法的损失函数为:
为:
Figure BDA0003292428870000032
其中,x为输入数据;
Figure BDA0003292428870000033
为重构数据;z为隐变量;N(μzz)为后验分布。
1-2获取训练数据
首先,收集正常运行的SDN中流表项数据、端口数据和链路时延数据;对于流表项数据,采用流表项中交换机ID、Matching Field字段中的目的MAC地址和输入端口号、该流表项转发的数据包数量信息和字节数量作为流表项特征,并依次表示为(fe_dp,dst_mac,inport,packets_count,bytes_count);对于端口数据,采用端口信息中交换机ID、端口号、该端口接收的数据包数量和接收的字节数作为端口特征,并依次表示为(p_dp,p_port,rx_packets,rx_bytes);对于链路时延数据,采用交换机ID和该交换机与控制器的通信链路时延作为环境特征,并表示为(evn_dp,delay);
然后,根据流表项统计数据和端口统计数据计算packets_count、bytes_count、rx_packets和rx_bytes的增长速率,以体现以上特征的时间变化趋势;假设SDN 控制器以时间周期t对数据平面的交换机进行流表项和端口统计数据的收集,并定义具有相同标识(fe_dp,dst_mac,inport)的流表项为同一个交换机中的同一流表项,定义具有相同标识(p_dp,p_port)的端口为同一各交换机中的同一端口;
如果同一个交换机中的同一条流表项在第(i-1)个周期得到的转发数据包数量和字节数量分别为pakets_counti-1和bytes_counti-1,在第i个时间周期得到的转发数据包数量和字节数量分别为pakets_counti和bytes_counti,则通过公式(3)计算该流表项在第i个时间周期的转发数据包速率packets_ratei
Figure BDA0003292428870000041
通过公式(4)计算该流表项在第i个时间周期的转发字节速率bytes_ratei
Figure BDA0003292428870000042
通过合并之前的流表项特征,得到完整的流表项特征(fe_dp,dst_mac, inport,packets_count,bytes_count,packets_rate,bytes_rate);
如果同一个交换机中的同一个端口在第(i-1)个周期接收的数据包数量和字节数量分别为rx_packetsi-1和rx_bytesi-1,在第i个时间周期接收的数据包数量和字节数量分别为rx_packetsi和rx_bytesi,则通过公式(5)计算该端口在第i个时间周期接收数据包的速率rx_pratei
Figure BDA0003292428870000043
通过公式(6)计算在第i个时间周期该端口接收字节的速率rx_bratei
Figure BDA0003292428870000044
通过合并之前的端口特征,从而得到完整的端口特征(p_dp,p_port, rx_packets,rx_bytes,rx_prate,rx_brate);
以时间周期t对交换机和控制器的链路时延delay进行收集,得到环境特征 (evn_dp,delay);
最后,将完整的端口特征(p_dp,p_port,rx_packets,rx_bytes,rx_prate, rx_brate)与环境特征(evn_dp,delay)按照交换机ID进行级联,则级联后的特征为 (p_dp,port,rx_packets,rx_bytes,rx_prate,rx_brate,dealy),再将级联后的特征与流表项特征按照交换机ID和端口号进行级联,得到最终特征,即(fe_dp,dst_mac, inport,packets_count,bytes_count,packets_rate,bytes_rate,rx_packets, rx_bytes,rx_prate,rx_brate,delay);
将该最终特征中前3个特征即(fe_dp,dst_mac,inport)分离出来,得到基本特征,便于定位异常数据,并将剩余特征作为VAE模型的检测特征,即 (packets_count,bytes_count,packets_rate,bytes_rate,rx_packets,rx_bytes,rx_prate, rx_brate,delay);
在将检测特征数据进行标准化和归一化处理之后,得到VAE模型的训练数据集X={x(1),x(2),…,x(N)}。
1-3训练VAE模型
利用训练数据集X训练VAE模型,将完成训练的VAE模型定义为 Normal-VAE模型。
第二步,获取正常数据隐变量后验分布的近似参数;
2-1计算每个正常数据隐变量后验分布参数
将训练数据集X中的所有正常数据x(i),1≤i≤N输入到Normal-VAE模型中,计算得到每个正常数据的隐变量后验分布的期望值和方差
Figure BDA0003292428870000051
2-2计算正常数据隐变量后验分布的近似参数
计算正常数据隐变量后验分布的近似参数,具体为计算每个正常数据隐变量后验分布期望
Figure BDA0003292428870000052
的中位数,并以该中位数作为索引排序所有正常数据隐变量后验分布的期望向量,并选择中间位置的向量作为正常数据隐变量后验分布期望的近似
Figure BDA0003292428870000053
计算每个正常数据隐变量后验分布方差
Figure BDA0003292428870000054
的中位数,并排序所有正常数据方差参数的中位数,选择中间位置的方差向量作为正常数据隐变量后验分布方差的近似
Figure BDA0003292428870000055
从而得到正常数据隐变量后验分布的近似参数
Figure BDA0003292428870000061
第三步,获取异常阈值;
计算所有正常数据隐变量后验分布的期望
Figure BDA0003292428870000062
Figure BDA0003292428870000063
中的概率probability(i),1≤i≤N,并计算所有概率的均值作为异常判断的阈值λ;
Figure BDA0003292428870000064
第四步,进行DDoS攻击检测;
4-1获取待检测数据
当SDN的数据平面中n%的交换机出现拥塞时,收集此阶段的流表项特征、端口特征和环境特征,并利用公式(4)至公式(7)依次计算流表项转发数据包速率、流表项转发字节速率、端口接收数据包速率和端口接收字节速率,从而得到完整的流表项特征和端口特征,并按照1-2步骤中的级联和划分方式获得待检测数据的检测特征;将该检测特征数据进行标准化和归一化,从而形成Normal-VAE 模型的测试数据集
Figure BDA0003292428870000065
4-2判断攻击数据
将所有测试数据集
Figure BDA0003292428870000066
依次输入到Normal-VAE模型中,计算得到每个测试数据的隐变量后验分布参数
Figure BDA0003292428870000067
计算每个测试数据隐变量的期望
Figure BDA0003292428870000068
在正常数据隐变量后验分布
Figure BDA0003292428870000069
中的概率
Figure BDA00032924288700000610
如果
Figure BDA00032924288700000611
Figure BDA00032924288700000615
为异常数据,记
Figure BDA00032924288700000613
Figure BDA00032924288700000917
越小,表示该数据的异常程度越高;否则
Figure BDA00032924288700000615
为正常数据,
Figure BDA00032924288700000616
4-3确定攻击源
具体为端口为输入端口的全部流表项均正常,则该端口正常,保留与之相关的所有流表项,并正常执行对应流表项的操作;某端口为输入端口的所有流表项均为异常,说明该端口接收或者转发了攻击流量,则选择以该端口为输入端口的所有流表项中probability最小的流表项作为最异常的流表项,予以删除,从而减少攻击流量对目标主机或者控制器造成的损失。
本发明的有益效果为:能够准确、快速地检测SDN环境中的DDoS攻击的发生情况,同时降低控制器在训练和检测过程中的资源消耗。
附图说明
图1为NT-VAE算法流程图。
图2为实施例的拓扑结构。
具体实施方式
以下结合具体实施例详细阐述本发明的技术方案。
本发明提出一种基于VAE的SDN环境下的DDoS攻击检测方法。在实现过程中,使用Mininet对真实的SDN网络环境进行模拟,使用Ryu和Open vSwitch 分别实现控制器和交换机的功能,使用Scapy工具产生TCP SYN泛洪攻击流量。因此,对NT-VAE算法的具体实施例的介绍分为以下两部分;
(1)特征生成,该部分主要负责生成正常流量和DDoS攻击流量,并收集正常阶段和异常阶段流表项和端口的统计信息作为原始数据,根据NT-VAE算法的需求计算标识特征和检测特征。在对检测进行归一化和标准化之后,得到直接输入到NT-VAE算法的特征数据。
(2)DDoS攻击检测。该部分主要负责对SDN中的流表项和端口数据形成的特征进行分类,判断SDN中是否发生DDoS攻击,并准确检测转发攻击流量的流表项,以及位于DDoS攻击数据转发途径上的端口。
以下从特征生成、数据处理和DDoS攻击检测三方面进行介绍。
1、特征生成
(1)数据生成
本实例使用的网络拓扑结构如图2所示,在该网络拓扑下生成正常数据和 DDoS攻击数据。正常运行的以太网络中的流量主要为TCP流量、UDP流量和 ICMP流量,并且三种类型的数据包比例为94:5:1,本实例使用Socket通信技术生成94%的TCP流量和5%的UDP流量,使用Ping命令生成1%的ICMP流量。此外,在产生每种类型的数据包时采用ON/OFF模型,即发送数据包的时间长度服从形状参数为αON,最小截止参数为βON的重尾分布,停止发送数据包的时间长度服从形状参数为αOFF,最小截止参数为βOFF的重尾分布,发送数据包与停止发送交替进行。本实例中,采用的重尾分布为Pareto分布,参数设置为αON=αOFF=1.5,βON=βOFF=1。
在持续生成正常数据110分钟之后开始进行DDoS攻击。图2中的主机h5 和h15作为攻击者,在产生正常数据的同时对TCP服务器使用虚假源IP地址发动SYN泛洪攻击,攻击流量由Scapy工具产生,攻击持续30分钟。
(2)特征提取
本实例通过Ryu控制器中的EventOFPFlowStateReply事件收集流表项特征,即(fe_dp,dst_mac,inport,packets_count,bytes_count),通过Ryu控制器中的EventOFPPortStateReply事件收集端口特征,即(p_dp,p_port,rx_packets, rx_bytes),通过EventOFPEchoReply事件收集环境特征,即(evn_dp,delay)。
根据步骤1-2获得训练数据的检测特征,根据步骤4-2获得待检测数据的检测特征。
2、数据处理
为了避免数据量纲对VAE模型的训练和检测造成偏差,对检测特征进行归一化和标准化。假设检测特征的第k维特征所有数据的平均值为μk,标准差为σk,则针对每一条数据x使用公式(8)进行Z-Score标准化。
Figure BDA0003292428870000081
假设检测特征的第k维特征最大值为Maxk,最小值为Mink,则针对每一条归一化后的数据xz使用公式(9)进行Max-Min归一化,从而得到最终的VAE模型输入数据xf
Figure BDA0003292428870000082
3、DDoS攻击检测
首先,利用数据集X训练VAE模型,从而获得Normal-VAE模型。
其次,获取正常数据隐变量后验分布的近似参数。
第一步,将训练集合X中的所有正常数据x(i),1≤i≤N输入到Normal-VAE模型中,计算得到每个正常数据的隐变量后验分布的期望和方差
Figure BDA0003292428870000091
第二步,计算每个正常数据隐变量后验分布期望
Figure BDA0003292428870000092
的中位数,并以该中位数作为索引排序所有正常数据隐变量后验分布的期望向量,并选择中间位置的向量作为正常数据隐变量后验分布期望的近似
Figure BDA0003292428870000093
计算每个正常数据隐变量后验分布方差
Figure BDA0003292428870000094
的中位数,并排序所有正常数据方差参数的中位数,选择中间位置的方差向量作为正常数据隐变量后验分布方差的近似
Figure BDA0003292428870000095
从而得到正常数据隐变量后验分布的近似参数
Figure BDA0003292428870000096
然后,获取异常阈值。计算所有正常数据隐变量后验分布的期望
Figure BDA0003292428870000097
Figure BDA0003292428870000098
中的概率probability(i),1≤i≤N,并计算所有概率的均值作为异常判断的阈值λ。
最后,进行DDoS攻击检测。
第一步,将所有测试数据
Figure BDA0003292428870000099
依次输入到Normal-VAE模型中,计算得到每个测试数据的隐变量后验分布参数
Figure BDA00032924288700000910
第二步,计算每个测试数据隐变量的期望
Figure BDA00032924288700000911
在正常数据隐变量后验分布
Figure BDA00032924288700000912
中的概率
Figure BDA00032924288700000913
并根据概率与异常阈值的大小关系确定该测试数据的异常情况。如果
Figure BDA00032924288700000914
Figure BDA00032924288700000915
为异常数据,记
Figure BDA00032924288700000916
Figure BDA00032924288700000917
越小,表示该数据的异常程度越高;否则
Figure BDA00032924288700000918
为正常数据,
Figure BDA00032924288700000919
第三步,根据每条流表项的检测结果进行异常端口和流表项的判断。如果以某端口为输入端口的大部分流表项的标签均为正常,则该端口正常,说明该端口并未在DDoS攻击流量的攻击路径上,并且可以保留所有相关的流表项,并正常执行流表项的功能;如果以某端口为输入端口的流表项均为异常,则该端口极有可能接收或者转发了DDoS攻击流量,所以以该端口为输入端口的流表项中必然存在异常流表项,选择最异常的流表项,即概率最小的流表项,进行删除操作。
为验证NT-VAE算法的检测效果,对以上正常数据和DDoS攻击数据的产生过程进行分析,得到在发生攻击时出现异常的端口和流表项,如表1所示。
表1交换机异常端口和异常流表项
Figure BDA0003292428870000101
NT-VAE算法检测到的S1的异常流表项如表2所示看,inport=eth1、 inport=eth2、inport=eth3、inport=eth5的所有流表均为异常,说明S1的eth1、eth2、 eth3、eth5端口均接收或者转发了攻击流量,产生了流量的激增,从而造成异常。但是通过对比分析得到的异常端口,eth5端口并未处于攻击流量的途径路径,所以实际上并未接收攻击流量,属于误报。在所有inport=eth1的流表项中, inport=1,dst_mac=00:00:00:00:00:01的流表项其概率明显低于inport=1的其他流表项,所以该流表项的异常程度最高,需要移除,被准确检测。在所有 inport=eth2的流表项中,inport=2,dst_mac=00:00:00:00:00:01与上述流表项类似,概率低于inport=2的其他流表项,说明该流表项最为异常,需要移除,被准确检测。在所有inport=eth3的流表项中,inport=3,dst_mac=00:00:00:00:00:03的流表项概率值最低,采取移除措施。但是eth3端口的异常原因是与之连接的TCP 服务器受到攻击,接收和发送的数据包均超过正常阶段,与流表项的匹配无关,所以该流表项属于误报,但是该端口确实存在异常。在所有inport=eth5的流表项中,inport=5,dst_mac=00:00:00:00:00:01的流表项概率值最低,采取移除措施。因为端口eth5异常属于误报,所以被移除的流表项也为误报。
表2 S1中的异常流表项
Figure BDA0003292428870000111
Figure BDA0003292428870000121
Figure BDA0003292428870000131
NT-VAE算法检测到的S2的异常流表项如表3所示,S2中所有inport=eth3 的流表项均为异常,说明经过eth3端口转发的流量或者由eth3端口接收的流量出现异常。而且在所有inport=3的流表项中,inport=3,dst_mac=00:00:00:00:00:01 流表项的概率值最低,为最异常的流表项,会被移除。该端口和流表项均被准确检测。
表3 S2中的异常流表项
Figure BDA0003292428870000132
NT-VAE算法检测到的S3的异常流表项如表4所示,S3中inport=eth1、 inport=eth3的所有流表项均为检测为异常,说明eth1、eth3端口转发了异常流量,即eth1和eth3端口在DDoS攻击流量的途经路径上。在所有inport=1的端口中, inport=1,dst_mac=00:00:00:00:00:0b的流表项的概率明显低于inport=1的其他流表项,说明该流表项最为异常,采取移除措施。但是eth1端口的异常原因在于该端口转发了大量的攻击流量,而非通过流表项的匹配接收了攻击流量,所以不存在异常的流表项,将inport=1,dst_mac=00:00:00:00:00:0b的流表项判断为异常属于误报。在所有inport=eth3的流表项中,inport=3,dst_mac=00:00:00:00:00:01的流表项概率值最低,需要被移除,被准确检测。
表4 S3中的异常流表项
Figure BDA0003292428870000141
Figure BDA0003292428870000151
NT-VAE算法检测到的S4的异常流表项如表5所示。因为S4未在DDoS 攻击流量的途经路径上,所以每个端口均不应出现异常情况,因此S4中的 inport=eth2的所有流表项、inport=3的绝大部分流表项、inport=4的绝大部分流表项均为正常。但是由于S4的eth1端口连接UDP服务器,而UDP服务器需要频繁发送对其他客户机的UDP回复,所以inport=eth1的流表项被划分为异常流表项。而inport=1,dst-mac=00:00:00:00:00:0c的流表项作为概率最小的流表项,会被移除,但是该流表项属于误报。
表5 S4中的异常流表项
Figure BDA0003292428870000152
NT-VAE算法检测到的S5的异常流表项如表6所示,inport=eth4的流表项均为异常,说明eth4端口转发或者接收了攻击流量,检测准确。在所有inport=4 的流表项中,inport=4,dst_mac=00:00:00:00:00:01流表项的概率明显低于 inport=4的其它流表项,说明该流表项最为异常,采取移除措施。
表6 S5中的异常流表项
Figure BDA0003292428870000153
Figure BDA0003292428870000161
通过对以上实验结果的分析,得到NT-VAE算法在较低误报率的情况下,可以对SDN环境中DDoS攻击时的端口、流表项和正常时期的端口、流表项能进行准确区分,说明了NT-VAE算法的可行性和有效性。

Claims (9)

1.一种SDN环境下的DDoS攻击检测方法,其特征在于,包括步骤如下:
第一步,获取Normal-VAE模型;
1-1设置VAE网络结构和损失函数;
1-2获取训练数据;
1-3训练VAE模型;
第二步,获取正常数据隐变量后验分布的近似参数;
2-1计算每个正常数据隐变量后验分布参数;
2-2计算正常数据隐变量后验分布的近似参数;
第三步,获取异常阈值;
计算所有正常数据隐变量后验分布的期望
Figure FDA0003292428860000011
中的概率probability(i),1≤i≤N,并计算所有概率的均值作为异常判断的阈值λ;
Figure FDA0003292428860000012
第四步,进行DDoS攻击检测;
4-1获取待检测数据;
4-2判断攻击数据;
4-3确定攻击源。
2.根据权利要求1所述的一种SDN环境下的DDoS攻击检测方法,其特征在于,所述1-1设置VAE网络结构和损失函数,具体步骤如下:首先,对VAE算法的网络结构进行设置;ei表示Encoder部分的第i层,dj表示Decoder部分的第j层,(wk,bk)表示整个网络第k层的参数;x表示输入数据,z表示隐变量;
Figure FDA0003292428860000013
其次,对VAE算法的损失函数进行说明;因为输入数据的隐变量均为连续变量,所以似然分布选择正态分布;采用均方误差衡量输入数据与重构数据的误差,VAE算法的损失函数为:
Figure FDA0003292428860000021
其中,x为输入数据;
Figure FDA0003292428860000022
为重构数据;z为隐变量;N(μzz)为后验分布。
3.根据权利要求2所述的一种SDN环境下的DDoS攻击检测方法,其特征在于,所述1-2获取训练数据,其具体步骤如下:首先,收集正常运行的SDN中流表项数据、端口数据和链路时延数据;对于流表项数据,采用流表项中交换机ID、Matching Field字段中的目的MAC地址和输入端口号、该流表项转发的数据包数量信息和字节数量作为流表项特征,并依次表示为(fe_dp,dst_mac,inport,packets_count,bytes_count);对于端口数据,采用端口信息中交换机ID、端口号、该端口接收的数据包数量和接收的字节数作为端口特征,并依次表示为(p_dp,p_port,rx_packets,rx_bytes);对于链路时延数据,采用交换机ID和该交换机与控制器的通信链路时延作为环境特征,并表示为(evn_dp,delay);
然后,根据流表项统计数据和端口统计数据计算packets_count、bytes_count、rx_packets和rx_bytes的增长速率,以体现以上特征的时间变化趋势;假设SDN控制器以时间周期t对数据平面的交换机进行流表项和端口统计数据的收集,并定义具有相同标识(fe_dp,dst_mac,inport)的流表项为同一个交换机中的同一流表项,定义具有相同标识(p_dp,p_port)的端口为同一各交换机中的同一端口;
如果同一个交换机中的同一条流表项在第(i-1)个周期得到的转发数据包数量和字节数量分别为pakets_counti-1和bytes_counti-1,在第i个时间周期得到的转发数据包数量和字节数量分别为pakets_counti和bytes_counti,则通过公式(4)计算该流表项在第i个时间周期的转发数据包速率packets_ratei
Figure FDA0003292428860000023
通过公式(5)计算该流表项在第i个时间周期的转发字节速率bytes_ratei
Figure FDA0003292428860000031
通过合并之前的流表项特征,得到完整的流表项特征(fe_dp,dst_mac,inport,packets_count,bytes_count,packets_rate,bytes_rate);
如果同一个交换机中的同一个端口在第(i-1)个周期接收的数据包数量和字节数量分别为rx_packetsi-1和rx_bytesi-1,在第i个时间周期接收的数据包数量和字节数量分别为rx_packetsi和rx_bytesi,则通过公式(6)计算该端口在第i个时间周期接收数据包的速率rx_pratei
Figure FDA0003292428860000032
通过公式(7)计算在第i个时间周期该端口接收字节的速率rx_bratei
Figure FDA0003292428860000033
通过合并之前的端口特征,从而得到完整的端口特征(p_dp,p_port,rx_packets,rx_bytes,rx_prate,rx_brate);
以时间周期t对交换机和控制器的链路时延delay进行收集,得到环境特征(evn_dp,delay);
最后,将完整的端口特征(p_dp,p_port,rx_packets,rx_bytes,rx_prate,rx_brate)与环境特征(evn_dp,delay)按照交换机ID进行级联,则级联后的特征为(p_dp,port,rx_packets,rx_bytes,rx_prate,rx_brate,dealy),再将级联后的特征与流表项特征按照交换机ID和端口号进行级联,得到最终特征,即(fe_dp,dst_mac,inport,packets_count,bytes_count,packets_rate,bytes_rate,rx_packets,rx_bytes,rx_prate,rx_brate,delay);
将该最终特征中前3个特征即(fe_dp,dst_mac,inport)分离出来,得到基本特征,便于定位异常数据,并将剩余特征作为VAE模型的检测特征,即(packets_count,bytes_count,packets_rate,bytes_rate,rx_packets,rx_bytes,rx_prate,rx_brate,delay);
在将检测特征数据进行标准化和归一化处理之后,得到VAE模型的训练数据集X={x(1),x(2),…,x(N)}。
4.根据权利要求3所述的一种SDN环境下的DDoS攻击检测方法,其特征在于,所述1-3训练VAE模型具体为利用训练数据集X训练VAE模型,将完成训练的VAE模型定义为Normal-VAE模型。
5.根据权利要求4所述的一种SDN环境下的DDoS攻击检测方法,其特征在于,所述2-1计算每个正常数据隐变量后验分布参数,具体为将训练数据集X中的所有正常数据x(i),1≤i≤N输入到Normal-VAE模型中,计算得到每个正常数据的隐变量后验分布的期望值和方差
Figure FDA0003292428860000041
6.根据权利要求5所述的一种SDN环境下的DDoS攻击检测方法,其特征在于,所述2-2计算正常数据隐变量后验分布的近似参数,具体为计算每个正常数据隐变量后验分布期望
Figure FDA0003292428860000042
的中位数,并以该中位数作为索引排序所有正常数据隐变量后验分布的期望向量,并选择中间位置的向量作为正常数据隐变量后验分布期望的近似
Figure FDA0003292428860000043
计算每个正常数据隐变量后验分布方差
Figure FDA0003292428860000044
的中位数,并排序所有正常数据方差参数的中位数,选择中间位置的方差向量作为正常数据隐变量后验分布方差的近似
Figure FDA0003292428860000045
从而得到正常数据隐变量后验分布的近似参数
Figure FDA0003292428860000046
7.根据权利要求6所述的一种SDN环境下的DDoS攻击检测方法,其特征在于,所述4-1获取待检测数据,具体为当SDN的数据平面中n%的交换机出现拥塞时,收集此阶段的流表项特征、端口特征和环境特征,并利用公式(4)至公式(7)依次计算流表项转发数据包速率、流表项转发字节速率、端口接收数据包速率和端口接收字节速率,从而得到完整的流表项特征和端口特征,并按照1-2步骤中的级联和划分方式获得待检测数据的检测特征;将该检测特征数据进行标准化和归一化,从而形成Normal-VAE模型的测试数据集
Figure FDA0003292428860000047
8.根据权利要求7所述的一种SDN环境下的DDoS攻击检测方法,其特征在于,所述4-2判断攻击数据,具体为将所有测试数据集
Figure FDA0003292428860000051
依次输入到Normal-VAE模型中,计算得到每个测试数据的隐变量后验分布参数
Figure FDA0003292428860000052
计算每个测试数据隐变量的期望
Figure FDA0003292428860000053
在正常数据隐变量后验分布
Figure FDA0003292428860000054
中的概率
Figure FDA0003292428860000055
如果
Figure FDA0003292428860000056
Figure FDA0003292428860000057
为异常数据,记
Figure FDA0003292428860000058
Figure FDA0003292428860000059
越小,表示该数据的异常程度越高;否则
Figure FDA00032924288600000510
为正常数据,
Figure FDA00032924288600000511
9.根据权利要求8所述的一种SDN环境下的DDoS攻击检测方法,其特征在于,所述4-3确定攻击源,具体为端口为输入端口的全部流表项均正常,则该端口正常,保留与之相关的所有流表项,并正常执行对应流表项的操作;某端口为输入端口的所有流表项均为异常,说明该端口接收或者转发了攻击流量,则选择以该端口为输入端口的所有流表项中probability最小的流表项作为最异常的流表项,予以删除,从而减少攻击流量对目标主机或者控制器造成的损失。
CN202111169720.7A 2021-10-08 2021-10-08 一种SDN环境下的DDoS攻击检测方法 Active CN113949550B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111169720.7A CN113949550B (zh) 2021-10-08 2021-10-08 一种SDN环境下的DDoS攻击检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111169720.7A CN113949550B (zh) 2021-10-08 2021-10-08 一种SDN环境下的DDoS攻击检测方法

Publications (2)

Publication Number Publication Date
CN113949550A true CN113949550A (zh) 2022-01-18
CN113949550B CN113949550B (zh) 2022-09-09

Family

ID=79329939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111169720.7A Active CN113949550B (zh) 2021-10-08 2021-10-08 一种SDN环境下的DDoS攻击检测方法

Country Status (1)

Country Link
CN (1) CN113949550B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114664311A (zh) * 2022-03-01 2022-06-24 浙江大学 一种记忆网络增强的变分推断无声攻击检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105119734A (zh) * 2015-07-15 2015-12-02 中国人民解放军防空兵学院 基于健壮多元概率校准模型的全网络异常检测定位方法
US20170230392A1 (en) * 2016-02-09 2017-08-10 Darktrace Limited Anomaly alert system for cyber threat detection
CN110138759A (zh) * 2019-05-06 2019-08-16 华东师范大学 SDN环境下针对Packet-In注入攻击的轻量级自适应检测方法及系统
CN112381790A (zh) * 2020-11-13 2021-02-19 天津大学 一种基于深度自编码的异常图像检测方法
CN113378168A (zh) * 2021-07-04 2021-09-10 昆明理工大学 一种基于Renyi熵和BiGRU算法实现SDN环境下的DDoS攻击检测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105119734A (zh) * 2015-07-15 2015-12-02 中国人民解放军防空兵学院 基于健壮多元概率校准模型的全网络异常检测定位方法
US20170230392A1 (en) * 2016-02-09 2017-08-10 Darktrace Limited Anomaly alert system for cyber threat detection
CN110138759A (zh) * 2019-05-06 2019-08-16 华东师范大学 SDN环境下针对Packet-In注入攻击的轻量级自适应检测方法及系统
CN112381790A (zh) * 2020-11-13 2021-02-19 天津大学 一种基于深度自编码的异常图像检测方法
CN113378168A (zh) * 2021-07-04 2021-09-10 昆明理工大学 一种基于Renyi熵和BiGRU算法实现SDN环境下的DDoS攻击检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
贾锟等: "SDN环境下的DDoS检测与缓解机制", 《信息安全学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114664311A (zh) * 2022-03-01 2022-06-24 浙江大学 一种记忆网络增强的变分推断无声攻击检测方法

Also Published As

Publication number Publication date
CN113949550B (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
CN109981691B (zh) 一种面向SDN控制器的实时DDoS攻击检测系统与方法
CN108683682B (zh) 一种基于软件定义网络的DDoS攻击检测及防御方法和系统
Da Silva et al. Identification and selection of flow features for accurate traffic classification in SDN
CN108848095B (zh) SDN环境下基于双熵的服务器DDoS攻击检测与防御方法
US20070147246A1 (en) Method and device for configuring a network device
Vijayasarathy et al. A system approach to network modeling for DDoS detection using a Naive Bayesian classifier
CN111740950A (zh) 一种SDN环境DDoS攻击检测防御方法
CN106341418B (zh) Dns分布式反射型拒绝服务攻击检测、防御方法与系统
CN111490975A (zh) 一种基于软件定义网络的分布式拒绝服务DDoS攻击溯源系统和方法
CN106612289A (zh) 一种基于sdn的网络协同异常检测方法
CN109768981B (zh) 一种在sdn架构下基于机器学习的网络攻击防御方法和系统
CN111181971B (zh) 一种自动检测工业网络攻击的系统
CN111294342A (zh) 一种软件定义网络中DDos攻击的检测方法及系统
US20170041242A1 (en) Network system, communication analysis method and analysis apparatus
CN113949550B (zh) 一种SDN环境下的DDoS攻击检测方法
CN113268735B (zh) 分布式拒绝服务攻击检测方法、装置、设备和存储介质
CN113660209B (zh) 一种基于sketch与联邦学习的DDoS攻击检测系统及应用
CN111970211A (zh) 一种基于ipfix的大象流处理方法及装置
CN113923041A (zh) 一种SDN网络下DDoS攻击流量识别检测方法
CN114021135A (zh) 一种基于R-SAX的LDoS攻击检测与防御方法
Gómez et al. Traffic classification in IP networks through Machine Learning techniques in final systems
CN111294328A (zh) 基于信息熵计算对sdn网络主动安全防御的方法
CN113014602B (zh) 一种基于最优通信路径的工业网络防御方法和系统
CN108667804B (zh) 一种基于SDN架构的DDoS攻击检测及防护方法和系统
CN117118738B (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