ABSTRACT
- the security and dependability of the SDN is still an open issue.
- argue for the need to build secure and dependable SDNs by design.
- First step:describe several threat vectors that may enable the exploit of SDN vulnerabilities.
- Then:sketch the design of a secure and dependable SDN control platform as a materialization of the concept.
- Hope that this paper will trigger discussions and serve as a catalyzer(催化剂) will trigger discussions resilient control planes.
Keywords
Security, Dependability, SDN, Threat Vectors, Controllers
1. INTRODUCTION AND MOTIVATION
- 传统网络环境多变,执行需要的策略是困难的。
- SDN数控分离,交换机变成简单的转发设备,控制逻辑在控制器实现。控制逻辑集中带来好处:简化修改网络策略、自动地对网络状态的虚假变化作出反应、简化了更复杂的网络功能的开发。
- SDN提供了新的方法来解决网络工作中存在已久的问题(例如路由),同时允许引入复杂的网络策略,如安全和可靠性。如Ethane:一种执行细粒度fine-grained访问控制策略的架构。
- 引起安全问题的主要原因在于SDN的主要好处:网络可编程性和控制逻辑的集中化。这些为以前不存在或更难利用的新威胁敞开大门。
- 网络设备的封闭(专有)性质、它们的静态设计、软件的异质性和控制平面的非集中式性质代表对共同威胁的防御。
- SDN带来了迷人的困境:网络架构上的一个极其有前景的革命,但威胁层面带来的危险也在增加。我们需要对抗危险来保证SDN的益处。
- 本文倡议在设计SDN时就应该将安全性与可靠性考虑为首要特性,而不是后期再把它补进去。
2. THREAT VECTORS
- SDN有两个特性,对于恶意用户来说被视为诱人的蜜罐,而对于缺少准备的运营商则是头疼的问题。一是通过各种各样的软件控制网络,而软件总是会受到各种bug以及漏洞的影响。二是网络的大脑集中在控制器上,任何人只需要获得控制软件所在服务器的控制权限,就能够控制整个网络。
- SDN构成不同性质的威胁,因此需要以不同方式处理。相信SDN会在网络架构上带来突飞猛进,不仅是在功能上还有弹性上。
- SDN主要威胁向量图
- 威胁向量一:伪造的流量,可以用来攻击交换机和控制器。设备错误与恶意用户都可以引发,攻击者可以发起Dos攻击。简单的认证机制可以缓解问题,但如果攻击者控制存储许多用户详细信息的应用服务器,则可以很容易地使用相同的授权端口和源mac地址将授权但伪造的流量注入到网络中。Possible solutions:The use of intrusion detection systems with support for runtime root-cause analysis could help identify abnormal flows.
- 威胁向量二:攻击交换机上的漏洞,对网络造成恶劣影响。Possible solutions:the use of mechanisms of software attestation, such as autonomic trust management solutions for software components./ mechanisms to monitor and detect abnormal behavior of network devices.
- 威胁向量三:对控制平面通讯的攻击,可以用来产生Dos攻击或数据窃取。例如,在全世界的关键系统中使用了许多易受中间人攻击的SSL实现[14]。此外,tls/ssl模型不足以建立和确保控制器和交换机之间的信任。信任的缺失可能造成虚拟网络黑洞允许数据泄露。Possible solutions:the use of oligarchic(寡头的) trust models with multiple trust-anchor certication authorities (e.g., one per sub-domain or per controller instance) is a possibility.
- 威胁向量四:针对控制器漏洞的攻击,可能是SDN中最严重的威胁。控制器出问题可能使整个网络陷入威胁,仅仅使用普通的入侵检测系统可能是不够的,因为可能难以找到触发特定行为的事件的确切组合,并且重要的是给其贴上恶意的标签。Possible solutions:several techniques can be used, such as replication (to detect, remove or mask abnormal behavior), employing diversity (of controllers, protocols, programming languages, software images, etc.), and recovery (periodically refreshing the system to a clean and reliable state). it is also important to secure all the sensitive elements inside the controller (e.g., crypto keys/secrets).
- 威胁向量五:控制器和管理应用之间缺乏信任机制。 Possible solutions:mechanisms for autonomic trust management could be used to guarantee that the application is trusted during its lifetime.
- 威胁向量六:攻击管理站点的漏洞。Possible solutions:the use of protocols requiring double credential verication (e.g., requiring the credentials of two different users to access a control server).
- 威胁向量七:缺乏可信资源用于取证或补救。这能够让我们了解检测到的问题的原因,并继续进行快速和安全的模式恢复。Possible solutions:logging and tracing are the common mechanisms in use, and are needed both in the data and control planes.
3. SECURITY & DEPENDABILITY IN SDN
3.1 Background
- 迄今为止,没有SDN控制器提出使用简单的认证通信通道和控制器实例之间的数据复制来解决安全性和可靠性问题。没有任何机制来确保可信的开关控制器关联(以避免网络中的恶意设备)或检测、纠正或掩盖系统组件的故障。没有使用任何技术来确保控制器内部或控制器之间的数据完整性和一致性。
- 从安全性和可靠性的角度来看,保证系统高鲁棒性的关键因素之一是容错和入侵容忍。
- 一个安全可靠的控制平面有助于提高网络的整体弹性,这是我们的目标。弹性系统是一个自我适应环境条件的动态变化的系统,例如,在持续的威胁面前执行自我修复的系统,以及在严重攻击情况下保护参数(如复制数量、密钥长度等)可以自动增加的系统。
3.2 Secure and Dependable Control Platform
- 提高系统可靠性的最重要的技术之一是复制。复制使屏蔽故障和隔离恶意或错误的应用程序和/或控制器成为可能。下图就是一个复制实例。
- 提高安全可靠系统的鲁棒性的另一个相关技术是多样性。可使用不同控制器的复制。多样性概念可以参考PC机操作系统的多样性限制了黑客对公共漏洞攻击的影响。
- 自恢复能力。在持续敌对的环境下,主动和被动恢复能够使系统恢复到健康状态。我们需要探索恢复过程中的多样性。
- 动态设备关联。一个交换机应该能够以一种安全的方式动态地与多个控制器相关联,这样才能自动容忍故障。增加数据平面可编程性在这方面也有帮助。
- 设备与控制器之间的信任。一个简单的方法是将经过认证的可信设备加入控制器的白名单,但这个方法不满足SDN对灵活性的需求。另一种方法是信任所有交换机,当某个交换机可信度受到质疑/低于阈值,则取消信任将其隔离在系统之外。基于异常或故障检测算法,其他交换机或控制器可以报告恶意或异常行为。
- 应用和控制器软件之间的信任。软件组件可能老化、耗尽、出错或受到攻击,所以需要有动态信任模型。文中举例可通过观察行为与属性评估可信度。
- 安全域。类比于pc的OS中,user级应用不能访问root/administrator级的文件。可以使用沙箱和虚拟化等技术探索SDN控制平台中的安全域。
- 安全组件。如trusted computing bases(TCB),一种防篡改的设备,可以用来存储敏感的安全数据,如加密私钥。这样就算系统被破坏了,敏感数据仍会被保证。
- 快速可靠的软件更新和修补。没有软件可以保证没有bug和漏洞,控制平面需要采用可靠安全的机制来完成软件的更新。文中提供了一种参考解决方案,可阅读[30]。
- 以上提到了多种安全可靠的解决方案,对应解决的威胁向量参加下表。
- 构建安全可靠的控制平台仍有可能受益于传统技术的帮助,如防火墙、入侵检测系统等。
3.3 Security and Dependability by Design
- 作者举了个例子说明,将复制replication、多样性diversity、动态切换关联dynamic switch association等三种技术应用到系统设计中,可以提高系统的安全性和可靠性。
3.4 Related work
- SDN的安全性和可靠性仍然是一个几乎未开发的领域,提出了许多挑战和机遇。只有一些密切相关的工作,即[5]和[6]。
- 暂时的相关工作都无法加强SDN本身的安全性,这也是正在追求的目标。
4. CONCLUDING REMARKS
- 本文的观点是,在设计SDN时就应该将安全性与可靠性考虑进去。列举了现存的威胁向量以及简要讨论了我们在构建一个安全可靠的SDN控制平台时所使用的机制。