立即咨询在线客服

计算机

您现在的位置: > 论文欣赏 > 计算机 >

基于软件定义网络的DDoS 攻击检测方法及其应用研究

  1 概述
  分布式拒绝服务攻击( Distributed Denial of Service,DDoS) 通过控制多台主机向受害主机发送大量数据包,使得受害机的资源被过度消耗而无法正常提供服务,其发起简单、破坏性强且难以检测和防御。传统的攻击检测系统根据标志位、端口号等特征或者比较标准库的参数来检测DDoS 攻击,而这种方式对于攻击手段多样的DDoS 攻击没有很好的效果,且具有很大的局限性。通过引入机器学习算法,使得系统自身具有自适应攻击环境的功能,并通过训练不断提高系统的检测性能。文献根据DDoS 攻击流量大、多对一映射的特点,定义了流特征条件熵( Traffic Feature Conditional Entropy,TFCE) 的概念,提出基于TFCE 的DDoS 检测方法,检测率高、误报率低。随着新型网络体系架构的研究日趋增加,有关安全技术方面的研究也不断出现。2008 年,由McKeown 教授担任负责人的项目组提出了采用控制和转发分离架构的Openflow 技术。随着该技术的推广和研究,软件定义网络( Software DefinedNetwork,SDN) 被提出,其最初主要是作为一个学术研究方向,但近年来被越来越多地部署在产品系统中。
  随着SDN 在网络领域的广泛应用,研究人员对其网络安全方面也进行了大量研究。文献通过提取流统计信息中与DDoS 攻击相关的六元组特征,采用人工神经网络方法识别DDoS 攻击。文献研究了多种传统的流量异常检测方法在SDN 中的应用。文献使用sFlow 和OpenFlow 协议收集流量信息,减轻了对控制器CPU 的消耗。文献提出一种基于SDN 的在线流量异常检测方法( OpenTAD) ,即组合整个网络的流量矩阵和样本熵矩阵,并采用主成分分析方法检测异常流量。相比于传统网络,基于软件定义网络的安全检测方法通过获取全网信息进行攻击检测和缓解,其实现和处理方式更简单有效,但是以上方法采用的流量特征数据较为单一,仅针对某种或某些特定的异常数据。基于以上分析,本文提出一种基于软件定义网络的DDoS 检测方法,即流表特征检测方法。该方法通过分析DDoS 攻击特点和OpenFlow 技术,构造全局网络流表特征值,使其更加全面高效地反映攻击行为,并利用支持向量机( Support Vector Machine, SVM) 分类算法检测攻击。
  2 检测算法设计及其性能分析
  2. 1 检测算法
  2. 1. 1 流表项特征值
  根据OpenFlow 协议,交换机的流表是数据包的转发依据,每个流表由多个流表项组成。流表项代表数据转发的规则,主要包括匹配域、操作、计数器等。其中,匹配域包括2 层~ 4 层的大部分标记,用于匹配数据包,从而在转发数据包时使用丰富的规则; 操作表明对匹配成功的数据包执行的动作,例如转发到某个端口、丢包、修改包头信息等; 计数器用于统计数据流的基本信息,包括匹配该流表项的数据包数、比特数等。
  DDoS 攻击者可以任意伪造报文,并且攻击方式是多样的,但是大多数攻击流量具有一定规律。因此,通过获取流表项信息,可以分析单位时间内网络
  ( 1) 流表平均包数。分析发现攻击流的平均数据包数目异于正常流,例如源IP 地址欺骗会随机生成大批假冒IP,这一特性使得攻击源IP 地址发到受害主机的数据包数目减少。
  ( 2) 流表平均比特数。一些攻击流的平均比特数较高,而某些攻击通过减少包负载,高效发送数据包,从而降低流的平均比特数。
  ( 3) 流表项速率。当产生攻击时,将增加网络中针对特定主机的请求,导致有关该主机的流表项数目在固定时间内也有所增加,因此,可以通过流表项速率表征攻击属性。
  ( 4) 流表特征熵。DDoS 攻击通过分散攻击源对目标发起攻击,造成攻击流量中的源地址、源端口和目的地址呈现多对一的映射,而正常流量有一对多、一对一、多对一的映射形式。
  合法用户在一定时间段内请求的服务比较固定,而攻击者为了快速地消耗目标资源,通常会向受害主机请求尽可能多的服务或是对单一服务在单位时间内发送大量数据包。此时,源地址、目的端口和目的地址之间存在的映射关系异于正常状态。
  2. 1. 2 分类算法
  若把攻击检测看作一个分类问题,即对给定数据进行分类,判断当下网络状态是正常或异常。攻击检测的基本处理流程为: 选择合适的网络流特征抽象为一组样本序列,并赋予样本序列标记{ 正常,异常} ,标记取值集合分别代表网络的2 种状态。选择适当的机器学习算法根据特征样本序列构建检测模型,使用模型对未标记的特征样本进行分类。支持向量机是建立在统计学习理论基础上的学习方法,将非线性可分的样本集映射到一个高维乃至无穷维的特征空间中使其线性可分,并在此高维特征空间中求最优分类面。通过引入核函数有效解决高维映射引起的维数灾难问题,增强处理高维小样本数据的能力,将SVM 应用于DDoS 攻击检测,具有较好的正确率。
  3 结束语
  本文设计了一种基于软件定义网络的DDoS 攻击检测方法,通过分析DDoS 攻击的特性和OpenFlow 交换机中的流表项,并结合SVM 的分类方法,构建针对目的地址的流表特征值,检测DDoS 攻击。实验结果表明,该方法具有较好的综合检测性能。同时,通过在软件定义网络环境中的部署,实现离线训练、在线检测的攻击检测应用,验证了该方法的有效性。在今后研究中,可以进一步结合攻击检测和攻击缓解以实现立体化的攻击防御。