第2章 SDN/NFV环境中的安全问题
1.架构安全
SDN强调了控制平面的集中化,从架构上颠覆了原有的网络管理,所以SDN的架构安全就是首先要解决的问题。例如,SDN实现中网络控制器相关的安全问题。
1.1 SDN架构的安全综述
从网络安全的角度,SDN带来了网络架构的革新,也引入了新的安全威胁和挑战。从架构层面来看,新引入的SDN控制器由于逻辑集中的特点,自然易成为攻击的对象;开放的API接口也使应用层的安全威胁将扩散到控制层,进一步威胁到基础设施层承载的用户业务;SDN控制层和基础设施层之间新引入的协议,如OpenFlow协议及其实现,需要经过长期的安全评测;在基础设施层,SDN交换机在控制器的控制下完成流转发,SDN数据流也可能面临由南向协议、控制层相关的安全问题导致的威胁。
1.2 集中控制平面:SDN引入的新问题
控制器承载着网络环境中的所有控制功能,其安全性直接关系着网络服务的可用性、可靠性和数据安全性。攻击者一旦成功实施了对控制器的攻击,将造成网络服务的大面积瘫痪,影响控制器覆盖的整个网络范围。同时,控制器具有全局视野,它从各交换机收集了全局拓扑,甚至全局流信息。
脆弱的SDN控制器的具体安全风险如下。
- 可通过流的重定向使流绕过安全策略所要求的安全机制,从而使安全机制失效。
- 如DNS查询被破坏,使业务流无法建立;只通过SDN控制器就可改变流转发路径,将大量的数据流发往被攻击节点;
- 中间人攻击,非安全的控制通道容易受到中间人攻击。
- 流的完整性被破坏,如插入恶意代码。
因此,控制平面的安全是SDN安全首先要解决的问题。下面从针对控制器的主要威胁入手,分析它们的威胁方式、影响及相应的解决对策。
攻击者利用控制器安全漏洞或南向协议(如OpenFlow)实施拒绝服务攻击
当数据包到达SDN交换机时,交换机对包的处理流程如下图所示。当包不匹配所有流表中的所有流表项时,交换机将包通过与控制器间的安全信道转发给控制器处理;当匹配了任一条流表项时,则检测流表项中的actions字段,根据该字段中指定的操作动作,对此包进行相应处理。这个处理流程,使得通过数据平面对控制平面的控制器进行攻击成为可能。