分享

云计算的漏洞和风险

xioaxu790 发表于 2014-2-23 15:33:14 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 7216
本帖最后由 pig2 于 2014-2-24 01:58 编辑


阅读本文时可以带着下面几个问题:
1、支撑云计算的核心技术是哪些。
2、云计算有哪些特征。
3、与云计算5个特性相对应的漏洞有哪些。
4、云计算实例中常见的攻击手法有哪些。

核心云计算技术
Web应用程序和服务:如果没有Web应用程序和Web服务技术,要发展软件即服务(SaaS)和平台即服务(PaaS)是无法想象的:SaaS实例通常作为Web应用程序实施,而PaaS实例提供了Web应用和服务的开发和运行环境。在基础设施即服务(IaaS)实例中,管理员通常使用Web应用程序/服务技术来实施相关服务和API,例如客户的管理访问。

  • 虚拟化的IaaS实例:在这些技术中虚拟化技巧都占据了核心地位。由于PaaS和SaaS服务往往建立在支持性IaaS基础设施之上,虚拟化的重要性也就延伸到了这些服务模型中。在未来,我们希望虚拟化可以从虚拟化服务器发展到可以直接用于SaaS服务的计算资源。
  • 加密:许多云计算安全的要求只有通过使用加密技术才能够得到解决。

基本特征

  • 按需自助服务:用户可以使用——比方说一个门户网站和管理界面,来订购和管理服务,而不再需要与来自服务供应商的真实的人打交道。服务及其相关资源的上线准备和下线准备都在供应商端自动解决。
  • 无处不在的网络接入:云服务是通过网络(通常是互联网)访问的,应用标准的机制和协议。
  • 资源池:用于提供云服务的计算资源是通过使用一个在所有服务用户间共享的同质基础设施实现的。
  • 敏捷的弹性:资源可以快速并且具备弹性的扩充或缩减。
  • 可度量的服务:资源/服务的使用率随时进行测算,支持资源使用率优化、使用率用户报告以及用多少收多少的商业模式。

特定于云计算的漏洞
我们可以说一个漏洞是特定于云的,条件是其:

  • 对于某个核心云计算技术来说是不可分割的或是广泛存在的,
  • 根本诱因是NIST的关键特性列表中的一项,
  • 其发生可以归咎于云计算创新让尝试和测试安全控制难以、甚至根本无法实施,或者
  • 在成功的最新云计算服务中很常见。
我们现在来研究这四项指标。

核心技术漏洞
云计算的核心技术——Web应用程序和服务、虚拟化和加密——存在一些漏洞,有些是固有于技术本身,而另一些则是普遍存在于该技术的流行实现方式中。这里举这些漏洞的三个例子,包括虚拟机逃逸、会话控制和劫持以及不安全或过时的加密。

关键的云特性的漏洞
NIST描述了五个关键的云计算特性:按需自助服务,无处不在的网络接入,资源池,敏捷的弹性和可度量的服务。
下面是一些源自上述一种或以上特性的漏洞的例子:

  • 未经授权的管理界面访问:按需自助服务云计算特性需要一个管理界面,可以向云服务的用户开放访问。这样,未经授权的管理界面访问对于云计算系统来说就算得上是一个具有特别相关性的漏洞,可能发生未经授权的访问的概率要远远高于传统的系统,在那些系统中管理功能只有少数管理员能够访问。
  • 互联网协议漏洞:无处不在的网络接入云计算特性意味着云服务是通过使用标准协议的网络获得访问。在大多数情况下,这个网络即互联网,必须被看作是不可信的。这样一来,互联网协议漏洞也就和云计算发生了关系,像是导致中间人攻击的漏洞。
  • 数据恢复漏洞:关于资源池和弹性的云特性意味着分配给一个用户的资源将有可能在稍后的时间被重新分配到不同的用户。从而,对于内存或存储资源来说,有可能恢复出前面用户写入的数据。
  • 逃避计量和计费:可度量的服务云特性意味着,任何云服务都在某一个适合服务类型的抽象层次(如存储,处理能力以及活跃帐户)上具备计量能力。计量数据被用来优化服务交付以及计费。有关漏洞包括操纵计量和计费数据,以及逃避计费。

最新的云计算实例中常见的漏洞
虽然云计算相对年轻,但在市场上已经存在无数的云计算实例。因此,我们为前述的三项特定于云计算的漏洞指标补充第四个实证指标:如果一个漏洞在最新的云计算实例中很常见,就必须认为它是特定于云计算的。这些漏洞的例子包括注入漏洞和薄弱的身份验证方案。
针对注入漏洞的攻击是指操纵服务或应用输入来以开发者意想之外的方式来解释或执行输入的片段。注入漏洞的例子包括:

  • SQL注入:指在输入包含SQL代码,诱发错误的数据库后端执行;
  • 命令注入:在输入中包含通过操作系统被错误执行的命令;
  • 跨站点脚本:在输入中包含JavaScript代码,在受害者的浏览器中执行。
此外,许多广泛使用的身份验证机制是很薄弱的。例如,用于验证的用户名和密码是薄弱的,原因如下:

  • 不安全的用户行为(选择弱密码,重复使用的密码,等等);
  • 单因素认证机制固有的局限性。
身份验证机制的实现也可能有弱点并导致被攻击,例如凭证拦截和重播。当前最新的云计算服务中的大多数都采用了用户名和密码的身份验证机制。

架构组件和漏洞
云服务模式通常分为SaaS,PaaS和IaaS,在给定云基础设施时,每一种模式都会影响暴露出来的漏洞。增加更多的结构性到服务模式堆栈会有所帮助。
我们的云计算参考架构有三个主要部分:

  • 支持(IT)基础设施:这些对于任何IT服务、云计算或其他方式来说都是常见的设施和服务。我们之所以把它们包括在架构之中,是因为我们希望提供一个全景——要完整描述IT安全性就必须也照顾到云服务的非特定于云计算的组成部分。
  • 特定于云计算的基础设施:这些组件构成云服务的核心,特定于云计算的漏洞和相应的控制通常映射到这些组成部分。
  • 云服务的消费者:同样,我们之所以把云服务的客户包括到架构中是因为它对于全面的安全性讨论很重要。

云计算软件基础设施和环境
云计算软件基础设施层把作为服务提供给上层的基本IT资源抽象成为一个抽象层次,这些资源包括:计算资源(通常是VME——虚拟机环境)、存储以及(网络)通讯。这些服务可单独使用,典型场景是用于存储服务中,但他们也经常捆绑在一起,这时服务器就会附有网络连接,(通常)还提供对存储的访问能力。这种捆绑在一起的服务通常简称为IaaS,无论是否带有存储能力。
云计算的软件环境层在应用平台层面提供服务:

  • 一个开发和运行时环境,支持用一种或多种语言所开发的服务和应用程序;
  • 存储服务(是数据库接口,而不是文件共享);
  • 通信基础设施,如微软的Azure服务总线。
在基础设施和环境层存在的漏洞通常都与这两层提供的三种资源类型的某一种密切相关。然而,跨租户访问漏洞就与所有三种类型的资源都有关系。我们前面描述的虚拟机逃逸漏洞的就是一个典型的例子。我们用它作为一个核心虚拟化技术所固有的漏洞的例子,但也可以认为它根本上是来自于资源池的本质特征:当使用资源池时,跨资源的未经授权的访问将成为一个问题。因此对PaaS而言,就算用于隔离不同的租户(和租户服务)的技术未必基于虚拟化(不过这其实是一个越来越流行的趋势)的时候,跨租户访问漏洞也还是会产生影响。同样,云存储容易导致交叉租户存储访问,云通信——以虚拟网络的形式——容易导致交叉租户网络访问。

计算资源
有漏洞的虚拟机模板镜像会导致许多操作系统或应用程序上的漏洞传播到更多系统。攻击者可能伪装成服务客户租用一个虚拟服务器以获得管理员权限,这样就能够分析系统的构成方式、补丁版本,甚至是具体代码,从而获得在攻击其他客户的镜像时有用??的信息。另外一个有关的问题是,镜像有可能是来自于不可信来源,这种现象随着IaaS服务的虚拟镜像交易市场的出现更为突出。在这种情况下会存在一些风险,比如镜像可能被动过手脚,从而为攻击者提供后门。
虚拟机复制造成的数据泄漏也是一个类似的漏洞,原因同样在于为了提供随需服务而进行镜像克隆。克隆会导致虚拟机机密数据的泄漏问题:一个操作系统的某些元素——如主机密钥和加密字符串——本来应该完全属于一台主机,可是克隆却可能破坏这个关于隐私的隐含前提。这次同样是虚拟机镜像的新兴交易市场——比如说亚马逊EC2——会引出一个相关的问题:用户可以把运行中的镜像转换成模板,并向其他用户来提供模板镜像。根据在创建模板前该镜像被使用的情况,此镜像有可能会包含用户并不愿意公开的内容。

存储
除了由于资源池和弹性的特性所引起的数据恢复上的漏洞,还有一个与介质擦除相关的控制问题,在云计算环境中这往往是很难或不可能实现的。例如,在一个生命周期的末尾,如果一个磁盘仍被另一租客使用,就不能执行要销毁物理硬盘的数据销毁政策。
由于加密技术经常被用来克服与存储相关的漏洞,这一核心技术的漏洞——不安全或过时的加密和蹩脚的密钥管理——在云存储中有着特殊地位。

通信
云通信服务最突出的例子是为IaaS环境中的虚拟机运行环境提供网络支持。由于资源池,几个客户可能拥有同样的网络基础设施组件:共享网络基础设施组件的漏洞——像是DNS服务器或动态主机配置协议中的漏洞,或IP协议的漏洞——可能在IaaS的基础设施中引发基于网络的跨租户的攻击。

云计算Web应用程序
Web应用使用浏览器技术来在前段执行用户交互。随着基于浏览器的技术如JavaScript、Java、Flash和Silverlight被更多地采用,Web云计算应用可以被分为两种:

  • 被维护在云端的应用程序组件;
  • 在用户的浏览器内运行的浏览器组件。

服务和API
大多数服务都可能是Web服务,从而也具有许多Web应用程序漏洞。事实上,Web应用程序层可能完全由一个或多个Web服务实现,这样应用的URL只会把浏览器组件暴露给用户。因此,配套服务和API函数也具有Web应用程序层的许多漏洞。

管理访问
云服务的核心特征之一是:可以快速准备并发布,只需要最小的管理工作或服务提供商的配合。因此,每个云服务的一个共同点是管理接口,这会直接导致非法访问管理接口的漏洞。此外,因为经常使用Web应用或服务实现管理访问,它通常也会带来与Web应用层和服务/API组件同样的漏洞。

标识、身份验证、授权和审计机制
所有的云服务(以及每个云服务的管理界面)都需要身份管理、认证、授权和审计(IAAA)的机制。在一定程度上,这些机制的某些部分可能被分离出来,作为一个独立的IAAA服务以供其他服务使用。足够的授权检查(这必然会用到身份验证和/或从IAA服务收到的授权信息)和云基础设施的审计这两个IAAA要素是每个服务实现的不可分割的部分。
IAAA组件相关联的大部分漏洞必须被视为特定于云计算,因为它们在当前最新的云计算实例中很常见。前面我们已经举了薄弱的用户认证机制的例子,其他的例子还包括:

  • 由于帐户锁定而拒绝服务:一个经常使用的安全控制——尤其是对于用户名和密码验证方式来说——就是锁定那些在很短时间内连续发生失败验证请求的帐号。攻击者可以利用这样的方法来发动针对某个用户的DoS攻击。
  • 薄弱的凭证重置机制:当云计算供应商自己来管理用户凭证,而不是使用联邦式身份验证,他们必须提供一个机制来重置凭证,以防凭证被忘记或丢失的情况。在过去,密码恢复机制已被证明非常薄弱。
  • 不足或错误的授权检查:最新的Web应用程序和服务的云计算实例往往容易受困于不足或错误的授权检查,会暴露未经授权的信息或行为给用户。比方说缺少授权检查就是URL猜测攻击的根源。在这种攻击中,用户可以修改URL来显示其他用户帐户的信息。
  • 粗粒度的授权控制:云服务的管理界面特别倾向于提供过粗粒度的授权控制模型。因此,像职责分离这样的标准安全措施得不到实施,因为没办法只提供给用户那些仅够他们展开工作的权限。
  • 日志和监控不足的可能性:目前,还没有一个标准或机制来让云计算的客户来记录和监测云计算资源内的设施。这就产生了一个尖锐的问题,即日志文件记录所有租户事件,无法容易地把单个租户的信息剪裁出来。此外,监测能力的不足往往阻碍了供应商进行安全监控。直到我们制定出可用的关于记录和监测的标准并实施成为工具之前,是很难——甚至说是不可能——实现需要记录和监测的安全控制的。
以云服务提供商的经验而言,在所有这些IAAA漏洞中,目前验证问题是主要的漏洞,因为它让用户放在云服务里的数据蒙受风险。

提供商
所有云计算组件的漏洞,或者更确切地说,无法让用户像控制自己的基础设施一样控制云计算基础设施,通常都让提供商感到担心。控制方面的课题有:安全审计不足的可能,以及认证方式和安全度量在云计算中没有得到采用这样一个事实。此外,审计、认证与持续安全检测这样的标准安全控制没有被有效地实施。
云计算还处于不断发展的阶段,随着该领域的成熟,更多的特定于云的漏洞肯定还会出现,而旧的威胁也会减弱。从Open Group的风险分类,加上我们在此识别出的特定于云计算的漏洞的四项指标,我们得到了精确的关于漏洞的定义,提高了准确度和清晰度,而这正是目前为止的对云计算安全性的讨论中所缺乏的。


没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条