软件定义网络(SDN,software-defined networking)将传统网络控制平面与转发平面分离,形成集中式的控制器,开放了网络编程接口,简化网络管理,促进网络创新,优化网络运行。然而,SDN的“三层两接口” 架构增加了网络攻击表面,导致诸多新的安全问题。首先,介绍 SDN 发展、特点及其工作原理,继而从应用层、北向接口、控制层、南向接口、数据层等5个层次归纳存在的安全问题,分析产生的原因;其次,针对各类安全问题讨论最新研究进展及现有解决方案;最后,总结SDN当前和未来的安全挑战,并展望未来SDN安全发展方向。