米亮亮
(北京工业大学计算机学院 北京 100124)
在21世纪,云计算成为当前信息技术领域的焦点,云计算将大量的计算资源、存储资源与软件结合在一起,为用户提供便利的、经济的、高效的资源与应用。据IDC咨询公司的预测,未来IT云服务上的支出将成大规模增长。随着云计算在学术界和工业界的兴起,同时也引入了一些安全问题,并随着云计算的发展成为其普及的瓶颈。Gartner2009 年的调查结果显示,大多数的企业CTO认为云环境的安全问题是其不选择云计算平台的原因,如数据安全性和客户隐私的保护。同时,近期Amazon、Google等云计算发起者不断爆出的安全事故也加剧了人们的担忧。
目前云计算安全问题已成为越来越多的关注,各个研究机构以及安全企业组织已将列为焦点问题。本文通过分析当前云计算的资源共享所带来的安全问题,通过引入可信计算技术,对共享资源的使用和访问进行有效的控制,以达到消除或减少云平台中通过共享资源而形成的安全隐患。
当前还没有公认的云计算的定义,但目前的从云计算发展状况来说,“云计算”这一术语泛指云计算服务、支撑计算服务运营的云计算平台和云计算相关的技术[1]。云计算服务通常分为三个层次:IaaS基础设施及服务层,PaaS平台及服务层、SaaS软件及服务层。它们分别为用户提供基础设施部署、应用程序部署与管理服务和基于互联网的应用程序服务[2]。云计算平台是指支撑云计算服务的基础设施,简单的说就是将大量的软硬件和数据集成在一起,通过虚拟技术进行整合并且通过资源分配等技术手段为多用户提供独立的、可扩展的平台资源。云计算相关技术是指保证云计算平台高效运行的核心技术。如虚拟化技术、海量存储、资源管理调度、以及安全隔离技术。
云安全问题可以说是目前安全界研究设计的焦点,对于不同的角色其阐述的方式以及侧重点也不同。对于用户来说,云安全问题是指用户的数据安全和隐私保护;对于云平台来说,云计算所面临的安全问题是数据的存储安全、数据传输安全、数据的访问的合法性、用户的身份认证、用户的恶意攻击和协同泄密等等;对于云计算下虚拟技术来讲,又可分为虚拟机隔离机制破坏、虚拟化特权窃取、虚拟机镜像组件与迁移流程的攻击和虚拟环境信息泄露等;
云计算平台所面临的安全问题远远地超过了单机系统,从对比的角度讲,这些安全问题源于云计算的核心理念“资源共享使用”。云计算技术很好的将大量的资源整合并且提供给云客户使用,但对于资源共享所造成的安全威胁却没有很好的解决。
在云计算兴起前,隐蔽信道是指恶意进程通过合谋操作信息系统共享资源而实现的一种信息泄露,隐蔽通道分析的对象聚焦在操作系统上,侧重于从形式化顶层规范、描述性顶层规范、系统参考手册以及系统源代码角度进行标识等。对于已被标识的隐通道主要采取消除法、带宽限定和审计法[3]。
在云环境中隐蔽通道问题显得更加严重,云计算平台中存在大规模的并行操作,精确的时钟为时间隐蔽通道提供了媒介,大规模的共享资源也成为了隐蔽通道的主要载体[4]。再次由于隐私保护和商业规则云服务商无法记录和监控客户执行的操作,导致信息泄露、隐蔽通道等攻击方式难以记录和发现。目前已存在隐通道解决方案中,没有根本上解决问题的合理方案[5]。
虚拟化技术,在计算机方面通常指计算机元件在虚拟的基础上而不是真实的基础上运行,简单的说就是使用某些程序对计算机资源进行逻辑表示,使之不受物理器件的影响和限制,为用户提供便利的查看、访问及资源服务等。虚拟化技术是云计算的关键技术之一,虽然虚拟化技术的实现方式有所不同,但本质上本质是由虚拟机监控器对底层资源进行划分和模拟,向上表现出多组虚拟计算资源,支持多个虚拟计算环境。
云计算环境中,通过应用虚拟化技术将大量整合起来的资源分配给不同的用户使用,使用户独立于具体的硬件设备,方便和简化了用户系统的设置,同时云环境中的虚拟技术为用户间提供了良好的隔离机制,用于保护独立的虚拟系统的安全。如 VMware、Hyper-V、Qemu、Xen等虚拟系统。
可信计算是近十年来兴起的一种新型安全机制,它以受到物理保护的可信根为基础,通过构建一个从可信根出发,一级验证一级的可信链条来保证系统中元件的安全性[6]。通过可信计算技术,可以为用户提供可信存储、可信度量和可信报告等多种功能,保证用户的数据安全,为用户提供可信任的计算环境。
研究人员为了保证在云基础设施中数据和计算的完整性提出了可信云计算的概念,可信云计算从引入可信的外在协调方开始,通过协调方对云端网络中的节点进行认证,维护可信节点,并保证客户虚拟机仅在可信节点上运行。每个经协调方认证的可信节点上都安装有可信虚拟机监测器[7],其通过安装可信平台模块芯片并执行一个安全启动过程来进行安装,能够防止特权用户对客户的虚拟机进行监视或修改。
本节主要阐述关于云环境下共享存储资源的安全问题,云环境下的隔离机制能够很好的保证不同系统间的权限访问,但在对于共享存储资源的使用时,无法很好的确定使用用户是否恶意的窃取他人信息。前节中提到了共享存储隐通道问题,因存在的方案中大多治标不治本,对于不同的系统以及云环境的特殊状况很难形成有效的结果。因此本文同过引入可信计算技术,来解决该问题。
首先,在云环境所建立可信根结点中,添加一张关于用户身份的转换表TrID。如表1所示,该表用于用户使用运资源是保护其隐秘性。
表1 用户身份转换表TrID
表的内容是一个二元组
在资源分配的系统中,我们在资源空闲表中添加一项UID,及记录前一时刻资源被使用的用户的RID。当资源再次被分配时,我们要先将UID的值与当前用户的RID进行比较。如果相同,则表示是同一个用户在不同时间段使用该资源,不存在信息泄露的可能,则直接分配资源。如果不同,则要将资源清空初始化,这样就避免了信息的泄露,
由于 3.1节中的方法虽然提高了平台的安全性,用户的隐私保护,但同样云平台的主机需要一定的时间对资源清空初始化。考虑到绝大多数的用户是安全的,因此绝对隔离适合安全保密需求很高的用户或者是企业。对于更多的大众用户,我们采用了基于可信级别的隔离保护。及在原有的资源分配表中添加可信等级项CL(Confidence level)。
可信等级CL由可信根确定,其产生于对用户系统的可信度量值的划分,大致可分为:不可信、临界可信、可信等层次。目前的可信度量分为静态度量与动态度量等,主要的是基于系统行为和状态的度量。
系统将可信根对用户系统行为度量值划分为几个不同的等级后。CL表示用户可信值所处于的可信域,被保存在转换表中,及将原有的二元组变成三元组(UID,CL,RID)如表2所示。
表2 转换表TrID
资源空闲状态CLed UID
图1 资源分配示意图
与3.1中不同的是,我们先比较CL与CLed的值,如图1所示,当前使用者的CL大于前一时刻使用者的CLed时,无需再比较直接分配资源;如果CL等于CLed的值,则将当前用户的RID与UID比较是否相同,相同则分配资源,如果不同,则初始化资源,在进行分配;如果当前用户CL的值较小时,则直接重置资源。该方法检少了对共享存储资源的清空和初始化,并且通过云环境的可信根对用户系统行为的度量值一项在一定程度上保护了用户的隐私,及共享存储资源的使用。
云计算经历了十几年的发展正在逐渐地走向成熟,并且未来社会对云计算的需求将会向如今社会对计算机的需求等同,对于云计算环境来说,用户的数据安全和信息隐私是影响着云平台是否可持续发展的重要因素。
本节从共享存储资源的使用的控制策略出发,对共享存储资源的使用进行限制,从而解决关于共享存储的隐通道攻击。以往的解决方案都是通过监控机制通过不同方式,对使用共享存储资源者或者行为进行分析,增大了原有问题的难度。虽然本文的方法可能会影响共享存储资源的使用效率,但就像操作系统中对共享存储资源建立的锁机制一样。如何能更好的擦除或者改变共享存储资源中残留的数据将会成为作者接下来研究的方向。
[1]刘玮,王丽宏.云计算应用及其安全问题研究[J].计算机研究与发展,2012,S2:186-191.
[2]罗军舟,金嘉晖,宋爱波等.云计算:体系架构与关键技术[J].通信学报,2011,32(7).
[3]卿斯汉.高安全等级安全操作系统的隐蔽通道分析[J].软件学报,2004,15(12).
[4]AVIRAMA,HUS,FORDB,etal.Determ inating timing channels in compute clouds[A].Proceedings of the 2010 ACM Workshop on Cloud Computing Security Workshop[C].Chicago,Illinois,USA,2010.103-108.
[5]吴敬征,丁丽萍,王永吉.云计算环境下隐蔽信道关键问题研究[J].通信学报,2011,(9A):184~203.
[6]沈昌祥,张焕国,王怀民等.可信计算的研究与发展[J].中国科学:信息科学,2010,02:139-166.
[7]Murray D G,M ilo s G,et al.Improving Xen security through disaggregation[A].VEE.08 Proceedings of the fourth ACM SIGPLAN/ SIGOPS international conference on Virtual execution environments[C].New York:ACM Press,2008.151- 160.