1.一种基于改进k近邻算法的sdn下ddos攻击的检测防御系统,其特征在于,包括:
网络控制层(1):用于收集流表数据,并根据异常检测结果启动警报;
特征统计层(2):用于获取流表数据并进行特征处理,提取七元组样本特征序列;
异常检测层(3):基于改进k近邻算法对样本特征序列进行建模分析,判断是否异常。
2.根据权利要求1所述的一种基于改进k近邻算法的sdn下ddos攻击的检测防御系统,其特征在于,所述的网络控制层(1)包括控制器(11)和警报模块(12),所述的控制器(11)用于收集流表数据,并以时间间隔t响应特征统计层(2)发送的流表获取请求,所述的警报模块(12)在异常检测层(3)的异常检测结果为异常时启动;
所述的特征统计层(2)包括数据接收模块(21)和特征提取模块(22),所述的数据接收模块(21)以时间间隔t向控制器(11)发送流表获取请求,所述的特征提取模块(22)用于提取描述流的七元组样本特征序列;
所述的异常检测层(3)包括异常检测模块(31),所述的异常检测模块(31)用于对进行特征提取后的七元组样本特征序列进行建模分析,判别是否异常。
3.根据权利要求1所述的一种基于改进k近邻算法的sdn下ddos攻击的检测防御系统,其特征在于,所述的异常检测层(3)判断是否异常具体包括以下步骤:
s1:建立分类训练模块,利用分类训练模块将等比的正常流量和ddos攻击流量进行训练后得到等比的七元组样本点;
s2:运用kd树算法将分类训练模块产生的七元组样本点构建kd树结构;
s3:利用bbf算法在kd树结构中搜索特征统计层(2)中实时生成的七元组样本特征序列的k个最近邻;
s4:根据步骤s33中搜索得到的k个最近邻中正常流量和ddos攻击流量的数量差别,判断占比多的流量种类为该七元组样本特征序列的类别。
4.根据权利要求3所述的一种基于改进k近邻算法的sdn下ddos攻击的检测防御系统,其特征在于,步骤s2中,构建kd树具体包括以下步骤:
s21:计算七元组样本点在各自七个维度上的方差,选择方差最大的维度的中位数作为kd树的根节点;
s22:比较其他七元组样本点与根节点在方差最大维度上的值的大小,将小于该值的七元组样本点划分为根节点的左子树,否则划分为根节点的右子树;
s23:对左子树和右子树分别依次按照步骤s21和步骤s22的方法进行递归划分,直至所有七元组样本点均被放置到kd树上,完成kd树的构建。
5.根据权利要求3所述的一种基于改进k近邻算法的sdn下ddos攻击的检测防御系统,其特征在于,步骤s3具体包括:
s31:建立一个优先队列,首先将kd树的根节点加入优先队列;
s32:取优先队列中优先级最高的节点,比较该优先级最高的节点与目标点的距离,更新目标点的k近邻;
s33:比较优先级最高的节点与目标点在划分域上值的大小,若目标点的值小,则将优先级最高的节点的右节点按优先级高低插入优先队列,并继续搜索其左节点后计算与目标点的距离,更新目标点的k近邻;否则反之;
s34:重复执行步骤s33,直至搜索至当前搜索节点为叶节点;
s35:重复步骤s32和s33,递归搜索至优先队列为空;
s35:最终输出目标点的k个近邻,依据其k个近邻的正常流量与ddos攻击流量的占比判别目标点是否异常。
6.根据权利要求5所述的一种基于改进k近邻算法的sdn下ddos攻击的检测防御系统,其特征在于,步骤s35中,若判别结果为ddos攻击流量占比多,则在网络控制层(1)启用警报,同时网络控制层(1)下发丢弃数据包的指令,直至设定检测周期内判别结果为正常流量占比多后,解封网络控制层(1)下发的丢包指令。
7.根据权利要求1所述的一种基于改进k近邻算法的sdn下ddos攻击的检测防御系统,其特征在于,所述的七元组样本特征序列依次包括:流表项平均包数apf、流表项平均字节数abf、流表项平均生存时间adf、流表项速率rfe、源ip地址增速gsip、端口增速gsp和交互流比率ppf。
8.根据权利要求7所述的一种基于改进k近邻算法的sdn下ddos攻击的检测防御系统,其特征在于,所述的流表项平均包数apf记录的是单位时间内流表项的平均流包数,其表达式为:
其中,fnum表示时间间隔t内流的总数,pnumi表示第i条流中包含的数据包数量;
所述的流表项平均字节数abf记录的是单位时间内流表项的平均字节数,其表达式为:
其中,bnumi表示第i条流中包含的字节数;
所述的流表项平均生存时间adf记录的是单位时间内流生存的平均时长,其表达式为:
其中,stimei表示第i条流生存的时间;
所述的流表项速率rfe记录的是单位时间内流表项的增长速度,其表达式为:
其中,sflow表示流表项的总数,t为特征统计层(2)向网络控制层(1)发送流表获取请求的时间间隔;
所述的源ip地址增速gsip记录的是单位时间内源ip地址的增长速度,其表达式为:
其中,ssip表示源ip地址的个数;
所述的端口增速gsp记录的是单位时间内端口的增长速度,其表达式为:
其中,sports表示端口的总数;
所述的交互流比率ppf记录的是单位时间内具有交互性的流包数占总流包数的比例,其表达式为:
其中,spairfolw表示交互流对数,spackets表示总流包数,所述的交互流指源地址与目的地址交叉相等且使用相同的协议。
9.根据权利要求5所述的一种基于改进k近邻算法的sdn下ddos攻击的检测防御系统,其特征在于,步骤s3中计算与目标点的距离为詹森-香农散度,其计算式为:
其中,p和q均表示七元组特征序列,j对应七元组相应的特征维数。
10.根据权利要求2或8所述的一种基于改进k近邻算法的sdn下ddos攻击的检测防御系统,其特征在于,所述的时间间隔t的取值为3s。