DSEOM框架:基于容器的云环境中的MTD安全性动态评估和优化框架

robots

 

摘要

由于轻量级特性,容器技术和微服务体系结构的结合行成的基于容器的云环境比基于虚拟的云环境更高效敏捷。然而,它也极大的地加剧了云环境的动态性和复杂性,同时使系统的安全问题更加不确定。

在这种情况下,在云环境中的具有固定策略的防御机制的有效性会会随着更新而波动,我们把这个问题称为防御机制的有效性漂移问题,这个问题在主动防御机制中十分突出。为了解决这个问题,我们提出了DSEOM这个解决策略,这个策略可以自动感知基于容器的云环境更新的框架,快速评估MTD的有效性变化和动态优化策略。此外我们还建立了一个多维攻击图模型来划化各种复杂的攻击场景,并综合此模型引入了中介中心性的概念,这种方法可以有效地评价和优化MTD的实施策略。此外,我们还引入了一系列的安全性能指标来量化MTD策略在DSEOM中的有效性,本文通过大量的实验来说明有效性漂移问题的存在,并证明了DESOM这种策略的可用性。

 

1简介

最近几年,容器技术在云环境中得到了广泛的应用,容器具有更短的启动时间和更低的虚拟化开销,并且容器还提供了统一且可移植的软件环境,因此使用容器就可以忽略平台之间的差异从而在任何平台运行和扩展。得益于此,容器也进一步推动了微服务体系结构的快速发展,微服务体系结构目前应用于Uber和Netflix等软件,在微服务体系结构中,单个应用程序被解耦为一组执行单一功能的独立微服务,它可以帮助简化服务更新流程和扩缩,微服务体系结构具有更好的模块化,使应用程序开发人员能够利用其他提供者提供的轮子。

考虑到容器技术和微服务体系结构的使用情况日益扩增,我们需要考量这种变化是否会影响云环境的安全性,不同于刚性的基于VM的云环境,微服务架构使得服务的扩展和更新更加灵活,每个服务的更新频率可以每天可高达数百次,微服务的灵活性也使得云环境的动态性和复杂性大大增加,这种情况可能会无意中引入一些新的安全问题。由于高频率的更新,具有固定策略的Derense机制很难持久地覆盖攻击表面,防御机制的有效性会随着时间的推移而随之波动(增加或减少),我们将这种现象称之为效率漂移问题,主动防御机制的有效性在很大程度上取决于防御目标的事实情况,如果防御策略不符合假设条件,主动防御机制就不能很好发挥作用。

我们将目光转向了专注于移动目标防御策略(MTD),这种策略具有典型的主动防御机制。MTD可以根据目标系统的攻击面进行不断的调整,如随机执行环境,软件实现,以及网络拓扑等,以减少攻击者利用攻击面的机会。MTD策略侧重于静态部署场景,不能满足基于容器的云环境下MTD策略动态化的要求,因此我们提出了DSEOM框架来研究和解决上述问题。DSEOM是第一个用于实时评估和优化基于云环境中容器的MTD技术有效性的框架。

DSEOM能够自动感知基于容器的云环境中的更新情况,并快速评估MTD的有效性变化情况并优化其实施策略 ,本文通过建立一个整体攻击图(HAG)来摸拟基于容器的云环境中所有可能的攻击事件。根据攻击者的行为模式,我们引入了中介中心性的概念用于定位HAG中的薄弱环节以辅助评估和优化MTD策略的有效性,然而 由于云环境的复杂性和攻击行为的多样性,HAG中的中介中心性不能很好地描述某些特殊攻击场景,为了解决这个问题,我们引入了一组特定的攻击场景,我们结合这两种攻击图模型的中介中心性定位到了云环境下的弱点,由此,DSEOM可就以快速确定MTD的有效性漂移问题,并准确地确定弱点,生成最优MTD策略。

此外,DSEOM是一个灵活和可扩展的框架,提供了一系列MTD技术作为研究示例,可以动态地添加或者删除,以有效地展示DSEOM的可用性,我们定义了一组安全性和性能指标,以量化和比较DSEOM提供的MTD策略与初始策略之间的有效性差异,基于实验结果,结果表明,在基于container的云环境中,DSEOM能够以可接受的代价来快速优化并保持MTD策略的有效性。

 

2 背景信息

2.1 基于容器的云环境

与VM相比,容器的I/O吞吐量更高且时延更低。同时由于该方法可以将程序代码和依赖项打包在一起,所以这种平台(如Docker和kubernetes)就可以提供一个通用的开发环境来开发测试软件,这极大缩短发布周期和更新流程。

上述策略促进了新服务架构的开发,比如microservice架构,这种构架下的应用程序被解耦为一组称为微服务的简单功能,每个微服务对应一个功能,且部署在云环境中,一组微服务通过HTTP或RPC交互形成服务链,向用户提供集成功能。由于功能可拆卸,所以应用调整十分方便,但同时它也极大地增加了云环境的动态性(因为微服务一天可以独立更新10-100次)。

与传统云环境不同,基于容器的云环境是由容器技术和微服务框架组成的 。然而,除了上述优点以外 ,这些新技术也带来的一些安全问题。主要的安全问题包括:容器之间的弱隔离问题(该问题在基于vm的云环境中也存在),微服务可能引起的更大的攻击面问题 ,以及高动态性引起的安全漂移问题。

2.2 MTD技术

MTD是一种主动防御机制,它通过不断改变IT系统的攻击面来增加攻击的不确定性和复杂性,MTD增加了攻击成本且降低了攻击成功率,这有效增加了攻击者渗透系统和保持持续攻击的难度。云环境是MTD技术的实践场景之一,MTD技术依据部署位置差异可分为三种情况:(1)应用程序级别,MTD技术为应用程序提供实施不同但是使用一致的方式。(2)平台级别,运行应用程序的环境可进行随机化.(3)网络级别,网络属性可被反复重排(如拓扑重建等)。

虽然MTD技术可以提高系统的安全性,但是其直接或间接导致的安全问题不容小觑。 例如网络级别的MTD技术会直接导致网络服务质量下降并影响服务间通信。同样,其他MTD技术如容器或虚拟机的热迁移,也将消耗系统资源(如CPU、内存或磁盘) ,这间接导致了云服务性能下降。 因此,就需要我们制定一个兼顾性能和效率的策略平衡点。

 

3 威胁模型

存在多资产的云环境易被攻击者视作攻击目标。 我们假定一个场景:云平台和服务提供商可信,来自于外部网络的攻击者通过渗透到云环境中来窃取重要数据。基于容器的云环境的场景如下图所示。

然后,我们将攻击目标进行如下描述:

1、攻击目标。 在基于容器的云环境中,被攻击的服务实例ST运行在工作节点上,该实例包含应用程序服务S和容器C,表示为ST={S,C}。服务应用程序S包含服务代码及其依赖库,容器C是运行这些代码的虚拟环境。如上图所示,S和C分别位于服务层和虚拟层。 同时我们还假设这些目标存在一些可被攻击者利用的漏洞。

2、攻击过程。 我们假设攻击者通过攻击¬链发动攻击(即攻击者通过进行各种侦察并识别目标中的漏洞的操作)且具备漏洞利用手段。

3、攻击者能力。 默认攻击者有能力同时攻击多个目标并可完整完成攻击。

外部网络:我们假设攻击者能够攻击应用程序服务S,通过攻击目标S,攻击者可以触达服务层并继续攻击。

服务层:通过内部网络,攻击者可以对其他服务应用程序进行攻击。此外,攻击者还可以通过虚拟机逃逸(例如CVE-2016-5195)来攻击容器,进而访问虚拟层 。

虚拟层:受网络隔离策略的限制,攻击者可以在范围内攻击可触及的服务和同节点服务。

同时我们假设攻击者不知道云服务的细节配置,诸如业务流程,云环境中服务放置位置,服务的备份数量以及容器细节信息。

 

4框架概述

4.1 建模

根据威胁模型,我们正式定义了HAG 覆盖的基于容器的云环境中的攻击事件环境和多维攻击图形式下的攻击场景。 然后,我们引入中介中间性概念来确定这些攻击图中的薄弱点且评估MTD策略的有效性。

定义1:整体攻击图(HAG)是一个有向图G=(N,E),其中N是指示攻击目标的点簇f(N)->{S,C},E是指示攻击路径的边的集合。

攻击者通过已受损节点Npre向目标节点Npost进行攻击。每个攻击路径的攻击难度都与目标节点漏洞的可利用性有关。下面,我们将继续定义攻击图谱中的攻击难度权重:

定义2:定义E是Npre指向Npost的边,定义DF(E)是攻击难度权重。

为了评估攻击难度系数,我们使用了通用漏洞评分系统(CVSS)中定义的指标来量化目标节点中存在漏洞的攻击难度。CVSS的3.0版本的度量由三部分组成(基础情况、时间和环境度量),基本利用情况包括攻击向量(AV)、攻击复杂性(AC)、权限要求(PR)和用户交互情况(UI)。基于这些基本度量,的每个漏洞的利用难度表示为ED。计算方式为:ED=1/(AVACPRUI)

同样,我们还确定了节点攻击难度DF,和通过中介中间性的计算确定了攻击者攻击难度B(该难度与攻击间最短路径数量有关)。

然而,考虑到现实世界中攻击者行为的复杂性和多样性,基于HAG计算的中介中间性可能无法覆盖网络中的一些特定的攻击场景。例如,当攻击场景发生在虚拟化或硬件级别时(如容器逃逸),攻击目标通常具有较大的攻击难度,其目标很少包含在HAG的最短路径中。因此,中介中间性不能有效地反映与这些场景相关的重要节点。为了解决这个问题,我们在定义3中定义了多维攻击图来描述这些特定的攻击场景。多维攻击图由一组独立的攻击图组成。每个独立的攻击图分别描述了位于云环境不同层的攻击者的行为。通过将HAG中的中介中间性与多维图(AGs)相结合,我们可以更准确地计算节点的重要性。

定义3:多维攻击图G是HAG的子图集合,L表示云环境下的层级,不同的L层级下的N受层级影响。

考虑到性能影响,我们不能在所有节点上部署MTD。因此,需要一个决策算法来确定MTD应该部署在哪些节点上,以最大限度地提高系统的安全性,并同时对性能的影响最小。由于每个节点的属性都影响决策,所以我们具体定义了属性P来描述节点的重要性和在其上实现MTD的成本。

定义4:节点的属性P是三元组P=(Cost,’Dec,Imp),其中Cost量化了节点上MTD实现的时间成本,而由此导致的服务质量下降量化为’Dec,Imp表示节点的中介中间性。

在真实的云环境中,MTD实施的时间成本和由此导致的服务性能下降与许多因素都有关,例如服务的类型或配置。因此,成本和Dec是在真实的云环境中度量的。

在选定的节点上部署MTD后,攻击过程若发生中断,攻击者就得付出更大的代价来破坏这些节点。在这种情况下,我们设计了DF来定义部署MTD的节点的攻击难度。我们假设攻击者在每次MTD执行后都得重启攻击过程,所以在单位时间内,攻击者的攻击难度都需要将难度系数累乘原始值。

同时,某些节点之间的最短路径相应的AGs也会发生变化。通过定义5我们进行了定义:

定义5: 给定起始节点Ns和目标节点Nt,定义这些节点之间的最短路径是sp,攻击难度是AF,在部署实施MTD后,这条路径上的总攻击难度定义为AF。部署前后的AF差值就是部署MTD带来的安全收益。

在整个云环境中,我们定义部署 MTD策略的有效性为EM。EM为AGs中任意两个节点之间最短路径上的攻击难度增量总和。EM也可以反应出来在发生事件更新后MTD策略的有效性漂移,这是因为更新可以改变相关节点上的攻击难度,这直接导致了攻击图中部分最短路径的改变。

4.2 框架设计

在本节中,我们将提供DSEOM的设计概述,该框架能够监控云环境中的更新事件,并提供基于理论模型的评估和优化机制以保持其有效性及MTD策略的实时最优解。下图展示了DSEOM的总体框架架构,构架由监控引擎、决策引擎和防御处理器三个模块组成,监控引擎模块负责收集实时更新事件和监控服务的性能情况。在云环境中,更新后参数变化较多,所以为简单起见,我们只关注更新服务版本、实例规模和服务之间的依赖关系这些可以映射到攻击图上的变化。当更新发生时,监控引擎就会收集信息并发送至StatsCollector。

此外,监控引擎也用于监控MTD部署实施所导致的服务变更情况并更新记录。

•算法1.MTD决策算法

实验中部分用到的漏洞信息为:

下图实验结果表明在IP shuffling的参数分别设置为30s和50%时可完成IP交替过程, 且性能下降情况在可控范围内。

 

6 相关情况

基于容器的云环境安全性问题一直是一个重要的研究领域,在Tak的论文(Understanding security implications of using containers in the cloud)中就讨论了与云环境相伴相生的安全问题,其研究表明基于容器的云环境的高动态性可能会带来破坏性漂移问题。此外,云环境的隔离问题也广受关注,Gao在论文Containerleaks: Emerging security threats of information leakages in container clouds中就系统地研究了容器和主机间的泄露通道问题及相关云平台威胁问题,针对该问题,Arnautov尝试使用了SGX技术来加强来自外部攻击的容器隔离保护机制。

MTD评估技术。 由于MTD技术的广泛应用,也随之伴生了一些MTD指标监控研究。其中Okhravi等人采用覆盖面、不可预见性和及时性作为评估参数。,Taylor等采人用成功率、完整性、生产能力和保密性来评估成本和收益。Picek等人采用振幅、振幅的相对变化、平均间隙和平均长度来推断其有效性等。 Okhravi等人使用马尔可夫链提出了一种通用评估模型。 而Maleki等人也使用马尔可夫链去模拟了MTD攻防模型。 康奈尔等人引入了定量分析模型CTMC里评估MTD性能和资源可用情况。

(完)