软件定义网络安全研究综述

2022-07-18 00:08徐丽刘畅李思照
计算机与网络 2022年10期
关键词:软件定义网络网络安全

徐丽 刘畅 李思照

摘要:软件定义网络(SDN)是一种新型的网络架构,其利用OpenFlow协议实现了控制层与数据层的高度离散化,提高了网络流量控制的灵敏性,为互联网变革提供了新的研究方向。然而,随着SDN的广泛应用,其安全问题逐渐制约着SDN技术的发展。旨在介绍SDN架构的发展背景及现状,并简要分析其内部结构及工作原理;对SDN基于传统网络的安全优势进行简要阐述;根据其各层特点详细分析可能存在的安全问题,并对未来网络的安全研究方向做出展望。

关键词:软件定义网络;网络虚拟化;OpenFlow;网络安全

中图分类号:TP393文献标志码:A文章编号:1008-1739(2022)10-54-6

第一代互联网起源于1969年的军用网络ARPANET(The Advanced Research Projects Agency Network),发展到现在融入到寻常百姓家的民用网络。随着网络规模的与时俱进,用户对于网络的需求也水涨船高,传统网络因其不可扩展与管理的局限性而愈加无法满足用户需求[1]。

因此,在国内外研究人员大力推进关于未来互联网的应用发展时,软件定义网络(SDN)架构的概念应时而生。它是一种崭新的网络体系架构,体现了网络虚拟化的特点[2]。此架构设计的核心理念在于通过转发、控制相分离的技术方式,提高网络数据的传输速度以及增强网络的可扩展性、可靠性等关键指标。引入控制层后,从交换机中提取出一些复杂的控制逻辑能力(如网络报文转发等)的同时,有效保障了网络报文转发及控制处理的可編程性,从而加强网络功能的可延伸性并且优化了架构的可靠性。

在控制层与转发层之间,SDN将OpenFlow协议引入架构中。在控制层中,控制器会借此协议将每一个数据转发规则转变为流表,下发至各个交换设备[3],使其控制器与交换设备上的功能分离。

1.1 SDN概念及架构

SDN是理论创新型的网络体系框架,由美国斯坦福大学clean-slate探讨组首先提出,旨在实现Ethane[5]项目中的集中安全控制,由Mckeown于2009年正式提出与发展[4],并广泛应用在许多网络研究项目中,进而逐步形成了SDN与OpenFlow的核心理念:利用转发层与控制层两层面之间的规范化来实现网络应用功能的开放化与可编程化[6],使得其网络内的应用具有可扩展且高效率的特性,激发了网络技术与应用的创新性发展动力。

SDN架构示意[7]如图1所示,自底向上:数据层中含有若干网络转发设备,它们会依照上层控制器提供的流规则来执行相应指令操作。“南向接口”位于控制器与网络设备之间,主要负责转发控制层与数据层之间的通信数据流;而在控制层中,控制器常用于应用软件进行底层网络设备的聚合,并笼统出一个整体网络视图,其具有逻辑集中性;“北向接口”是介于控制器与业务应用的接口界面,控制器会根据整体视图,通过接口将资源分配给上层应用[8];在应用层,业务应用加载由下层控制器调用的资源得以运行,从而达到SDN控制器对于资源的整体控制。

1.2 OpenFlow

OpenFlow是SDN整体框架中广泛使用的接口协议,其作为基于OpenFlow的交换机与SDN控制器的通信媒介,具有优良的灵活性、规范性,因此目前基于OpenFlow的安全系统研究数不胜数,OpenFlow早已与主流通信协议不分伯仲,并成为了现今互联网的通信标准[9]。

OpenFlow协议与控制器Controller通信交互如图2所示。传统网络中报文转发功能仅由交换机或路由器一方完成,现由双方共同完成。其秉承简便性、可扩展性、高效性的基本设计理念,并对一些基本操作进行了高能更新,实现了控制层对底层网络设备的精准把控。

SDN的控制层可通过OpenFlow协议建立与底层网络设备的通信与控制,以此对不同类型的流量分类处理,实现了交换机与控制器之间的数据互联。在二者连通过程中,OpenFlow限制了每个底层设备的流量报文需通过一个流表来处理,因此需要维系这个流表来形成一条流水线,实现网络报文的匹配与转发[10],而控制器可完美实现下发规则与流表的生成及维护[11]。

一个流表包含了若干个流表项,其中每一项囊括了优先级、匹配域和处理指令等基本信息,当报文与表中的流表项相匹配时,流表会执行与表项相关的处理指令。基本情况下的处理指令为入队、出队、转发、舍弃、添加/删除标签等[12],而在特殊情况下的处理指令包括网络地址转换(NAT)、封装安全负载(ESP)协议加密等。而流表项并不是一成不变的,控制器会添加未在表中的流表项,也会适当对其进行删除或修改,从而实现灵活控制网络流的目的。

随着SDN在现实中的应用与推广,传统网络在给人们带来便利的同时,其扩展性弱、灵活性差的局限性成为了自身发展的掣肘[13],很难满足当今用户的网络需求。SDN架构的优势显而易见,正因如此,SDN的发展愈发迅速,使得SDN技术在网络领域内产生的影响史无前例[14]。与传统网络相比具有很多功能优势,但其作为新型网络架构,安全问题不可忽视,这已然成为SDN发展中急需解决的技术与应用问题。结合SDN各层的结构特点,本节介绍其各层存在的安全隐患。

2.1应用层

应用层主要包含了各种SDN网络应用,相关运维人员可进行架构安全程序编程或利用其他程序设计基于应用层的网络安全策略[15],它最终决定网络架构的正常运行,不可或缺。在业务应用与下层控制器进行交互时,可按制定好的策略将其解析为流规则,并传送到底层网络设备执行对应操作来保障架构的正常运行。应用层恶意攻击威胁如图3所示。尽管OpenFlow协议具备一些对于流规则的安全检测算法[16],由图3可知,在此架构中,当北向接口未被破坏或软件自身未受到恶意攻击时,这类算法会对架构进行一定的保护,却无法防御DDoS攻击,因此导致上述部分遭到攻击与破坏,将会产生不可逆转的严重后果。

由于底层设备无条件执行本层或上层制定的策略与流规则,所以网络设备可能会无条件地执行因配置不当或受到恶意攻击而产生的错误策略,对整个网络架构带来不可逆转的伤害。而且,应用层本身尚不具有完善的安全性保护机制。SDN应用层与控制层之间的数据交互需利用应用软件中的应用服务作为沟通的桥梁,而应用层中的网络资源可被应用服务随意调用,不受任何限制。迄今为止,软件自身并不具备安全策略,也没有建立有效的安全机制[17],严重威胁到应用层与控制层的安全。因此,如何设计高效可用的安全策略与机制亟待研究。

综上,对于应用层,以下安全威胁需注意:SDN架构中的应用程序漏洞[18]、身份识别与权限异常威胁、恶意攻击与软件配置不健全等安全威胁[19]。

2.2控制层

在SDN的控制层中,为上层业务分配网络资源,对下层网络设备的集中管理控制,都需要控制器的参与[20]。控制器具有以下功能:网络资源处理,网络拓扑与状态信息的查看与维护等。因此,SDN的功能需要控制器的把控,在整个架构中具有承前启后的作用。而在网络应用认证方面,控制层只是对确认安全的应用授予对应的访问权限与资源[21-22],却无法对其分配资源进行分类与限制,因此控制层中存在与应用配置相关的具体网络威胁如图4所示,若控制器出现故障,会导致无法使用网络中的基本功能(策略制定、流表项分配等),致使全局架构无法正常运转,会引发更加严重的网络安全问题(例如DoS/DDoS攻击等)。

因此,控制层中可能存在的安全问题归结为:控制器配置相关的网络威胁、网络体系不健全[23]、易受DoS/DDoS网络攻击等。

2.3數据层

SDN架构中,数据层与控制层之间的安全密不可分。文献[24]指出,数据层类似于SDN的“肢体”,当控制层受到恶意攻击时,数据层内部也随之出现异常,从而使数据层与控制层无法正常连接,数据层会体现为离线状态[25]。具体异常体现为:控制层故障或者交换机不能收到来自控制器的转发信息。攻击者通常扫描2层之间连接中存在的安全漏洞和薄弱节点,因此交换机与相连主机往往被视为脆弱目标对其进行恶意攻击。

另外,攻击者会攻击特定的服务协议进行数据拦截,并将攻击者所属的有害数据流作为原流量传输至目标机,从而妨碍最初的流量传输,实现对于目标机的量欺骗,效果如图5所示。原始的OpenFlow通过引入TLS协议建立认证加密机制保障传输层安全[26]和数据层安全[27],以此确保控制层和路由器之间的通信安全。但TLS协议交错复杂,易受攻击,因此攻击者可攻击此协议对相关服务形成威胁。文献[28]证明了与传统网络相比,基于OpenFlow协议的连接易遭受中间人攻击。因此,控制层和数据层之间的连接常被作为攻击目标。数据层中存在DoS、数据泄露、脆弱节点易受攻击等安全隐患。

从整体架构来看,存在的安全风险可总结为:应用授权与认证、架构中存在脆弱节点、数据异常、SDN配置缺陷与自身故障等[29]。

本节对SDN架构在各个层面的特点与每层存在的安全问题进行了综合与探讨,并提出相应的解决方案。

3.1应用层方案

基于SDN的应用授权认证安全问题,制定一套高效的授权认证机制可大大避免此类安全问题的出现。例如,在部署架构安全的过程中,建立一套完整的拒绝非法主机连接的授权认证机制;也可以在SDN的应用层与控制层之间配置安全模块来进行授权与认证,完善下层控制器的安全功能,进而提高架构整体的安全防御。

鉴于数据安全异常,除了完善SDN架构的授权认证安全功能之外,可制定出较为完备的安全防护方案。例如,Parros等[30]在Floodlight控制器的技术基础上增加了一套授权管理与安全审计系统,并且对之加以改造后形成了SE-Floodlight控制器,不仅提高了SDN南向接口的交互安全水平,而且降低了北向接口中流量数据篡改与泄露的风险。

3.2控制层方案

要确保控制层的安全,可以根据程序的功能对其进行权限分配,以实现对恶意程序的控制。基于控制层中存在的安全威胁,一种预防应用程序对控制层的攻击问题出现的控制器随之出现———SE-Floodlight控制器,它是在Floodlight控制器的基础之上[31],添加了一个可编程的北向API安全中间件来分配功能权限;并且设计了一种基于OpenFlow协议的验证机制与一套审计子系统。前者应用在程序运行过程中对生成的流规则验证其完整性,后者可检索并追溯所有已发生的安全事件。为了解决授权角色的应用权限冲突,SE-Floodlight通过比较出现此类问题角色的权重,来赋予权重较大的授权角色的应用权限。

对于控制层中存在的拒绝服务攻击(DoS/DDoS攻击),针对数据流行为和OpenFlow交换机中的流量统计进行信息分析,可有效避免此类攻击,并且与其他控制器相比,流量统计信息易于获取,成本低。此外,文献[32]提到了一种基于自组织映射(SOM)的DDoS攻击检测方法,其利用了一个既定的人工神经网络的多维数据,将其映射成一幅二维图,之后利用此二维图对数据流使用拓扑排序,将统计特征相似的流数据进行采集[35]。通过进一步训练、分析,可精准分析流量是否具有攻击性。

3.3数据层方案

如今的恶意软件及程序在互联网上层出不穷,会篡改数据传输路线上的流规则,因此对于本层来说,安全措施的设计涉及应用软件安装过程是否安全,尤其要严谨对待可能发生数据流规则改变的应用程序的授权与身份认证行为。因此,基于OpenFlow控制器的FortNox平台,对每一条流规则都会进行检查,并可以在流规则发生改变前对OpenFlow应用程序进行授权与身份验证,既保证了实时性又具备高效性,从而完善数据层安全机制。

基于数据层中可能出现的SDN拒绝服务(DoS)安全问题,可在底层应用中配置连接转移模块,在网络操作的过程中保存有效连接,摒弃无效连接,并将其传入控制层,从而保证了网络状态的实时监测。文献[33]指出,一个网络规划合理且充分,既会带动OpenFlow交换机与控制器之间的连通性,又能强化交换机自身的延展性。而文献[34]验证了二者之间的路径越长,连接时产生的丢包损耗也会增加。因此,在设置网络时,要缩短控制器和交换机之间的间隔,这不仅可以减小连接时产生的损耗,而且能提高极端条件下的系统性能,从而提高了安全分析效率。对于架构自身的配置缺陷,可诉诸于动态检查应用安全策略、建立身份验证机制等方法,提升SDN的安全防御能力。

虽然SDN作为新型网络架构,许多存在的安全隐患需要处理,但其具有的可编程性与全局性可以应用在传统网络的安全模块中,有利于解决存在其中的安全问题,例如在入侵检测系统(IDS)[35]和入侵防御系统(IPS)[36]中,二者兼备的流量分析检测模块就是利用SDN的可编程性对传统网络中的恶意攻击加以阻止,learning-IDS[37]则是利用SDN架构结合自身功能优势来防御网络攻击;文献[38]体现了利用SDN增强入侵检测的优势。而SDN架构亦可利用自身独有的可编程性,将传统网络中的模块并入其中。例如属于SDN的Slick架构[39]将传统网络中的中间盒模块并入其中,控制器可通过下层应用程序为其配置中间盒,实现流量的重定向分析来维护架构中的网络安全。

归根结底,解决SDN架构中可能出现的安全问题,关键在于增强SDN控制器的魯棒性。通过应用软件提高控制器对可疑流量的监控、定位与识别,修补架构中的易受攻击点,从而提高架构鲁棒性。例如提取、比对流量的特征值,锁定特征值异于预设的流量,从而防御来自网络外部的拒绝服务攻击的NOX控制器[31];OpenSAFE[40]通过双向认证机制,实现对数据流量的监控;当OpenFlow控制器使用虚拟IP地址池为拓扑中的所有设备分配虚拟IP地址时,对外部屏蔽真实IP地址,有效避免了自身脆弱节点遭受来自外部的扫描攻击。

综上所述,根据系统安全管理思想和入侵检测等相关安全知识,确立基于网络安全强化机制的SDN控制器的研究方向势在必行。

由于SDN技术有效填补了传统网络在可扩展性、灵活性弱等方面的技术空白,在云计算、云智能等新兴网络应用中的地位水涨船高。但在SDN技术发展初期,因高度重视其性能发挥,而缺乏安全方面的维护,使SDN产生了较多安全隐患。本文重点分析了SDN架构各层次特点及相较于传统网络的发展优势,并借此分析各层中可能存在的安全问题,提出了相应的安全解决方案。最后对SDN的未来安全研究方向做出了展望。

[1] MCKEOWN N,ANDERSON T,BALAKRISHNAN H,et al. OpenFlow: Enabling Innovation in Campus Networks[J]. ACM SIGGOMM Computer Communication Review, 2008,38(2):69-74.

[2]张政.SDN在主机虚拟化环境中的应用研究[J].科技创新与应用,2017(16):97-98.

[3]李泰新.基于智慧协同网络的空间网络建模及资源适配方法研究[D].北京:北京交通大学, 2018.

[4]王歆平,王茜,刘恩慧,等.基于SDN的按需智能路由系统研究与验证[J].电信科学, 2014, 30(4):8-14.

[5] CASADO M, FREEDMAN M J, PETTIT J, et al. Ethane: Taking Control of the Enterprise[J].Computer Communication Review, 2007, 37(4): 1-12.

[6] DONG S,JAIN R,ABBAS K.A Survey on Distributed Denial of Service (DDoS) Attacks in SDN and Cloud Computing Environments[J].IEEE Access, 2019,7:80813-80828.

[7]王蒙蒙,刘建伟,陈杰,等.软件定义网络:安全模型、机制及研究进展[J].软件学报, 2016, 27(4):969-992.

[8]邱翔,王宇.基于OpenFlow的SDN架构研究与仿真分析[J].电子科技, 2016, 29(12):85-88.

[9]董风雷,秦存强.基于OpenFlow与sFlow的DDoS攻击防御方法[J].无线电工程, 2019, 49(4):282-287.

[10]郁峰.软件定义网络架构下的安全问题综述[J].现代计算机(专业版),2014(24):13-20.

[11]李晶林.OpenFlow网络中的流表表项处理方法及设备:浙江,CN104348727A[P].2013.

[12]宛考,罗雪峰,江勇,等.软件定义网络系统中面向流的调度算法[J].计算机学报, 2016, 39(6):1208-1223.

[13]张朝昆,崔勇,翯翯唐,等.软件定义网络(SDN)研究进展[J].软件学报, 2015, 26(1):62-81.

[14]任高明.软件定义网络研究综述[J].信息与电脑(理论版), 2020,32(4):167-169.

[15]郑毅,华一强,何晓峰. SDN的特征、发展现状及趋势[C]//中国通信学会信息通信网络技术委员会2013年年会论文集.呼和浩特:中国通信学会信息通信网络技术委员, 2013:147-148.

[16]王涛,陈鸿昶,程国振.软件定义网络及安全防御技术研究[J].通信学报,2017,38(11):133-160.

[17] KREUTZ D , RAMOS F , VERISSIMO P . Towards Secure and Dependable Software-defined Networks[C]//Acm Sigcomm Workshop on Hot Topics in Software Defined Networking.New York:ACM, 2013:55-59.

[18] LEE S , YOON C , LEE C,et al.DELTA: A Security Assessment Framework for Software-defined Networks[C]//Network and Distributed System Security Symposium. San Diego:NDSS, 2017:3-7.

[19]白保琦.软件定义网络及安全防御技术探讨[J].网络安全技术与应用, 2019(7):26-27.

[20]胡涛.软件定义网络中多控制器负载均衡技术研究[D].郑州:战略支援部队信息工程大学,2015.

[21]于洋,王之梁,毕军,等.软件定义网络中北向接口语言综述[J].软件学报, 2016, 27(4):993-1008.

[22] NADEAU T , Pan P . Software Driven Networks Problem Statement[J]. Psychological Science ,2014,25(9):1682-1690.

[23]何占博,王穎,刘军.我国网络安全等级保护现状与2.0标准体系研究[J].信息技术与网络安全,2019,38(3):9-14.

[24] Shin S , Yegneswaran V , Porras P , et al. AVANT-GUARD: Scalable and Vigilant Switch Flow Management in Software-defined Networks[C]//ACM SIGSAC Conference on Computer & Communications Security. New York:ACM, 2013:413-424.

[25] TENNENHOUSE D L,SMITH J M,SINCOSKILE W D,et al A Survey of Active Network Research[J].IEEE Communications Magazine,1997,35(1):80-86.

[26] SCOTT-HAYWARD S,Kane C,Sezer S.Operation Checkpoint:SDN Application Control[C]// 2014 IEEE 22nd International Conference on Network Protocols. Raleigh: IEEE, 2014:618-623.

[27] OKTIAN Y E , LEE S G , LEE H J , et al. Secure your Northbound SDNAPI[C]// Seventh International Conference on Ubiquitous & Future Networks. Sapporo:IEEE, 2015: 919-920.

[28] FERGUSON A D , GUHA A , CHEN L, et al.Participatory Networking:An API for Application Control in SDNs [C]// To Appear in ACM SIGCOMM 2013.New York:ACM, 2013:78-81.

[29]刘扬.关于构建网络信息安全防护体系的研究———基于数据价值视角的大数据监管系统建设的思考[J].信息通信技术与政策,2019(2):52-56.

[30] XI C , GUO D , MA W , et al. FloodSight: A Visual-Aided Floodlight Controller Ext-ension for SDN Networks[C] // International Symposium on Smart Graphics.Cham:Springer, 2015:711-716.

[31] BRAGA R,MOTA E,PASSITO A.Lightweight DDoS flooding Attack Detection Using NOX/OpenFlow[C]//The 35th Annual IEEE Conference on Local Computer Networks. Denver:IEEE,2010:408-415.

[32] KOHONEN T . The Self-organizing Map.Elsevier[J]. Neurocomputing,1998, 21(1-3):1-6.

[33]董仕.軟件定义网络安全问题研究综述[J].计算机科学, 2021,48(3):295-306.

[34] YING Z , BEHESHTI N , TATIPAMULA M .On Resilience of Split-architecture Networks[C]//Global Communications Conference. Houston: IEEE, 2011:1-6.

[35] Depren O , Topallar M , Anarim E , et al. An Intelligent Intrusion DetectionSystem (IDS) for Anomaly and Misuse Detection in Computer Networks[J].Expert Systems with Applications,2005, 29(4):713-722.

[36] XING T, HUANG D, XU L, et al. SnortFlow: A OpenFlow-Based Intrusion Prevention System in Cloud Environment[C]//Second GENI Research and Educational Experiment Workshop. New York:IEEE, 2013:89-92.

[37] SKOWYRA R , BAHARGAM S , BESTAVROS A. Software-Defined IDS for Securing Embedded Mobile Devices[C]//2013 IEEE High Performance Extreme Computing Conference (HPEC).Waltham:IEEE, 2013:1-7.

[38] SYED AKBAR MEHDI, JUNAID KHALID, SYED ALI KHAYAM. Revisiting Traffic Anomaly Detection Using Software Defined Networking[C] //Recent Advances in Intrusion Detection:Springer-Verlag, 2011:161-180.

[39] ANWER B , BENSON T , FEAMSTER N , et al. A Slick Control Plane for Network Middleboxes[C]//ACM Sigcomm Workshop on Hot Topics in Software Defined Networking. New York:ACM, 2013:147.

[40] BALLARD J R , RAE I , AKELLA A . Extensible and Scalable Network Monitoring Using OpenSAFE[C]//Internet Network Management Conference on Research on Enterprise Networking. San Jose: USENIX Association, 2010:120-127.

猜你喜欢
软件定义网络网络安全
云计算环境下网络安全等级保护的实现途径
全国多地联动2020年国家网络安全宣传周启动
新量子通信线路保障网络安全
全省教育行业网络安全培训班在武汉举办
保护个人信息安全,还看新法
中国联通SDN的思考和应用实例
业务功能链技术及其应用探析
针对大规模软件定义网络的子域划分及控制器部署方法
一种新的SDN架构下端到端网络主动测量机制
超高吞吐率Wi—Fi融合应用新技术分析