云计算安全问题初探

时间:2022-08-04 08:14:25

云计算安全问题初探

摘 要:本文通过对AmazonDynamo基础存储架构以及独特的EC2架构的分析认为,部分云计算安全问题正在得到缓解。但是,总体而言,云计算来自内外两个方面的安全问题仍然严峻,需要我们投入更多的精力予以面对。

关键词:云计算;AmazonDynamo;EC2;云安全

中图分类号:TP311

自2003年美国国家科学基金会投资830万美元支持的“网格虚拟化和云计算VGrADS”项目正式启动了云计算的研发序幕,十年间,云计算在全球各个领域取得了长足的发展,但是其安全问题却伴随着这种发展愈加凸显。在IDC(互联网数据中心)的一次关于“用户认为云计算模式的调整和问题是什么”的调查中,安全性以74.6%位居榜首,由此可见“安全性”已经成为了云计算发展必须面对的头号难题。事实上,业界针对云计算安全性问题的研究从未停止,也取得了令人瞩目的成就,其中,Amazon就是其中较为典型的代表。但事实却依然表明,即便先进如Amazon,仍然也无法摆脱安全性问题的困扰。

1 含义

有关云计算,到目前为止,业界仍然没有一个公认的有关云计算的定义。一个比较通用的解释认为云计算包括三种含义。一种云的含义,指的是软件即服务(Softwareasaservice,简称SaaS),即可以在线访问的软件应用,销售力网、谷歌应用(Google Apps)以及百会(Zoho)就提供这样的服务。云还有一个含义,指的是基础设施即服务(Infrastructureasaservice,简称IaaS),即向用户出租服务器,按时间计费,AmazonEC2就提供这样的服务。云的另外一个含义,指的是平带即服务(Pl at form asaservice,简称PaaS),即提供工具,让用户建造在宿主云中运行的软件。这些含义在技术圈子里非常通用,已经明确写入美国国家标准技术研究所(National Institute of Standardsand Technology,简称NIST)的标准性文件。一般认为,云计算是一种分布式并行计算系统,由一组通过各种网络技术相互连接的虚拟化的计算资源组成,通过用户和服务商预先制定的服务协议,作为一个动态的计算资源实体来提供各种服务。简单的说,云计算平台可以通过网络,利用分布式并行计算系统和虚拟化等技术为用户构建一个专用的可以近乎于无限扩展的资源池,为用户提供按需自助的、可计量的存储与计算服务,并具有可以随时根据用户需求对资源进行快速和弹性的提供与释放的能力。在云平台中,终端用户与服务器是对等关系,服务器可以根据客户端的实际需求而提供更为准确、个性化的服务。

基于上述设计思想,Amazon逐步推出了其领先世界的云服务架构。早在2006年3月,Amazon就了简单存储服务(Simple Storage Service,S3),这种存储服务按照每个月类似租金的形式进行服务付费,同时用户还需要为相应的网络流量进行付费。亚马逊网络服务平台使用REST(Representational State Transfer)和简单对象访问协议(SOAP)等标准接口,用户可以通过这些接口访问到相应的存储服务。2007年7月,Amazon推出了简单队列服务(Simple Queue Service,SQS),这项服务使托管主机可以存储计算机之间发送的消息。通过这一项服务,应用程序编写人员可以在分布式程序之间进行数据传递,而无须考虑消息丢失的问题。在开放了上述的服务接口之后,Amazon进一步在此基础上开发了弹性计算云(Elastic Compute Cloud,EC2)系统,并且开放给外部开发人员使用。此后,经过多年的发展与完善,Amazon将其旗下的云服务进行了进一步整合,初步形成了包括弹性计算云(EC2)、简单存储服务(S3)、简单数据库服务(Simple DB)、简单队列服务(SQS)、弹性Map Reduce服务、内容推送服务(Cloud Front)、电子商务服务(Dev Pay)以及灵活支付服务FPS在内的较为全面的云服务体系,其中EC2是Amazon云计算计划的核心。

2 Amazon Dynamo与EC2

经过多年发展,Amazon已经开发出一套颇为实用的云平台来支撑其各种云服务。Amazon平台所依赖的基础存储架构名为Dynamo,它也是Amazon云平台安全性保证的基础。Dynamo的实质是一款高可用的分布式Key-Value存储系统,其满足可伸缩性、可用性、可靠性。Dynamo主要解决了以下几个问题:

(1)数据均衡分布问题。Dynamo采用改进了的一致性哈希算法,它引入了虚拟节点的概念,每个物理节点分配到哈希环上多个位置(Token),这样即可根据机器性能给它分配较多或较少的Token,同时节点失效时,它的负载可以由多个物理节点共同分担,因为它在环上有多个位置。同时,Dynamo将数据分区并等份存储,当数据被均匀存储到环上各节点后,Dynamo将冗余存储数据(备份数据)。依靠Dynamo所具有的平衡性、单调性和分散性,Amazon可以保证相邻的节点分别位于不同地区区域,即使某个数据中心由于自然灾害或断电的原因整体瘫痪,仍可以保证在世界上其他数据中心中保存有数据的备份。

(2)数据冲突问题。Dynamo系统选择牺牲一致性来换取系统的可靠性和可用性,解决该问题的方法就是运用了向量时钟原理。(如图1)

图1 Amazon EC2的基本架构

(3)容错机制。Dynamo的容错机制包括两个方面,一是临时故障处理机制。Dynamo在数据读写中采用了一种称为弱quorum(Sloppyquorum)的机制,涉及三个参数W、R、N。其中W―代表一次成功的写操作至少需要写入的副本数,R―代表一次成功读操作需由服务器返回给用户的最小副本数,N―每个数据存储的副本数,满足R+W>N,用户即可自行配置R和W。该机制的优势在于更易于实现可用性与容错性之间的平衡。另一个是永久性故障处理机制,即Merkle哈希树技术。

(4)成员资格及错误检测。该问题的解决则是通过基于Gossip协议的成员资格检测机制来实现的。

正是依托于上述的各种解决机制,Dynamo最终为Amazon平台提供了一个看似安全可靠、始终可用的存储系统。在此基础上,EC2、S3等一批云服务应用才能得以部署实施。

简而言之,AmazonEC2是一个让使用者可以租用云端电脑运行所需应用的系统。其基本架构如图2所示。

图2 向量时钟原理图

AmazonEC2给用户提供了一种虚拟的计算环境,用户可以在此运行基于Linux的应用程序。用户首先需要创建一个包含用户应用程序、运行库、数据以及相关配置信息的虚拟运行环境映像AMI(AmazonMachineImage)或者直接使用Amazon通用的AMI映像。同时,Amazon还提供另外一项Web服务――简单存储服务S3(simplestorageservice),向用户提供快速、安全、可靠的存储服务。用户只需要将创建好的AMI映像上传到Amazon提供的简单存储服务S3,就可以通过Amazon提供的各种Web服务接口来启动、停止和监控AMI实例的运行。用户只需为自己实际使用的计算能力、存储空间和网络带宽付费。AmazonEC2依托弹性块存储(ElasticBlockStore,EBS)、快照(Snapshot)、地理区域(RegionZone)与可用区域(AvailabilityZone)划分、弹性IP、弹性负载平衡(ElasticLoadBalancing)等关键技术,进一步提升了其云服务的安全性。

3 当前面临的问题

通过上述分析与介绍,可见Amazon从底层设计开始就针对其云服务平台的安全性给予了较高的重视,并拿出了一整套较为可信的行动方案。但这是否就达到了像其所宣传的“万无一失”呢?

事实上,尽管经过了十年的发展与完善,云计算仍然在安全性方面存在着诸多问题。当然,通过对于AmazonDynamo与EC2的初步分析以及其关键技术的介绍,我们应该看到,很多以前人们担心的诸如数据安全存储问题、传输过程加密问题、容错机制等云计算安全问题在经过诸多努力之后已经有了较为妥善的解决。但是,仍然有很多云计算的安全问题却是包括AmazonEC2在内的诸多云服务提供商不得不面对的问题。

首先,以虚拟技术为代表的云平台自身安全问题。虚拟技术是实现云计算的关键核心技术,如Hyper-V、VMwareESX、Xen等,其中Xen就是Amazon所采用的虚拟技术。云平台的架构,大都是依靠各种虚拟技术与现实设备相结合,通过各种优化算法与安排实现对于服务器资源的优化利用。而虚拟操作系统都是构建在这些虚拟软件之上。因此应分析各类虚拟化管理软件本身的安全问题,形成虚拟化管理软件安全配置核查手册,这对于确保云平台的自身安全至关重要。一旦虚拟技术本身存在安全隐患,其影响将是非常巨大的。

其次,在面对外来威胁方面缺少抵抗能力。一方面,云平台需要面对来自包括黑客在内的诸多人为的主观破坏与渗透。至计算机出现以来,几乎所有的软件系统都会存在自身的安全漏洞问题,而这些漏洞往往也是黑客攻击的重点。而云平台仍然由诸多软件系统组合而成,自然也难免存在安全漏洞。一份2011年的相关报告称,网络应用程序数量每年以55%的速度增长,但其具有大量的安全漏洞。报告指出,脚本中和其它网络应用程序代码中包含大量的恶意代码,比一年前增加了52%。在很多已经曝露的安全漏洞,有将近50%至今还没有得到更新,产品及服务提供商对于自身所存在的缺陷没有高度重视,从而致使用户遭受攻击与损失。而在2010年国际黑客大会上,45%的受访安全专家(包括黑客)表示他们已经尝试利用云计算系统的安全漏洞进行黑客任务。仅从这一点就可以看到云计算提供商自身安全漏洞问题潜在威胁和影响之大!另一方面是云服务提供商自身工作人员的遴选与约束机制建设。仍然以AmazonEC2为例,用户购买Amazon云服务,也就意味着用户将自己的所有信息全部委托存放于Amazon的数据库。如何能够防止和杜绝具有超级权限或者管理权限的Amazon内部员工未经授权访问、使用、散布这些数据,这不仅是需要从云平台自身人员权限管理、验证架构方面加以解决,也需要从实际的人员筛选、管控与约束方面着手加以控制。

综上,面对如此严峻的安全形势,无论是从云服务提供商自身发展还是云计算技术的进一步推广和使用的方面而言,如何能够最大程度上保证云计算的安全、可靠仍然是今后相当一段时间需要我们面临的重大问题。

参考文献:

[1]孙威民.全球大型互联网和云计算服务提供商均现严重安全漏洞[OL].http:///article/a/2011-03-15/293868.

[2][美]查尔斯・巴布科克(CharlesBabcock)著.云革命[M].丁丹,译.北京:东方出版社,2011,1.

[3]刘鹏.云计算(第二版)[M].北京:电子工业出版社,2011,5.

[4]张锦杏,缪裕青,邱良佩.基于云计算平台的聚类算法研究进展[J].桂林电子科技大学学报,2013,2.

上一篇:精细化教学设计成就高效语文课堂 下一篇:宁要“诚实的失败”不要“虚假的成功”