论文阅读《Supporting Security Sensitive Tenants in a Bare-Metal Cloud 》
Posted robin5
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文阅读《Supporting Security Sensitive Tenants in a Bare-Metal Cloud 》相关的知识,希望对你有一定的参考价值。
0 Abstract
Bolted是用于裸机云的新体系结构,使租户可以控制安全性,价格和性能之间的权衡。 对安全敏感的租户可以最大程度地减少对公共云提供商的信任,并可以在自己的私有数据中心中获得类似级别的安全性和控制权。 同时,Bolted既不会给对安全性不敏感的租户增加开销,也不会损害提供商的灵活性或运行效率。
1 Background & Related Work
2 Threat Model
3 Design
Bolted的主要目标是:(1)最小化租户需要放在提供者中的信任;(2)使具有专门安全专业知识的租户能够自己实现功能;以及(3)使租户能够实现其功能。 自身的成本/性能/安全性权衡–在裸机云中。
4 Architecture
利用Bolted,租户可以建立一个安全的裸机服务器安全区,每个服务器在加入租户安全区之前都要经过租户验证其完整性。在分配过程中,服务器会转换为以下状态:free;未分配,则为Airlock,在此检查服务器的完整性,如果通过完整性检查,则将其分配给租户的安全区域,如果失败,则为reject。
4.1 components
Bolted由四个独立运行的组件组成,并且(最高安全性和最低信任度配置)由租户而非提供者编排。
Isolation Service:隔离服务向租户公开了分配或者回收服务器和网络的接口,并通过操纵提供商的网络基础结构来隔离服务器。 使用公开的接口,服务器保持free或rejected两种状态,这就确保服务器不属于任何租户网络。 这些接口还可使服务器保持Airlock状态(以验证服务器是否已受到威胁)或Allocated状态(租户可使用的状态)。隔离服务使用网络隔离技术,而不是基于加密的逻辑隔离,以增强性能保证并提供针对流量分析攻击(是不是可以用于side-channel)的基本保护。由于这些接口(在网络基础结构上)执行的操作具有特权,因此隔离服务需要由提供程序部署; 如果租户不信任提供者,则可以进一步加密其服务器之间的网络流量。由于这些接口进行的是特权级操作,因此隔离服务需要由供应商部署,如果租户不信任供应商,可以对网络传输进行加密。
Secure Firmware: 安全固件对于提高租户对公共云服务器的信任至关重要。他应该具有以下属性:
- 开源,以便在大型社区的支持下受益于改进其功能并修复所有错误和漏洞。
- 确定性地构建,以便租户可以从已验证的源代码构建固件并独立验证提供商安装的固件。
- 它必须在启动租户OS之前清理服务器内存,如果服务器被先前的租户抢占,则必须确保内存中不存在先前的租户的代码和数据。
- 它必须为处于Airlock状态的证明代理提供执行环境。
更换计算机固件很难操作, 即使是主要提供商,也常常被迫安装由硬件制造商签名的巨大二进制文件,而无法访问源代码。 如果无法更换固件,我们将在最短的时间内使用已安装的固件来下载我们自己的安全固件,且服务器的预安装固件必须支持受信任的启动。虽然总体Bolted架构设计支持系统固件(例如Bios或UEFI)和外围固件(例如GPU,网卡等)的认证和安全性,但是没有标准化和已实现的方法来证明那些外围固件 。标准化的早期尝试正在进行中,我们希望Bolted在这些标准成熟时可以利用它们。
Provisioning Service: (1)在Airlock状态期间使用负责对其进行证明的软件堆栈(即安全固件和证明代理)对服务器进行初始配置,(2)在allocated状态期间(即已成功验证服务器是否已在服务器上)对服务器进行配置 (不受影响)(例如,操作系统和相关软件包),以及(3)在释放服务器时保存或删除服务器的持久状态。该服务可以由供应商或者租户自己部署。对于不信任供应商提供的OS镜像或者想使用自己的系统的租户而言,后一种选择(租户自己部署该服务)非常有用。 该服务必须以无状态的方式供应服务器,以便租户在服务器释放后不必依赖(并信任)提供者来删除任何持久状态。
Attestation Service:(1)在要证明的服务器上执行证明代理,(2)维护许可的固件/软件(即白名单)。此服务在Airlock和Allocated状态期间使用,该服务可以由提供者或租户部署。
在Airlock状态期间,证明代理程序(在初始化配置期间从Provisioning Service下载),负责将固件和引导顺序中涉及的任何其他软件的 quotes(从安全密码处理器(例如TPM)获得并签名的哈希测量)发送到证明服务器,以与白名单进行匹配。根据从证明服务器获得的证明结果,被证明服务器的状态更改为allocated或rejected。如果无法更换计算机固件,则提供商必须提供受信任的启动顺序度量(直到执行安全固件)。获得此度量是每个服务器的一次性操作,并且该白名单可以由提供商公开发布。
在Allocated状态下,证明代理(安装在租户OS上)可以根据证明服务器上存在的白名单(也称为连续证明)连续验证运行的软件堆栈。为了使连续认证工作,应配置软件堆栈,以便在观察到任何更改后将新的测量值保存到加密处理器。证明代理定期将在加密处理器中注册的软件和配置的新哈希度量发送到证明服务器;如果证明失败(即,观察到任何恶意活动),则证明服务器会向证明代理发出警报。连续认证可保护租户免受未经授权的可执行文件执行以及恶意重启进入未经授权的固件,引导加载程序或操作系统的侵害。请注意,在提供者部署的证明服务中,连续证明从根本上更具挑战性,因为运行时白名单(例如,允许在节点上运行的已批准二进制文件的哈希)必须由租户生成;我们假设连续认证仅由部署自己的认证服务的对安全敏感的租户使用。
4.2 life cycle
针对安全性敏感设备进行生命周期分析:
1)分配:租户使用 Isolation Service (隔离服务)分配新的裸机服务器,创建Airlock,然后将该服务器移至与证明和预配网络共享的Airlock;将同时处于Airlock状态的服务器隔离开,使受感染的服务器无法感染其他未受破坏的服务器。
2)加载:将安全固件、引导加载程序、证明软件以及任何其他相关软件一起配置到服务器。
3)证明:证明服务证明该服务器固件完整。
4)移动:一旦步骤(3)证明完整性,租户再次使用隔离服务将服务器从Airlock移动到Attested Pool,通过服务器连接到租户网络。
5)失败:如果证明失败:移动到Rejected Pool,与云上的其他部分完全隔离;
6)配置:为了进一步使用服务器(目前还是裸机),使用Provisioning Service来安装租户的OS和其他应用程序。
4.3 Use Cases
三种不同的安全需求的使用样例
A:最大化性能并且最小化成本,不关心安全性
B:除了供应商,其余的租户都不信任
C:安全敏感型用户,最小化对供应商的信任
爱丽丝(Alice)和鲍勃(Bob)愿意信任提供商的网络隔离和存储安全性,并且不需要采用运行时加密,也不会招致其性能负担; 他们也不需要花费精力来部署和管理自己的服务(如管理不善,对缺乏安全知识的用户造成更大的风险)。此外,爱丽丝所使用的脚本甚至不会打扰提供商的证明服务,从而进一步提高了她启动服务器的速度以及降低她的费用(这里假设供应商将服务器分配给她的所有时间都向她收费)。
对安全敏感的租户C部署了自己的可能已修改的预配和证明服务。 他不必依靠提供商的网络隔离来保护自己的机密性和完整性,而是可以实施运行时保护,例如网络和磁盘加密。 此外,证明服务不仅可以用于防止他免受先前租户的侵害,还可以维护应用程序和配置的白名单,并以持续的方式快速检测到任何妥协。 Bolted要求C信任供应商的是针对拒绝服务攻击(Dos),因为只有提供者才能部署隔离服务,分配服务器并控制提供者交换机。 在这种情况下,因为提供商会控制与数据中心的所有联网,使用当前的联网技术不可避免地要信任提供商。
除了云用例外,Bolted的设计还具有足够的灵活性,可以处理主机托管设施的用例,在这些主机中,数据中心租户可以临时“借贷”彼此的计算机,以应对需求波动。 这种用例是Bolted目前主要的用例。 在这种情况下,单方可能既是提供者又是租户。例如,一方可能对其HPC集群有很高的需求,而另一方可能在其IaaS云中拥有备用容量; 来自第二方(提供者)的隔离服务可为第一方提供贷款服务器,并由第一方(用户)提供证明和预配置服务(包括与预配置相关的存储)。
由于不同的Bolted服务是独立的,由租户脚本编排,因此租户可以直接使用多个隔离服务中的容量。 Bolted的证明对于不可信环境(例如研究测试平台)中的生产服务非常重要。使用标准Bolted设置服务的租户,因为Bolted使用安装的存储能够确保租户的存储持久化,从而无需进行存储加密。由于Bolted允许租户能够部署他们自己的供应服务,因此某些租户可以使用安装到本地存储的自定义供应服务。使用自己的基础结构时,租户和提供者在同一组织中。 在这种情况下,租户信任提供者,因此不需要网络加密。租户愿意与将使用服务器的可信赖伙伴达成协议; 信任合作伙伴的隔离服务后,通信时就无需与可信赖的服务器进行网络加密。
5 Implementation
6 Evaluation
7 Concluding Remarks
以上是关于论文阅读《Supporting Security Sensitive Tenants in a Bare-Metal Cloud 》的主要内容,如果未能解决你的问题,请参考以下文章
Security and Communication Networks 论文投稿
Security and Communication Networks 论文投稿
Supporting Right-to-Left Languages
Supporting Multiple Screens(支持Android各种屏幕尺寸)