论文部分内容阅读
现阶段,随着物联网、云计算、虚拟化以及移动互联网等网络技术的兴起和发展,传统的网络架构越来越难以满足企业、学校、运营商和事业机关等对网络带宽,网络性能以及网络服务多样化的需求。软件定义网络(Software Defined Networking,SDN)作为一种新兴的网络架构逐步从学术领域走向了商业领域,成为了这一时期网络发展的趋势和潮流。SDN技术将网络的控制平面与数据平面分离,以SDN控制器的方式集中化的控制整个网络,同时给予SDN交换机可编程性。SDN技术在方便对网络的管理控制,提供多样化的网络服务的同时,也引发了一些安全性问题。传统网络环境下的入侵检测系统(Intrusion Detection System, IDS)已经发展成熟,但是能否应用和如何应用在SDN环境下是本文的研究重点。头部空间分析(Header SpaceAnalysis, HSA)是由斯坦福大学在2012年提出的用于网络状态检测和建模的与协议无关的分析框架。HSA主要用来帮助网络管理员静态的分析网络状态,检测网络故障以及保障不同用户间的流量隔离等。HSA的思想最初来源于Lakshman和Stiliadis在1998年SIGCOMM上发表的一篇论文。这篇论文提出了使用多维几何空间的方法对数据包进行分类的想法。在2013年,斯坦福大学的一个实验室基于HSA提出了用于SDN网络的实时策略检测工具NetPlumber。这个工具可以实时的检测网络故障,解决SDN网络的可达性问题和环路问题。在2014年,SIGCOMM上的一篇文章提出了基于HSA的防火墙FLOWGUARD。本文也利用HSA在网络状态分析中的优势,提出了基于HSA的入侵检测系统。由于SDN环境集中化控制的特点,在SDN网络中不需要像传统网络一样部署多个网络入侵检测系统来检测网络各个部分的流量。SDN控制器能够集中化的控制整个网络,并将网络中各个交换机的流量信息以tap或PACKET_IN的形式发送给入侵检测系统进行检测。由于SDN交换机的可编程性,SDN交换机的行为和功能已经远远超过了传统交换机的能力。SDN交换机行为的不确定性和动态性给网络维护人员带来了极大的困难。本文不仅利用SDN控制器集中化控制的优势,而且应用HSA对SDN网络环境的分析来追踪异常流量;既简化了传统网络入侵检测系统的部署,也借助了SDN网络的可编程性特点帮助维护人员追踪异常流量的来源。综上所述,本文针对SDN网络环境控制集中化和网络可编程性的特点提出了基于HSA的入侵检测系统。本文提出的入侵检测系统能够在发现异常流量的同时,分析出异常流量进入网络的位置,并从源头阻止异常流量进入网络。本文提出的基于HSA的入侵检测系统由五个模块组成:SDN控制器,Agent代理,HSA计算,入侵检测,数据包拦截。SDN控制器为入侵检测系统提供网络流量镜像,控制和管理整个SDN网络,并在网络拓扑结构变化时通知Agent代理。Agent代理将获取到的拓扑信息和流表信息发送给HSA计算模块。HSA计算模块分析检测到的异常数据包的来源并通知数据包拦截模块拦截。本文使用Floodlight作为SDN控制器,Snort作为入侵检测模块,实现了Agent代理模块,HSA计算模块和数据包拦截模块,并对整个入侵检测系统进行性能和可扩展性进行评估。实验结果显示在SDN网络中有12000个OpenFlow交换机时,HSA计算模块的正向追踪算法平均能在2秒内完成,反向追踪算法平均能在0.5秒内完成,实验表明本文提出的基于HSA的入侵检测系统适合应用在大规模交换机、控制器等网络设备组成的复杂网络环境中,具有较高的性能和可扩展性。