[发明专利]基于软件定义网络的DDoS攻击跨层协同检测方法有效
申请号: | 201810038494.0 | 申请日: | 2018-01-16 |
公开(公告)号: | CN108183917B | 公开(公告)日: | 2018-12-14 |
发明(设计)人: | 韩彪;苏金树;王宝生;孙志刚;陈曙晖;赵宝康;陶静;时向泉;赵锋;杨翔瑞;王汉文 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 长沙中科启明知识产权代理事务所(普通合伙) 43226 | 代理人: | 任合明 |
地址: | 410003 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了基于软件定义网络的DDoS攻击跨层协同检测方法,目的是提高对DDoS攻击的检测效率。技术方案是构建由数据层面和控制层面构成的基于SDN的DDoS攻击跨层协同检测架构,数据层面的SDN交换机上有数据通路、交换机代理、DDoS攻击感知模块、特征提取模块;控制层面的SDN控制器上有控制器代理、事件管理器、DDoS攻击分类模块、僵尸网络溯源模块。数据层面对数据流进行粗粒度检测得到DDoS攻击异常流量数据,控制层面对DDoS攻击异常流量数据进行细粒度检测。本发明通过数据层面与控制层面协同合作,解决了SDN南向接口压力大、SDN控制器负担过大的问题,既能检测出DDoS攻击类型,又能检测出可能接近僵尸网络的交换机集合,提高了DDoS攻击检测的速度和准确度。 | ||
搜索关键词: | 检测 控制层面 数据层面 控制器 跨层 协同 僵尸网络 异常流量 特征提取模块 交换机集合 事件管理器 细粒度检测 定义网络 分类模块 感知模块 基于软件 南向接口 数据通路 数据流 准确度 粗粒度 控制层 数据层 代理 构建 交换机 溯源 架构 交换 合作 | ||
【主权项】:
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时刻的正常数据流特征的范围区间(Vil,Viu)进行预测:![]()
Vil为区间下限,表示正常数据流第i个特征的最小值;Viu为区间上限,表示正常数据流第i特征的最大值;2.1.11在tn+1时刻DDoS攻击感知模块读取计数器,获取计数器tn+1时刻的记录,计算
将这四个值组成矩阵V',V'大小为4×1;2.1.12判断V'中元素vi是否在区间(Vil,Viu)外,即分别判断v1是否在区间(V1l,V1u)外,v2是否在区间
外,v3是否在区间
外,v4是否在区间
外,若vi都在区间(Vil,Viu)外,则判断tn+1时刻的数据流为异常流,得到异常流ID,结束;若vi中至少有一个在区间(Vil,Viu)内,则判断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。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810038494.0/,转载请声明来源钻瓜专利网。