论文部分内容阅读
近年来,随着移动互联网、物联网行业的高速发展,云计算、大数据、人工智能成为如今的研究热点和重点研发方向,网络带宽压力越来越大的同时,网络流量的空间分布变得高度动态化,传统网络架构越来越难以满足用户对网络带宽、网络性能和网络服务的多样化需求。这也推进了软件定义网络(Software Defined Network,SDN)技术的发展,SDN的基本思想是控制与转发的分离,将传统的基于TCP/IP协议簇的网络架构解耦为转发层、控制层和应用层,实现逻辑上的网络集中控制与管理,可编程的网络控制特点极大地提高了网络管理的灵活性,目前在学术界引起了广泛关注。SDN虽然有效简化了网络管理过程,但是其可开放的可编程架构也为攻击者提供了便利,他们只需要通过软件编程的方式就可以轻易地对网络进行攻击,与此同时,集中化的控制模式使得SDN控制器更容易成为攻击的目标,相比传统网络架构,SDN控制器由于受到攻击而引发的网络安全问题威胁性更大,安全问题逐渐成为制约SDN发展的关键因素。由于SDN架构不仅要面临传统网络攻击的威胁,还要面临架构本身带来的安全问题,因此传统网络架构下的入侵检测系统(Intrusion Detection Systems,IDS)在SDN环境下的应用具有一定安全局限。基于上述问题,本文针对SDN环境下的入侵检测技术需求,利用SDN逻辑上集中控制的优势,设计了基于卷积神经网络的入侵检测模型,用以解决SDN环境中面临的入侵检测问题,本文所做具体工作包括:(1)入侵检测模型总体架构设计。研究SDN的架构及原理,针对其特殊的入侵检测需求,设计SDN环境下的入侵检测模型,包括数据采集、数据预处理、特征选择和检测四个模块。数据采集模块负责搜集数据集,包括流表项数据集和NSL-KDD数据集两部分;数据预处理模块负责对采集的数据进行数字化和标准化处理;特征选择模块负责筛选并合成新的特征向量;检测模块通过神经网络判断是否有入侵行为发生。(2)数据采集模块设计与实现。数据采集包括两部分,其一,针对SDN特有攻击,利用SDN控制器集中控制的优势,通过设计流表项采集模型,采集不同网络行为下的流表项,并形成数据集;其二,针对传统网络攻击,采用NSL-KDD数据集作为输入数据源。(3)特征筛选方法设计。在深度学习领域中,特征向量中的冗余特征会引起模型过于复杂、容易过拟合、计算资源浪费等问题,因此,特征工程是深度学习技术的重要组成部分。本文设计一种基于决策树和增益率的特征筛选方法,利用决策树剪枝和增益率对原始数据特征进行两次筛选,实现入侵检测模型的训练优化。(4)检测模块设计与实现。针对SDN环境下入侵检测的需求,设计一种基于卷积神经网络的入侵检测模块,该模型同时支持识别SDN特有攻击和传统网络攻击。从模型训练收敛速度和稳定性入手,优化卷积神经网络算法,并设计一种加强训练方法用以提升小样本数据检测准确率。