ABSTRACT
- 本文对SDN的安全性进行了综述,介绍了该领域的研究现状和行业进展。讨论了保护网络不受攻击者持久攻击的挑战,并描述了SDN所需的安全体系结构的整体方法。
1. INTRODUCTION
- 研究和产业上都成功地采用了OpenFlow,这推动了SDN运动。
- SDN体系结构具有明显的安全优势。例如,从网络中的流量分析或异常检测产生的信息可以定期传递给控制器,控制器可以利用SDN支持的完整网络全局视图来分析和关联来自网络的反馈。
- 从另一角度看,SDN平台也可以带来许多额外的安全挑战。这些问题包括:由于集中式控制器和网络设备中的流表限制,拒绝服务(DoS)攻击的可能性增加;由于网络的开放可编程性,网络元素之间的信任问题;以及缺乏针对SDN功能和组件的最佳实践。
- 在过去的几年里,许多行业工作组已经开始讨论安全挑战和解决方案,同时,研究人员也提出了一些SDN安全挑战的解决方案。其范围从控制器复制方案到策略冲突解决,再到身份验证机制。
- 本文的主要目的是对SDN中与安全相关的文献进行综述,以全面了解软件定义的网络易受攻击的情况、利用SDN增强网络安全性的方法以及SDN中安全问题的研究和工业方法。
- 论文的结构如下:第二节通过介绍SDN的特点,给出了该工作的背景。在第三节中,给出了最新的SDN和开放流程安全分析,然后对SDN体系结构易受攻击的潜在攻击进行了分类。然后在第四节中给出了针对这些攻击类型的解决方案。图中的箭头表示已经为其提出解决方案的攻击类别,并进而表示尚未得到研究注意的领域。在第五节中,介绍了SDN安全性的另一种观点,并对基于SDN体系结构的安全增强的研究工作进行了综述。在第六节中,将SDN安全性的两个观点与改进的功能、开放挑战和推荐的最佳实践进行了比较。第七节重点介绍开放标准和开源产业群SDN安全工作。在第八节中确定了未来的研究方向。第九节中总结了安全调查结构的概述。
2. CHARACTERISTICS OF SOFTWARE-DEFINED NETWORKS
给出了六个表示SDN框架/体系结构的特定特性,这些特性可能会通过引入漏洞或启用增强的网络安全而对SDN安全产生影响。
1) Logically Centralized Control
- 从单一控制器设计演变而来,为了满足可伸缩性和可靠性要求,已经提出了几种分布式控制(控制器集群)的选项。Onix[16]、Softcell[17]、Hyperflow[18]和Kandoo[19]提出了多个控制器实例的分布式控制,ONOS和OpenDayLight实现了分布式控制。
- SDN分布式控制器框架。(a)控制器集群。(b)分级控制。
2) Open Programmable Interfaces
3) Switch Management Protocol
- 作用:标准化可编程硬件的配置和管理功能。
- 例如,of-config协议用于配置和管理具有OpenFlow功能的交换机以及可以在设备之上实例化的多个逻辑开关。
4) Third-party Network Services
- SDN允许在体系结构中集成第三方网络服务。在SDN控制器实现中(例如RYU、POX、NOX),这些应用程序被编译并作为控制器模块的一部分运行,而OpenDaylight这样的控制器允许在运行时实例化应用程序,而无需重新启动控制器模块。这类似于操作系统,在运行环境中可以下载和集成软件模块和库。从部署的角度来看,这推动了创新,允许了服务的定制,在总体架构中引入了适应新特性的灵活性,并降低了专有服务的成本。根据控制器实现,第三方服务可以通过控制器支持的内部API或开放的北行API(例如RESTAPI)与控制器模块通信。
5) Virtualized LogicalNetworks
- 在典型的SDN网络中,可以在共享的物理底层上实例化多个逻辑交换机,以便每个实体可以代表单个租户/客户。
6) Centralized Monitoring Units
- 尽管SDN体系结构并不是唯一的,但集中式监控单元统一了基础设施的分析功能,并与控制器一起创建了反馈控制循环,以自动更新网络功能。
3. SECURITY ANALYSES AND POTENTIAL ATTACKS IN SDN
A. Analyses of SDN Security
- sdn和openflow安全性分析的比较
- DoS攻击是指试图使机器或网络资源对其预期用户不可用。在SDN中,网络设备需要访问控制平面来接收流量管理指令,而网络上的流量需要访问网络设备流表来指定流量管理策略。因此,数据控制平面接口和网络设备流表是DoS攻击的弱点。
-
在[33]中的安全分析和框架建议的组合中,作者建议使用SDN来提高无线移动网络中的安全性。
B. Attacks and Vulnerabilities in SDN
1) Unauthorized Access
- 与访问控制有关。
- SDN最初的特点之一是集中控制,随着技术的发展,它被更准确地描述为逻辑集中控制,在许多实现中都是分布式的。
- 因此多个控制器可以访问网络的数据平面。类似地,来自多个来源(第三方应用程序)的应用程序可以链接到一个控制器池。控制器提供了对应用程序的抽象,以便应用程序能够读写网络状态,这实际上是网络控制的一个级别。如果攻击者模拟一个控制器/应用程序,它可以访问网络资源并操纵网络操作。
2) Data Leakage
- OpenFlow交换机规范[36]中描述了各种可能的数据包操作,包括转发、丢弃和发送给控制器。攻击者可以通过数据包处理时序分析来确定应用于特定数据包类型的操作。
- 例如,处理从输入端口直接传递到输出端口的数据包的时间将比重定向到控制器进行处理的数据包的时间短。因此,攻击者可以发现交换机的主动/反应性配置。使用另一组精心编制的数据包,攻击者可以推断有关网络设备的其他信息。在发现重定向到控制器的数据包类型之后,然后,攻击者可以生成大量虚假的流请求,导致拒绝服务(DoS)攻击。
- SDN体系结构中的另一个公开挑战是在可编程数据平面中为多个逻辑网络安全存储凭证(例如密钥和证书)。
3) Data Modification
- 如果攻击者能够劫持控制器,那么它将有效地控制整个系统。从这个特权位置,攻击者可以在网络设备中插入或修改流量规则,这将允许数据包在网络中被引导,从而对攻击者有利。
- 对于交换机,安全特性是可选的,没有指定TLS的版本。没有采用TLS将允许中间人攻击者模拟控制器并发起各种攻击。
4)Malicious/Compromised Applications
- 设计不善或错误频繁的应用程序可能会无意中给系统带来漏洞。例如,攻击者可能利用已知的漏洞将应用程序驱动到不安全的状态。
5)Denial of Service
- 由于控制器与网络设备之间的通信路径,攻击者可能会将需要流规则决策的数据包淹没控制器,并使其对合法用户不可用。
- [26]讨论了DoS攻击导致规则插入和规则修改的可能性。这一攻击向量得到了研究界的极大关注。
6)Configuration Issues
- 错误配置或不正确使用安全特性可能会影响体系结构中的所有层。
7) System Level SDN Security
- 工业上主要的担心是审计过程的满意度。
- 从操作的角度来看,操作人员必须了解交换机在连接中断期间的工作模式、故障期间的转发行为、受影响的流表条目以及控制器在重新建立连接后的行为。对于问责和审计,追溯检索这类业务信息的能力至关重要,应在SDN中加以管理。
- 安全通信网络的基本属性是:信息的保密性、完整性和可用性。这些属性得到授权、认证和加密技术的支持。这些属性的总和表示了一个网络,其中的数据、网络资产(例如设备)和通信事务都是安全的,不受恶意攻击或无意破坏。
4. SOLUTIONS TO SECURITY ISSUES IN SDN
A. Unauthorized Access
- 两个与未经授权访问有关的攻击向量:未经授权的控制器和未经授权的应用。
- 关于未授权访问的安全问题及解决方案整理:
参考文献 |
问题/目标 |
解决方案 |
44 |
提高分布控制模型应对恶意使用时的安全性 |
使用签名机制来安全的传输流安装规则 |
45 |
保护SDN控制平面免于攻击 |
使用Byzantine错误容忍机制的多控制器结构 |
46 |
如何构建提供更高安全性的SDN架构 |
使用控制器/交换机分级(Hierarchical)系统减少严重的安全问题 |
47 |
每个应用都可以获得OF的完全特权 |
提出许可系统,提供最小的权限给应用 |
48 |
控制器操作对所有应用开放 |
实现一种许可检查机制,提高app-ctl接口安全性 |
49、50 |
OF应用程序/模块与控制/数据平面之间的通讯缺乏安全性 |
OF控制层上基于角色的授权以及安全强制约束 |
51 |
阻止未授权的主机访问SDN |
一种基于主机证书的授权和访问控制机制 |
B. Malicious/Compromised Applications
- 关于恶意/被盗用应用问题的研究工作及相应解决方案:
参考文献 |
问题/目标 |
解决方案 |
52 |
从OF应用程序检测和协调可能冲突的流规则 |
一种通过基于角色的授权来优化流规则的安全执行内核 |
53 |
防止因为简单常见的应用错误导致失去网络控制权 |
一种实现了网络应用程序包含和弹性策略的控制器 |
54 |
提高控制器和网络对于SDN应用错误的弹性 |
一种通过故障隔离和网络事务管理提高可用性的控制器架构 |
C. Denial of Service
- 关于拒绝服务攻击的研究工作及相应解决方案:
参考文献 |
问题/目标 |
解决方案 |
55 |
对抗控制平面Dos攻击、检测应对动态变化的流量 |
一种连接迁移工具,减少数据-控制平面相互作用并启动触发器来安装流表 |
56 |
保护中心网络系统免受因Dos攻击带来的故障 |
CPRecovery组件提供无错的主控制器备份 |
57 |
源地址有效性 |
NOX控制器通过全局视野确定有效性规则 |
58 |
消除网络管理瓶颈 |
一种代理网络安全策略方面的协议 |
D. Configuration Issues
- 关于配置问题又可以分为检测网络错误、实时策略检查、基于语言的解析、一致的抽象/网络视图、格式验证方法等方面。
- 关于配置问题的研究工作及相应解决方案:
参考文献 |
问题/目标 |
解决方案 |
61 |
验证动态插入的流策略不违反底层网络安全策略 |
使用可满足性模数理论(SMT)求解器检测流策略的总和是否违反网络安全策略 |
63 |
实时网络不变量检测 |
OF网络切片以检查不变属性冲突 |
66、67 |
检测并解决动态OF网络中的防火墙策略违规问题 |
跟踪网络流路径并检查自动实时违规解决方案的规则依赖性 |
72 |
在SDN中支持强一致的网络视图的同时保持网络性能 |
基于错误容忍数据存储的分布式、高可用性、强一致性SDN控制器 |
E. System Level SDN Security
- 关于系统级SDN安全问题的研究工作及相应解决方案:
参考文献 |
问题/目标 |
解决方案 |
77 |
简化SDN调试 |
用于SDN的原型网络调试器 |
78 |
将安全移动性引入OF交换机,提高应对已知TCP攻击的弹性 |
全球化的基于ID的架构使OF交换机能够在移动过程中安全切换IP |
79 |
保护软件定义移动网络的控制信道 |
基于IPSec隧道和安全网关的安全控制信道架构 |
80 |
简化OF网络复杂安全服务的开发和部署 |
用于安全服务组件的应用发展框架 |
5. NETWORK SECURITY ENHANCEMENT USING THE SDN FRAMEWORK
- 本研究中明显缺乏对应用程序控制接口的关注,而其他SDN层/接口的代表性却相当均匀。这很可能是由于缺乏该接口上的标准化协议。相反,可以在控制数据接口上使用OpenFlow协议来证明和演示解决方案。因此,开发一个安全的数据接口。应用控制接口已被确定为未来的研究方向。
A. Collect, Detect, Protect
- 从现有的入侵检测系统(IDS)和入侵预防系统(IPS)中获取情报,然后对网络进行分析和集中重新编程,可以使SDN比传统网络更好地抵御恶意攻击。
- 相关研究提出的问题和解决方案:
参考文献 |
问题/目标 |
解决方案 |
88 |
避免控制平面在OF数据收集过程中过载 |
基于数据收集、异常检测、异常缓解模块的SDN入侵检测防御系统 |
89 |
动态可编程安全基础设施 |
提供完整安全性的网络反馈控制 |
90 |
对于嵌入式移动设备的入侵检测 |
使用OF SDN来检测流量异常并重新配置网络 |
91 |
防止数据中心网络过载问题 |
使用基于流聚合的OF代理设备检测过载行为 |
92 |
克服现存网络安全应用程序的局限性 |
基于Orchestrator的SDN架构开发安全应用程序 |
93 |
通过采用APP平面的认知功能提高SDN的安全等级 |
通过动态多目标优化在APP平面实现一种认知模块 |
B. Attack Detection (Traffic Analysis) &Prevention (Rule Updating)
- 相关研究提出的问题和解决方案:
参考文献 |
问题/目标 |
解决方案 |
94 |
提升企业网络攻击响应能力 |
使用动态访问控制系统提高企业网络安全性 |
95 |
保护企业网络免受恶意软件传播以及数据泄露影响 |
流量跟踪和过滤的流量标识 |
96 |
频繁改变主机地址用于移动目标防御 |
使用虚拟到实际IP转换的随机宿主突变 |
97 |
防止网络侦察,服务发现和操作系统指纹识别 |
基于SDN的移动目标防御网络保护应用程序 |
98 |
防止云中的易受攻击的虚拟机被破坏 |
网络入侵检测、测量和对策选择机制 |
99 |
克服当前IPS的延迟,准确性和灵活性问题 |
基于OpenFlow的IPS |
100 |
一个可即时重新配置云网络的全面的IPS解决方案 |
一个基于SDN的IPS解决方案 |
101 |
构建可伸缩的IDS,以应对不断增加的网络流量 |
具有采样率调整算法的可伸缩IDS架构 |
102 |
使用SDN检测和控制家庭/家庭办公室网络安全问题 |
在NOX控制器上部署异常检测算法 |
103 |
使用SDN来检测和保护网络免受恶意攻击 |
一种基于模糊逻辑的SDN信息安全管理系统 |
C. DoS/DDoS Protection
- 相关研究提出的问题和解决方案:
参考文献 |
问题/目标 |
解决方案 |
104 |
DDoS攻击检测 |
。带有自组织映射的统计信息,将流量划分为正常或恶意的 |
105 |
在以内容为导向的网络中的DDoS攻击检测和响应 |
对内容请求的速率和模式进行分析,以发现DDoS攻击 |
106 |
DDoS攻击检测和响应 |
使用OF和LISP来检测并丢弃DDoS流量 |
107 |
检测和阻止使用僵尸网络DDoS攻击的困难性 |
:针对SDN管理网络的DDoS阻断方案 |
D. Security Middleboxes—Architectures and Services
- 相关研究提出的问题和解决方案:
参考文献 |
问题/目标 |
解决方案 |
115 |
使用SDN来保护内部网络免受攻击 |
安全的流量分析系统,以追踪内部网络上的恶意活动 |
116 |
基于SDN的取证系统来调查故障,包括数据泄露和被破坏节点之间的相互勾结 |
轻量级中间件(来源验证点)来监视和跟踪网络活动 |
E. Authentication, Authorization and Accounting
- 相关研究提出的问题和解决方案:
参考文献 |
问题/目标 |
解决方案 |
117 |
使用SDN驱动的访问控制加强网络安全 |
带有认证模块的OF控制器 |
118 |
提供一个用于SDN实验设备的健壮高效的AAA管理机制 |
用于SDN的一种基于证书的AAA架构 |
F. Secure, Scalable Multi-Tenancy
- 相关研究提出的问题和解决方案:
参考文献 |
问题/目标 |
解决方案 |
119 |
在多个租户数据中心网络中解决网络安全问题 |
一种使用SDN的智能包检查的协作网络安全系统 |
120 |
支持多租户,同时解决可伸缩性问题 |
自治SDN架构支持租户网络之间的多租户和弹性隔离 |
121 |
为租户云基础设施提供网络安全服务 |
用于细粒度动态网络安全保护的安全工作负载系统 |
122 |
,在云环境中提供系统/服务特定的网络安全性 |
使用逻辑集中的数据库提供最近系统/服务的安全信息 |
6. DISCUSSION: MORE OR LESS NETWORK SECURITY?
A. Improved Functionality
- 从OpenFlow 1.3开始,规范推荐了一些可以用来减轻sdns的安全威胁的措施。例如,速率限制以限制对控制平面的dos攻击,流量聚合以包含单个流规则下的多个流,从而防止信息泄露,以及更短的超时以减少转移流量的攻击的影响。
- 由于没有标准化的应用程序控制接口(北向API),第v节中讨论的安全性增强很少涉及应用程序和控制器之间的通信方式。
- 第iv部分中讨论的大量解决方案考虑了应用程序控制接口的安全要求。此接口为第iii部分中标识的各种攻击媒介(例如,未经授权的访问,恶意/受损应用程序和配置问题)提供了漏洞。因此,在这一领域鼓励进一步研究,以确定适合实际部署的解决方案。 在这个早期阶段也应该有机会将安全性建立到标准北向API的设计中。
B. Open Challenges
- 在已经解决的问题中,重点集中在几个关键主题上——未经授权的控制器/应用程序访问、防止DDoS攻击和解决网络编程的多个应用程序所产生的网络策略冲突。且调查工作的独立贡献还不够成熟,无法用于生产。
- 从部署的角度来看,尚不清楚sdnon如何改进生产环境中的操作安全功能(例如,系统可靠性、不间断转发、故障安全恢复、审计等)。对于基于sdn的解决方案如何替代传统功能,了解很少。为了改进当前的安全实践,需要对安全如何在现实世界环境中构建、部署和管理进行详细评估。
C. Recommended Best Practices
- SDN安全中推荐的最佳做法:
策略冲突解决方法/网络不变性检测:当应用程序模块操纵网络状态时,控制器应识别错误配置、未经授权的访问和违规行为,以确保实体的正确运行。因此,建议所有控制器解决方案内在地包括一个策略冲突解决子系统,以避免网络逻辑操作问题。
相互认证:SDN组件需要在所有通讯整体之间支持相互认证。身份验证解决方案应在信任域中和跨信任域启用,以避免引入对网络资源的不安全访问。
通过切片技术隔离控制平面:从安全的角度来看,这提供了一个独立的环境,可以安全地实例化,防止未经授权的访问、数据操作和防止数据泄漏。隔离资源还可以保证为基础设施中的单个租户/用户分配专用资源。
网络切片是一种特定的虚拟化形式,允许多个逻辑网络在共享的物理网络基础设施之上运行。网络切片概念的关键优势在于它提供了一个端到端的虚拟网络,不仅包括网络,还包括计算和存储功能。目标是允许物理移动网络运营商划分其网络资源以允许不同的用户(所谓的租户)复用单个物理基础设施。
将应用集装箱化:为了防止或限制恶意应用程序行为的影响,建议支持应用程序容器化,它可以在安装过程中对应用程序进行身份验证,在基础设施上控制应用程序的访问权限,并限制、计算和隔离每个应用程序的资源使用。
限速,流聚合,短超时:这个做法强调了SDN框架中固有安全特性的正确使用。转发元素的安全性取决于配置和控制功能的正确使用以及设备所支持的安全功能。在OpenFlow协议中,流和交换机属性(例如标志、超时、操作方式)的正确使用以及固有的安全功能(例如,测量速率-将数据流限制到控制平面)可以确保正确的包转发行为(即避免重叠、通知流删除、在与控制器失去连接时安全操作等)。
IDS/IPS的日志/取证:具有监视功能的网络服务和应用程序需要记录关键信息,并在排除和调试基础设施时积极受益于日志信息。
7. SDN SECURITY IN INDUSTRY: OPEN STANDARDS AND OPEN SOURCE
A. ONF Security Discussion Group
- ONF安全讨论小组[144]于2013年4月成立,目前正在为SDN平台的每个元素定义必要的和所需的安全功能。该小组于2014年9月成为一个正式的工作组。
- 安全小组的目标包括:(1)评估安全考虑因素和对各种onf规范(例如SDN体系结构1.0、OpenFlow表类型模式等)和标准(例如OpenFlow、ofconfig等)的相关贡献;(2)起草安全标准文件(例如onf安全原则),目的是识别和评估与参考SDN体系结构相关的潜在安全风险;(3)鼓励开发提供网络/数据安全的SDN应用程序。
B. ETSI ISG NFV Security Expert Group
- 用于网络功能虚拟化的ETSI工业规范组采用一种不同的方法实现安全。他们不是建立一个特别的安全工作小组,而是一系列安全的专家在NFV组工作。
- NFV安全专家组的两个既定目标是从一开始就将安全设计成NFV,并确保安全认证机构处理nfv。他们还明确指出,他们不会处理现有的安全问题,这些问题不会被nfv改变。
8. FUTURE RESEARCH DIRECTIONS
A. Application-Network Transaction Security
- 假设TLS已经实现,控制器和网络设备之间必须进行相互认证,应用程序和网络控制器之间必须建立类似的信任级别。
- 虽然已经提出了一些提供安全应用网络事务的研究解决方案,但这个问题远远没有得到解决。
B. Secure Network Map
- 审计过程是SDN实现中的一个关键问题,特别是网络元素和功能的虚拟到物理映射。重要的是能够在任何给定的时间确定网络状态,并能够在以前的时间点跟踪识别网络状态。SDN与虚拟化(特别是NFV)一起存在。这意味着虚拟网络映射到物理网络上供单个租户使用。然后,网络应用程序绘制底层网络的详细信息,以实现给定的功能,例如,负载平衡,能源管理等网络信息库(Nib)各部分的分离可能支持多租户隔离。然而,如何在提供单个应用程序所需的完整网络状态信息的同时分发或分割NIB的问题还需要进一步的研究。
C. Exploiting SDN for Moving Target Defense
-
利用SDN框架的自适应和动态能力来对抗高级持久性威胁所带来的攻击类型也很有威胁。
D. Security Assessment Framework
- 评估市场上的网络服务/应用程序的特征集和性能,仍然缺少评估组件风险和脆弱性的评估框架。
- 建议BGP学习的信息可以集成到SDN网络状态的其余部分,以提供更高的网络安全性。一个潜在的研究方向可能包括建立一个框架来定义安全模型和模板,已知的威胁模式。这可以用于评估和验证各个组件的安全性。这将帮助采用者在可能代价高昂的部署之前了解漏洞。
E. Network Security as a Service (NSaaS)
- 企业往往缺乏保护其业务功能的安全专门知识。因此,它们依赖外部管理的安全服务提供商(MSSP)来保护其整体操作。目前的MSSP解决方案提供分析能力、持续的资源监测、安全设备管理、遵从性评估等,以防止和检测系统中的漏洞。大多数解决方案涉及手工评估资源和使用复杂的工具集,这会招致企业的高管理成本。
- 随着机器学习技术(如数据相关、特征提取、图形挖掘等)的出现,以及使用SDN对网络编程的能力,这些MSSP功能可以自动化,并且可以驻留在离执行点更近的地方,从而为企业提供了一种有效的替代方案。
- 一个潜在的研究方向可能包括构建以安全为中心的机器学习特征、新的安全数据处理算法,以及构建SDN组件以自动化的方式实现这些功能。这些功能可以作为虚拟网络功能来实现,这些功能由基于SDN的基础设施提供和管理。
9. CONCLUSION
- 现阶段SDN不太安全。要想做到严格的安全,需要使用同一厂家提供的设备,符合严格的安全策略,没有超出信任边界的通信等等,但这些又会限制SDN的潜力。
- 通过SDN增强网络安全的工作更加成熟。
- 已经提出了解决SDN引入的一些安全问题的研究解决方案,例如,如何限制恶意/受损应用程序的潜在损害。
- 在综述了SDN中的安全性研究之后,确定了一组未来研究的主题,其中一个强有力的主题是对潜在的安全问题的预测和对网络威胁的快速反应的自动响应。
- 通过从我们目前的网络部署中实现经过验证的安全技术,解决SDN中已知的安全问题,并进一步利用SDN的动态、可编程和开放特性,软件定义的网络可能比传统网络更安全。