多租赁云的虚拟机安全与隐私保护——专访上海交大教授陈海波博士
2012-07-03葛逊
文 葛逊
纵观全球产业大环境多租云的虚拟机安全问题与隐私保护问题日益凸显。虚拟化在很多云平台里面已经成为了支撑云平台的关键技术。比如亚马逊,对于用户来说只要做一个认证,注册一下,付些费用就可以使用云里的虚拟机。但是同时也带来了一些问题,云看起来是一个大泡泡,这个大泡泡可信度高吗?
陈博士说:“用一个非常简单的例子探讨云平台的安全性。例如一个人口普查的云,这个云做的服务是,每个人把信息放到云里面去,假如用户把自己的个人信息、信用卡信息放到云里面。那么统计一下中国的人口结构,或者人口分布是怎么样的。假设这样的云不能窃取用户的信息。早在2008年起,有一份关于云安全的报告现显示,云最大的威胁是内部对云的不可见访问。因为它很有可能通过各种方式窃取数据。可以通过各种各样的方式,可以对整个云平台,包括虚拟机进行篡改。甚至把用户信息也进行篡改。”这样的话数据被窃取,甚至结构被篡改。看起来似乎不是那么容易被攻击的云,其实并不安全。这不是危言耸听。
云计算的安全威胁很多情况下是因为有一些好奇或者恶意的云平台操作人员滥用职权监守自盗。很多人可能在用邮件或者IM发给对方自己的银行帐户信息,但是这个邮箱是否可以完全相信?从2010年9月份Google的新闻可以看出来,Google内部员工滥用其访问权限,并违反公司的隐私策略偷窥用户信息。当然这些人可能有自己的目的,比如追女孩子之类。但是并不是在源头做一些访问控制就可以杜绝的。当时Google也有提到,必须要保证一定数量的人访问所有的用户信息,否则很多业务也没有办法开展。
陈博士说:“从安全的角度再来看,衡量一个系统的安全性,有一个指标就是可信基。一般来说,一个小的可信基是表明它是可信的。任何一个地方出现安全故障,会导致安全隐私性的破坏。美国计算机病毒处理中心2010年底统计数据表示,Xen虚拟化系统共有32个安全漏洞,VMWare虚拟化系统共有35个安全漏洞。对信息安全漏洞做一个深入分析就会发现,通过这些漏洞,通过一些特征提升的方式,可以通过其他的客户虚拟机,或者是通过这样的网络连接,获得这样的系统控制权。这就使得运行在上面的服务就会存在较大的安全威胁。”
如何攻破虚拟层呢?通常硬件上面是一个虚拟的监控器,它会存在于一个VM上,在上面会形成一些管理工具,然后是用户在上面租赁的虚拟机。用户的这些虚拟机是这样受到攻击的:如果要攻击的话,可以到云平台里面租一个虚拟机,目的不是为了跑应用,而是为了发动攻击。发动攻击者如果已知它里面有一些相关的安全漏洞,就可以通过安全漏洞,通过一些缓冲区或者带特殊身份等方法提升权限,甚至获取控制权,这样就可以进入用户的虚拟机中去。另外还可以通过管理工具进行攻击,在虚拟机的创建过程或者是在运行过程中间会不停的跟管理工具和管理域进行交换,在交换协议有时会存在着一些安全漏洞,而这些漏洞就是突破口。陈博士表示管理员完全可以通过技术手段找到这些漏洞并按照这些安全漏洞进行控制。另外也可以通过已经提供好的强大的管理工具可以看到虚拟机上的信息。
目前的云平台只能提供修改权限的保护,如果用户的虚拟机在亚马逊上面被攻破或者出现什么安全故障的话,是免责的。对于Amazon云平台就是这样的,如果用户觉得这个数据特别重要,可以对这个数据进行加密。美国一些律师标准的说法是:“我们不能保证我们一定会做到这一点。”那么亚马逊这样的一个平台仅仅是建议用户去加密,但是加密仅仅是对静态数据的存储,而且有加密的数据运行起来会非常慢。
陈博士表示从学术界角度看有两种方法可以提供多层次云安全保障。一是CloudVisor:IaaS可信隔离与保护。是云的可信隔离和保护。二是CHAOS:基于虚拟化的SaaS可信隔离。
CloudVisor的体系架构是对传统的云软件进行保护。首先是增加了一个很小的安全监控软件。这样一个软件可以看到,是在整个云平台的最下面,可行机越大越不安全,那么就要试图把它变的非常小。CloudVisor是非常小的软件,它的功能和管理虚拟化不一样,传统的是做很多硬件模拟等等,CloudVisor可以做保护,可以提供一套安全的认证和可以度量的。用户首先要确认是否正确安装了CloudVisor,然后有一个标准化的协议,通过这个协议可以知道这个平台是否真实存在,然后通过密钥把一些软件进行加密。被加密的软件上面的包括虚拟机,监控器和控制的虚拟机根本没办法看到任何信息。通过这样的方式可以保证它的传输和在加载的过程中都不能够看到一些隐私数据。访问页通过其他的手段,通过VMM和CloudVisor为这样有特权的软件,可以让VMM根本看不到IO的数据。
这是一个基于TXT的启动认证,认证完了以后可以通过Hash传到TPM。通过认证后可以分辨出到底是一个木马还是一个安全保护的工具。同时还需要保证它在运行中的安全性,需要保证的一点是,VMM不能窃取VM的信息。用到的一个方法就是,如果VMM向VM流动,一旦他们两个要进行沟通,首先要经过CloudVisor的审核。经过CloudVisor的处理再流动到VM,同时VM再回流到VMM也要经过这样的认证。
基于EPT的内存隔离:VMM只有每个VM的EPT的只读访问权限。现在假设VMM访问VM的一个数据,这样可以对它进行一个监控,试图访问的话要经过系统的检测,因为它不能保护它,如果尝试保护就需要对它进行一个加密。系统通常需要通过这样的加密方式来保护一些外涉的数据。
CHAOS的结构:管理员通过一些行为的约束让OS都不能访问云服务的信息。如果一个恶意操作系统试图访问并获取信息的时候,可以对它正在进行的一些映射实施删除。虽然安全通常会影响易用性,但是CHAOS的结构下在增强了安全性的同时还可以通过工具对其进行在线迁移。
陈博士最后表示:云计算给安全性带来了巨大挑战,最大的问题是数据和基础设施在不在用户这端还是在用户提供商这边。带来这样的挑战,现实生活中反应非常多的问题。我们试图做了一些事,提供多层次的安全来保护IaaS和SaaS,用指环王里的一句话就是“一个小的戒指就可以统管云的安全。”