贾 锟 ,王君楠 ,刘 峰
1 中国科学院大学网络空间安全学院 北京 中国 100093
2 中国科学院信息工程研究所 北京 中国 100093
软件定义网络(Software-defined Network,SDN)是一种新型的网络架构,旨在协助网络运营商更好地管理基础设施。基于这个目标,SDN 构建了一个中心化的结构,赋予控制器全局视角,使其得以动态化地管理旗下所有交换机。通过软件编程的形式,控制器可以快速定义和控制路由规则、设置网络拓扑、安装网络应用等。鉴于其良好的可编程性和全局性,SDN 被广泛应用于具有大量服务设施,需要统一配置管理的环境,如云端,医院和学校。但是其中心化的架构在网络攻击面前又极其脆弱。一旦核心控制器被攻陷,整个SDN 网络都会崩塌[1]。针对这种架构最常见的攻击手段就是分布式拒绝服务攻击(Distributed Denial of Service,DDoS)。
传统DDoS 一般由攻击者控制的僵尸网络发起。大量受控终端,通过向指定受害者发送泛洪式地应用请求,消耗目标的带宽和计算资源,迫使目标服务器停止正常的应用服务。如果目标位于SDN 架构,带宽耗尽时,同链路的其他服务器也会受到影响。
除了传统的 DDoS,研究人员也发现了针对SDN 本身的新型DDoS 攻击手法,如针对控制器中心架构的Packet-In 泛洪攻击[2],针对交换机的流表溢出攻击[2],针对流表计时器的慢速DoS 攻击[3]及针对南向通道的CrossPath 攻击[4]等。
为了缓解这些问题,研究人员提出了大量方案,包括基于异常检测的方案[5-9],基于架构革新的方案[10-11]和基于负载均衡的方案[12-13]等。SDN 独有的可编程特性和全局视角使得这些方案能够快速地实现和应用。……