随着云计算的兴起,业界针对云计算安全存在的问题开展了一些研究工作。早在2008年6月,美国权威的IT研究与顾问咨询公司Gartner就发布了《评估云计算的安全风险》报告,从供应商的安全能力角度分析了云计算面临的安全风险。报告认为云计算主要存在7大安全风险,即优先访问权风险、管理权限风险、数据位置风险、数据隔离风险、数据恢复风险、调查支持风险和长期发展风险。云安全联盟CSA在发布《云计算关键领域安全指南》之后,也发布了一份云计算安全风险简明报告,主要从攻击者角度归纳了云计算环境可能面临的主要威胁,罗列出了最为常见、危害程度最大的7种威胁:滥用和恶意使用云计算、不安全的接口和API、不怀好意的内部人员、基础设施共享问题、数据丢失或泄露、账户或服务劫持,以及其他未知的风险。
Gartner和云安全联盟的报告,分别从用户选择服务提供商以及攻击者的角度分析了云计算所面临的安全风险。实际上,云计算安全风险既包括技术风险,也包括管理和法律方面的风险,上述报告对其中的主要风险进行了归纳,本章将从云计算技术、管理和法律这几个方面分别详细阐述,力求全面分析云计算面临的各类安全风险。
云计算是由规模经济驱动的大规模分布式计算模式,通过这种计算模式,实现抽象的、虚拟的、可动态扩展、可管理的计算、存储、平台和服务等资源池由互联网按需提供给外部用户。从技术角度来看,云计算系统和传统IT系统类似,包括终端、网络、服务器(集群)和应用系统/支撑系统等几个部分,简化的系统结构如图2-1所示。
图2-1 云计算系统结构简化图
相应地,传统IT系统中各个层次存在的安全问题在云计算环境中仍然存在,如系统的物理安全,主机、网络等基础设施安全,应用安全等。对大部分传统安全风险,本章将不再赘述,而重点阐述与云计算特点关系密切的几个关键技术问题。
云计算基于网络提供服务,所有的应用都放置于云端。与其他网络应用相同,由于网络的虚拟性,确认使用者的身份、确保身份的合法性是其面对的首要问题。一旦攻击者获取到用户的身份验证信息,假冒合法用户,用户数据将完全暴露在其面前,其他安全措施都将失效,攻击者将可以为所欲为,如窃取、修改用户数据,窃听用户活动,恶意消费等。因而,身份假冒是云计算面对的首要安全威胁。
用于识别用户身份的信息可能在客户端、网络传输和服务器等各个环节被窃取,对于复杂性不高的口令,甚至可能被用户猜到。因此,合适的认证机制及管理对于确保身份识别信息的安全性,从而提高云计算系统的安全至关重要。
“在互联网上,没有人知道你是一只狗”,1993年美国杂志《纽约客》的一幅漫画(图2-2)形象地说明了虚拟网络世界中确认用户身份的重要性。而在云计算中,身份保护及其认证安全的重要性更为凸显。
图2-2 《纽约客》杂志关于网络虚拟性的漫画
云计算中,软硬件平台通过虚拟化为多个用户所共享,从而实现IT资源利用效率和灵活性的最大化,优化资源使用,节约能源和硬件设备,并简化管理,有效降低成本,这是云计算得以发展的关键。
但是虚拟化技术也引入了比物理主机更多的安全风险。由于传统安全策略主要适用于物理设备,如物理主机、网络设备、磁盘阵列等,而无法管理到每个虚拟机、虚拟网络等,因而使得传统的基于物理安全边界的防护机制难以有效保护基于共享虚拟化环境下的用户应用及信息安全。虚拟化使得访问控制、认证和授权更为困难,从而使得恶意代码的传播和感染主机变得相对容易。另外,虚拟机的软件特性会使存储在其上的数据因为其意外终止而消失,也会使其上的数据随着虚拟机一起扩散到不安全的地方。由于各虚拟机共享物理内存,用户的机密数据有可能通过内存泄露,或者黑客利用虚拟机进行拒绝服务攻击。因此,云计算服务可信性必须解决虚拟计算平台软件的安全,特别是虚拟机管理软件的安全。
由于云计算服务是多租户共享的,如果用户之间的隔离措施失效,一个用户完全有可能侵入另一个用户的数据,或者干扰其他用户应用的运行。而且,很有可能出现竞争对手共用一台服务器的情况,甚至专门从事黑客活动的用户使用云计算服务,企图干扰、破坏用户正常服务的运行,这显然存在很大的安全隐患。
对于用户而言,数据的安全性和隐私保护是其最为关注的问题。数据安全方面的风险包括数据泄露、数据篡改和数据丢失,可能发生在数据传输、处理、存储的各个环节。
用户在使用云计算服务的过程中,不可避免地要通过互联网将数据从其主机移动到云上,并登录到云上进行相应的管理。在此过程中,不安全的客户终端可能被黑客控制或者运行木马程序,导致重要数据从终端泄露或者被篡改。
用户数据在网络传输过程中,如果没有采取足够的安全措施,也同样面临着被泄露(如图2-3所示)和篡改(如图2-4所示)的风险。
图2-3 网络传输中数据泄露的风险
图2-4 网络传输中数据篡改的风险
云计算中,用户数据存储在云端,对于用户来说是透明的:用户并不清楚自己的数据被存储在哪几台服务器上,这增加了其对安全性的担忧。云服务提供商都会对数据的存储采取隔离措施,并对访问权限进行控制,但是如果防护不当,也可能被其他用户访问,导致数据被泄露、篡改甚至丢失。实际上,2009年3月,Google Docs系统就曾出现错误,导致他人可以访问用户的私密文件。此外,存储设备的硬件故障、管理员的误操作也可能导致数据丢失。
由于云计算硬件资源共享,存储资源被重分配给新用户之前,如果没有进行完整的数据擦除,新用户可能通过数据恢复技术还原之前用户的数据,从而导致数据泄露。在用户发出删除指令之后,云计算平台如果没有彻底删除存储于平台的所有数据,也可能被非法恢复,导致数据泄露。
云计算平台以多种标准和协议为基础,包含虚拟机管理软件、操作系统、中间件及各类应用系统等大量软件,系统非常复杂,很难避免漏洞的存在,防护不当的计算和存储会导致用户的私密数据被非授权用户非法访问。如Amazon的AWS主页所用的签名算法就曾存在漏洞,而使其SimpleDB和EC2受到了影响。
云计算平台聚集了大量用户应用和数据资源,因而更容易成为黑客的攻击目标,因为一旦攻破它就能获得大量的“战利品”。同时,集中的资源放大了云平台故障的危害。云平台集中了大量用户的计算和数据,一旦遭受黑客攻击或其他软硬件故障,会导致大量用户计算的异常终止和数据丢失,危害巨大。
另外,云计算平台上的计算和数据处于云服务提供商的控制之下,通过分析用户的行为,云服务提供商能够获知用户的隐私信息。用户也难以监管其程序和数据的使用情况,无法确认程序和数据是否得到正确的保护,是否会被滥用、窃取或篡改,删除的数据是否还存在云上等。如果内控措施不足,云服务提供商的员工也可能盗取用户的私密信息,给用户带来不可估量的损失。
云计算平台中的大量廉价的资源也很可能被犯罪分子利用作为犯罪的工具。犯罪分子可以利用它们来发动DDoS攻击、暴力破解密码、散播非法信息、发布恶意软件等。
开放性是云计算的重要特征之一,云计算服务按照不同应用层次,把硬件、平台和应用软件等按照一定的商务模式,提供标准API接口开放给用户,由用户将其集成到上层应用,按需进行使用。由于这些API由云计算服务直接对外开放,用户用之管理及与服务交互,因此,从某种意义上说,API的安全性体现了云计算服务的安全性。
不安全的API将使云计算应用面临极大风险。如API访问密钥的丢失,将使攻击者能够直接访问用户数据,导致敏感数据泄露;通过API实施注入攻击,可能篡改或者破坏用户数据。如果由于API的漏洞,导致攻击者绕过虚拟机管理器的安全控制机制,获取到系统管理权限,将给云计算服务带来灾难性的后果。
数据的所有权与管理权分离是云计算服务模式的一个重要特点。由于用户并不直接控制云计算系统,对系统的防护依赖云计算服务提供商,而云计算服务提供商对用户的上层应用并不清楚,因此双方需要在安全界面上达成一致。安全责任不清,很可能带来新的安全风险。用户使用云计算模式,也就放弃或降低了诸多影响安全问题的决策权和管理权。用户将所属的数据外包给云计算服务商或者委托其运行所属的应用时,云计算服务商就获得了该数据或应用的优先访问权。在这种情况下,云计算服务提供商的管理规范程度、对合同的履行情况、双方安全界面的划分、服务提供商的连续服务能力将直接影响到用户应用和数据的安全性。
云计算管理方面的安全挑战主要有以下几个方面。
● 内部人员管理风险
云计算服务提供商的内部人员,特别是具有高级权限管理员的失职,将可能给用户数据安全带来很大威胁,如导致用户数据泄露,甚至将其盗卖给竞争对手。
● 用户管理风险
云服务提供商如果对用户登记管理不严,任何人或组织都可以注册并立即使用云服务,将为网络犯罪分子滥用云计算提供便利,网络犯罪分子将可以进行攻击或发送恶意软件,危及其他用户的安全。
云计算服务提供商和用户安全职责的划分,与云计算的几种服务模式(IaaS、PaaS、SaaS)相关,服务层次越高,服务提供商的安全职责就越多,用户职责则越少,如图2-5所示。数据安全保障需要采取综合保护措施,由服务提供商和用户共同承担;信息内容安全则主要由用户负责,但服务提供商也负有一定的监管职责。
图2-5 云计算服务安全职责划分
用户在使用云计算服务前,都会和云计算服务提供商签署协议,但服务提供商是否履行了服务协议,则是使用服务的一个风险。如用户使用习惯隐私是否被记录或分析、用户数据是否被正确存储在其指定区域、不需要的数据是否已被彻底删除等,而当云服务提供商未按约定履行义务时用户可能也无法监测。
● 多层服务模式风险
云计算的发展趋势之一是IT服务专业化,云计算服务提供商在对外提供服务的同时,自身也需要购买其他云服务商所提供的服务。因而用户所享用的云服务间接涉及多个服务提供商,多层转包无疑极大地增加了问题的复杂性,也进一步增加了安全风险。
● 连续运营风险
理想情况下,云计算提供商将不会破产或被大公司收购。但是用户仍需要确认,在发生这类问题的情况下,自己的数据会不会受到影响。用户需要确认云服务提供商如何拿回自己的数据,以及拿回的数据是否能被导入到替代的应用程序中。
云计算服务模式,也给安全监管带来了挑战。云计算平台的测评与认证和传统方式相比发生了根本性的变化。我国实行的等级保护安全测评体系正在建设中,主要针对一个信息系统的静态模式和框架来实施,一旦动态变化,整个体系将会发生变化,它的安全等级划分和边界都将无法确定,实际上带来了巨大的挑战。此外,由于云计算平台规模庞大、体系复杂,给信息安全等级保护体系和规范也带来了新的问题。对于网络空间监管而言,现有监管预警体系主要针对传统的Web等开放式网络环境,而针对云计算业务的监管与控制则难以实施,因而给司法机关打击网络犯罪带来了侦破、取证和责任认定等多方面的困难。
云计算的高度动态性增加了网络内容监管的难度。首先,云计算所具有的动态性特征使得建立或关闭一个网站服务较之以往更加容易,成本代价更低。因此,各种含有黄色或其他不良内容的网站将很容易以打游击的模式在网络上迁移,使得追踪管理难度加大,对内容监管更加困难。其次,云服务提供商往往具有国际性的特点,数据存储平台也常跨越国界,将网络数据存储到云上可能会超出本地政府的监管范围,或者虽然同属多地区或多国的管辖范围,但这些不同地域的监管法律和规则之间很有可能存在着严重的冲突,当出现安全问题时,难以给出公允的裁决。
信息安全的实质是要保护信息系统或信息网络中的信息资源免受各种类型的威胁、干扰和破坏。在信息安全保障体系的建设中,法律环境的建设是必不可少的一环,也可以说是至关重要的一环。信息安全的基本原则和基本制度、信息安全保障体系的建设、信息安全相关行为的规范、信息安全中各方权利义务的明确、违反信息安全行为的处罚等,都要通过相关法律法规予以明确。
云计算的虚拟性及国际性特点催生出了许多法律和监管层面的问题。首先,云计算应用具有地域性弱、信息流动性大的特点,信息服务或用户数据可能分布在不同地区甚至国家,在政府信息安全监管等方面可能存在法律差异与纠纷,不同国家有不同的司法系统,这就会带来潜在的法律风险。将数据存储到云上或许会突破本地政府的监管范围,而这是监管部门通常所不允许的;即便允许,当出现冲突时,应该遵从哪一方制定的规则也是个问题。另外,如果出现了安全问题,谁应该为此负责,例如不同国家对数据丢失责任、数据知识产权保护、数据的公开政策的司法解释可能是不一样的。同时,由于虚拟化等技术引起的用户间物理界限模糊而可能导致的司法取证问题也不容忽视。
发达国家在维护信息安全方面已建立了较为完善的法规体系。比如美国,既是世界上第一个引入信息战概念的国家,也是信息安全法律规范体系建设较系统的国家,历来重视打击危害信息安全的犯罪行为,以国内法弥补国际法的不足,并坚持持续更新,不断强化信息安全的法律保护。
欧盟的《网络犯罪公约》是第一部反网络犯罪的国际性公约,它明确了网络犯罪的主要形式包括以下几类:
● 侵犯计算机数据或系统的机密性、完整性及可用性的犯罪,具体罪名包括非法访问、非法截获、数据干扰、系统干扰和设备滥用等。
● 与计算机相关的犯罪,包括与计算机相关的伪造犯罪、诈骗犯罪等。
● 与内容有关的犯罪,包括与儿童色情有关的犯罪。
● 侵犯著作权及相关权利的犯罪。
当前世界各国的法律基本上都涵盖了以上几方面,但由于在政治、文化、经济等方面的差异,在信息安全相关法律上也存在着较大差异。表2-1列出了我国与欧美国家在信息安全保护立法方面的主要差异。
表2-1 我国与欧美国家在信息安全保护立法方面的差异
续表
续表
信息安全相关的法律,大部分同样适用于云计算,但与传统信息系统的差异性,使得云计算在法律方面也存在不少争议,很多国家已经开始讨论在法律上对其加以规范,适用原有的数据保护法、隐私法或者有针对性地制定相关法律。但不少问题具有全球性,除了各国在各自管辖权范围内完善法律法规外,在国际层面的立法努力将更有助于云计算的发展和安全保护。
由于互联网上没有国界的限制,使用云计算服务时,数据有可能存放在世界各地任何角落的数据中心里,用户并不清楚自己的数据储存在哪里,甚至不知道位于哪个国家。即使云计算服务提供商是本国企业,其使用的数据中心也有可能在国外,因而不能直接受本国法律法规的管辖。存放在他国的数据有可能依据所在国法律被审查,在发生事故之后,遭受损失的用户可能无法通过本国的法律手段获得相应的赔偿或追讨。这在保密性要求很高的领域是不可接受的。比如,由于存在跨境风险,法国政府颁布了法令禁止政府官员使用黑莓手机。因为保存黑莓信息的服务器位于美国、英国和加拿大,在某些情况下,那可能会给法国政府造成威胁,比如国家安全署或联邦调查局可能会窃取其中的数据。
传统的刑事管辖主要包括以下几个原则。
● 属地原则。凡是发生在本国领域内的一切犯罪活动,无论是本国人还是外国人都适用本国刑法。属地管辖建立在国家对于领域内的主权基础上,这是刑事管辖权最古老的国际法原则,也是一切法系国家行使管辖权的最基本原则。
● 属人原则。即以一个人是国家的公民为前提,本国人犯罪适用本国法律。
● 保护原则。该原则要求,在国外犯有危害这个国家主权和安全罪行的外国人,当其进入该国境内时,对其行使管辖权。
● 普遍管辖原则。是以保护国际社会的共同利益为标准,凡发生国际条约所规定的侵害国际社会共同利益的犯罪,不论犯罪人是本国人还是外国人,也不论犯罪地在本国领域内还是在本国领域外,都适用本国刑法。
一般国家大多不单纯采用一种管辖原则,而是采用几种管辖原则相结合的原则,确立自己的管辖范围。我国刑法第6~11条规定确立了我国的刑事管辖原则,即以属地为基础,以属人管辖为原则,保护管辖和普遍管辖为补充的刑事管辖原则。刑法第8条规定,外国人在中国领域外对我国和我国公民犯罪,可以适用我国刑法,但有严格的限制。其限制条件有如下几条。
A.犯罪行为侵害了我国和我国公民的利益。
B.按我国刑法规定最低刑必须是3年以上有期徒刑。
C.按犯罪地的法律规定也应受处罚。
根据这些条件,如果外国人在中国领域外犯罪,即使我国刑法规定最低刑为三年以上有期徒刑,但按其犯罪地的法律不受处罚的话,也不能适用我国刑法(如图2-6所示)。这方面在国外已有先例。1997年克罗地亚三名中学生在互联网上利用计算机破译了美国国防部五角大楼的计算机系统密码口令,侵入美国军事计算机系统,将美国战略战术导弹部署、军事卫星用途等高级机密文件资料饱览一通后从容退出。事后美国向克罗地亚提出引渡这三名中学生到美国受审的要求,遭到克罗地亚的拒绝,就是因为克罗地亚的刑法不承认计算机入侵为犯罪。
图2-6 云计算面临跨境管辖权的风险
在云计算应用中,更为复杂的情况是云服务用户(数据资产所有者)、云计算应用使用者(数据消费者)、云服务运营商、应用系统、数据存储地点、入侵者分属不同的国家,数据还可能存储在多个国家,而产生更为错综复杂的司法管辖权问题,这给世界各国都带来了挑战。
许多国家或地区都有严格的隐私保护法,禁止将某些数据存储在本国或本地区外的物理机器上,对违反这些法律的组织及其管理层通常将进行严厉处罚。任何在云中存储敏感数据的组织必须能够证明其云服务提供商从不将数据存储在某个特定地理区域以外的物理服务器上。
不过,各国在信息监管、隐私保护方面也有较大差异。在美国,涉及爱国者法、萨班斯法及保护各类敏感信息的相关法律。爱国者法案授权美国的执法者为反恐目的,经法庭批准后,不经允许地接触到任何人的个人记录。这意味着,如果你使用位于美国的服务器或位于美国的云计算服务提供商,美国执法者为了反恐调查的目的,可以通过取得一个法庭命令的方式,不经你的允许而检查你的数据。加拿大也有类似的规定,它的反恐法案和国防法赋予了国防部长检查数据保存的权力。美国爱国者法的第326章还要求所有的金融机构(包括信用卡公司)获取、证明和记录每一个账户中开户、变更和付费人的信息。萨班斯法案(Sarbanes-Oxley)的颁布也为数据保护提供了法律依据,适用萨班斯法案的企业在使用云计算服务的时候必须确保他们的云服务提供商符合萨班斯法案的要求。
法、德等国积极推动下的欧盟2001年《网络犯罪公约》在涉及密码监管内容时作出了如下规定,“各方应当采取必要的立法和其他措施,以授权其主管机构能够要求:1)管辖范围内的个人提交存储于计算机系统或数据存储介质中的个人占有或控制下的特定计算机数据;2)管辖范围内的服务提供者提交其占有或控制下的服务用户信息”。
欧盟1995年通过了《数据保护指令》(即欧洲议会和理事会1995年10月24日关于涉及个人数据处理的个人保护及此类数据自由流动的95/46/EC指令),通常称为“一般指令”。对于云计算,最主要的规定是,在缺乏特定承诺机制的情况下,欧盟禁止居民的个人信息转移出欧盟到美国和世界上大部分国家。这对云计算意味着如果用户想将包含欧盟居民个人信息的数据放到云上(这些个人信息可能是简单如一个邮件地址或雇佣信息),将这些数据从欧盟传送到世界上的几乎任何地方,需要至少符合以下条件之一。
● 国际安全港认证,允许数据从欧盟传送到美国,但不包括到其他国家。
● 格式合同,允许数据从欧盟传送到非美国的其他国家。
● 有约束力的公司规则(即根据欧盟数据保护法制定的跨国公司、国际组织跨境传送个人信息的规则)。
由于云计算可能涉及多层服务提供商,并不一定能满足格式合同的要求,同时也不一定能满足针对跨国公司设计的公司规则的要求,对于这类云服务提供商,其存储的欧盟居民个人信息将被禁止转移到欧盟之外。
计算机犯罪取证又称数字取证或电子取证,是指利用计算机软硬件技术,以符合法律规范的方式对计算机入侵、破坏、欺诈、攻击等犯罪行为进行证据获取、保存、分析和出示的过程。从技术方面看,计算机犯罪取证是一个对受侵计算机系统进行扫描和破解,对入侵事件进行重建的过程。具体而言,是指把计算机看做犯罪现场,运用先进的辨析技术,对计算机犯罪行为进行解剖,搜寻罪犯及其犯罪证据。
传统的计算机取证必须按照以下步骤执行:收集犯罪现场或是被捕获地点的媒体内容;保存媒体内容;验证、分析、诠释、文档化,以及法庭上呈现检查结果。在传统的计算机取证中,媒体所包含的证据须在捕获时刻起法律实施范围以内。由云计算所造成的取证挑战将来自于对证据的控制,包括收集、保存和检验。
由于云计算基于网络存储,因而必须保证这些数据存储服务能够满足法定的保护数据的时间期限要求,以便在法律诉讼等法律行动事件中,可以提供所需数据。
但数据可能分布存储在不同的地方,在跨司法管辖范围的时候,证据的收集存在困难,甚至可能只能取得部分证据。云计算虚拟性也对证据收集带来了挑战,由于资源动态分配,在重新分配时,数据会被清除,不利于证据的收集。
多租户、虚拟化使云计算取证面临如何分离数据的技术问题,云计算服务提供商必须能够把虚拟化的数据组合为一个副本并且隔离法院要求的数据,同时还要保护其他用户的敏感数据的秘密。如果不能提供这个数据,法院很可能会把整个硬件拿走,这对于云计算服务提供商来说是一个非常可怕的结果。