APP下载

云环境下基于动态异构的拜占庭系统

2018-05-29陈扬扈红超刘文彦霍树民梁浩

网络与信息安全学报 2018年5期
关键词:拜占庭异构攻击者

陈扬,扈红超,刘文彦,霍树民,梁浩

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

1 引言

云计算(cloud computing)是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息,可以按需求提供给计算机和其他设备。它提供可用的、便捷的、按需的网络访问。通过可配置的计算资源(包括网络、服务器、存储、应用软件、服务)共享池,只需投入很少的管理工作就可快速获得这些资源。例如,国内的阿里云、腾讯云以及在国外已经非常成熟的微软Azure、谷歌云平台等,各种“云计算”的应用服务范围正日渐扩大,影响力也无可估量。但云计算存在以下2个不可忽视的问题。

1) 数据的入侵容忍能力低。云计算最重要的2个问题是保密性和安全性。如企业把企业信息、客户信息等敏感的商业数据存放于云计算服务提供商,通过减少对某些数据的控制节约经济成本,但是企业也必然会担心数据放在云端是否安全以及会不会被泄密和窃取等问题。

2) 云计算基础设施的入侵容忍能力低。云计算模式下,由于所有的业务处理都在服务器端完成,所以云计算平台成为入侵者攻击的核心。另外,云计算平台自身也面临各式各样无法预料的错误。例如,2010年上半年,Amazon云计算服务因为人为失误和意外停电事故出现故障,致使美国东部的少量用户失去服务并导致部分数据丢失。因此云计算平台一旦被入侵或出现问题,将导致云服务提供商和用户利益受到严重损害[1]。

为了解决上述2个问题,拜占庭系统模型被大量应用。拜占庭问题是构建可靠的分布式计算体系的基本问题。在这类问题中,有3f+1个执行体,其中,最多有f个可能失效(拜占庭错误或被破坏),拜占庭问题的目标是让所有正常执行体在即使系统中有拜占庭错误的情况下也能达成一致。

2 相关工作

近年来,针对入侵云容忍研究的拜占庭系统,主要是在拜占庭容错(BFT, Byzantine fault tolerance)协议上进行优化改进和应用。文献[2]提出了一种拜占庭容错框架拜占庭容错云(BFT cloud),用于提高云系统的顽健性。文献[3]提出了一种名为BFT-MCDB(Byzantine fault tolerance multi-clouds database)的拜占庭容错模型,将拜占庭协议以及Shamir的秘密共享方法结合起来,以检测多云计算环境中的拜占庭故障,并确保存储在云中数据的安全性。

为了基于拜占庭提高云的入侵容忍能力,文献[3]以Hadoop为平台实现了MinBFT和 MinZyzzyva最小拜占庭算法原型。在对2种算法性能进行比较的基础上,改进了容忍入侵算法性能,实现了在2f+1个副本中容忍 f个副本的错误;尽量减少内部通信资源开销和副本数量,降低云计算资源消耗,提高系统容忍入侵性能。文献[4]提出了资源有效的拜占庭容错(REBFT, resource-efficient Byzantine fault tolerance),这种方法通过将f个副本保持在被动模式,在正常情况下通过最小化BFT系统的资源使用情况。与主动副本相比,被动副本既不参与协议也不执行客户端请求;而是通过活动副本提供的验证状态更新来提升速度。在怀疑或检测到故障的情况下,被动副本以一致的方式被激活。文献[5]提出了一个新的BFT中间件系统——Thema,它扩展了BFT和Web服务技术,以提供一种结构化的方法来构建应用程序开发人员可以使用的拜占庭容错,其可生存的Web服务和其他Web服务一样。它们允许拜占庭容错服务:1) 支持Web服务的多层次需求;2) 为自己的客户提供标准化的Web服务支持。文献[6]介绍了 BFT-WS的设计和实现,BFT-WS是一种用于Web服务的拜占庭容错中间件框架。它使用标准的Web服务技术构建拜占庭式容错服务,因此更适合实现互操作性。文献[7]提出了Perpetual——一种支持拜占庭容错执行复制服务的协议,同时强制执行严格的故障隔离,永久性地实现了在长时间运行的线程中异步调用和处理远程请求的复制服务之间的交互。

但现在大多数拜占庭系统都是镜像复制的执行体,这样的系统具有一定的可靠性,但是安全性不足,往往攻击者攻破一台主机就能很容易攻破其他主机。本文围绕基于动态异构的拜占庭系统提高云服务入侵容忍能力进行研究,主要贡献如下。

1) 针对入侵云容忍下的拜占庭系统描述了潜伏式攻击模型。

2) 为提高拜占庭系统安全性提出了动态异构的拜占庭系统(DHB, dynamic heterogeneous Byzantine system)模型。

3) 为进一步提高异构系统的安全性,提出利用系统漏洞和攻击技能水平衡量执行体生命周期,并将量化结果作为系统切换时间。

4) 实验部分模拟攻击方式对改进动态异构拜占庭模型进行防御效果测试,有效评估系统安全性。

3 潜伏攻击模型

拜占庭执行体在云环境下以虚拟机的形式存在,随着时间的推移,一个虚拟机的攻击面会逐渐扩大[8]。即使是有一定入侵容忍的拜占庭系统,执行体也可能在扩大的攻击面下被攻击者逐个攻破被攻击者而使系统失效。针对此问题构建潜伏式攻击模型。结合实际情况,做出如下假设。

假设 1 假设攻击者以虚拟机作为攻击目标,暂不考虑针对 Hypervisor、管理器以及物理设施的攻击。

假设 2 对于一些重要的云中资源,如军事机密、银行账户,攻击者已经不是独立个人,而是团体,为了攻破拜占庭系统,他们有足够的时间和资源支撑其行动。

假设 3 攻击者攻破各个执行体是相互独立事件。因为采用异构执行体,所以暂时忽略执行体之间的相互影响。

假设 4 因为拜占庭系统针对个别(不多于f个)的单独攻击有较好的容侵性能,所以在考虑攻击的时候仅考虑潜伏式攻击。

基于以上假设,提出一种潜伏式攻击模型。当攻破一台执行体的时候并不立刻进行破坏(因为拜占庭的入侵容忍机制),而是继续感染攻击其他执行体。此时攻击者可以知道有多少执行体,因为各个拜占庭执行体之间会进行通信,一旦攻击者控制了一台执行体就可以获得关于其他拜占庭执行体的很多信息。如果攻击者逐个依次攻击,则定义为“串行”攻击。基于攻击者组织规模,攻击者也可能进行“并行”攻击,即多个执行体可能同时受到攻击。随着时间积累,当攻击者攻破的执行体超过了入侵容忍的限度 f,再发起总攻,就能彻底破坏拜占庭系统。定义na为攻击者控制的执行体个数。

1) 当时,攻击者能使系统无法正常工作(达不成一致)。其危害性较低。

2) 当时,攻击者可以使系统一致输出错误信息。其危害性较高,这是最佳攻击目标。

4 动态异构拜占庭模型

现在大多数拜占庭系统都是镜像复制的执行体,这样,往往一台主机被攻破就能感染其他主机。所以异构执行体是拜占庭系统的发展方向。

即使采用异构方法,如果执行体一直保持静态不变,系统也存在如下安全性问题。

1) 没有完全异构的执行体,即执行体之间仍然存在共同攻击面,如共同漏洞,如表1所示。

2) 潜伏式攻击手段在时间积累下仍能攻破异构系统。

所以,构建上述系统需要解决2个问题:①如何配置最大异构度的拜占庭执行体集;② 如何最优切换,即切换时机问题(太快会影响服务以及成本较高,慢了又可能给攻击者带来足够的攻击时间)。为解决上述问题,一个完善有效的系统应该包含执行体的异构选择和执行体的动态切换功能。

为了提高容忍性能,本文采用执行体个数为2f+1的拜占庭模型,即系统加入了消息签名。

4.1 系统框架

本文设计了一个动态异构的拜占庭系统框架,如图1所示。在云中为拜占庭系统部署了切换管理、资源控制器、执行体状态、执行体选择4个模块。

表1 系统的共同漏洞数

图1 动态异构的拜占庭系统框架

1) 切换管理

负责管理、生成和销毁执行体。可以用云中的系统调度模块实现,如基于事先创建的镜像快速生成可使用的执行体。

2) 资源控制器

负责管理和分配系统资源,如CPU、内存、存储等。这是云的资源管理模块,根据用户申请进行分配。

3) 执行体状态

维持每个执行体状态表,监视每个执行体状态,可通过云管理系统实现。

4) 执行体选择

负责从异构执行体镜像池中选择执行体,通过不同的算法,自适应地使系统的异构度最大,此部分需要在云管理系统(如 OpenStack)中开发相应模块实现。

4.2 异构性最大化部署策略

在云环境中,拜占庭系统的执行体可以在多个层面上实现异构,如操作系统异构、软件异构。应用程序堆栈的配置集合表示为,其中,存在n个技术堆栈。这里,Li表示可以在应用栈第i层使用的技术集合。

考虑一个具有4层(n=3)的云Web服务执行体,即拜占庭执行体承载的是云Web服务,其中,第1层表示Web服务的运行系统,第2层表示服务器软件,第3层表示其应用脚本,第4层表示存储处理数据的数据库。例如,第1层使用的技术L1={Windows10,RedHat,…,Ubuntu}。通过表2[9]能够看出,一个有效的配置可以是c1=(Ubuntu,Apache,PHP,MySQL),异构化配置在各个层面可以不同。

表2 异构执行体

对于种配置,执行体集合S={s1,s2,…,之间有相似性存在,如共同漏洞。定义一个相关性矩阵R,rij表示ci、cj这2种配置系统之间的关联程度,即攻破操作系统 ci后,操作系统cj被攻破的概率,且 rii=1。关联程度由共同漏洞数刻画,共同漏洞数越大,关联程度越高,对应的元素值越大,如表1所示。设ci、cj间共同的漏洞数为Kij,ci本身的漏洞数为 Vi,其中,令

借鉴生物多样性中基于物种相似度的多样性度量方法评价配置系统之间的异构性[10]。对于任意配置ci,令

pi为ci在系统中出现的频率。则定义操作系统的多样性度量[11]为

其中,c代表拜占庭系统配置方法。在布置异构执行体时,应该尽量使系统的异构性最大化,即求得

4.3 动态执行体切换策略

执行体的动态切换是一种很好的提高安全性的方法,这种思想在国外被充分应用在移动目标防御上。云服务的资源调度为执行体的切换提供了很好的条件。当执行体运行一段时间后就需要启动新的异构执行体来替换。

为了获得最大的安全性,系统还必须满足以下要求。

1) 不考虑将执行体重置成初始状态。因为执行体如果已经被攻破,攻击者第二次攻破相同系统就会变得非常容易。

2) 在执行体切换过程中,先启动替换执行体,等其正常工作后再销毁原有执行体。

① 不会破坏原系统2f+1的协议原则。

② 不会影响用户的正常使用。

从不同的角度考虑执行体的动态化有不同的方法。本文根据McQueen团队[12]的研究成果,考虑攻击者的能力以及每个执行体漏洞情况,基于单个执行体平均攻破时间(MTTC, meantime-to-compromise),为每个执行体设置不同的生命周期。

4.3.1 单个执行体平均攻破时间

本文定义攻击者在执行体上获得某种级别的权限所需的平均时间为平均攻破时间。MTTC取决于漏洞的性质和攻击者的技能水平。MTTC被建模为由以下 3个攻击者子进程组成的随机进程[12]。

进程1:当攻击者识别出一个或多个已知漏洞并且有一个或多个可利用漏洞。

进程2:当攻击者识别出一个或多个已知的漏洞,但没有可用的可利用漏洞。

进程3:识别新的漏洞和可利用漏洞。

进程1

简单假设可用的漏洞均匀分布在所有漏洞中,则攻击者具有容易获得的漏洞概率P1为

参数详情如表3所示。表3中数据为McQueen等得出的经验值,本文以此参数为案例进行分析,不同的云环境下可以以此为参照,修改相应数值以适应不同系统。规定1天作为进程1中成功攻击的平均时间[12]。

进程2

由于进程1和进程2是互斥的,即

表3 MTTC中参数定义和取值

进程2的平均时间估计应该取决于已知漏洞的数量以及攻击者能够找到或编写自己的漏洞利用代码以利用漏洞的概率。这被建模为一个串行过程,攻击者随机选择一个已知的漏洞,然后尝试查找或创建可利用漏洞。依据尝试所需基准平均值为5.8天。过程2的平均时间被建模为尝试次数乘以5.8天的预期值为

其中,进程2预期的尝试次数N为

进程3

进程3会持续到“成功”。发现可用漏洞的平均时间的合理估计为 30.42天。根据每个攻击者级别,漏洞数估计将按进行缩放。从而进程3的预期攻破时间t3为

4.3.2 切换时间

平均攻破时间,即3个过程的总时间为

其中,u是进程2失败的概率(如果V=0,则u=1)。

通过式(2)可以计算出每个执行体在不同攻击水平下的平均攻破时间t。本文将这个时间设置为该执行体的切换时间,即生命周期。因为在1个执行体的生命周期t内,必须至少同时有其他f个被攻破执行体才能对系统造成破坏。即攻击者必须在t内攻破f+1个以上的执行体。这是极其困难的,故系统的安全性可以得到很好的保证。

4.3.3 切换策略

在此系统上,结合上文的分析,本文设计了拜占庭执行体的切换策略。

步骤 1 首先切换管理模块部署多个异构执行体,并为每个执行体通过式(2)计算设置一个生命周期t,不同执行体的生命周期是不同的。

步骤 2 执行体状态模块监视每个执行体状态。如果拜占庭系统发现不一致的执行体,或者某个执行体生命周期即将到期,执行体状态模块要求进行执行体更换。

步骤 3 切换管理模块联系资源控制器从资源池分配新的资源,执行体选择器从异构执行体镜像池中选择执行体镜像,结合 4.2节的异构度计算方法,它要保证其选择使系统的异构性最大。执行体状态模块为其设置一个生命周期。

步骤 4 切换管理模块将新旧执行体进行切换并保证业务不中断。

拜占庭系统具有较高的安全性,并且系统切换时间越短,消耗资源越多。所以本文将安全划分成3个等级:Level 1(初级)、Level 2(中级)、Level 3(专家),依据攻击者的3个水平计算切换时间。定义执行体i的生命周期分别对应3个安全等级的值。这样管理者可以依靠网络状况、安全需求等具体环境进行选择。

5 理论分析

5.1 场景设定

本节尝试分析动态异构的拜占庭系统的安全性能。为了便于分析,假设除设定的防御机制外,被保护系统没有采取其他安全措施,如入侵检测、防火墙等。对于2f+1的拜占庭系统,攻击者必须在执行体生命周期ti内攻破f+1个执行体才能攻击成功。因为并行攻击对攻击团队要求非常高,投入的资源也是极大的。所以这里仅讨论潜伏式串行攻击。

5.2 安全评估

因为攻击者成功攻破一个执行体的概率密度在零时刻为零,随着时间的增加,趋向峰值然后衰减但从未达到零。所以将1个执行体被攻击成功的概率密度函数建模为伽马函数[12]。因此专家级别攻破单个执行体的概率密度函数如图2所示,其生命周期根据式(2)计算为ti,攻击者攻破执行体i的时间为iT。

对于执行体

图2 专家攻破单个执行体的概率密度函数

其中,θ>0是刻度参数是形状参数,Γ(⋅)是伽马函数。因为是同一攻击者,本文设置对各执行体攻击成功概率分布的θ值一样。

1) 对于单纯镜像复制拜占庭系统,从4.3.1节可知,当系统攻破一个执行体后,攻破其他镜像执行体就只有进程 1,即攻破时间为天。所以攻破总时间*T为

由于没有执行体的切换,随着时间的积累,系统最终会被攻破。

2) 对于静态异构的拜占庭系统,攻击者攻破个执行体的时间T服从

明显,,即异构拜占庭系统被攻破需要的时间更长。

3) 对于动态的拜占庭系统,其被攻破的概率分布函数为

ti为攻击者攻击的目标执行体集合中生命周期最小值,f( t)分别对应同构系统和异构系统被攻破时间*T和T的概率密度函数。要想攻破动态的拜占庭系统,攻击者必须要在ti内至少攻破f+1个执行体,因为一旦超过ti,生命周期对应为ti的执行体就会被系统切换,攻击者攻破的执行体数量小于f+1,则攻击失败。从式(3)可以看出,切换时间越短,被攻破的可能性越小。

6 仿真分析

基于第5节的4种系统(镜像复制拜占庭系统、静态异构拜占庭系统、动态同构拜占庭系统、动态异构拜占庭系统)架构下在潜伏式攻击中安全性能的数值解,假设系统为5个执行体的拜占庭系统,仿真专家级攻击者对该系统的攻击。

本文假设攻击者目标执行体集合*S=,其中,s1的生命周期最短。由式(3)计算得,专家攻击者对于*S执行体集合的攻击成功率如图 3所示。在 level2的安全等级下,专家级攻击者必须在10天内攻破3个执行体*S,一旦超时,s1会被系统切换,攻击者必须更换目标集合,即攻击失败。从图3可以看出,安全等级越高,系统被攻破的可能性越小。

图3 专家在不同安全等级下攻破系统的概率分布

图4比较了在安全等级Level 1环境下专家级别攻击者对有5、7、9个执行体的动态异构拜占庭系统的攻击成功率。可以看出,异构执行体越多,系统的安全性越高。所以管理者应该根据自身需求选择拜占庭系统配置。

图5给出了4种系统的攻破概率分布。可以看出,在安全等级Level 3环境下专家级别攻击者对 S*进行进攻,动态异构的防御性能有较高的安全性,攻破概率几乎为 0,这个与预期的结果一致。HB和B系统的2条线所包围的面积代表了系统的异构度范围。镜像复制拜占庭系统异构度最小,图中HB系统代表“理想”的完全异构(任何 2个系统不可能完全不同)。随着异构度的增大,攻击成功曲线向右移动,即攻破需要的时间也随之增加。

图4 执行体个数对系统安全性影响

图5 专家攻破4种系统的概率分布

7 结束语

本文针对现有云环境下的拜占庭系统构建了一种潜伏式攻击模型,并提出了一种有效应对此攻击的防御系统,即动态异构拜占庭系统。DHB系统主要由异构执行体组成,运行拜占庭协议,由控制器进行动态切换。针对攻防过程的复杂性,简化了攻防模型,在潜伏式攻击下对系统的安全性能进行了理论分析。理论与实践结果均表明,在一定程度上增大系统资源开销的情况下,DHB系统能够显著提升被保护系统的安全性,提升入侵容忍能力。

当然,本文着重介绍动态异构拜占庭基本框架,下一步是实现了一个基于 DHB系统的Web服务器模型,并对其展开攻防测试。本文主要思想不局限于仅通过 MTTC求解切换时间,而是在确定切换时间时需要考虑攻击模型,将来可以使用其他攻击模型以研究动态切换。拜占庭系统提高入侵容忍的同时也带来了系统成本的提高,执行体动态化更是增大了系统开销,所以将系统开销纳入切换策略中也是个很好的研究方向。

参考文献:

[1]王秀苹. 云计算下基于拜占庭算法的容忍入侵技术研究[D]. 包头: 内蒙古科技大学, 2012.WANG X P. Research on intrusion tolerance based on Byzantine algorithm in c1oud computing[D]. Baotou: Inner Mongolia University of Science and Technology, 2012.

[2]ZHANG Y, ZHENG Z, LYU M R. BFTCloud: a Byzantine fault tolerance framework for voluntary-resource cloud computing[C]//International Conference on Cloud Computing. 2011: 444-451.

[3]ALZAIN M A, SOH B, PARDEDE E. A Byzantine fault tolerance model for a multi-cloud computing[C]//International Conference on Computational Science and Engineering. 2013: 130-137.

[4]KAPITZA R, BEHL J, CACHIN C, et al. CheapBFT: resourceefficient Byzantine fault tolerance[J]. IEEE Transactions on Computers, 2016, 65(9): 2807-2819.

[5]MERIDETH M G, IYENGAR A, MIKALSEN T, et al. Thema:Byzantine-fault-tolerant middleware for Web-service applications[C]//IEEE Symposium on Reliable Distributed Systems. 2005: 131-142.

[6]ZHAO W. BFT-WS: A Byzantine fault tolerance framework for Web services[C]//Eleventh International IEEE Edoc Conference Workshop. 2007: 89-96.

[7]PALLEMULLE S L, THORVALDSSON H D, GOLDMAN K J.Byzantine fault-tolerant Web services for n-tier and service oriented architectures[C]//The International Conference on Distributed Computing Systems. 2008: 260-268.

[8]PENG W, LI F, HUANG C T, et al. A moving-target defense strategy for cloud-based services with heterogeneous and dynamic attack surfaces[C]//IEEE International Conference on Communications. 2014: 804-809.

[9]仝青, 张铮, 张为华, 等. 拟态防御 Web服务器设计与实现[J].软件学报, 2017, 28(4): 883-897.TONG Q, ZHANG Z, ZHANG W H, et al. The design and implementation of mimic defense Web server[J]. Journal of Software,2017, 28(4): 883-897.

[10]LEINSTER T, COBBOLD C A. Measuring diversity: the importance of species similarity[J]. Ecology, 2012, 93(3): 477.

[11]ZHANG M, WANG L, JAJODIA S, et al. Network diversity: a security metric for evaluating the resilience of networks against zero-day attacks[J]. IEEE Transactions on Information Forensics &Security, 2016, 11(5): 1071-1086.

[12]MCQUEEN M A, BOYER W F, FLYNN M A, et al. Time-tocompromise model for cyber risk reduction estimation[M]//Quality of Protection. Berlin: Springer, 2006: 49-64.

猜你喜欢

拜占庭异构攻击者
试论同课异构之“同”与“异”
机动能力受限的目标-攻击-防御定性微分对策
拜占庭帝国的绘画艺术及其多样性特征初探
吴健:多元异构的数字敦煌
正面迎接批判
浅谈初中历史教学中的逻辑补充——从拜占庭帝国灭亡原因谈起
异构醇醚在超浓缩洗衣液中的应用探索
《西方史学通史》第三卷“拜占庭史学”部分纠缪
LTE异构网技术与组网研究
拜占庭之光