论文部分内容阅读
随着网络技术的蓬勃发展,网络规模不断扩大,全球网络接入设备数量已经达到了百亿量级。考虑到物联网设备的普及以及IPv6(Internet Protocol Version 6)的广泛部署,网络规模将迎来更为显著及快速的扩大,同时带来的DDoS(Distributed Denial of Service)拒绝服务攻击也将呈现出愈演愈烈的态势。传统网络中针对DDoS攻击的检测方法往往需要专业的硬件设备,而且由于缺乏全局网络视图,检测效率与准确率有待提高。SDN(Software-Defined Networking)作为一种新的网络架构,采用了控制平面与数据平面分离的技术,旨在为解决传统网络中的问题提供一种新的思路,近年来吸引了工业界和学术界的广泛关注,将来有望大规模部署。本文针对SDN网络架构场景,研究出了一套可以在多种DDoS攻击方式下被用于检测对应交换机上是否遭受攻击的流表特征,设计了一种基于深度学习的DDoS攻击检测算法,提出了基于多OpenFlow交换机信息的协同检测方法。论文的主要研究工作包括:(1)首先分析多种DDoS攻击方式下数据包和数据流层面的特点,研究这些特点对SDN网络中OpenFlow流表造成的影响。随后,提出一套更加全面、有效的流表特征,以及相应的特征提取算法,该流表特征可用于在可能存在多种DDoS攻击的情况下检测对应的OpenFlow交换机是否遭受攻击,并且适用于OpenFlow交换机中存在常驻流表项和控制器下发匹配IP掩码流表项的情况。(2)将DDoS攻击检测建模为有监督的二分类机器学习问题,设计了基于深度学习的DDoS攻击检测算法,该算法以所提流表特征为输入,输出为对应的交换机发生DDoS攻击的概率。由于检测独立使用每台交换机数据,该算法也称为基于单交换机的检测方法。之后详细讨论了激活函数、代价函数的选择以及如何应用正则化、应对过拟合,使算法具有检出率高、误警率低、检测耗时少的优点。(3)充分利用SDN网络全局视图优势,结合网络拓扑信息提炼出交换机关联特征,研究了关联特征的提取方式以及使用方法,进而设计出基于多交换机协同的DDoS检测方法。该方法综合利用单台交换机上的检测结果和多台交换机之间的关联特征,对基于单交换机的DDoS攻击检测方法进行优化,从而得到更加准确的检测结果。之后,本文构建SDN网络环境,对Floodlight控制器进行二次开发,使用theano和keras等工具实现机器学习算法,对所提DDoS检测方案开展实验。实验结果表明,与其他特征方案和检测方法相比,本文提出的检测特征和基于深度学习的检测方法对DDoS攻击检测具有良好的效果,协同检测方案对检测准确度有显著提升。