SDN网络安全规则及OpenFlow协议的安全分析

2016-06-16 08:53许明元
广东通信技术 2016年5期
关键词:安全控制攻击者交换机

[许明元]



SDN网络安全规则及OpenFlow协议的安全分析

[许明元]

摘要全球正在掀起一股SDN的热潮,主流运营商纷纷将目光投向这一市场,目前各大运营商已逐步开始部署SDN网络。SDN特定的网络架构及其可编程特性,为网络安全带来新的技术推动力。文章对SDN的安全规则和需求进行了探讨,并针对ONF关键协议OpenFlow 协议潜在安全问题和应对措施方面进行探讨与研究。

关键词:SDN OpenFlowNFV

许明元

男,移动通信工程师,本科。广东省电信规划设计院有限公司。主要从事通信设备研发、测试、技术支持、规划设计等工作,熟悉3G UMTS、4G LTE无线网及核心网技术,具有有丰富的移动通信工作经验,并积极学习和研究SDN、5G等相关通信新技术。

引言

SDN网络面临的安全挑战不同于传统网络,SDN逻辑上的集中控制方式使攻击者能够直接进入系统的控制平面通过A-CPI接口攻击SDN系统。 面对SDN安全挑战,ONF安全讨论组建议制定一套SDN网络的安全原则,该安全准则覆盖不同方面的安全问题(如SDN协议安全、SDN网元安全、SDN接口安全),以确保SDN 网络在实际运行环境具有足够的处理各种安全隐患的能力。

本文首先介绍SDN应遵循的安全规则和需求,然后对ONF关键协议 OpenFlow 交换规范V1.3.4进行安全分析。

1 SDN架构简述

SDN采用与传统网络截然不同的控制架构,将网络控制平面和数据平面分离,采用集中控制替代原有分布式控制,并通过开放和可编程接口实现“软件定义”。SDN整体架构如图1。

SDN采用应用平面(Application plane)、控制平面(Controller plane)和数据平面(Data plane)三层架构,SDN架构的基本概念是控制平面和数据平面分离,将控制平面从数据平面分离出来,网络交换设备成为单一的数据转发设备,控制由逻辑上的集中控制器完成(实际应用中,基于可靠性考虑,控制器在物理上可以分布布置),SDN控制器与数据平面通过D-CPI(Data-Controller plane Interface)通信、应用平面与控制器通过A-CPI(Application-Controllers plane Interface)通信,OSS通过管理接口与SDN控制器通信,SDN架构的可编程性和灵活性,使新的算法和应用能够高效地实现,该架构能够支持处理多方的高层应用。

图1 SDN架构

SDN 的可编程、灵活性强、支持第三方应用等特性,使其能够大大提高网络的功能,同时也将带来新的安全问题。

2 SDN网络的安全挑战

SDN全新的网络架构和特性也带来比之前网络更大的安全挑战,SDN的安全挑战主要表现在以下方面:

(1)网络架构

在SDN网络中,一个提供商的SDN控制器可以直接接入和控制其他厂家的SDN交换设备,给攻击者提供了冒充控制器操纵其它SDN控制器的可能;SDN架构需要不同域之间通过I-CPI接口进行互通,域间必须具有建立信任、确定授权级别的机制,以防止滥用或抢占信道。

(2)SDN新特性

SDN的集中控制特性,使得控制器的安全至关重要,如果控制器受到攻击,攻击者可能恶意操纵网络服务甚至控制整个网络。

SDN的可编程特性也可能带来新的安全挑战,必须采取措施保证系统的完整性,确保第三方数据和开放接口安全可靠,主要有以下几方面:

① 业务和资源分离

运营商必须保证一个实体的业务管理和实时控制信息与其它实体完全分离,业务和资源分离以避免它们之间的干扰和错误使用。

②第三方应用和控制器间的信任问题

可编程功能是一把双刃剑,它能灵活实现市场驱动新引入的应用,但同时也给恶意攻击应用打开了大门。在应用注册点必须进行认证和不同级别的鉴权,以避免控制器暴露。

③A-CPI和I-CPI接口的安全保护

SDN系统一个控制器可以被上级控制器控制,或者需要与同级的其它控制器协同工作,这些接口缺乏安全保护,攻击者可通过A-CPI和I-CPI攻击SDN网络,因此,在A-CPI和I-CPI接口必须增加安全保护。

此外,SDN接口和协议的开发主要是在原有协议的基础上,根据S DN的需要进行更新或升级,将安全能力加入到现有的技术(如 DNS、BGP)中。

3 SDN安全规则

针对SDN面对的安全挑战,ONF成立了SDN安全组,讨论和制定SDN相关安全规则,以下8个SDN安全规则适用于SDN架构的所有协议、网元和接口。

3.1清晰定义安全依赖性和信任边界

SDN网络中的不同网元间的安全相依性必须清晰,避免迂回的相依性,信任界限必须清晰。

3.2确保健壮的身份识别

安全的基础是网络中所有网元和用户具有唯一的身份识别,以进行有效的鉴权、认证和审计

健壮的身份识别应具有以下特性:

(1)在预先定力的范围内,具有从其它实体识别实体拥有者的能力;

(2)具备产生、修改和撤销的能力;

(3)通过加密机制,防止冒名顶替。

应用的场景:SDN 外部网元通过定义的接口访问系统的一部分资源,必须进行接入控制,通过不同权限级别对外部实体进行鉴权和认证。

3.3建立基于开放标准的安全体系

使用开放标准有利于移植和实现互操作。

尽量采用已经验证的的协议和方法,比如在加密、认证、鉴权及完整性保护可采用现有的协议和算法,在现有存在的协议不能实现的情况下,才建议采用新的协议和算法。

3.4保护信息安全三元组

安全控制能提高系统的机密性、完整性和有效性,但引入安全机制时,应从整个系统架构角度评估,需要考虑引入安全机制后,是否会减低整个系统的安全性能、是否带来新的安全漏洞等问题。

例如,如果引入新的集中安全控制服务器,需要评估引入的服务器是否易遭受DOS攻击、是否影响系统性能、是否增加系统的复杂度和降低系统的性能,同时应综合考虑对安全需求、成本和维护方面的影响。

3.5保护操作维护数据

有效的安全控制直接受数据完整性的影响(如凭证或序列码),它是下发操作维护指令的关键,不正确的数据将带来预期以外的行为,失去机密性、完整性和有效性 。

相关数据必须在状态转移和整个系统生命周期内能够安全地生成、处理、维护和传送,例如在系统初始化、系统操作、系统备份、系统失效、系统恢复以及这些状态之间的转换。

3.6使系统处于默认的安全状态

安全控制应能提供多种安全级别以满足系统使用情况的需要,系统应默认定义一个最低限度的安全级别并自动开启主要的安全控制功能,并且这些安全控制功能能够以某种方式进行配置。例如,当实现鉴权控制,确保默认开启鉴权功能。

3.7安全控制应具备可追溯性

对系统安全而言,所有安全控制应具备对所有状态和行为的可审查功能,记录数据应包括足够的信息,根据记录的数据,不仅能够识别发生此安全行为的实体,而且能找出与之关联的行为。

3.8安全控制的可管理特性除上述7个安全规则外,当新的架构和标准引如新的安全控制时,还需要考虑以下特性:

(1)设计或引入新的安全控制时,安全对象应该很清晰;

(2)引入新的安全控制,需考虑其可扩展性,能后向兼容,或者能够通过升级,使现有的安全控制和传统的能够共存。

(3)安全控制应易于实现,维护和操作;安全控制应能自动配置生效,具备监控、故障处理、调试等功能。

4 ONF协议的安全需求

根据以上安全规则,开发或设计SDN ONF 协议相关的安全需求主要有以下几方面:

4.1清晰定义安全依赖性和信任边界

在安全应用场景中,在每个信任边界的双方网元,信令数据交换前,必须执行鉴权和认证,信令分组必须提供分组级别的安全保护,主要包括:

(1)运行ONF协议的两个SDN网元间应支持永久的鉴权。

(2)当一个SDN网元需要访问或控制另一个SDN网元时,SDN 安全协议应提供认证功能。

(3)在交换协议分组前,SDN协议处理单元需对安全相关数据协商一致(如密钥,算法等)。

(4)为防止协议交换数据被攻击者获取,应提供完整性保护和私密保护的安全机制。

4.2健壮的身份识别

(1)每个运行ONF协议的实体(SDN设备或用户),必须有一个明确标识所有者身份的ID,该ID在认证过程中应通过加密进行保护。

(2)ONF协议中,在ID的生命周期内,需要考虑ID的管理问题(生成、分配、维护、撤销等),在ONF安全方案中,ID管理应作为一个基本的功能。

4.3建立基于开放标准的安全体系

(1)应首先采用现有存在的安全协议和机制。

(2)避免采用非标准或易受攻击的算法、协议。如MD5和SHA-1易受攻击,不建议使用。

(3)具有清晰区分处理格式错误和损坏的分组数据。ONF协议应能正确处理实体间通信的格式错误和损坏的数据。

4.4保护信息安全三元组

(1)SDN协议的安全方案应考虑多层产生的安全问题;例如,应正确保护下层传输协议的分组头和信令消息。

(2)协议规范应在控制/数据层提供相关管理和速率控制机制,以应对潜在的DOS/DDOS攻击。

(3)SDN控制协议应能应对未来网络新出现的攻击方式,易于扩展以支持附加的信令消息。

(4)安全控制协议应使每条协议消息具有足够的信息,以指示接收者能正确处理,如接受者能验证信息的完整性。

4.5保护操作维护数据

丢弃或不正确的某些操作维护数据会导致安全风险,这些信息必须受到安全保护,且只能被授权的实体访问,这类信息包括接入控制策略、证书、私有密钥、服务描述等。

4.6使系统处于默认的安全状态

(1)ONF协议安全方案需要规定各种不同的缺省配置,以便在系统更新、故障恢复和重启中确保网络设备的安全,这些默认的信息包括缺省的行为、算法、密钥长度、证书类型和预先定义的接入控制策略等。

(2)需要强制规范加密算法和安全协议。

4.7安全控制应具备可追溯性

(1)设计ONF协议时,关键的事件或故障需要记录保存,以便审查分析。

(2)所有来自不同SDN网元的记录数据必须安全存储(进行完整性保护),当需要传送到远端服务器时,需要对数据进行加密和完整性保护。

(3)需记录不同SDN网元的关键状态和计数器的信息,进行监控,以便检测针对不同SDN网元的恶意活动。

4.8安全控制的可管理性

除以上需求外,ONF协议的安全机制还需满足以下需求:

(1)安全机制应支持各种各样的安全算法,以便用户可以选择其满意的安全算法,用户可以根据不同的对象选择不同的安全级别。

(2)安全机制应具备较强的可扩展性,支持后续可方便引入新的算法或安全功能。

(3)安全机制应支持自动的密钥、证书管理功能。

5 OpenFlow Switch 规范安全分析

根据上述SDN ONF协议的安全原则和需求,下面对OpenFlow交换机规范(V1.3.4)进行安全分析。

主要从OpenFlow交换机、OpenFlow连接过程、加密、多控制器几个方面进行安全分析。

5.1OpenFlow交换机安全分析

OpenFlow交换机包括端口和流表两个组件。各环节安全潜在问题和应对方案分析如下:

(1)端口

OpenFlow交换机端口包括物理端口、逻辑端口和保留端口。

① 物理端口:

潜在的安全问题:基于流量监控的需要,OpenFLOw交换机的物理端口可以增加或修改,攻击者可能通过修改交换机的物理端口发动网络攻击。

应对方案:SDN控制器实时监测OpenFlow交换机端口MAC地址或链路状态的改变,防止攻击者对交换机端口进行恶意修改。

② 逻辑端口

潜在的安全问题:OpenFlow交换机规范(V1.3.4)在端口统计消息中,没有提供隧道ID(Tunnel ID)。

应对方案:端口统计消息增加隧道ID,控制器通过相关逻辑端口的隧道ID,准确区分逻辑端口的统计信息.

③ 保留端口

潜在的安全问题:应用程序无法收集保留端口的统计信息。

应对方案:确保控制器能收到保留端口的统计信息。

(2)流表

流表存在于OpenFlow交换机,指示如何处理进入交换机的流量,每个流表中条目包括数据头、计数器和操作。

① 流表匹配的潜在安全问题:按照OpenFlow协议,任何进入交换机的数据包都要与数据头某一特定值进行匹配,以确定数据包流的下一步操作,当流表中没有条目可以匹配的时候,默认的操作是封装数据包并发往控制器。然而,协议中没有说明数据包格式错误时,如何处理。攻击者可能利用这一漏洞,向交换机发送格式错误的数据包,达到攻击网络的目的。

应对方案:建立检查OpenFlow控制数据包格式错误或数据错误的机制,丢弃所有格式错误或数据错误的数据包。

② 流表不一致的潜在安全问题:当交换机的流表被修改(如删除)而没有通知主控制器,交换机的流表信息与控制器掌握的不一致,将导致控制器和交换机不能正常处理数据包。

应对方案:交换机所有转发状态的改变必须通知控制器,确保交换机和控制器具有一致的转发拓扑结构,使交换机能够正常转发数据包。

5.2OpenFlow连接过程的安全分析

根据OpenFlow协议,OpenFlow控制器和交换机间连接建立过程如下:控制器和交换机间通过TCP三次握手过程建立连接,TCP连接建立后,控制器和交换机间互相发送Hello报文,当Hello报文在交换机和控制器相互交换后,控制器与交换机之间就建立了连接,然后控制器向交换机的一条Openflow消息,目的是为了获取交换机性能,功能以及一些系统参数,交换机响应功能请求报文(Feature Request)向控制器发送的功能响应(Feature reply)报文,该报文中描述了OpenFlow交换机的详细细节。控制器获得交换机性能信息后,就可以开始OpenFlow协议特定操作。

(1) 连接建立

连接建立过程中潜在的安全问题:控制器和交换机间通过TCP三次握手过程建立连接,但是TLS消息没有附加信息和对TCP头的保护措施,也没有管理认证相关信息(如密钥、证书等)。

应对方案:利用TCP-AQ等安全机制对TCP头进行保护;增加管理认证相关信息,例如,通过OF-Config协议配置和管理证书信息。

(2)连接中断

连接中断潜在的安全问题:当交换机与控制器连接中断后,交换机的安全级别可能会被降低。

应对方案:交换机发送一状态改变消息通知控制器,控制器实时掌握交换机的当前状态。

5.3加密

加密潜在的安全问题:协议仅使用证书的认证,未涉及基于预置共享密钥消息的认证。

应对方案:提供多种类型的认证机制。OpenFlow 消息传送时,应支持消息的完整性保护。

5.4OpenFlow多控制器安全分析

SDN架构允许存在多个控制器,包括同等角色或主从关系多个控制器。

同等角色的多控制器间可能存在潜在冲突,在控制器必须制于冲突解决机制或在规范增加附加的标志位以检测冲突流,如Check-OVERLAP;

攻击者试图通过一个控制器操作控制另一控制器,或者试图使从控制器请求成为主控制器,使合法的控制器更改为从控制器,从而控制整个网络。必须采用严格的鉴权和认证机制,避免攻击者恶意操纵控制器。当一个控制器试图成为主控制器时,需发送一个认证消息给主控制器和其它所有控制器,以识别角色转换,认证通过,才能进行角色更换。

6 小结

本文介绍的SDN应遵循的安全规则,可应用于基于ONF标准和结构的SDN 设备中,使SDN设备具有统一实现安全的基本方式。根据安全规则,对SDN协议的安全需求进行了分析,最后基于SDN的安全需求,对OpenFlow V1.3.4协议的安全问题和应对措施进行了探讨和研究。

参考文献

1[美]Thomas D.Nadeau,Ken Gray.软件定义网络:SDN与OpenFlow解析[M].人民邮电出版社 ,2014-05

2黄韬.软件定义网络核心原理与应用实践[M],人民邮电出版社,2014年9月

3王淑玲,李济汉,张云勇,黄秉毅.SDN架构及安全性研究[J],电信科学,2013,3: 117-119

4左青云,张海粟.基于OpenFlow的SDN网络安全分析与研究[J],2015,(2):26-32

5ONF TR-511.Principles and practices for securing softwaredefined networks_applied_to_OFv1.3.4_V1.0;http://www.opennetworking.org,January 2015

6ONF.SDN security considerationsin the data center,http:// www.opennetworking.org,October 8 2015

7ONF.OpenFlow switch specification Ver1.3.4,http://www.opennetworking.org,March 27,2014

8ONF TR-504.SDN architecture overview,http://www.opennetworking.org,November,2014

9ONF TR-518.Relationship of SDN and NFV.http://www.opennetworking.org,October 2015

10ONF TR-516.Framework for SDN: Scope and requirements,http://www.opennetworking.org,June 2015

DOI:10.3969/j.issn.1006-6403.2016.05.004

收稿日期:(2016-03-07)

猜你喜欢
安全控制攻击者交换机
机械设计自动化设备安全控制研究
机动能力受限的目标-攻击-防御定性微分对策
建筑施工现场的安全控制
基于地铁交换机电源设计思考
修复损坏的交换机NOS
正面迎接批判
市政工程现场安全控制研究
使用链路聚合进行交换机互联
有限次重复博弈下的网络攻击行为研究
罗克韦尔自动化交换机Allen-Bradley ArmorStratix 5700