论文部分内容阅读
软件定义网络(Software Defined Network,SDN)与封闭且集成的传统网络不同,SDN有开放且易编程的优势,在网络发展越来越多元化的时代,SDN成为了未来网络发展的主要趋势。SDN中控制平面与数据平面实现解耦,控制器在网络中实现集中控制,由于控制器在SDN中发挥着极其重要的功能,网络攻击者对控制器的攻击更加猖獗,在分布式拒绝服务(Distributed Denial of Service,DDoS)攻击中,攻击者通过控制僵尸网络,使其对受害者进行资源消耗,最终使受害者无法为其正常用户提供服务,一旦SDN中的控制器受到攻击,整个网络极易面临崩溃,故在SDN中对DDoS攻击的防御至关重要。在SDN下,本文针对DDoS攻击分为攻击检测和防御两部分进行研究。本文在SDN网络下的DDoS攻击检测研究中,提出了随机森林(Random Forest,RF)、支持向量机(Support Vector Machines,SVM)和增量学习(Incremental Learning,IL)三种模型融合的RF-SVM-IL检测模型,该模型分为RF-SVM双层检测模块和增量学习样本筛选模块。在提高检测精度方面,RF-SVM模块首先利用随机森林高度并行处理大规模数据的优势,对攻击数据初步检测,与此同时为了避免样本在SVM中出现误分类情况,计算样本的Mmargin()x值并对其进行降序排列,淘汰Mmargin()x值较小的样本后将其他数据输入至SVM中进行二次检测,并且使用粒子群算法对SVM的两个参数进行优化。在提高检测速率方面,由于网络承受的攻击数据量持续增加,增量学习样本筛选模块根据样本的正、负支持向量相似度对新增样本进行筛选,增加了整个检测模型的动态适应性,并且通过减少模型处理的数据量实现检测时间的缩短。针对DDoS攻击普遍有流量大、流速高的显著特点,根据RF-SVM-IL模块的检测结果,本文提出了自适应端口限速和流量清洗两种防御方式。本文使用s Flow(sample Flow)流量监测工具对网络中的端口进行检测,实时观察端口是否受到攻击。针对数据包发送速率高的攻击,使用指令操作和meter表对受害端口进行流量限速,主要通过指数加权移动平均值(Exponentially Weighted Moving-Average,EWMA)算法对正常、攻击数据的流速进行预测,从而计算自适应限速阈值;针对数据包尺寸较大的攻击,使用Openflow流表的优先级-动作匹配机制以及Ov S指令进行流量清洗。在实验过程中,使用检测精度、检测时间等五种性能指标衡量多种机器学习融合的检测模型,实验结果证明本文提出的RF-SVM-IL可以实现高精度、用时短的攻击检测,并将其植入控制器中实现实时检测。根据检测结果调用流量清洗或自适应端口限速的防御方案,实验证明,本文提出的模型可在SDN网络下达到较好的DDoS攻击防御效果。