石 磊 张 辉 刘毅枫
(山东乾云启创信息科技股份有限公司 济南 250101)(shi_lei@massclouds.com)
基于安全标签的云平台问责和追溯技术研究
石 磊 张 辉 刘毅枫
(山东乾云启创信息科技股份有限公司 济南 250101)(shi_lei@massclouds.com)
对于云平台问责与追溯,问责是要达成的目的,追溯是技术手段.为达到针对云环境下恶意行为问责的目的,要求追溯技术能够逆向还原从事件发生点到事件发起源头的完整路径,并记录这期间的操作行为.针对业务透明性、追溯机制精度和范围、追溯机制效率和成本等方面面临的挑战,提出一种基于安全标签的通用追溯技术,建立精确高效的追溯技术原型.
云平台;云计算;安全标签;问责;追溯
国内云计算应用不断扩大,云数据中心、大宽带战略、软件服务及智能终端等组成的云计算产业链条已经逐步形成.不过,国内云计算产业仍然面临一系列问题和挑战,其中包括基础设施支撑不足、宽带不宽、服务种类有限、服务规模不大、产业链不全、商业模式不成熟、政策法规环境不完善、用户对云计算安全担心等等.
网络安全已晋升为我国国家战略部署的一部分,云计算的落地向信息安全提出了新的挑战.云计算的推广应用需要确保云服务的安全,营造云服务的安全环境,为此,需要加强云计算安全技术的攻关和研发,制定和完善云计算安全的制度和法律,明确信息所有者和服务者的权益和责任,依法保护知识产权,依法维护个人信息的隐私权益,建立和完善云计算安全防护和评价体系,让所有使用云计算的人放心,让存放在云端信息的信息所有者放心[1].
当前国内外已经开展了一些与云平台问责与追溯技术相关的研究工作,但是大多数都处于原型阶段,距离实用还存在一定差距.主要包括以下几类[2]:
基于信息流跟踪(information flow tracking, IFT)的方法是一类比较通用的防止信息泄露的方法.1)通过扩展Java和PHP语言虚拟机的方法实现信息流监控,能够针对用户的隐私数据进行保护,阻止信息泄露,但是该模型只支持特定的语言,并且需要重写应用.2)针对分布式系统的信息流监控方法,该技术原型在追溯方面的粒度很大,不能具体到针对文件、内存区域、Socket这一级对象的跟踪,同时该原型必须修改被监控应用.3)监控和保护结合起来的办法,即确保所有敏感数据对授权进程以外只读,发现和阻止非法企图;但是该原型侧重于预防,对于异常行为追溯功能的支持能力很弱.
另一大类技术方法所采用的策略为,从综合安全体系的角度,充分利用传统计算领域的各种审计技术和工具,与云环境下的跟踪技术相结合,建立完整的信息审计和行为追溯体系.但是该模型是针对Web应用提出的恶意行为追溯方法,局限性太强,不能适用于云环境下广泛的业务类型.
另外,从可信计算角度入手,也是一类实现方法.引入一个受信任的第三方云服务提供者,为最终用户提供相应的数据追溯和审计服务;但是该模型仅是针对Paas模式提出的方法.同时,该模型的实现通常要受到TCM信任链的约束[2].
1.1 追溯技术简介
对于云平台问责与追溯这一研究领域,问责是要达成的目的,追溯是技术手段.为达到针对云环境下恶意行为问责的目的,要求追溯技术能够逆向还原从事件发生点到事件发起源头的完整路径,并记录这期间的操作行为.考虑到云环境本身的特点,云平台下的追溯技术既要服从于云计算环境的特殊性和限制,又要充分利用虚拟化技术带来的一些便利条件,建立精确高效的追溯技术原型.
1.2 技术难点分析
目前,在云平台下实现问责与追溯技术,主要面临以下几类主要的挑战:
1) 追溯机制对业务的透明性
在云平台环境下的问责和追溯作为一种安全技术,在实现方面的要求是既要增强对云平台业务的安全可控能力,又要严格控制实现代价.同时,云平台的特点决定了业务通常由大量单一功能的应用协同完成,云平台的一个重要优势就是允许这些应用的快速升级更新.因此,如果在业务应用的层面注入或扩展追溯机制,就会给原有的业务应用开发增加额外的限制,将会大大提高维护难度和成本,对云平台的推广应用造成不利影响.
追溯机制的透明性是指,在不影响原有云平台业务的开发、升级、维护的前提下,为安全管理人员或安全工具提供针对恶意行为的有效的追溯能力.这个目标对追溯机制的设计提出了很高的要求,需要慎重考虑技术实现所在的层次和方式.
2) 追溯机制的精度和范围
通常情况下,追溯对相关信息的精度和粒度的要求很高,这是追溯有效性的主要保障.在数据粒度方面,如果不能达到字节级的水平,许多追溯线索就可能断掉.在路径精度方面,数据在进程中内存地址间的转移,进程间通过网络、管道、IPC等方式的传递,数据与文件的交换等等过程,都应当是追溯需要识别的环节和途径,否则也难以实现有效的追溯.
在云平台下,业务流在各种类型的软硬件节点之间处理和传递,追溯需要跨进程、跨虚拟机、跨宿主机的传递,需要跟踪数据在各种形式上的转变,这种大范围的追溯要求对技术原型的机制设计提出了极大的挑战[3].
3) 追溯机制的效率和成本
·对追溯过程中处理精度和范围的高要求,必然会在效率上付出一定代价,因此如何设计一个完善的机制,以降低在这些方面对效率的负面影响,是技术上的一个巨大挑战.
·追溯的一个主要目标是发现攻击源或攻击者,但是对于云平台来说,用户规模通常是巨大的,追溯机制必须能够支持对大量主体标志的产生、处理和识别,这样才能从大量的用户中标记出潜在的攻击者.现有的某些实现在主体标志的范围和扩展性上准备不足,导致其在实际的云环境应用中受到极大限制.
·追溯机制对效率的另一个主要影响来自常规运行的记录信息的过程,几乎所有可能被追溯机制引用的信息都要经过这一过程的处理,如何降低该过程的日常开销也是需要克服的一个关键问题.
针对云平台在问责与追溯所面临的挑战,本文提出一种通用的追溯技术原型MC-Track.该原型的基本原理是,为进入云平台的数据创建对应标签,标签标记了数据来源信息;在云平台中维持标签与数据的同步,标记数据在云平台内移动的路径线索;各关键节点依据标签向统一的审计数据中心报告数据流经的路径;追溯过程触发时,根据当时现场环境和审计数据中心的历史记录做关联分析,产生追溯结果.
2.1 追溯原型的构成
追溯原型的构成主要包括追溯过程的触发和追溯信息的获取,具体如图1所示:
图1 追溯原型MC-Track的技术构成
1) 追溯过程的触发
追溯技术与监控技术不同,单就追溯本身来看,它不是常规持续运行的过程,而是待调用的任务型过程,启动时机是在异常发生后.追溯过程需要在一定条件下,由安全人员或其他安全工具触发启动,外部的输入指明了追溯的线索依据、发生位置等信息.例如,防篡改软件可以检测到敏感数据内容的非法修改,之后可以自动触发追溯过程,防篡改软件必须提供篡改发生的位置(如设备ID、数据路径等)、精确时间以及现场的其他线索信息,追溯机制依据这些输入信息进行关联分析后得出结果,最后向管理人员提供该恶意行为从攻击源到篡改点的完整路径,同时定位攻击者和记录非法行为过程.
因此在追溯原型的设计上,MC-Track遵循这样的约束:原型本身不包含检测、防御和识别威胁的功能,其职责是在事件发生后,辅助分析识别事件原因、触发源头和经历过程,其作用和目的是辅助安全管理者追究责任和完善安全体系.
2) 追溯依赖信息的获得
追溯机制的运行和完成需要一些必备的基础信息作为支持.但是在通常情况下,由于追溯技术基本上是一种事后机制,当追溯启动时,恶意行为的大部分过程都已经结束.追溯机制仅仅依靠当前时刻能采集到的信息和运行场景,去还原事件发生的完整历史过程几乎是不可能的.因此,MC-Track原型除了包括在异常发生后才出发的核心的追溯过程,还必须引入一个常规情况下持续运行的过程,称为常规跟踪过程.常规跟踪过程负责跟踪记录数据在云平台中的转移过程,并将信息集中存储到信息跟踪数据库中.追溯过程可以依托这个库的支持完成追溯分析.
综上,根据追溯技术的特点和运行条件,追溯技术原型MC-Track由以下4部分组成:1)常规记录信息过程,随时准备为追溯过程提供分析的历史信息依据;2)触发条件信息,触发追溯过程并提供初始信息;3)追溯的核心过程,根据触发的输入信息和常规记录过程提供的基础信息,执行基于领域知识的关联分析,得出确定的结果;4)追溯结果输出,向使用者提供完整的追溯路径和这期间的行为过程记录[4].
2.2 云计算环境下基于标签的数据跟踪技术
透明性是MC-Track原型实现的一个主要目标,即在云平台下增加追溯功能不影响业务层的运行和维护.在MC-Track包含的2个过程中,核心追溯过程执行逻辑关联分析方面的运算,独立性强,不会影响透明性的实现;而常规跟踪过程需要截获和记录业务数据流,与业务耦合度高,所以需要重点研究,尽量避免对业务层的影响.
常规跟踪过程通过2个步骤实现对数据的跟踪:首先给业务数据建立标签并保持标签与数据的同步传递;然后在各关键节点检查标签并产生审计数据.通过上述方法,可以记录业务数据的来源(用户或其他系统)、在云平台内部的转移过程、流出云平台的出口位置或者在内部的销毁位置.MC-Track设计和实现过程应当确保对业务透明性的原则.
1) 标签的意义和处理原语
标签与特定的数据对应,在系统中由唯一的数值表示,该数值由2部分组成:一是数据的属主或来源的唯一ID;二是数据本身的唯一ID.当数据在云平台中传递时标签也随之移动.以标签为线索,就可以把数据在云平台中各节点各阶段上的传递过程串联起来,从任意一个点上可以反向追溯数据经历的路径;同时,由于标签含有来源信息,还可以确定数据的来源.
标签处理包括3种原语:add_tag用于针对数据产生标签;delte_tag用于在数据销毁时删除标签;copy_tag用于传递标签.这3种原语处理的数据对象形式是[start,end)的1组连续字节,最小粒度是1 B.
2) 标签的维护及传递方法
标签根据其对应的数据形式的不同,分为3种情况:内存标签、文件标签和网络标签.其中,内存标签和文件标签都在标签缓存中以KeyValue的形式进行维护,与标记的数据相对应;网络标签则直接嵌入在网络数据包中.
内存标签:内存标签对应内存中的数据,Key由进程ID、数据的起始地址(虚拟内存地址)以及数据长度3部分构成,Value就是标签值,用于识别数据身份.
文件标签:文件标签对应文件中的数据,Key由文件路径、数据在文件中的偏移地址以及数据长度3部分构成,Value就是唯一标签值,用于识别数据身份.
3) 标签的创建和销毁
云平台通常包含一个入口网关,如果不存在网关或者网关逻辑不可修改则可以增加一个透明网关.透明网关不影响云平台的原有网络拓扑和业务逻辑,其主要的功能就是根据来自用户的输入数据创建标签.
产生标签可以单独依据用户ID、用户IP、终端ID这几种信息产生,也可以依据它们的联合产生,具体实现由策略决定.透明网关是云平台的入口,也是追溯过程在云平台内到达的终点,通过检查标签与上述信息的对应关系可以识别出攻击或异常的源头.
云平台中销毁标签只有一种情况,就是标签对应的数据时被释放.销毁标签在云平台的任何位置、任何阶段都可能发生.
4) 标签在云平台的传递和检查
云平台中的各种业务大多依托于虚拟机运行,这些虚拟化设施处于业务应用和客户操作系统的底层,可以监视或截获标签,为数据跟踪的实现提供了便利性.这包括进程内部数据跟踪、同虚拟机进程间的数据传递跟踪、同宿主机跨虚拟机间的数据传递跟踪、跨宿主机间的数据传递跟踪.
以下分别说明MC-Track原型针对这些情况的实现方式.
1) 进程内的数据跟踪
进程执行的指令大致包括2类:计算类和转移类.转移类指令可能会对标签关联的数据执行相关处理操作,因此MC-Track原型需要截获此类指令,同步处理数据对应的标签,以保证标签跟随对应数据.
由于云平台中应用基本上都运行在虚拟机中,对于虚拟机中的进程,其执行的所有指令必然经过虚拟机监控器(VMM),因此MC-Track的处理机制是:首先,在虚拟机监控器中嵌入模块截获二进制指令流并反汇编;然后,检查涉及数据是否拥有标签,无标签时不用处理,直接放行;最后,根据指令对数据的操作,调用copy_tag或delete_tag原语同步标签.
进程对数据的处理可能包含以下几种情况,因此对于标签也需要执行相应的处理.①数据拷贝,直接调用copy_tag原语,拷贝1份标签关联到副本数据上.②数据转移,与拷贝类似,区别是随后应当删除原始数据对应的标签.③数据抽取,即原始数据仅有一部分被抽取出来,则修改标签对应的数据长度.④数据合并,即发现数据与相邻位置的数据拥有相同的标签,则修改标签对应的起始地址和总长度,以对应合并后的数据.
对于云平台中不依赖于虚拟机运行的进程,可以借助运行时解释器来执行,例如Intel的PIN工具.由于PIN一类的运行时解释器其本质就是一个微型的用户级虚拟机监视器,因而上面讨论的方法同样适用.
如图2所示,在进程内标签会随着数据同步转移,这包括内存到内存的传递、内存与文件间的传递,因此跟踪标签即可实现对进程内数据的跟踪.
图2 进程内数据标签转移
2) 进程间通信的数据跟踪
进程间通信的几种主要方式为共享内存、管道、信号等机制都是基于内核来实现数据在进程间的交换,基本过程为进程A用户空间的内存数据,转移到内核空间的内存,再转移到进程B用户空间内存.
对于进程间通信数据的跟踪,MC-Track原型采取与进程内跟踪类似的方法,截获指令流处理转移类指令和中断指令,但是处理数据的范围要涵盖内核的内存.具体方法为:发现数据在用户内存与内核内存之间转移时,对相应标签作同步转移处理.内核内存在进程间的数据传递过程中可视为传输的通道.
与上述讨论相同,对于虚拟机中的进程间通信,可以在虚拟机监控器中处理标签;对于不依赖于虚拟机运行的进程借助运行时解释器来执行.
图3展示了进程间通信的标签同步转移过程:
图3 进程间数据标签转移
3) 基于Socket通信的数据跟踪
在虚拟化平台中,虚拟机的虚拟网卡可以获得完整的数据协议栈,虚拟机监控器具备对网络数据流干预处理的能力,因而MC-Track可以在虚拟机监控器中扩展模块实现基于标签的数据跟踪功能.根据进程间相互部署关系,可分为两大类情况:同宿主机通信和跨宿主机通信.
同宿主机通信又包括2种情况:虚拟机内部通信,虚拟机间通信.对于这2种情况,由于没有超出同一宿主机的范围,因而MC-Track原型在虚拟机监控器中实现标签的同步处理,不需要通过实际的网络同步标签.
跨宿主机通信则需要增加标签在网络上同步的步骤:源端的虚拟机监控器模块负责把标签嵌入到业务流TCPIP数据包的空闲位置,目的端的虚拟机监控器模块负责还原标签.
对于云平台中个别不基于虚拟机应用,则需要在网络驱动层截获数据包,执行上述操作.
4) 基于文件的数据跟踪
除了内存,文件是数据在流动过程中经常经过的环节,是数据在系统中驻留的一种重要形式.无论是进程内数据的存取还是进程间数据的传递,都可能涉及文件这一数据存储形式.MC-Track模型可以支持包括文件在内的完整数据路径跟踪,确保数据流的跟踪在文件这一环节上是连续的.文件数据对应文件标签.标签内容保持了对应数据的来源信息.
针对虚拟机情况,MC-Track在虚拟机监控器扩展模块,截获虚拟机内客户操作系统的系统调用,如果发现进程执行write,writev以及pwrite等系统调用,则使用copy_tag原语,把源数据对应的内存标签同步到该文件标签中;类似地,如果发现进程执行read,readv,pread等系统调用,则使用copy_tag原语,把文件标签同步到目标内存数据对应的标签上.
对于不依赖于虚拟机运行的进程,借助运行时解释器来截获系统调用,执行上述逻辑.
图2和图3都展示了文件在数据转移过程中的位置以及文件标签的跟踪作用.
2.3 云环境下跟踪信息采集技术
核心追溯过程依靠统一的接口从信息跟踪库中提取支持信息,但是信息跟踪库中这些信息的采集涉及的情况相对复杂,与云平台基础设施的相应机制有关.图4展示了云环境下采集跟踪信息所要处理的3类主要情况:
1) 基于虚拟机的应用:云计算的一个主要特点是大量使用了虚拟化技术,尤其是虚拟机技术.构成云平台的服务进程几乎都是依托虚拟机环境运行,即业务的处理、数据的传递大都以虚拟机为中心来完成.MC-Track基于虚拟机监控器的扩展模块不仅负责处理数据对应标签,还负责向信息跟踪库汇总跟踪信息.
2) 不基于虚拟机的应用:对于云平台中个别不基于虚拟机技术的应用,例如网关等,采用在操作系统内核嵌入驱动的方法,截获数据并进行标签处理,然后用户态的代理程序向信息跟踪库发送跟踪报告.
3) 封闭的商用设备:云平台中还可能包含一些独立的设备以及商用的闭源软件,对于这类对象,可以通过调用其开放的接口把它们的信息采集到信息跟踪库中,以形成更加全面的路径过程视图[5].
图4 云平台跟踪信息采集
本文主要针对云平台在问责与追溯所面临的挑战,提出一种通用的追溯技术原型MC-Track.该原型的基本原理是,为进入云平台的数据创建对应标签,标签标记了数据来源信息;在云平台中维持标签与数据的同步,标记数据在云平台内移动的路径线索;各关键节点依据标签向统一的审计数据中心报告数据流经的路径;追溯过程触发时,根据当时现场环境和审计数据中心的历史记录做关联分析,产生追溯结果.
在标签的检查和传递方面,MC-Track原型实际上利用了一些VMI技术,即在虚拟机之外分析虚拟机内部的数据流动.如何提高这类分析的效率和准确性是下一步研究的重点内容.
[1]栾润生. 面向云计算的计算机网络犯罪侦查取证的思考[J]. 网络安全技术与应用, 2011 (12): 68-70
[2]Boss G, Malladi P, Quan D, et al. Cloud computing. IBMWhitePaper[EB/OL]. [2010-12-10]. http://download.boulder.ibm com/
[3]夏荣. 云计算技术在电子数据取证领域的应用研究[J]. 信息网络安全技术, 2011 (8): 51-53
[4]曹彬, 程久军, 闰春钢. 基于云计算Live Mesh的流媒体应用研究[J]. 计算机科学, 2010, 37(11): 92-95
[5]彭召意, 周玉, 文志强. 基于云计算的视频取证监控系统[J]. 计算机应用研究, 2011, 28(8): 2975-2977
石 磊
硕士,主要研究方向方向为Linux内核、系统虚拟化和云计算安全技术.
shi_lei@massclouds.com
张 辉
硕士,主要研究方向研究为微内核架构、软件构件化和软件服务化.
zhang_hui@massclouds.com
刘毅枫
学士,主要研究方向为系统虚拟化、软件服务化、软件工程及工程管理.
liu_yfeng@massclouds.com
Cloud Platform Accountability and Retrospect Technology Based on Security Label
Shi Lei, Zhang Hui, and Liu Yifeng
(MasscloudsInformationTechnologiesCo.Ltd.,Jinan250101)
In oder to achieve the accountability system of cloud platform, retrospect is the primary technology method. Recalling the complete trajectory of the security event in this period,it can be controlled by the ability to trigger and record operations during this period. In order to tackle the challenges of business transparency in cloud system retrospect, the paper reviews the transparency, efficiency and cost of the enterprise. This paper states general retrospect technology based on security label, and establishes an accurate and efficient retrospect technology prototype.
cloud platform; cloud computing; security label; accountability; retrospect
2015-10-30
TP309