引言
由于云计算对资源的充分高效利用能大幅降低计算成本,从而大大增强了计算灵活性。云计算概念从2008年被提出开始已经得到越来越广泛的应用,越来越多的企业组织机构开始把计算平台向云迁移。在这个过程中人们最关注的无疑是云的安全问题,尤其是在云的多租户环境中,大量用户共享同样的基础设施和网络,如何在这种环境下保证用户数据的安全和隐私,是一个比较严峻的问题。云安全联盟(Cloud Security Alliance)已经将不正确的数据和网络隔离(Improper Data and NetworkIsolation)列为云计算的首要安全威胁之一。恶意用户可以相对比较容易地攻击其他使用同一平台的用户,特别是目前的云服务建立门槛已经很低,一些新手程序员可以通过GoogleApp等建立自己的云服务,其代码的安全性通常没有得到良好的审查。
目前,阻止这些攻击还未有良好的解决办法,即便部署了ERP数据防泄露系统,也无法阻止云服务上的敏感信息泄露。技术手段的缺乏使得黑客和恶意的内部人员的攻击日益增加、数据合规性的监管增强、云计算时代大型数据中心安全管理日益复杂,如何控制、保护和监视高价值的业务数据,成为所有数据提供商和用户面对的重要问题,因此迫切需要一套可视性的、有效控制的数据安全隔离办法。
这里提出一个名为OmniSep的数据隔离技术解决方案,使得云服务提供者可以把安全作为一种服务提供出来保护云中租户的数据,即便这个租户自身运行的软件和服务不安全,OmniSep也能确保其数据的安全。OmniSep通过增强云服务提供商的虚拟机管理器(如XenServer、VMware ESXi等)并修改部分客户机操作系统来实现数据的隔离,从而保证云中多租户用户远离因服务商错误设置或side—channel攻击等问题造成的数据泄露。
1 相关威胁分析
对于云中多租户的威胁分类分以下几种情况讨论,如表1所示。
可见,最常见的威胁是一个租户部署的服务有漏洞或者配置错误,但要求所有租户都严格检查其代码也不现实,防火墙和IDS的作用也有限。OmniSep可以阻止恶意攻击者从租户的虚拟机实例偷走信息。其他的威胁有些是由于云基础设施或租户操作系统的漏洞造成的。
2 OmniSep系统构成
图1为OmniSep的系统结构,显示了其组件和云中的位置,组件包括:
表1 云计算多租户环境威胁分类
1)两个在特权域Domain0中的软件模块,一个针对数据隔离,一个针对网络隔离。
2)一个标记服务(Labeling Service)部署在云服务提供商的存储设备上。
3)Pedigree操作系统级信息流追踪组件,安装在所有愿意使用OmniSep的用户虚拟机实例上。
图1 OmniSep系统结构
以云计算常用虚拟程序Xen为例,Xen有多个层,最底层和最高特权层是Xen程序本身。Xen可以管理多个客户操作系统,每个操作系统都能在一个安全的虚拟机中实现。在Xen的术语中,Domain由Xen控制,以高效地利用CPU的物理资源,每个客户操作系统可以管理它自身的应用。这种管理包括每个程序在规定时间内的响应到执行,是通过Xen调度到虚拟机中实现,当Xen启动运行后,第一个虚拟的操作系统就是Xen本身,通过xmlist,会发现有一个Domain0的虚拟机。Domain0是其他虚拟主机的管理者和控制者,Domain0可以构建其他更多的Domain,并管理虚拟设备,它还能执行管理任务,比如虚拟机的休眠、唤醒和迁移其他虚拟机。
一个被称为Xend的服务器进程通过Domain0来管理系统,Xend负责管理众多的虚拟主机,并且提供进入这些系统的控制台。命令经一个命令行的工具通过一个HTTP的接口被传送到Xend。运行Pedigree的云租户可以指定安全策略并运用部署在云服务提供商那里的标记服务来自动分配标记到他们的数据,这样,Pedigree就可以追踪所有在租户虚拟机实例内进程和文件之间的信息流,如果租户的数据不符合规定地流向了另一个租户的虚拟机或是云外的网络,Domain0里的执行组件就会终止类似的数据交换。网络隔离组件主要干扰对共享硬件资源的多租户探测:通过中央数据库重写租户虚拟机实例的IP地址,首先阻止攻击者探测租户的真实IP地址,同时调节ping值返回时间,使得同一台物理主机上虚拟机之间的ping时间值和不同物理主机之间的ping时间值是相同的。
(1)Pedigree信息流追踪组件
Pedigree在同一个虚拟机实例里使用标记来追踪进程以及文件相互之间的信息流,使用一个安全可信的Linux内核,用户和管理员把标记加到文件上,标记内容包含了租户在策略中指定的内容、谁能访问以及以什么权限访问等信息,Pedigree一旦安装就会关联所有虚拟机内的资源,云中租户便可以把数据安全的边界得以划清,控制自己的数据流动。租户不仅可以单独安装Pedigree,还可以通过绑定虚拟机镜像使得以这个虚拟机镜像为母版的所有虚拟机都自动加上这个功能。对于所有正在运行的虚拟系统,Domain0的系统正在运行。
Domain0就是Xen本身,也可以称为虚拟平台内存大小,负责提供其他虚拟操作系统的硬件环境,其他的系统都是基于DomainO开始的,Pedigree运行于其他DomainU虚拟系统,和DomainO交互数据。
(2)标记服务
标记服务建立在标准云服务的存储服务之上,通过用户指定的策略,标记层自动把相关标记数据插入存储服务,每个租户都可以通过管理界面创建策略来标记数据流。以下是一个策略的例子,其中一个标记被创建然后被插入到数据库:whenquery:=“INSERT”and table:=“USERS”。
(3)执行组件
执行组件一直运行在云中的所有DomainO里面,作用有以下两个:
1)内部租户的数据隔离。假如一个租户标记的数据非正常地流向另一个租户的虚拟机实例(如错误配置、被攻破的情况下),执行组件可以根据标有每个租户唯一标识的标记来执行阻断。
2)全局数据隔离。假如一个租户标记的数据非正常地流向云外,执行组件执行阻断措施并汇报事件。
相对于内部数据隔离,全局数据隔离的难点在于如何让租户从云的外部浏览自己的数据,同时又能阻止攻击者在已经攻破云服务时没办法得到租户的数据。这里采用租户独立运行一个可信登录服务和云服务提供商的销密服务结合的方法,为确保没有恶意代码和后门,可以采用已经通过审计的开源代码库部署在虚拟机上作为自己的登录服务。当一个用户进入租户涉及到保护数据的网站时,登录进程便验证用户以及和销密服务通信以标明用户。销密服务是一个可信的代理服务(需要由云服务商提供),它可以把租户的标记信息从数据流中剥离,当销密服务器接收到租户请求时便剥离指定连接的用户信息,确保每一个流出的信息的租户信息被剥离。另外,隔离的同时还具备流量监视功能。为了防止网络接口流量异常,执行组件具有流量监视及控制功能,能够对通过安全隔离系统的网络流量进行全面的控制。流量监视及控制功能可以针对不同的应用对流量设置上限,保证云中数据不会由于其他应用占用过多的带宽而不能正常使用。此外,流量监视及控制功能还可以对执行组件系统的特定网络端口进行上行及下行的流量监视和控制,使用户能够随时掌握网络流量的状态,分析云中数据的流向。
下面通过一个实例来说明全局数据隔离的运作,如图2所示。一个正常用户Alex和恶意用户Bob,Alex登录进系统然后发起请求查看其银行账户信息,他的返回值只会标记一个“A”。销密服务器把他的标记剥离然后执行组件发现这些数据没有包含敏感的标记,于是放行。如果Bob通过SQL注入攻击想得到Alex的银行信息,由于销密服务只和Bob的连接相绑定,只会去除Bob的标记信息,Bob窃取的Alex的数据在经过执行组件的时候还会带有Alex的标记,这时候执行组件便会拦截这些数据,从而起到保护作用。就算Bob使用其他虚拟机绕过销密服务器,但这些虚拟机里面驻留在DomainO里的执行组件也会阻断连接。
图2 OmniSep处理流程
3 系统实现
OmniSep软件代码由C语言实现,验证采用的云计算系统搭建在Ubuntu11.10上,云管理基础软件采用UbuntuUEC内置Eucalyptus,虚拟机兼容KVM和XEN,虚拟机镜像格式为AMI。整个验证系统实现了和Amazon EC2的完全兼容,实现了与Amazon从私有云到公有云的无缝迁移。在本地验证系统的结论适用于目前使用最广泛的云设施Amazon EC2及其S3存储系统。
4 结语
文中通过分析广泛应用的云计算服务面临的各种威胁,揭示威胁造成的严重后果,并针对各种不同的威胁分析可能的解决办法,最后提出一个名为OmniSep的解决方案,该方案包含了一系列针对云计算多租户环境增强数据和网络隔离的技术。OmniSep通过部署在云中不同位置的3个组件实现了按照租户意愿的ERP数据和网络隔离,充分保障了租户在不信任云环境中的ERP数据安全。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:云服务数据隔离技术