异构容错控制平面的安全性分析

2018-12-25 03:53吴奇陈鸿昶陈福才
网络与信息安全学报 2018年11期
关键词:同构异构攻击者

吴奇,陈鸿昶,陈福才



异构容错控制平面的安全性分析

吴奇,陈鸿昶,陈福才

(国家数字交换系统工程技术研究中心,河南 郑州 450001)

随着软件定义网络的大规模应用,软件定义网络的安全性显得愈发重要。基于异构思想的容错控制平面作为一种重要的防御思路,近年来越来越引起研究者的注意。但是现有容错控制平面的研究中忽视了异构原件中的同构漏洞问题,这大大降低了容错控制架构对软件定义网络的安全收益。从异构原件中的同构漏洞出发,首先分析了同构漏洞对控制平面的安全影响,然后以此为基础对容错控制平面的容忍能力进行量化,构造出一个最大化容忍能力的控制平面布局方法。实验仿真证明了所提方法可以有效降低控制平面的故障概率,攻击者在对基于所提方法构造的控制平面进行攻击时,需要花费更多的攻击成本才可以瘫痪控制平面。

软件定义网络;同构漏洞;异构控制器;容忍能力

1 引言

软件定义网络(SDN,software defined network)将控制与转发分离,形成应用层、控制层、数据层的3层结构,通过南向可编程接口开放了网络,促进了网络创新,简化了网络管理[1]。近些年,随着SDN在现实社会中大规模应用,其安全性越来越受到研究者的关注。有些研究者尝试通过增强SDN中控制器的安全能力进而提高整个SDN的安全性,该类方法通常在SDN的内核中增加一个安全内核,如FortNOX[2]和ROSEMARY[3]中的安全内核,通过权限管理、角色划分的机制保证SDN的内核层不被攻击者攻击或篡改。但该类机制无法有效应对SDN中的单点失效问题。于是有研究者提出了容错控制平面,该类设计可以通过在控制平面部署多个控制器避免单一控制器的损坏对SDN带来的安全隐患,如kandoo[4]、CoVisor[5]等。一旦控制器出现故障,该控制器的备份元件就替换原有的故障控制器,以此完成控制平面的修复。

虽然容错控制平面给SDN带来更高的顽健性,但由于容错控制平面中控制器是由结构相同的原件组成的,一旦攻击者利用漏洞使控制平面中一个控制器发生故障,如消息阻塞、控制器宕机等,其他所有的控制器很可能由于该漏洞而出现故障。如图1所示,若攻击者已经探知控制平面的控制器为Floodlight,那么无论容错控制平面利用多少个备份Floodlight控制器进行错误修复,攻击者仍可以利用Exit宕机攻击瘫痪Floodlight控制平面[6-7]。一旦攻击者攻陷了全部的控制器,控制平面将无法正常处理请求消息,整个SDN就会处于崩溃的状态。

图1 同构控制平面的安全风险

为了解决这种问题,有研究者尝试使用结构相异的异构控制器对容错控制平面进行优化,进而避免上述的同构错误问题。但实际上,由于很多第三方公用库及开源工具被广泛应用,异构原件间也有可能存在同构漏洞。例如,若控制平面利用Windows和Linux构造运行环境,攻击者可以利用2种操作系统间的共性漏洞(如CVE-2018-8897等[8])瘫痪控制平面;若控制平面利用Floodlight和ONOS来构造,攻击者可以利用发布订阅机制中的权限漏洞终止部分控制器的功能,进而瘫痪控制平面[9]。

故对控制平面而言,如何在异构控制器间存在同构漏洞的前提下,最大限度上发挥容错机制对SDN控制层的保护能力是容错控制平面必须解决的问题。本文以此为出发点,设计了一种异构容错控制平面布局方法。首先,本文利用探测次数对单个控制器及整个控制平面的安全能力进行量化;然后,为了最大化控制平面的安全能力,提出了一种基于相似度的异构容错控制平面的布局方法;最后,本文对所提算法进行了仿真,仿真结果证明所提算法可以有效降低控制平面的故障概率,攻击者在对该平面进行攻击时,其需要花费更多的攻击成本才可以瘫痪控制平面。

2 相关工作

安全性问题一直是SDN中的重要问题,目前已经有很多研究者对SDN的安全问题进行了深入研究。

有些研究者尝试对控制平面中每一个控制器内部结构中的安全性问题进行研究,Gude等[10]在开源控制器NOX的基础上设计了一种新的安全内核FortNOX[2],其可以利用角色的数据源认证模块(role-based source authentication module)对每个流规则进行签名,并为候选流规则指定相应的特权类别,进而避免流冲突等可能导致控制器故障的问题。之后,他们对开源控制器Floodlight[11]进行了类似的安全扩展,设计了Floodlight控制器的安全增强版本SE-Floodlight[12],SE-Floodlight 控制器继承了FortNOX的设计思路,并进行了扩充和完善。除了上述基于已有开源控制器的研究外,还有研究者设计了全新的安全控制器,如Rosemary[3]和PANE[13],这些控制器在设计和开发之初,便将安全性作为核心问题之一进行考虑,通过突破已有控制器在系统架构、编程语言和预留接口等方面的限制,以此提高控制平面的安全性。

上述安全控制器可以一定程度上解决控制器内部的安全问题,但是其仍然无法解决SDN中的典型安全问题:单点失效问题,即一旦控制器出现错误,整个SDN将陷入异常。为了解决这个问题,针对容错控制平面的安全研究应运而生。为了避免单点失效,早期的SDN控制平面研究主要关注于分布式控制平面,如Onix[14]、OpenDaylight[15]和ONOS[16],这些机制可以通过在控制平面部署多个控制器来避免单点失效问题。之后有研究者提出了层次化控制平面,Yeganeh等[4]设计了一种双层控制平面,其核心思路在于顶层控制器管理底层控制器的工作状态,底层控制器负责对数据层直接进行管理,该机制可以保证当一个底层控制器出现故障时,顶层控制器可以迅速发现故障并进行修复。CoVisor[5]通过在控制层和数据层之间加入一个中间层,将控制层的多个控制器组合成一个控制器,避免了单个控制器故障对整个网络的影响。近些年,还有研究者尝试利用容错控制平面[17-20]进一步提高控制平面的安全能力,该机制的核心思路为在控制平面部署不同类型的控制器,并通过在控制器间运行拜占庭协议、大数判决等机制,避免多个控制器同时故障的情形。

3 安全性模型

3.1 控制器的故障概率

对一个控制器而言,攻击者需要经历2个阶段(探测弱点、实施攻击),才可以成功实施对控制器的攻击。一般来说,攻击者对控制器探测的次数越多,越有可能发现控制平面的弱点[21],故利用攻击者对控制器的探测数表示控制器的安全能力,可以表示为

将式(5)代入式(1),可以计算出控制器故障概率和攻击者探测次数的关系。

3.2 控制平面的故障概率及容忍能力

4 控制平面布局问题

s.t.

5 问题求解

首先,定义控制平面的相似度指标,可以被计算为

考虑到上述过程可以使解陷入局部最优解,本文借鉴模拟退火算法中的Metropolis准则接受控制平面的新解。

算法1 基于相似度的异构容错控制平面的布局方法

8) else

11) end if

12) end if

14) break

15) end if

16) end while

图2 控制平面解的遍历过程

6 仿真实验

本节对所提方法进行实验评估。为合理地对所提方法进行评估,本文利用枚举法(Optimal)、随机法(Random)和最差法(Worst)与所提方法进行对比,枚举法是指遍历全部的解空间寻找到容忍能力最大的控制平面;随机法是指随机从可选控制器池中选取控制平面,为避免随机误差,运算10 000次取平均值;最差法是指从可选控制器池中选取容忍能力最差的控制平面。

考虑到控制器又被称为网络操作系统(network operation system)[10],借鉴操作系统中漏洞构造实验所需要的漏洞数据集。操作系统中漏洞统计数据来自CVE(common vulnerabilities and exposures)[7],其中包含11种操作系统间的漏洞表,如表1所示。其中,OB表示OPENBSD,NB表示NETBSD,FB表示FREEBSD,W03表示WINDOWS SERVER2003,W08表示WINDOWS SERVER 2008,W12表示WINDOWS SERVER2012,UB表示UBUNTU,DE表示DEBIAN,RE表示REDHAT,SO表示SOLARIS,OS表示OPENSOLARIS。

表1 操作系统中的漏洞统计

6.1 控制平面容忍能力

图3 控制平面的控制器数量K变化时所提方法和几种方法对比

图4 不同方法下控制平面故障概率变化的对比

6.2 控制平面故障概率

图4表示了控制平面部署不同数量的控制器时,控制平面的故障概率随着探测次数增加的变化情况。通过4幅图的横向对比可以发现,随着控制器数量增多,控制平面故障概率的提升速度会明显变慢,但不同方法配置的控制平面故障概率的变化速度不同,显然,在攻击者探测数量增多时,所提方法与枚举法构造出的控制平面的故障概率增长速度接近,它们的性能远远优于随机法和最差法,这表明所提方法有效地降低了控制平面的故障概率。

7 结束语

本文首先利用控制器中的漏洞对控制平面的容忍能力和故障概率进行定义,分析了同构漏洞对控制平面安全性的影响;然后为了提高控制平面的容错能力,提出了一种基于相似度的异构容错控制平面的布局方法。最后,对所提模型及算法进行验证,实验结果表明,所提算法可以有效提高控制平面的容错能力,降低攻击者攻击对控制平面安全能力的影响。

[1] SCOTT-HAYWARD S, NATARAJAN S, SEZER S. A survey of security in software defined networks[J]. IEEE Communications Surveys & Tutorials, 2016, 18(1):623-654.

[2] PORRAS P, SHIN S, YEGNESWARAN V, et al. A security enforcement kernel for OpenFlow networks[C]//International Workshop on Hot Topics in Software Defined Networks. ACM, 2012:121-126.

[3] SHIN S, SONG Y, LEE T, et al. Rosemary: a robust, secure, and high-performance network operating system[C]//Conference on Computer and Communications Security. ACM, 2014:78-89.

[4] YEGANEH S H, GANJALI Y. Kandoo: a framework for efficient and scalable offloading of control applications[C]// The Workshop on Hot Topics in Software Defined Networks. ACM, 2012:19-24.

[5] JIN X, GOSSELS J, Rexford J, et al. CoVisor: a compositional hypervisor for software-defined networks[C]// Usenix Conference on Networked Systems Design and Implementation. USENIX Association, 2015:87-101.

[6] LENG J, ZHOU Y, ZHANG J, et al. An inference attack model for flow table capacity and usage: exploiting the vulnerability of flow table overflow in software-defined network[J]. Water Air & Soil Pollution, 2015, 85(3):1413-1418.

[7] 卢振平, 陈福才, 程国振. 软件定义网络中控制器调度时间机制设计与实现[J]. 网络与信息安全学报, 2018(1):36-44.

LU Z P, CHEN F C, CHENG G Z .Design and implementation of the controller scheduling-time in SDN[J].Chinese Journal of Network and Information Security, 2018(1):36-44.

[8] [EB/OL]. http://cve.mitre.org/

[9] YOON C, LEE S, KANG H, et al. Flow wars: systemizing the attack surface and defenses in software-defined networks[J]. IEEE/ACM Transactions on Networking, 2017, (99):1-17.

[10] GUDE N, KOPONEN T, PETTIT J, et al. NOX: towards an operating system for networks[J]. ACM Sigcomm Computer Communication Review, 2008, 38(3):105-110.

[11] Floodlight documentation[EB/OL]. http://www.projectfloodlight. org/display/floodlightcon-troller/Floodlight +Documentation

[12] CHEUNG S, FONG M, PORRAS P, et al. Securing the software-defined network control layer[C]// Proceedings of the Network and Distributed System Security Symposium, 2015.

[13] FERGUSON A D, GUHA A, LIANG C, et al. Participatory networking: an API for application control of SDNs[C]//ACM SIGCOMM. 2013:327-338.

[14] KOPONEN T, CASADO M, GUDE N, et al. Onix: a distributed control platform for large-scale production networks[C]//Usenix Conference on Operating Systems Design and Implementation. 2010:351-364.

[15] MEDVED J, VARGA R, TKACIK A, et al. OpenDaylight: towards a model-driven SDN controller architecture[C]// IEEE, International Symposium on a World of Wireless, Mobile and Multimedia Networks. IEEE, 2014:1-6.

[16] BERDE P, HART J, HART J, et al. ONOS: towards an open, distributed SDN OS[C]// The Work-shop on Hot Topics in Software Defined Networking. ACM, 2014:1-6.

[17] Castro M , Liskov B . Practical byzantine fault tolerance and proactive recovery[J]. ACM Transactions on Computer Systems, 2002, 20(4):398-461.

[18] BOTELHO F, BESSANI A, RAMOS F M V, et al. On the design of practical fault-tolerant SDN controllers [C]//. European Workshop on Software-Defined Networks, 2014:73-78.

[19] Li H, Li P, Guo S, et al. Byzantine-resilient secure software-defined networks with multiple controllers[J]. IEEE Transactions on Cloud Computing, 2015, 2(4):436-447.

[20] 王禛鹏, 扈红超, 程国振, 等. 软件定义网络下的拟态防御实现架构[J]. 网络与信息安全学报, 2017, 3(10):52-61.

WANG Z P, HU H C, CHENG G Z, et al. Implementation architecture of mimic security defense based on SDN[J].Chinese Journal of Network and Information Security, 2017, 3(10):52-61.

[21] KELLER E, et al. Timing-based reconnaissance and defense in software-defined networks[C]// Conference on Computer Security Applications. ACM, 2016:89-100.

Security analysis in heterogeneous fault-tolerant control plane

WU Qi, CHEN Hongchang, CHEN Fucai

National Digital Switching System Engineering and Technological R&D Center, Zhengzhou 450001, China

With the large-scale application of software-defined networks, the security of software-defined networks becomes more and more important. As an important defense idea, the fault-tolerant control plane based on heterogeneity has attracted more and more researchers' attention in recent years. However, the existing researches ignore the problem of common vulnerability in heterogeneous variants, which greatly reduces the security benefits of the fault-tolerant control architecture for software-defined networks. Addressing this problem, the common vulnerability was taken in heterogeneous variants into considerations. First, the tolerance capability of the fault-tolerant control plane was quantified. Then a control plane deployment method was constructed which was able to maximize the tolerance capability. The simulations show that the proposed method can effectively reduce the failure probability of the control plane. When the attackers attack the control plane constructed based on the proposed method, they pay more attack cost to compromise the control plane.

software-defined network, common vulnerability, heterogeneous variant, tolerance capability

TP393

A

10.11959/j.issn.2096-109x.2018095

吴奇(1991-),男,江苏徐州人,国家数字交换系统工程技术研究中心博士生,主要研究方向为网络安全。

陈鸿昶(1964-),男,河南郑州人,国家数字交换系统工程技术研究中心研究员、博士生导师,主要研究方向为网络安全方向、大数据。

陈福才(1974-),男,江西高安人,国家数字交换系统工程技术研究中心研究员、硕士生导师,主要研究方向为网络安全方向、大数据。

2018-09-15;

2018-10-20

吴奇,wqstudy@outlook.com

国家重点研发计划资金资助项目(No.2016YFB0800101);国家自然科学创新群体基金资助项目(No.61521003)

The National Key R&D Program of China (No.2016YFB0800101), The Foundation for Innovative Research Groups of the National Natural Science Foundation of China (No.61521003)

猜你喜欢
同构异构攻击者
巧用同构法解决压轴题
试论同课异构之“同”与“异”
机动能力受限的目标-攻击-防御定性微分对策
指对同构法巧妙处理导数题
同构式——解决ex、ln x混合型试题最高效的工具
吴健:多元异构的数字敦煌
正面迎接批判
异构醇醚在超浓缩洗衣液中的应用探索
LTE异构网技术与组网研究
多自由度行星轮系机构拓扑表示与同构判别