CN108183917B - 基于软件定义网络的DDoS攻击跨层协同检测方法 - Google Patents

基于软件定义网络的DDoS攻击跨层协同检测方法 Download PDF

Info

Publication number
CN108183917B
CN108183917B CN201810038494.0A CN201810038494A CN108183917B CN 108183917 B CN108183917 B CN 108183917B CN 201810038494 A CN201810038494 A CN 201810038494A CN 108183917 B CN108183917 B CN 108183917B
Authority
CN
China
Prior art keywords
data
ddos attack
interchanger
abnormal flow
packet
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
CN201810038494.0A
Other languages
English (en)
Other versions
CN108183917A (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201810038494.0A priority Critical patent/CN108183917B/zh
Publication of CN108183917A publication Critical patent/CN108183917A/zh
Application granted granted Critical
Publication of CN108183917B publication Critical patent/CN108183917B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • 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
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/144Detection or countermeasures against botnets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/146Tracing the source of attacks

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)

Abstract

本发明公开了基于软件定义网络的DDoS攻击跨层协同检测方法,目的是提高对DDoS攻击的检测效率。技术方案是构建由数据层面和控制层面构成的基于SDN的DDoS攻击跨层协同检测架构,数据层面的SDN交换机上有数据通路、交换机代理、DDoS攻击感知模块、特征提取模块;控制层面的SDN控制器上有控制器代理、事件管理器、DDoS攻击分类模块、僵尸网络溯源模块。数据层面对数据流进行粗粒度检测得到DDoS攻击异常流量数据,控制层面对DDoS攻击异常流量数据进行细粒度检测。本发明通过数据层面与控制层面协同合作,解决了SDN南向接口压力大、SDN控制器负担过大的问题,既能检测出DDoS攻击类型,又能检测出可能接近僵尸网络的交换机集合,提高了DDoS攻击检测的速度和准确度。

Description

基于软件定义网络的DDoS攻击跨层协同检测方法
技术领域
本发明涉及计算机网络安全领域,特别涉及一种基于SDN(Soft ware DefinedNetwork,软件定义网络)的DDoS(Distributed Denial of Service,分布式拒绝服务)攻击跨层协同检测方法。
背景技术
随着计算机网络技术的快速发展,网络攻击破坏行为也日益频繁,计算机网络安全形势日益严峻。其中,DDoS攻击是目前计算机网络中最受关注的安全问题之一。DDoS攻击通常是利用僵尸网络对受害者发送大量的服务请求,造成受害者资源大量消耗,从而无法及时响应合法用户的请求,甚至完全瘫痪。随着网络技术的发展,DDoS攻击流量的也在不断增大,使其越来越难以检测。
SDN(Soft Defined Network)即软件定义网络,是一种新型的网络架构。如图1所示,SDN架构由数据层面和控制层面构成,控制层面通过南向接口数据层面进行通信。数据层面由多个网络设备(SDN交换机、路由器)组成,网络设备负责数据的传输;控制层面包括SDN控制器,控制层面负责对数据层面中网络设备的管理。
网络设备中的SDN交换机上安装有交换机代理,具有数据通路;交换机代理对SDN交换机进行管理,对SDN交换机中的数据通路进行控制,SDN交换机上的硬件计数器对所有经过该交换机数据通路的数据包和比特数进行记录。
SDN控制器上安装有控制器代理、DDOS攻击检测软件;控制器代理对SDN控制器进行管理,SDN控制器向下通过南向接口与数据层面的交换机进行通讯。
随着SDN的发展,越来越多的研究开始着眼于利用SDN从网络全局出发来进行DDoS攻击检测。
目前基于SDN的DDoS攻击检测方法主要是以控制层面为中心,由SDN控制器上的DDoS攻击检测软件完成,主要步骤如下:
1)数据层面的交换机中的交换机代理周期性地不断从数据通路收集报文或各类统计信息,将收集的报文或各类统计信息上传至控制层面的SDN控制器,作为SDN控制器的待检测数据;
2)控制层面从交换机接收待检测数据,由DDoS攻击检测软件对待检测数据进行检测,判断是否受到DDoS攻击,形成检测结果,将检测结果发送给控制器代理;控制器代理将检测结果反馈给数据层面的交换机。
然而,现有的基于SDN的DDOS攻击检测方法存在着如下技术问题:
1)控制层面的SDN控制器需要不断从数据层面的交换机获取待检测数据进行攻击检测,这就导致了SDN南向接口压力和检测延迟的增大;
2)目前基于SDN的DDOS攻击检测以控制层面为核心,数据层面过于简化导致所有检测工作均需在控制平面完成,数据层面与控制层面智能协作的优势未得到很好地应用,导致控制层面的SDN控制器工作负载过重导致拥塞,而数据层面资源则有所浪费。
鉴于此,如何提供一种基于软件定义网络的DDoS攻击跨层协同检测方法,充分利用控制层面与数据层面各自优势进行协同合作,减少SDN南向接口压力和SDN控制器负担过大,有效提高对DDoS攻击检测的效率成为本领域研究人员亟待解决的问题。
发明内容
本发明提出一种基于软件定义网络的DDoS攻击跨层协同检测方法,充分利用控制层面与数据层面各自优势进行协同合作,解决DDoS检测过程导致SDN南向接口压力大、SDN控制器负担过大的问题,有效提高对DDoS攻击的检测效率。
本发明的技术方案是:
第一步,构建基于SDN的DDoS攻击跨层协同检测架构,方法是:
基于SDN的DDoS攻击跨层协同检测架构由数据层面和控制层面构成,控制层面通过南向接口与数据层面进行通信。数据层面由交换机构成,负责数据的传输;控制层面由SDN控制器构成,负责对数据层面中交换机的管理。
SDN交换机上安装有交换机代理,具有数据通路,还安装有DDoS攻击感知模块、特征提取模块。交换机中的硬件计数器对所有经过交换机数据通路的数据包和比特数进行计数。
SDN控制器上安装有控制器代理,还安装有事件管理器、DDoS攻击分类模块、僵尸网络溯源模块。
DDoS攻击感知模块与交换机代理、硬件计数器相连,DDoS攻击感知模块从硬件计数器获取一段时间经过SDN交换机数据通路的数据包和比特数,计算这段时间数据流的包速率和比特率,计算并记录这段时间的数据流量特征(包括数据流流量大小的特征与流量不对称性的特征,称为历史数据流量特征)。根据历史数据流量特征,判断当前(即上述一段时间过后的所有需要判定数据流量特征是否正常的时间)数据流量特征是否在正常范围内,若不在则判断当前数据流为DDoS攻击异常流(简称异常流)。若当前数据流为异常流,DDoS攻击感知模块将异常流ID(即数据流的编号)发送给交换机代理。
交换机代理与DDoS攻击感知模块、特征提取模块、数据缓存(交换机中的缓存器)、控制层面的控制器代理相连。交换机代理从DDoS攻击感知模块接收异常流ID,并向数据通路发送异常流ID。数据通路将符合异常流ID的数据包作为异常流量数据包样本复制到数据缓存。交换机代理还从特征提取模块接收异常流量特征,从数据缓存获得异常流量数据包样本。交换机代理将异常流量数据包样本、异常流量特征、异常流ID、交换机ID打包成DDoS攻击异常流量数据,发送至控制层面的控制器代理。
特征提取模块与交换机代理、数据缓存相连。特征提取模块从数据缓存获得异常流量数据包样本,从异常流量数据包样本中提取异常流量特征,将提取的异常流量特征发送给交换机代理。
控制器代理与交换机代理、事件管理器相连,控制器代理从交换机代理接收DDoS攻击异常流量数据,将DDoS攻击异常流量数据发送给事件管理器。
事件管理器与控制器代理、DDoS攻击分类模块、僵尸网络溯源模块相连,事件管理器从控制器代理接收DDoS攻击异常流量数据,将DDoS攻击异常流量数据中的异常流量特征转发给DDoS攻击分类模块,将异常流量数据包样本、异常流ID、交换机ID转发给僵尸网络溯源模块。
DDoS攻击分类模块与事件管理器相连,该模块从事件管理器获得异常流量特征,利用机器学习方法进行DDoS攻击分类。
僵尸网络溯源模块与事件管理器相连,该模块从事件管理器获得异常流量数据包样本、异常数据流ID、交换机ID,进行僵尸网络溯源。
第二步,数据层面对所有通过交换机的数据流进行粗粒度检测,方法为:
2.1数据层面的DDoS攻击感知模块检测异常流,方法为:
2.1.1 DDoS攻击感知模块将4个最大长度为c的队列B、P、AByte、APkt初始化为空队列。其中B为总平均比特率队列(含数据通路收到和发出的比特数)、P为总平均包速率队列(含数据通路收到和发出的数据包)、AByte为比特率不对称性队列、APkt为包速率不对称性队列,c为正整数,优选值为10≤c≤20;令检测周期为T,T以秒为单位,满足1秒≤T≤4秒。
2.1.2记当前交换机系统时间为t,令第一时间变量tn-1=t;
2.1.3 DDoS攻击感知模块读取计数器,获取计数器tn-1时刻的记录:tn-1时刻数据通路收到的比特数tn-1时刻数据通路发出的比特数tn-1时刻数据通路收到的数据包数tn-1时刻数据通路发出的数据包数
2.1.4令第二时间变量tn=tn-1+T,令变量m=1;
2.1.5 DDoS攻击感知模块在tn时刻读取计数器,获取计数器tn时刻的记录:tn时刻数据通路收到的比特数tn时刻数据通路发出的比特数tn时刻数据通路收到的数据包数tn时刻数据通路发出的数据包数
2.1.6 DDoS攻击感知模块计算tn时刻数据通路收到与发出数据的比特率和包速率:
tn时刻收到数据平均比特率
tn时刻发出数据平均比特率
tn时刻收到数据包平均速率
tn时刻发出数据包平均速率
2.1.7 DDoS攻击感知模块计算tn时刻数据流特征:
tn时刻总的平均比特率
tn时刻总的平均包速率
tn时刻比特率不对称性
tn时刻包速率不对称性
其中对应数据流的流量大小特征;对应数据流的流量不对称性特征。
2.1.8若m≤c,将分别加入到队列B、P、AByte、APkt队尾,令n=n+1,m=m+1,转步骤2.1.6;若m>c,分别从B、P、AByte、APkt中丢弃一个最早加入的元素,然后将 分别加入到队列B、P、AByte、APkt的队尾;将更新后的4个队列组成矩阵V,V大小为4×c,V中每一行为一个队列,转2.1.9。
2.1.9对V计算加权平均值和标准差σi
对V每一行求加权平均值,得到加权平均值(1≤i≤4)表示,分别表示队列B、P、AByte、APkt的加权平均值。vir表示vi中第r项,r为正整数且1≤r≤c,Wir为vir的权值,
对V每一行求标准差,得到标准差σ1、σ2、σ3、σ4,用σi(i=1,2,3,4)表示,分别表示队列B、P、AByte、APkt的标准差(参见2005年清华大学出版社《应用统计学》,李时,第一章,第17页)。
2.1.10令tn+1=tn+T,为第三时间变量,利用与σi对tn+1=tn+T时刻的正常数据流特征的范围区间(Vi l,Vi u)进行预测:
Vi l为区间下限,表示正常数据流第i个特征的最小值;Vi u为区间上限,表示正常数据流第i特征的最大值。
2.1.11在tn+1时刻DDoS攻击感知模块读取计数器,获取计数器tn+1时刻的记录,计算将以上四个值组成矩阵V',V'大小为4×1。V'中元素用vi表示,分别对应
2.1.12对于V'中每个元素,判断vi是否在区间(Vi l,Vi u)外,即分别判断v1是否在区间(V1 l,V1 u)外,v2是否在区间()外,v3是否在区间()外,v4是否在区间()外。若vi都在区间(Vi l,Vi u)外,则判断tn+1时刻的数据流为异常流,得到异常流ID,转步骤2.2;若vi中至少有一个在区间(Vi l,Vi u)内,则判断tn+1时刻未出现DDoS攻击异常流,令n=n+1,m=m+1,转步骤2.1.8;
2.2攻击感知模块将异常流ID发送给交换机代理;
2.3交换机代理从DDoS攻击感知模块接收异常流ID,向数据通路发送异常流ID;
2.4数据通路将符合异常流ID的数据包作为异常流量数据包样本复制到交换机的数据缓存;
2.5特征提取模块从数据缓存获得异常流量数据包样本,从中提取异常流量特征,方法是:若异常数据流量数据包样本是TCP(Transmission Control Protocol)数据包,则提取该TCP数据包中的七个特征:SYN(Synchronous)flag置位的TCP数据包块、ACK(Acknowledgement)flag置位的TCP数据包块、源IP地址的熵、目的IP地址的熵、源端口号的熵、目的端口号的熵、TCP序号的熵,转步骤2.6;若异常数据流量数据包样本是UDP(UserDatagram Protocol)数据包,则提取该UDP数据包中的五个特征:目标端口号≤1024的UDP数据包块、目标端口号≥1024的UDP数据包块、源IP地址的熵、目的IP地址的熵、UDP数据包长度的熵,转步骤2.6;若异常数据流量数据包样本是ICMP(Internet Control MessageProtocol)数据包,则提取该ICMP数据包中的四个特征:源IP地址的熵、目的IP地址的熵、TTL值的熵、全部ICMP数据包块,转步骤2.6;
2.6特征提取模块并向交换机代理发送异常流量特征。
2.7交换机代理从数据缓存读取异常流量数据包样本,并从特征提取模块接收异常数据流量特征。
2.8交换机代理将异常流量数据包样本、异常数据流量特征、异常流ID、交换机ID打包为DDoS攻击异常流量数据,将DDoS攻击异常流量数据发送给控制层面上的控制器代理。
2.9数据层面和控制层面并行进行以下工作:数据层面转2.1.8继续进行粗粒度检测;控制层面执行第三步。
第三步,控制层面对DDoS攻击异常流量数据进行细粒度检测,方法是:
3.1控制器代理将接收到的DDoS攻击异常流量数据发送给事件管理器。
3.2事件管理器从控制器代理接收DDoS攻击异常流量数据,将DDoS攻击异常流量特征发送给DDoS攻击分类模块,将异常流量数据包样本、异常数据流ID、交换机ID发送给僵尸网络溯源模块。
3.3 DDoS攻击分类模块从事件管理器接收异常数据流量特征,将异常数据流量特征作为机器学习中基于自动编码器的分类器(参见文献“Quamar Niyaz*,Weiqing Sun,Ahmad Y Javaid,A Deep Learning Based DDoS Detection System in Software-Defined Networking(SDN),arXiv preprint arxiv:1611.07400,2016年”,译为:一种在软件定义网络中基于深度学习的DDoS检测系统,arXiv preprint arxiv:1611.07400是论文检索号,基于自动编码器的分类器见该文献第三章第2节第4到6页)的输入进行DDoS攻击分类,得到DDoS攻击类型。
3.4僵尸网络溯源模块从事件管理器接收异常流量数据包样本、异常流ID、交换机ID,进行僵尸网络溯源,具体方法如下:
3.4.1定义集合A为所有检测到DDoS攻击的交换机,A={a1,a2,...aj,...,aq},q为数据层面所有检测到DDoS攻击的交换机的个数,为正整数,aj(j为正整数,j≤q)表示一个检测到DDoS攻击的交换机的ID(一般为交换机的IP地址);
3.4.2定义集合S为SDN控制器控制的所有SDN交换机,S={s1,s2,...sk,...,sp},p为SDN控制器控制的所有SDN交换机的个数,为正整数,sk(k为正整数,k≤p)表示一个SDN控制器所控制的SDN交换机的ID;
3.4.3定义集合C为最接近僵尸网络的交换机集合,初始化C为空集。
3.4.4判定A是否为空,若A为空,转步骤3.4.5;
若A不为空,从A中取一个元素aj,找到aj的上一跳交换机sk
若sk∈A,则从集合A中去掉aj,返回步骤3.4.4;
则aj是所寻找的目标交换机,将aj加入集合C,返回步骤3.4.4;
3.4.5得到A的一个子集C集合C中所有交换机的上一跳均不在A中,并且C中交换机为最接近僵尸网络的交换机(即到达僵尸网络的跳数最少的交换机)。经过上述方法,定位得到了最接近僵尸网络的交换机集合C,C中元素为最接近僵尸网络的交换机ID。
采用本发明可以达到以下技术效果:
1.本发明通过数据层面与控制层面协同合作方式,在数据层面监测DDoS攻击异常流量并进行特征提取,完成粗粒度检测;然后利用控制层面的计算资源DDoS攻击进行分类与僵尸网络溯源,完成细粒度检测,既能检测出DDoS攻击类型,又能检测出可能接近僵尸网络的交换机集合C,且有效提高了DDoS攻击检测的速度和准确度;
2.与现有的基于SDN的DDoS攻击检测技术相比,本发明不要求数据层面频繁向控制层面上传数据流,减小了SDN南向接口的压力和SDN控制器负担,解决了现有技术不能高效利用SDN架构灵活性,造成SDN南向接口压力太大,SDN控制器负担过重的问题。
附图说明
图1为背景技术中基于SDN的检测架构示意图;
图2为本发明的总体流程图;
图3为本发明第一步构建的基于SDN的DDoS攻击跨层协同检测架构逻辑结构图;
图4为步骤2.5所述异常流量特征的结构图。
具体实施方式
图2为本发明的总体流程图;本发明包括以下步骤:
第一步,构建基于SDN的DDoS攻击跨层协同检测架构,如图3所示,基于SDN的DDoS攻击跨层协同检测架构由数据层面和控制层面构成,控制层面通过南向接口与数据层面进行通信。数据层面由交换机构成,负责数据的传输;控制层面由SDN控制器构成,负责对数据层面中交换机的管理。
SDN交换机上安装有交换机代理,具有数据通路,还安装有DDoS攻击感知模块、特征提取模块。交换机中的硬件计数器对所有经过交换机数据通路的数据包和比特数进行计数。
SDN控制器上安装有控制器代理,还安装有事件管理器、DDoS攻击分类模块、僵尸网络溯源模块。
DDoS攻击感知模块与交换机代理、硬件计数器相连,DDoS攻击感知模块从硬件计数器获取一段时间经过SDN交换机数据通路的数据包和比特数,计算这段时间数据流的包速率和比特率,计算并记录这段时间的数据流量特征(包括数据流流量大小的特征与流量不对称性的特征,称为历史数据流量特征)。根据历史数据流量特征,判断当前(即上述一段时间过后的所有需要判定数据流量特征是否正常的时间)数据流量特征是否在正常范围内,若不在则判断当前数据流为DDoS攻击异常流(简称异常流)。若当前数据流为异常流,DDoS攻击感知模块将异常流ID(即数据流的编号)发送给交换机代理。
交换机代理与DDoS攻击感知模块、特征提取模块、数据缓存(交换机中的缓存器)、控制层面的控制器代理相连。交换机代理从DDoS攻击感知模块接收异常流ID,并向数据通路发送异常流ID。数据通路将符合异常流ID的数据包作为异常流量数据包样本复制到数据缓存。交换机代理还从特征提取模块接收异常流量特征,从数据缓存获得异常流量数据包样本。交换机代理将异常流量数据包样本、异常流量特征、异常流ID、交换机ID打包成DDoS攻击异常流量数据,发送至控制层面的控制器代理。
特征提取模块与交换机代理、数据缓存相连。特征提取模块从数据缓存获得异常流量数据包样本,从异常流量数据包样本中提取异常流量特征,将提取的异常流量特征发送给交换机代理。
控制器代理与交换机代理、事件管理器相连,控制器代理从交换机代理接收DDoS攻击异常流量数据,将DDoS攻击异常流量数据发送给事件管理器。
事件管理器与控制器代理、DDoS攻击分类模块、僵尸网络溯源模块相连,事件管理器从控制器代理接收DDoS攻击异常流量数据,将DDoS攻击异常流量数据中的异常流量特征转发给DDoS攻击分类模块,将异常流量数据包样本、异常流ID、交换机ID转发给僵尸网络溯源模块。
DDoS攻击分类模块与事件管理器相连,该模块从事件管理器获得异常流量特征,利用机器学习方法进行DDoS攻击分类。
僵尸网络溯源模块与事件管理器相连,该模块从事件管理器获得异常流量数据包样本、异常数据流ID、交换机ID,进行僵尸网络溯源。
第二步,数据层面对所有通过交换机的数据流进行粗粒度检测,方法为:
2.1数据层面的DDoS攻击感知模块检测异常流,方法为:
2.1.1DDoS攻击感知模块将4个最大长度为c的队列B、P、AByte、APkt初始化为空队列。其中B为总平均比特率队列(含数据通路收到和发出的比特数)、P为总平均包速率队列(含数据通路收到和发出的数据包)、AByte为比特率不对称性队列、APkt为包速率不对称性队列,c为正整数,优选值为10≤c≤20;令检测周期为T,T以秒为单位,满足1秒≤T≤4秒。
2.1.2记当前交换机系统时间为t,令第一时间变量tn-1=t;
2.1.3 DDoS攻击感知模块读取计数器,获取计数器tn-1时刻的记录:tn-1时刻数据通路收到的比特数tn-1时刻数据通路发出的比特数tn-1时刻数据通路收到的数据包数tn-1时刻数据通路发出的数据包数
2.1.4令第二时间变量tn=tn-1+T,令变量m=1;
2.1.5 DDoS攻击感知模块在tn时刻读取计数器,获取计数器tn时刻的记录:tn时刻数据通路收到的比特数tn时刻数据通路发出的比特数tn时刻数据通路收到的数据包数tn时刻数据通路发出的数据包数
2.1.6 DDoS攻击感知模块计算tn时刻数据通路收到与发出数据的比特率和包速率:
tn时刻收到数据平均比特率
tn时刻发出数据平均比特率
tn时刻收到数据包平均速率
tn时刻发出数据包平均速率
2.1.7 DDoS攻击感知模块计算tn时刻数据流特征:
tn时刻总的平均比特率
tn时刻总的平均包速率
tn时刻比特率不对称性
tn时刻包速率不对称性
其中对应数据流的流量大小特征;对应数据流的流量不对称性特征。
2.1.8若m≤c,将分别加入到队列B、P、AByte、APkt队尾,令n=n+1,m=m+1,转步骤2.1.6;若m>c,分别从B、P、AByte、APkt中丢弃一个最早加入的元素,然后将 分别加入到队列B、P、AByte、APkt的队尾;将更新后的4个队列组成矩阵V,V大小为4×c,V中每一行为一个队列,转2.1.9。
2.1.9对V计算加权平均值和标准差σi
对V每一行求加权平均值,得到加权平均值(1≤i≤4)表示,分别表示队列B、P、AByte、APkt的加权平均值。表示vi中第r项,r为正整数且1≤r≤c,Wir为vir的权值,
对V每一行求标准差,得到标准差σ1、σ2、σ3、σ4,用σi(i=1,2,3,4)表示,分别表示队列B、P、AByte、APkt的标准差(参见2005年清华大学出版社《应用统计学》,李时,第一章,第17页)。
2.1.10令tn+1=tn+T,为第三时间变量,利用与σi对tn+1=tn+T时刻的正常数据流特征的范围区间(Vi l,Vi u)进行预测:
Vi l为区间下限,表示正常数据流第i个特征的最小值;Vi u为区间上限,表示正常数据流第i特征的最大值。
2.1.11在tn+1时刻DDoS攻击感知模块读取计数器,获取计数器tn+1时刻的记录,计算将以上四个值组成矩阵V',V'大小为4×1。V'中元素用vi表示,分别对应
2.1.12对于V'中每个元素,判断vi是否在区间(Vi l,Vi u)外,即分别判断v1是否在区间(V1 l,V1 u)外,v2是否在区间()外,v3是否在区间()外,v4是否在区间()外。若vi都在区间(Vi l,Vi u)外,则判断tn+1时刻出现了异常流,得到异常流ID,转步骤2.2;若vi中至少有一个在区间(Vi l,Vi u)内,则判断tn+1时刻未出现DDoS攻击异常流,令n=n+1,m=m+1,转步骤2.1.8;
2.2攻击感知模块将异常流ID发送给交换机代理;
2.3交换机代理从DDoS攻击感知模块接收异常流ID,向数据通路发送异常流ID;
2.4数据通路将符合异常流ID的数据包作为异常流量数据包样本复制到交换机的数据缓存;
2.5特征提取模块从数据缓存获得异常流量数据包样本,从中提取异常流量特征,方法是:
如图4所示,若异常数据流量数据包样本是TCP数据包,则提取该TCP数据包中的七个特征:SYN flag置位的TCP数据包块、ACK flag置位的TCP数据包块、源IP地址的熵、目的IP地址的熵、源端口号的熵、目的端口号的熵、TCP序号的熵,转步骤2.6;若异常数据流量数据包样本是UDP数据包,则提取该UDP数据包中的五个特征:目标端口号≤1024的UDP数据包块、目标端口号≥1024的UDP数据包块、源IP地址的熵、目的IP地址的熵、UDP数据包长度的熵,转步骤2.6;若异常数据流量数据包样本是ICMP数据包,则提取该ICMP数据包中的四个特征:源IP地址的熵、目的IP地址的熵、TTL值的熵、全部ICMP数据包块,转步骤2.6;
2.6特征提取模块并向交换机代理发送异常流量特征。
2.7交换机代理从数据缓存读取异常流量数据包样本,并从特征提取模块接收异常数据流量特征。
2.8交换机代理将异常流量数据包样本、异常数据流量特征、异常流ID、交换机ID打包为DDoS攻击异常流量数据,将DDoS攻击异常流量数据发送给控制层面上的控制器代理。
2.9数据层面和控制层面并行进行以下工作:数据层面转2.1.8继续进行粗粒度检测;控制层面执行第三步。
第三步,控制层面对DDoS攻击异常流量数据进行细粒度检测,方法是:
3.1控制器代理将接收到的DDoS攻击异常流量数据发送给事件管理器。
3.2事件管理器从控制器代理接收DDoS攻击异常流量数据,将DDoS攻击异常流量特征发送给DDoS攻击分类模块,将异常流量数据包样本、异常数据流ID、交换机ID发送给僵尸网络溯源模块。
3.3 DDoS攻击分类模块从事件管理器接收异常数据流量特征,将异常数据流量特征作为机器学习中基于自动编码器的分类器的输入进行DDoS攻击分类,得到DDoS攻击类型。
3.4僵尸网络溯源模块从事件管理器接收异常流量数据包样本、异常流ID、交换机ID,进行僵尸网络溯源,具体方法如下:
3.4.1定义集合A为所有检测到DDoS攻击的交换机,A={a1,a2,...aj,...,aq},q为数据层面所有检测到DDoS攻击的交换机的个数,为正整数,aj(j为正整数,j≤q)表示一个检测到DDoS攻击的交换机的ID;
3.4.2定义集合S为SDN控制器控制的所有SDN交换机,S={s1,s2,...sk,...,sp},p为SDN控制器控制的所有SDN交换机的个数,为正整数,sk(k为正整数,k≤p)表示一个SDN控制器所控制的SDN交换机的ID;
3.4.3定义集合C为最接近僵尸网络的交换机集合,初始化C为空集。
3.4.4判定A是否为空,若A为空,转步骤3.4.5;
若A不为空,从A中取一个元素aj,找到aj的上一跳交换机sk
若sk∈A,则从集合A中去掉aj,返回步骤3.4.4;
则aj是所寻找的目标交换机,将aj加入集合C,返回步骤3.4.4;
3.4.5得到A的一个子集C集合C中所有交换机的上一跳均不在A中,并且C中交换机为最接近僵尸网络的交换机。经过上述方法,定位得到了最接近僵尸网络的交换机集合C。

Claims (5)

1.一种基于软件定义网络的DDoS攻击跨层协同检测方法,其特征在于包括以下步骤;
第一步,构建基于SDN即软件定义网络的DDoS攻击跨层协同检测架构,方法是:基于SDN的DDoS攻击跨层协同检测架构由数据层面和控制层面构成,控制层面通过南向接口与数据层面进行通信;数据层面由交换机构成,负责数据的传输;控制层面由SDN控制器构成,负责对数据层面中交换机的管理;
SDN交换机上安装有交换机代理,具有数据通路,还安装有DDoS攻击感知模块、特征提取模块;交换机中的硬件计数器对所有经过交换机数据通路的数据包和比特数进行计数;
SDN控制器上安装有控制器代理,还安装有事件管理器、DDoS攻击分类模块、僵尸网络溯源模块;
DDoS攻击感知模块与交换机代理、硬件计数器相连,DDoS攻击感知模块检测简称异常流的DDoS攻击异常流,将异常流ID发送给交换机代理;
交换机代理与DDoS攻击感知模块、特征提取模块、数据缓存、控制层面的控制器代理相连;交换机代理从DDoS攻击感知模块接收异常流ID,向数据通路发送异常流ID;数据通路将符合异常流ID的数据包作为异常流量数据包样本复制到数据缓存;交换机代理还从特征提取模块接收异常流量特征,从数据缓存获得异常流量数据包样本;交换机代理将异常流量数据包样本、异常流量特征、异常流ID、交换机ID打包成DDoS攻击异常流量数据,发送至控制层面的控制器代理;
特征提取模块与交换机代理、数据缓存相连;特征提取模块从数据缓存获得异常流量数据包样本,从异常流量数据包样本中提取异常流量特征,将提取的异常流量特征发送给交换机代理;
控制器代理与交换机代理、事件管理器相连,控制器代理从交换机代理接收DDoS攻击异常流量数据,将DDoS攻击异常流量数据发送给事件管理器;
事件管理器与控制器代理、DDoS攻击分类模块、僵尸网络溯源模块相连,事件管理器从控制器代理接收DDoS攻击异常流量数据,将DDoS攻击异常流量数据中的异常流量特征转发给DDoS攻击分类模块,将异常流量数据包样本、异常流ID、交换机ID转发给僵尸网络溯源模块;
DDoS攻击分类模块与事件管理器相连,该模块从事件管理器获得异常流量特征,进行DDoS攻击分类;
僵尸网络溯源模块与事件管理器相连,该模块从事件管理器获得异常流量数据包样本、异常流ID、交换机ID,进行僵尸网络溯源;
第二步,SDN数据层面对所有通过交换机的数据流进行粗粒度检测,方法为:
2.1SDN数据层面的DDoS攻击感知模块检测DDoS攻击异常流,简称异常流,得到异常流ID;方法为:
2.1.1DDoS攻击感知模块将4个最大长度为c的队列B、P、AByte、APkt初始化为空队列,其中B为总平均比特率队列、P为总平均包速率队列、AByte为比特率不对称性队列、APkt为包速率不对称性队列,c为正整数;令检测周期为T,T以秒为单位;
2.1.2记当前交换机系统时间为t,令第一时间变量tn-1=t;
2.1.3DDoS攻击感知模块读取计数器,获取计数器tn-1时刻的记录:tn-1时刻数据通路收到的比特数tn-1时刻数据通路发出的比特数tn-1时刻数据通路收到的数据包数tn-1时刻数据通路发出的数据包数
2.1.4令第二时间变量tn=tn-1+T,令变量m=1;
2.1.5DDoS攻击感知模块在tn时刻读取计数器,获取计数器tn时刻的记录:tn时刻数据通路收到的比特数tn时刻数据通路发出的比特数tn时刻数据通路收到的数据包数tn时刻数据通路发出的数据包数
2.1.6DDoS攻击感知模块计算tn时刻数据通路收到与发出数据的比特率和包速率:
tn时刻收到数据平均比特率
tn时刻发出数据平均比特率
tn时刻收到数据包平均速率
tn时刻发出数据包平均速率
2.1.7DDoS攻击感知模块计算tn时刻数据流特征:
tn时刻总的平均比特率
tn时刻总的平均包速率
tn时刻比特率不对称性
tn时刻包速率不对称性
其中对应数据流的流量大小特征;对应数据流的流量不对称性特征;
2.1.8若m≤c,将分别加入到队列B、P、AByte、APkt队尾,令n=n+1,m=m+1,转步骤2.1.6;若m>c,分别从B、P、AByte、APkt中丢弃一个最早加入的元素,然后将 分别加入到队列B、P、AByte、APkt的队尾;将更新后的4个队列组成矩阵V,V大小为4×c,V中每一行为一个队列,转2.1.9;
2.1.9对V计算加权平均值和标准差σi
对V每一行求加权平均值,得到加权平均值表示,分别表示队列B、P、AByte、APkt的加权平均值,1≤i≤4,vir表示vi中第r项,r为正整数且1≤r≤c,Wir为vir的权值,对V每一行求标准差,得到标准差σ1、σ2、σ3、σ4,用σi表示,分别表示队列B、P、AByte、APkt的标准差;
2.1.10令tn+1=tn+T,为第三时间变量,利用与σi对tn+1=tn+T时刻的正常数据流特征的范围区间(Vi l,Vi u)进行预测:
Vi l为区间下限,表示正常数据流第i个特征的最小值;Vi u为区间上限,表示正常数据流第i特征的最大值;
2.1.11在tn+1时刻DDoS攻击感知模块读取计数器,获取计数器tn+1时刻的记录,计算将这四个值组成矩阵V',V'大小为4×1;
2.1.12判断V'中元素vi是否在区间(Vi l,Vi u)外,即分别判断v1是否在区间(V1 l,V1 u)外,v2是否在区间外,v3是否在区间外,v4是否在区间外,若vi都在区间(Vi l,Vi u)外,则判断tn+1时刻的数据流为异常流,得到异常流ID,结束;若vi中至少有一个在区间(Vi l,Vi u)内,则判断tn+1时刻未出现DDoS攻击异常流,令n=n+1,m=m+1,转步骤2.1.8;
2.2DDoS攻击感知模块将异常流ID发送给交换机代理;
2.3交换机代理从DDoS攻击感知模块接收异常流ID,向数据通路发送异常流ID;
2.4数据通路将符合异常流ID的数据包作为异常流量数据包样本复制到交换机的数据缓存;
2.5特征提取模块从数据缓存获得异常流量数据包样本,从中提取异常流量特征;
2.6特征提取模块并向交换机代理发送异常流量特征;
2.7交换机代理从数据缓存读取异常流量数据包样本,并从特征提取模块接收异常流量特征;
2.8交换机代理将异常流量数据包样本、异常流量特征、异常流ID、交换机ID打包为DDoS攻击异常流量数据,将DDoS攻击异常流量数据发送给控制层面上的控制器代理;
2.9数据层面和控制层面并行进行以下工作:数据层面转2.1.8继续进行粗粒度检测;控制层面执行第三步;
第三步,SDN控制层面对DDoS攻击异常流量数据进行细粒度检测,方法是:
3.1控制器代理将接收到的DDoS攻击异常流量数据发送给事件管理器;
3.2事件管理器从控制器代理接收DDoS攻击异常流量数据,将异常流量特征发送给DDoS攻击分类模块,将异常流量数据包样本、异常流ID、交换机ID发送给僵尸网络溯源模块;
3.3DDoS攻击分类模块从事件管理器接收异常流量特征,进行DDoS攻击分类,得到DDoS攻击类型;
3.4僵尸网络溯源模块从事件管理器接收异常流量数据包样本、异常流ID、交换机ID,进行僵尸网络溯源,具体方法如下:
3.4.1定义集合A为所有检测到DDoS攻击的交换机,A={a1,a2,...aj,...,aq},q为数据层面所有检测到DDoS攻击的交换机的个数,为正整数,aj表示一个检测到DDoS攻击的交换机的ID,j为正整数,j≤q;
3.4.2定义集合S为SDN控制器控制的所有SDN交换机,S={s1,s2,...sk,...,sp},p为SDN控制器控制的所有SDN交换机的个数,为正整数,sk表示一个SDN控制器所控制的SDN交换机的ID,k为正整数,k≤p;
3.4.3定义集合C为靠近僵尸网络的交换机集合,初始化C为空集;
3.4.4判定A是否为空,若A为空,转步骤3.4.5;若A不为空,从A中取一个元素aj,找到aj的上一跳交换机sk,若sk∈A,则从集合A中去掉aj,返回步骤3.4.4;若则aj是所寻找的目标交换机,将aj加入集合C,返回步骤3.4.4;
3.4.5得到A的一个子集C,集合C中所有交换机的上一跳均不在A中,并且C中交换机为最接近僵尸网络的交换机,即到达僵尸网络的跳数最少的交换机,C中元素为最接近僵尸网络的交换机ID。
2.如权利要求1所述的基于软件定义网络的DDoS攻击跨层协同检测方法,其特征在于所述异常流ID指该异常流的编号;所述交换机的ID为交换机的IP地址。
3.如权利要求1所述的基于软件定义网络的DDoS攻击跨层协同检测方法,其特征在于所述c满足10≤c≤20,所述T满足1秒≤T≤4秒。
4.如权利要求1所述的基于软件定义网络的DDoS攻击跨层协同检测方法,其特征在于2.5步所述特征提取模块提取异常流量特征的方法是:若异常数据流量数据包样本是TCP数据包,则提取该TCP数据包中的七个特征:SYN flag置位的TCP数据包块、ACK flag置位的TCP数据包块、源IP地址的熵、目的IP地址的熵、源端口号的熵、目的端口号的熵、TCP序号的熵;若异常数据流量数据包样本是UDP数据包,则提取该UDP数据包中的五个特征:目标端口号≤1024的UDP数据包块、目标端口号≥1024的UDP数据包块、源IP地址的熵、目的IP地址的熵、UDP数据包长度的熵;若异常数据流量数据包样本是ICMP数据包,则提取该ICMP数据包中的四个特征:源IP地址的熵、目的IP地址的熵、TTL值的熵、全部ICMP数据包块。
5.如权利要求1所述的基于软件定义网络的DDoS攻击跨层协同检测方法,其特征在于3.3步所述DDoS攻击分类模块进行DDoS攻击分类的方法是:将异常流量特征作为机器学习中基于自动编码器的分类器的输入进行DDoS攻击分类,得到DDoS攻击类型。
CN201810038494.0A 2018-01-16 2018-01-16 基于软件定义网络的DDoS攻击跨层协同检测方法 Active CN108183917B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810038494.0A CN108183917B (zh) 2018-01-16 2018-01-16 基于软件定义网络的DDoS攻击跨层协同检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810038494.0A CN108183917B (zh) 2018-01-16 2018-01-16 基于软件定义网络的DDoS攻击跨层协同检测方法

Publications (2)

Publication Number Publication Date
CN108183917A CN108183917A (zh) 2018-06-19
CN108183917B true CN108183917B (zh) 2018-12-14

Family

ID=62550529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810038494.0A Active CN108183917B (zh) 2018-01-16 2018-01-16 基于软件定义网络的DDoS攻击跨层协同检测方法

Country Status (1)

Country Link
CN (1) CN108183917B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194608B (zh) * 2018-07-19 2022-02-11 南京邮电大学 一种基于流的DDoS攻击与闪拥事件检测方法
CN112085039B (zh) * 2019-06-12 2022-08-16 四川大学 一种基于随机森林的icmp隐蔽通道检测方法
JP7184197B2 (ja) * 2019-07-23 2022-12-06 日本電信電話株式会社 異常検出装置、異常検出方法および異常検出プログラム
CN110958245B (zh) * 2019-11-29 2022-03-04 广州市百果园信息技术有限公司 一种攻击的检测方法、装置、设备和存储介质
CN111614627B (zh) * 2020-04-27 2022-03-25 中国舰船研究设计中心 一种面向sdn的跨平面协作ddos检测与防御方法与系统
CN112039720B (zh) * 2020-07-31 2022-03-25 中国人民解放军战略支援部队信息工程大学 1~100%流量精确可控流量发生装置及流量生成方法
CN113364797B (zh) * 2021-06-18 2023-02-03 广东省新一代通信与网络创新研究院 一种防ddos攻击的网络系统
CN114257459B (zh) * 2022-01-14 2023-09-05 湖南警察学院 一种信息物理系统及其跨层攻击路径溯源方法
CN115065519B (zh) * 2022-06-09 2023-08-15 河北大学 分布式边端协同的DDoS攻击实时监测方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104104561A (zh) * 2014-08-11 2014-10-15 武汉大学 一种基于OpenFlow协议的SDN防火墙状态检测方法及系统
CN104468624A (zh) * 2014-12-22 2015-03-25 上海斐讯数据通信技术有限公司 Sdn控制器、路由/交换设备及网络防御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9210180B2 (en) * 2012-04-18 2015-12-08 Radware Ltd. Techniques for separating the processing of clients' traffic to different zones in software defined networks
CN103561011B (zh) * 2013-10-28 2016-09-07 中国科学院信息工程研究所 一种SDN控制器盲DDoS攻击防护方法及系统
CN104158800A (zh) * 2014-07-21 2014-11-19 南京邮电大学 一种面向软件定义网络的分布式拒绝服务攻击检测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104104561A (zh) * 2014-08-11 2014-10-15 武汉大学 一种基于OpenFlow协议的SDN防火墙状态检测方法及系统
CN104468624A (zh) * 2014-12-22 2015-03-25 上海斐讯数据通信技术有限公司 Sdn控制器、路由/交换设备及网络防御方法

Also Published As

Publication number Publication date
CN108183917A (zh) 2018-06-19

Similar Documents

Publication Publication Date Title
CN108183917B (zh) 基于软件定义网络的DDoS攻击跨层协同检测方法
CN107959690B (zh) 基于软件定义网络的DDoS攻击跨层协同防御方法
Tan et al. A new framework for DDoS attack detection and defense in SDN environment
CN105429977B (zh) 基于信息熵度量的深度包检测设备异常流量监控方法
CN101980506B (zh) 一种基于流量特征分析的分布式入侵检测方法
CN106357673A (zh) 一种多租户云计算系统DDoS攻击检测方法及系统
CN101686235B (zh) 网络异常流量分析设备和方法
CN103444132B (zh) 网络系统及其交换方法
Phan et al. Sdn-mon: Fine-grained traffic monitoring framework in software-defined networks
CN106561016A (zh) 一种基于熵的SDN控制器DDoS攻击检测装置和方法
CN110336830A (zh) 一种基于软件定义网络的DDoS攻击检测系统
CN113114694B (zh) 一种面向高速网络分组抽样数据采集场景的DDoS攻击检测方法
TWI583152B (zh) 適用於異質網路架構的異常預測方法及系統
CN104618377A (zh) 基于NetFlow的僵尸网络检测系统与检测方法
CN112995238A (zh) 一种减轻DDoS攻击的方法、可编程交换机及SDN控制器
CN109194608B (zh) 一种基于流的DDoS攻击与闪拥事件检测方法
CN112260899B (zh) 基于mmu的网络监测方法和装置
Gao et al. A novel intrusion detection method in train-ground communication system
CN101335752B (zh) 一种基于频繁片段规则的网络入侵检测方法
CN112953910B (zh) 基于软件定义网络的DDoS攻击检测方法
CN110289992A (zh) 一种报文处理方法及装置
CN103269337B (zh) 数据处理方法及装置
CN104917703B (zh) 基于sdn的防线头阻塞方法及系统
Alaslani et al. Intelligent edge: An instantaneous detection of iot traffic load
Liu et al. POAGuard: A Defense Mechanism Against Preemptive Table Overflow Attack in Software-Defined Networks

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