来自中国科学院软件研究所基础软件国家工程研究中心系统安全与可信计算研究室负责人丁丽萍女士为大家分享《云计算环境下的隐蔽信道分析》。她从隐蔽信道、云计算环境下安全威胁和隐蔽信道以及她们所做的工作三个方面进行了详细了介绍。
▲中国科学院软件研究所丁丽萍
隐蔽信道
隐蔽信道在操作系统层面的概念是指恶意进程通过合谋信息系统共享资源的实现信息泄漏的方式,隐蔽信道分析是国内外安全标准对脆弱性分析的强制性的要求,要求你在提交产品的同时提交隐蔽信道分析的报告,构建场景进行度量,并提出消除措施。具体分析工作有:识别、度量和处置。隐蔽信道分析是信息安全领域的重要难题,研究起来难度很大。原因在于以强制访问控制研究作为基础,海量代码基于源码拿出来在静态的分析比较复杂,像内核源码好几百万行,各个产品都有一些技术壁垒,导致参考资料非常少。
信道的分析分三块:识别、度量、处置:
• 识别是对系统静态分析,对源代码的分析,强调对设计和代码进行分析,发现所有潜在的隐蔽信道;
• 度量是对信道传输能力和威胁程度的评价,隐蔽信道到底它的传输能力带宽多大,对系统整个威胁多大,做出评价;
• 处置是包括信号的审计、消除、限制。信道的处置包括消除措施破坏信道存在条件,限制包括把信道降低到系统能够容忍的范围内,把它的带宽减少。信道的审计强调对潜在信道的相关操作进行监测和记录,这就是隐蔽信道的传输机理。
隐秘信道本质上是信息传输的通道,重点集中在传输介质的研究,根据共享资源属性不同分为存储和时间类型,四级操作系统要求对存储类隐蔽信道进行传输分析,五级对时间和存储都要进行分析,由此延伸出存储和时间信道两种。在操作系统、数据库或者网络中发现一种共享资源作为隐蔽信道的传输,是隐蔽传输机制的核心;传输介质的选择,是能够提高信道的容量和隐匿性的根源。
提高隐蔽信道的传输准确率和隐匿性的另一种方式是改进信道的编码机制。利用字母频率特征、编码期望长度较大或者多元编码机制。
操作系统隐蔽信道研究重点在于防患于未然。对于开发出来某一个版本里面的隐蔽信道做一些分析,对它进行消除采取一些措施,侧重于它的标识、场景构建、容量度量等方面。这是我们列出相关的研究。Kemmerer为认为隐蔽信道是使用不是正常数据客体的项从一个主体向另一个主体传递信息的信道,并由该定义设计出共享资源矩阵法。Tsai等人认为隐蔽信道是违反强制安全策略模型的两个主体间的非法通信。提出语义信息流方法判断内核变量间的可见性,以此发现可见隐蔽信道,缺乏分析工具。咱们国家的卿斯汉延续了语义信息流的思想,设计了一种代码层次的标识方法回溯搜索法,该方法引入“剪枝规则”,在标识过程中删除不能构成隐蔽信道的共享变量。数据库隐蔽信道研究的人更少了,数据库系统中存在着大量共享资源,这个领域的研究值得涉足了。网络隐蔽信道集中正面的研究,利用传输信道传输隐秘信息,比如数据段增加一些东西来隐匿传输信息到另外一个节点去。网络隐蔽信道将信息泄漏威胁从系统内部转移到系统中间,研究比较多是Purdue University(普渡大学)提出了一种IP时间隐蔽信道,称作IPCTC。
云计算环境下安全威胁和隐蔽信道
云计算环境下的安全威胁与隐蔽信道关系。云计算将基础设施、平台及应用部署到云端,无论从观念上还是技术都给信息安全带来极大的挑战,好多专家说云计算带来威胁非常之大。
• 入侵者:云计算平台为其提供了一个廉价、高效、稳定的入侵平台。
• 用户:担心将应用程序与服务部署在不可控的环境中的安全性。
• 服务商:由于隐私保护和商业规则,云服务商无法记录和监控客户执行的操作,导致信息泄漏等攻击方式难易记录和发现。
从三个层面来说,云安全还是非常大的问题,很难解决。
虚拟化技术是云计算平台的核心。虚拟化技术提供了大量的共享资源,成为隐蔽信息的发生的源泉。我们以一个虚拟机的生命周期为例来分析云计算面临的威胁。隐蔽信道依赖于共享资源存在的,共享资源越多隐蔽信道越多。
一个虚拟机有创建、启动、运行、停止、销毁生命周期。在生命周期中,都会面临到很多威胁。它的运行阶段时间最长,启动起来一直在运行,运行阶段我们认为用A1和A2表示,A1表示虚拟机之间基于共享子资源的隐蔽信道。比如由于CPU负载和Cache缓存的隐蔽信道,在云计算平台中,虽然VMM为每个虚拟机分配了虚拟的CPU,但是最终的任务仍然要顺序地在物理CPU上执行,通过观察物理CPU的负载状况,能够推测同一物理平台上其他虚拟机内的机密信息,基于Cache为缓存的隐蔽信道类似于CPU负载信道,通过使用Cache的延迟时间,泄漏虚拟机的机密信息。
A2表示虚拟机的内部的隐蔽信道。例如Linux操作系统的事件标识型隐蔽信道,该信道的收发双方通过改变和观察特定的事件的状态合谋传递机密信息。A1和A2分别表示了虚拟机外部和内部的两种信息泄漏方式。
启动和停止阶段,我们用A3和A4表示。
A3表示篡改启动镜像类型的攻击。恶意用户篡改替换VM启动的镜像文件,导致客户在云服务的启动阶段就已经被植入恶意程序成为入侵者的攻击对象。A4表示篡改持久化数据的虚拟机攻击方式。当虚拟机将客户数据写入持续久设备中时,将客户信息泄漏给攻击者或者造成客户数据的故意丢失。A3和A4可以采取安全保护策略对系统采取防范。
A5、A6是传统的攻击方式,A5表示木马或者病毒攻击方式。A6表示返回时篡改攻击。网络环境下,A5和A6表示中间人攻击方式或其他的网络攻击方式,劫持网络会话执行恶意操作。
这三种类型的安全威胁覆盖了云服务的完整的生命周期。按照由低向高的层次,可视为针对VMM、VM和应用程序攻击。
前两种攻击方式利用云计算平台动态易用、资源共享的特点,是安全研究领域的新问题。通过安全策略,配置私有云、共有云、混合云可以创建相对安全的、灵活实用的平台。然而即使部署了安全策略,只要存在资源共享,因此隐蔽信道是云计算研究下的关键问题。
目前的工作
丁丽萍介绍到:“我们做的工作基于的Xen的虚拟机,这是我们改进的CASVisor,我们在里面做了安全机制在VMM层做的防护,启动的时候前启动CASVisor,然后生成Dom0,在系统中可以运行的WindowsXP等等不同操作系统,操作系统上面可以放置不同的应用。这是它的架构。”
基于XCP隐蔽信道分析,我们做了一些工作,基于共享内存,在这个平台下,我们对Xen做了分析,为了完成虚拟机域间的通信与协作,Xen提供了两类共享资源,即超级条用和事件通道。就是域和域之间的通知机制。事件通道机制与超级调用机制一起完成了VMM和Domain之间的控制和交互使用超级调用机制。
基于共享内存的隐蔽信道,为了实现虚拟机Domani之间的共享内存,Xen提供了基于超级调用和事件通道的授权表机制每个Domain都拥有自己的授权表,Doma创建一个环形数据结构并赋给虚拟域如Domb访问权限,以此构成共享内存。
我们认为现有的研究对隐蔽信道的分类基本上出于对于工程时间的考虑,分析方式并没有体现出隐蔽信道在云计算环境下的特点,需要重新分类,我们对隐蔽信道分了三大类,CC1、CC2、CC3三类。CC1是进程级泄漏方式,CC1操作系统内部的,是进程级的跟传统操作系统类似的。CC2是网络级隐蔽信道,恶意进程Pk在虚拟机平台DomU中,PX是其他硬件平台虚拟机或者独立操作系统中的进程。进程PK和PX只能通过网络连接通信,因此CC2通信可抽象为网络隐蔽信道。CC3系统级隐蔽系统,收发双方恶意进程分别处于同一硬件平台上不同虚拟域中,机密信息经过操作系统级的传输,泄漏给恶意用户。CC3类型的隐蔽信道是云计算环境中的特有的隐蔽信道类型,是由硬件资源共享导致的信道,如基于共享内存、Cache和CPU负载的信道。CC3信道对于云计算客户的数据安全至关重要,如果具有业务竞争关系的客户处在同一物理平台上,CC3类型的信息泄漏将给带来沉重的经济代价。
分析的过程,我们采用的这样的方法,在云计算环境下的隐蔽信道重点对CC3类型的信道进行分析。CC1和CC2类型的信息可以直接采用以前的分析结果。对CC类信道分析的通过安装配置LLVM变异系统,修改Makefile为文件,使之调用LLVM进行变异,使用编写中间代码分析共聚合信息流图构建工具,查找潜在隐蔽信道,系统中部署检查到潜在隐蔽信道,验证其是否能在真实场景下实现。通过实验计算其容量,设计相应的隐蔽信道处置措施。
基于源代码有向信息流图标识方法是我们的专利,这是我们在这个领域中发表的17篇文章,在国内外得到了认可,我们提出了云计算环境下的隐蔽信道的分析方法,在云计算顶级会议上被录用了,而且派了一个博士生宣读了论文。
云计算掀起了当今IT业又一次研究热潮,产业界对云计算带来了实际效益更加然而,云安全是制约云计算法的瓶颈。如果安全问题解决不了,云计算我们认为很难发展,如何隔离用户数据,保证数据的机密性、完整性可用性,将是今后工业界研究重点,也是解决云安全的关键。
我们隐蔽信道分析是静态分析,不是运行中系统的分析,是针对源代码的分析,分析源代码看看共享变量和资源是什么?通过对共享资源主客体之间的关系分析潜在信道构建场景对它进行消除。