下载本文的PDF版本 PDF

云计算弹性的安全性

弹性计算具有巨大的潜力,但仍存在许多安全挑战。

Dustin Owens,BT Americas

作为有点技术炒作的守旧派,直到最近,我仍然属于认为云计算不过是最新营销驱动的炒作,为一个已经存在多年的想法。外包IT基础设施服务,又名IaaS(基础设施即服务),至少从1980年代开始就存在了,由电信公司和主要的IT外包商提供。托管应用程序,又名PaaS(平台即服务)和SaaS(软件即服务),在1990年代以ASP(应用服务提供商)的形式风靡一时。

从这个角度看待云计算,我曾预测,在行业想出另一个“令人兴奋”的技术来制造大规模混乱和热议之前,还需要多少个月。但是……我最近被云计算的真正潜力所启发,并且至少可以说,对此感到非常兴奋。这个概念,在过去几年中产生了最多的行业炒作——并且由于承诺可以大幅节省IT成本和创新可能性,使得高管们都在 clamoring for availability —— 最终说服了我。

那么,我发现了云计算的什么,使得一个如此坚信它只不过是最新行业话题 du jour 的人转变了立场?首先,让我解释一下,这绝非易事。我花了很多功夫才理清关于云计算定义的惊人混乱,更不用说找到真正的潜力之所在了。定义比比皆是,而且我仍然戴着守旧派的帽子,我开始看到很多吹毛求疵和“我也是”的定义,这些定义似乎只会加剧问题。我最终选择了NIST(美国国家标准与技术研究院)提供的定义,因为它提供的框架很简单(见侧边栏)。尽管如此,直到一位已经发现了所有这些疯狂背后真正潜力的好朋友,向我提供了一些关于弹性的真实用例,光明才开始变得非常耀眼。

在我看来,弹性是云计算真正的金矿,也是使整个概念极其具有进化意义,甚至革命意义的原因。NIST对弹性的定义如下:“能力可以快速且弹性地配置,在某些情况下是自动配置的,以快速扩展,并快速释放以快速收缩。对于消费者而言,可用于配置的能力通常看起来是无限的,并且可以随时购买任意数量。” 当弹性与按需自助服务能力相结合时,它可能真正成为IT领域的游戏规则改变者。

高级外包IT基础设施和软件服务,曾经只有拥有大量预算来开发、构建和支持这些资源持续使用的组织才能获得,现在可以提供给中小型组织。此外,这些资源可以更快地添加、更改或删除,从而有可能实现运营效率的指数级提升。以前(并且在很大程度上目前)需要数月甚至数年才能计划和执行的对主要IT服务环境的更改,如果弹性能够兑现其承诺,则可能在几分钟或几小时内完成。换句话说,弹性可能会给IT基础设施带来亨利·福特给汽车工业带来的装配线和大规模生产:可负担性和大幅缩短上市时间。

尽管这一认识令人启发,但也很清楚,几个重大的安全挑战(更不用说许多重大的非安全相关挑战,尤其是完整的功能可用性以及组织环境为分布式模型运行做好了多大准备)现在开始发挥作用,并且需要加以解决,以便云计算的弹性元素能够充分发挥其潜力。然而,今天我与客户进行的大部分对话,以及我在公开场合看到的大部分内容,都简单地集中在IT外包的一般安全挑战上。这些挑战在前面提到的前辈模型中已经存在了一段时间:外包商内部谁能够访问客户的数据,外包时的边界安全考虑,DOS/DDOS(拒绝服务/分布式拒绝服务),资源耗尽,以及数据存储或备份地点的合规性挑战。这些都是我多年来一直在提供咨询的挑战,并非新鲜事物或难以克服。不要误解我的意思。这些挑战确实非常真实,仍然需要解决,但我坚信,大多数挑战现在应该已经广为人知,并且可以通过现有的程序或技术解决方案轻松解决。

我更关心的挑战是那些通过添加弹性和按需自助服务来形成云计算的全部范围而引入的挑战——在我看来,这些要素使特定服务不仅仅是具有更漂亮营销外表的外包服务。

弹性安全挑战

在云中启用弹性强烈暗示了虚拟化的使用。虽然虚拟化及其带来的固有安全挑战当然不是什么新鲜事,但云提供商如何可能大规模使用它来实现弹性IT环境,这提出了一些值得更详细探讨的有趣的安全挑战。此外,随着虚拟化技术的不断发展和普及,新的漏洞不断被发现;例如,最近宣布的漏洞,通过该漏洞,可以从一个VM(虚拟机)客户端环境遍历到同一hypervisor管理的其他客户端环境。

这些新漏洞在云计算领域可能比在组织的企业环境中产生更大的影响,尤其是在没有及时处理的情况下。举例说明:想象一下,许多客户都由云提供商内的单个hypervisor管理。如果上述漏洞没有得到解决,则可能允许客户访问其他客户应用程序的虚拟实例。考虑一下,如果您的银行或特别敏感的联邦政府或国防信息恰好在这种环境中管理,而云提供商没有立即处理,甚至不知道这种性质的漏洞,其影响。

有了这些背景知识,很明显,在虚拟客户环境之间提供足够的管理隔离将是弹性的一项重大安全挑战。云提供商需要准备好说明并展示他们的特定服务如何能够控制早期示例中的漏洞,并防止尚未发现的类似漏洞对其客户造成灾难性影响。也许更重要的是,如果提供商缺乏必要的控制,关键基础设施可能会面临无法克服的风险和/或敏感信息丢失。随着云提供的服务继续成熟和扩展,所构成的威胁不仅限于未经授权的信息访问,还可能包括任何云提供的计算系统(即,虚拟服务器、虚拟桌面等)。我们希望美国政府认识到并解决这一挑战,因为联邦机构正在迅速转向采用基于云的服务,因为潜在的后果尤其令人不安。

解决这一挑战可能并非易事。首先,为了使云提供商能够最大限度地降低其管理成本并获得盈利能力,他们预计将不得不跨多个虚拟客户环境使用共享的管理管理系统(即,hypervisor)。我可以设想某些服务模型可能不符合这种理论:例如,如果每个客户都被授予唯一的hypervisor(或类似hypervisor的)管理访问权限,该权限仅连接到该客户的虚拟环境,例如在虚拟私有云产品中。为每个服务模型中的每个客户使用单独的管理系统可能不现实,仅仅是因为成本。

在研究了几家云提供商在这方面的能力后,我无法清楚地看到他们的解决方案如何在多个客户使用同一hypervisor时有效地解决遍历漏洞示例的全部问题,至少在撰写本文时是这样。尽管有些提供商详细介绍了其hypervisor中内置的软件功能,旨在阻止一个客户访问另一个客户的环境,但我怀疑这些功能无法完全解决所讨论的漏洞。它们当然值得进一步详细审查。

云中弹性的另一个有趣的挑战将是,在整个虚拟客户环境中提供细粒度的访问和预定义的安全控制的能力。可能最直接适用于此的服务模型是那些提供IaaS和PaaS功能的服务模型,例如动态多级安全服务或多层应用程序环境。为了更好地理解挑战,最好先提供一些关于这些类型的服务在当今企业基础设施中(例如,多层应用程序)如何构建和管理的背景知识。一个典型的场景是,应用程序开发团队需要与网络团队以及理想情况下与IT安全团队紧密合作,以建立各个层之间适当的通信路径,包括限制允许哪些网络协议与每一层接口。这样做是为了确保信息的正确路由,并限制黑客或恶意软件在系统投入生产后可用的攻击面。

此外,在处理某些类型的数据(例如,金融或信用卡数据)时,某些法规和行业标准要求职责分离,以帮助防止某些情况发生——例如,应用程序开发人员将代码插入到软件中,这将允许撇取金融数据,并且由于开发人员选择不启用审计跟踪(原因显而易见),因此没有可用的审计跟踪。尽管各种云提供商确实提供了一些关于其解决方案如何解决此问题的详细信息,但用户组织的正确实施,以及对所需交付模型中实际能力的尽职调查审查,对于确保可以充分解决此挑战至关重要。

快进到云场景,在这个场景中,开发人员现在可以访问自助服务门户,通过几次鼠标点击,他或她就可以构建一个新的多层虚拟应用程序环境。如果没有通过自助服务门户提供的细粒度访问控制,将极其难以实施职责分离,以防止此开发人员访问他不应该访问的敏感数据,或者在未经适当的安全审查或变更管理的情况下将新代码推广到生产环境。在这种情况下,应用程序可能极易受到攻击,甚至可能无意中导致生产应用程序停止正常运行。实施和强制执行对细粒度级别的访问控制的能力,定义谁有权在这些环境中执行哪些操作,将是绝对必要的。

拥有预定义安全控制模板的能力也可能有助于解决这种情况。这意味着组织的IT安全团队能够定义一组必须应用于给定应用程序的控制,具体取决于它将处理的数据类型或应用程序的使用方式。例如,当开发人员构建处理信用卡信息的新虚拟环境时,自助服务门户可能会识别要处理的数据类型,并将预定义的安全控制应用于数据库、应用程序和Web前端,以及预定义的防火墙规则集,以限制对各个层的网络访问。这种能力今天在任何地方都不太可能存在,而且我们可能还需要数年才能普遍可用。

从这种情况和相同的思路中产生的另一个安全挑战是,如何在这个更动态和弹性的模型中强制执行正确的配置和变更管理。即使门户能够进行细粒度的访问控制,以控制给定用户能够执行哪些操作,它还需要强制执行用户何时以及在什么情况下被允许执行某些操作。如果没有这种能力,未经测试的代码或系统更改可能会导致对业务产生影响(甚至具有灾难性)的结果。即使是“轻微”到将新系统投入生产,而没有确保已应用适当的服务器和应用程序补丁,也可能对组织造成重大损害。因此,自助服务门户中用于强制执行组织变更策略的机制成为一种有价值且必要的功能。

这些仅仅是在真正的弹性PaaS和/或IaaS服务模型中想到的几个挑战,甚至没有深入研究SaaS的单独挑战。其他挑战包括在这些环境中为监管合规和数字取证目的提供审计跟踪的能力;在开发、测试和生产环境之间强制执行和意识到不同级别的区域,以保护部署在更高级别环境中的服务的完整性;以及控制谁有权在这些环境中扩展或收缩服务。如果用户能够随意添加服务,并且组织在月底收到过多的服务添加账单,则最后一个问题可能会在弹性“按需付费”服务模型中造成特殊的财务问题。

然而,稍微改变一下思路,值得一提的是在非安全相关环境中提供足够级别的安全服务的挑战。其中一个挑战是,传统上不注重安全的提供商需要为常见的安全功能(如入侵检测、防火墙、内容过滤和漏洞测试)提供服务选项。在前辈服务模型(如ASP)中,这些服务可以通过与安全厂商合作提供,并手动设计和配置到外包环境中。然而,在新模型中,提供商如何能够更紧密地集成这些服务,以避免失去完全弹性,可能很有趣。这可能需要从提供商的自助服务门户创建到安全服务产品的可选服务挂钩,或者可能开发由多个专业服务提供商提供的有趣但复杂的多服务云模型。无论哪种方式,由于它带来了许多其他问题,因此这个挑战本身可能值得讨论。请注意,一些供应商今天确实提供了这些功能,尤其是在虚拟私有云模型中,但在研究的供应商中,没有一家为他们提供的每种模型都完全解决了这些问题。

静态数据加密也可能是一个有趣的挑战。例如,考虑到之前的环境遍历示例,虚拟环境中的基于文件的加密在提供远程访问保护方面基本上是毫无价值的。如果可以轻松访问另一个人的环境,这也将提供对虚拟环境中用于基于文件的加密的任何前端加密机制的访问。基于磁盘的加密变得特别具有挑战性,因为虚拟存储的性质以及用户组织可能无法控制数据物理存储位置(为给定客户加密哪个磁盘以及在多个客户之间共享物理磁盘的其他约束)。对于具有规定使用文件和/或基于磁盘的加密的监管要求的组织,肯定有必要探索潜在提供商的静态数据加密能力,以及它如何很好地解决共享问题。

到现在为止,云计算充满了许多安全挑战,这一点应该很明显了。虽然这里讨论的一些概念和场景侧重于更高级的服务模型,但目的是让人们更多地意识到行业在朝着提供更高水平“真正”云计算的新模型迈进时将面临什么。根据正在讨论的服务模型类型和各种用例,要探讨所有挑战几乎是不可能的,尤其是在一次讨论中。此外,讨论的一些安全挑战似乎已被某些云提供商认识到,但主要通过使用私有云模型来解决(亚马逊和OpSource是两家在此虚拟私有云产品中提供答案的供应商),这可能意味着更高的成本,与公共云产品相比,和/或在其他云交付模型中解决的可用性有限。

然而,弹性云计算可能为IT世界带来的前景非常鼓舞人心,当然值得追求。人们只能希望已经走上这条道路或认真考虑这样做的组织,会花时间充分了解他们面临的安全挑战,以及此时的采用是否符合他们的风险承受能力。当然,在评估潜在的云提供商如何解决这些问题(以及以什么成本和部署约束)时,牢记这些和其他安全挑战应该是一个关键的业务目标。

喜欢或讨厌?请告诉我们

[email protected]

Dustin Owens ([email protected]) 是 BT Americas 业务创新集团的高级首席顾问。他为跨国客户提供以运营风险和安全管理为中心的咨询服务,专门将这些概念应用于战略业务创新的各个领域。他在分布式计算环境中解决信息安全问题方面拥有超过 14 年的实践经验。他是内布拉斯加大学卡尼分校的毕业生。

© 2010 1542-7730/10/0500 $10.00

NIST云计算定义

Peter Mell 和 Tim Grance,美国国家标准与技术研究院,信息技术实验室

版本 15,2009 年 10 月 7 日

云计算仍然是一个不断发展的范例。其定义、用例、底层技术、问题、风险和收益将在公共和私营部门的热烈辩论中得到完善。这些定义、属性和特征将随着时间的推移而演变和变化。云计算行业代表了一个由多种模型、供应商和市场利基组成的大型生态系统。以下定义试图涵盖所有各种云计算方法。

云计算是一种模型,用于实现对共享的可配置计算资源池(例如,网络、服务器、存储、应用程序和服务)的便捷、按需网络访问,这些资源可以快速配置和发布,且只需最少的管理工作或服务提供商交互。这种云模型促进了可用性,由五个基本特征三种服务模型和四种部署模型组成。

基本特征

按需自助服务。 消费者可以单方面自动配置计算能力,例如服务器时间和网络存储,而无需与每个服务提供商进行人工交互。

广泛的网络访问。 功能可通过网络获得,并通过标准机制访问,这些机制促进了异构瘦客户端或胖客户端平台(例如,手机、笔记本电脑和PDA)的使用。

资源池化。 提供商的计算资源被池化,以使用多租户模型为多个消费者提供服务,不同的物理和虚拟资源根据消费者需求动态分配和重新分配。存在位置独立性,因为客户通常无法控制或了解所提供资源的确切位置,但可能能够在更高层次的抽象级别(例如,国家、州或数据中心)指定位置。资源示例包括存储、处理、内存、网络带宽和虚拟机。

快速弹性。 能力可以快速且弹性地配置,在某些情况下是自动配置的,以快速扩展,并快速释放以快速收缩。对于消费者而言,可用于配置的能力通常看起来是无限的,并且可以随时购买任意数量。

计量服务。 云系统通过在某种抽象级别利用计量能力(适用于服务类型,例如,存储、处理、带宽和活动用户帐户)来自动控制和优化资源使用。资源使用情况可以被监控、控制和报告,为提供商和已利用服务的消费者提供透明度。

服务模型

云SaaS(软件即服务)。 提供给消费者的能力是使用提供商在云基础设施上运行的应用程序。这些应用程序可以通过瘦客户端界面(例如,基于Web的电子邮件)从各种客户端设备访问。消费者不管理或控制底层云基础设施,包括网络、服务器、操作系统、存储,甚至包括单个应用程序功能,但可能有限的用户特定应用程序配置设置除外。

云PaaS(平台即服务)。 提供给消费者的能力是使用提供商支持的编程语言和工具,将消费者创建或购买的应用程序部署到云基础设施上。消费者不管理或控制底层云基础设施,包括网络、服务器、操作系统或存储,但可以控制已部署的应用程序以及可能的应用程序托管环境配置。

云IaaS(基础设施即服务)。 提供给消费者的能力是配置处理、存储、网络和其他基本计算资源,消费者可以在其中部署和运行任意软件,其中可以包括操作系统和应用程序。消费者不管理或控制底层云基础设施,但可以控制操作系统、存储、已部署的应用程序,并且可能对选定的网络组件(例如,主机防火墙)进行有限的控制。

部署模型

私有云。 云基础设施仅为一个组织运营。它可以由组织或第三方管理,并且可以位于企业内部或外部。

社区云。 云基础设施由多个组织共享,并支持具有共同关注点(例如,使命、安全要求、政策和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以位于企业内部或外部。

公共云。 云基础设施可供公众或大型行业群体使用,并且由销售云服务的组织拥有。

混合云。 云基础设施是由两个或多个云(私有云、社区云或公共云)组成的组合,这些云仍然是独特的实体,但通过标准化或专有技术绑定在一起,从而实现数据和应用程序的可移植性(例如,用于云之间负载平衡的云爆发)。

注意:云软件通过面向服务,专注于无状态性、低耦合性、模块化和语义互操作性,充分利用了云范例。

acmqueue

最初发表于 Queue 第 8 卷,第 5 期
数字图书馆中评论本文





更多相关文章

Marc Brooker, Ankush Desai - AWS 的系统正确性实践
构建可靠且安全的软件需要一系列方法来推理系统正确性。除了行业标准的测试方法(例如单元测试和集成测试)之外,AWS 还采用了模型检查、模糊测试、基于属性的测试、故障注入测试、确定性模拟、基于事件的模拟以及执行跟踪的运行时验证。形式化方法一直是开发过程的重要组成部分——也许最重要的是,形式化规范作为测试预言机,为 AWS 的许多测试实践提供了正确的答案。正确性测试和形式化方法仍然是 AWS 的关键投资领域,这些领域已经看到的投资回报加速了这一进程。


Achilles Benetopoulos - 数据中心计算机的中间表示
我们已经到了分布式计算无处不在的地步。内存中应用程序数据大小正在超过单台机器的容量,因此需要将其划分为集群;在线服务具有高可用性要求,这只能通过将系统部署为多个冗余组件的集合来满足;高持久性要求只能通过数据复制来满足,有时跨越广阔的地理距离。


David R. Morrison - 模拟:分布式系统中未被充分利用的工具
模拟在人工智能系统的出现中发挥着巨大作用:我们需要一种高效、快速且经济高效的方式来训练人工智能代理在我们的基础设施中运行,而模拟绝对提供了这种能力。


Matt Fata, Philippe-Joseph Arida, Patrick Hahn, Betsy Beyer - 公司到云端:Google 的虚拟桌面
超过四分之一的 Google 员工使用内部、数据中心托管的虚拟桌面。这种本地产品位于公司网络中,允许用户从世界任何地方远程开发代码、访问内部资源和使用 GUI 工具。在其最显着的特性中,虚拟桌面实例可以根据手头的任务调整大小,具有持久的用户存储,并且可以在公司数据中心之间移动以跟随出差的 Google 员工。直到最近,我们的虚拟桌面都托管在使用名为 Ganeti 的自制开源虚拟集群管理系统的 Google 公司网络上的商用硬件上。今天,这项重要且对 Google 至关重要的工作负载在 GCP(Google Compute Platform)上运行。





© 保留所有权利。

© . All rights reserved.