陈昊宇 涂山山 赵春晔 黄永峰
摘 要:云计算和分布式系统发展迅猛,云端的数据安全变得日趋重要。文中针对现有云安全框架进行了分析,并通过对底层云数据隐私安全的相关技术进行了比较,在Cloud Accountability Life Cycle模型的基础上提出了可信任云框架;同时面对云端数据可能产生泄露的潜在威胁,指出在保证云安全的前提下,对云端可追溯数据进行审计是一种非常有效的方法,并提出对系统内核日志的采集与分析,是确保可追溯的一种可信且稳定的云安全审计模式。最后通过对比不同基于检测控制的数据安全审计机制,分析各自的优势与存在的问题,并针对其中的不足进行了有效改进,对实现基于日志分析的云安全审计模式提供了可行性认证。
关键词:云安全审计;可追溯数据;可信任云框架;日志分析
中图分类号:TP309.2 文献标识码:A 文章编号:2095-1302(2016)06-0-05
0 引 言
云计算是当今最热门的应用和研究领域,其特性要求公司和个人用户将自己私有资源的一部分甚至全部控制权移交给云服务提供商,这势必引起用户对数据安全的担忧。向用户完整可信地提供其私有数据的被操作状态,可以有效解决双方的信任问题。
针对以上潜在威胁,预防控制(Preventive Controls)被广泛应用(例如加密技术和基于ID分析的访问控制)。这些方案有效提高了云环境中数据的安全性,但依然无法直观地为用户提供云服务信任证明,因此很有必要采取措施来提升云服务提供商的透明度、监管力度和可信度。欧洲网络与信息安全委员会在云计算风险评估报告里指出,云计算中最具有风险的一种表现是“监管缺失”[1]。因此提出了检测控制(Detective Controls)方案, 而对云端数据进行审计是检测控制的一个重要体现。
尽管很多云服务提供商如亚马逊[2]等认识到了审计对提高用户信任度的重要性,但依然没有能力对发生在物理和虚拟服务器上的数据进行审计。云计算研究小组(现云安全联盟)意识到了这个问题,并在《云计算面临的最大威胁》中提出7大风险[3],指出对文件被使用情况进行追踪,可有效降低云服务的信任风险,同时可自然运用于云安全审计的研究。
HP云安全实验室在2010年提出“云计算的信任”这一概念,用以描述用户对云环境的信任程度,并给出了影响云环境受信任度的因素。
(1)安全性[4,5]。使未授权用户难以获取越权信息的机制。
(2)隐私性[6,7]。防止个人信息泄露和丢失的保护措施。
(3)可信度[8,9]。勇于承担达成共识及声明的责任与义务。这一个因素也被很多组织所认同,例如OECD, APEC, PIPEDA等。
(4)审计性 [10]。系统或者环境的审计难易程度与相关的记录保存和系统是否能提供高效的审计手段有很大关系,弱审计性可能没有完整记录保存或者无法提供有效审计,而高审计性则相反,能够检测出违反相关政策的行为。
预防控制能够防止违法行为的持续发生,而检测控制则能识别出违法行为的出现和相关安全风险。检测控制很好地弥补了预防性控制的不足,本文将预防性控制和检测控制有机结合,基于CALC(Cloud Accountability Life Cycle,CALC)模型[11]构建一个有效且可信任的云安全审计框架,并与现有的基于日志的云安全审计解决方案进行分析对比。
1 可信任云安全审计框架
R.K.L Ko等人在2010年提出了CALC模型,指出了“可信云”的概念,本节将在CALC的基础上提出新的可信云框架,并详细论述框架间的逻辑关系和框架的组成元素。
1.1 CALC模型
云计算的发展给相关审计带来了较高的复杂性。因此一个包含所有关键阶段的流程就显得特别重要,它可以简化很多复杂问题,让云安全审计的研究者们一目了然,并且可以帮助他们专注于某一阶段进行更深入的研究,CALC模型的目的正在于此。CALC理论模型如图1所示。
1.1.1 政策制定
云服务提供商必须决定日志采集对象以及哪些事件需要被日志记录,这里有四种比较重要的信息:
(1)事件数据:一系列活动和相关信息;
(2)操作人员:发起操作事件(例如人或者网络爬虫)的对象;
(3)时间戳:事件发生的时间和日期;
(4)事件发生的物理和虚拟地址。
1.1.2 识别和追踪
识别和追踪阶段的目的是识别云端的全部操作。审计工具对非法操作的识别和追踪需要从底层系统的读写操作追踪到分布在物理服务器上的虚拟端的高层工作流,同时包括云内部网络通信包 [12]。
1.1.3 记录日志
以文件为中心的日志记录需要在云端的虚拟和物理层进行,同时需要考虑日志在云内的有效时间、日志的存储位置和其他相关因素。
1.1.4 日志的安全储存
在日志采集结束后,我们需要保护日志的完整性,即防止未授权者非法获取或篡改日志信息,并需要引入数据加密及合理的备份机制。
1.1.5 报告及重现
报告工具由以文件为中心的日志总结、审计线索的报告、文件的获取记录以及文件在云内的运行周期组成。所以报告可能包含多重因素,例如虚拟机和物理端的服务器历史记录,OS级别的文件读写等。
1.1.6 审计
审计员或者利益相关者对日志和报告进行审计,对可能的非法行为进行标注。如果可以实现自动化,审计的过程将具备“强制性”。自动且强制执行的审计对于大数据容量的云环境十分适用,也使检测非法行为变得更为有效。
1.1.7 优化和修正
存在于云端的问题区域和安全漏洞在这一步被移除或者修正,相关控制和监管得到进一步提升。
1.2 可追溯云安全审计系统
针对整个云审计框架中的一个或几个环节,也有很多研究者提出了不同的解决方案。本文提出“可追溯”的云安全审计概念,该可追溯系统可通过记录系统中发生的行为(包括文件、网络或程序内部),清楚地描述出云环境中的数据状态。“可追溯信息”则被描述为与实现数据追溯相关的日志、参数、网络包等信息。可追溯系统可根据面向的云环境不同来决定安全审计的数据内容,即通过获取确定时间下的用户、数据和行为等信息,并以此作为该云安全审计系统的数据源。在本文中,定义可追溯信息为在数据的整个操作序列中能够描述数据被操作的情况和来源信息。
1.3 可信任云构架
CALC描述了一个完整的日志审计过程并且描述了每个阶段,但CALC更多的关注于模型的理论完整性。而可实现的云数据安全审计系统需要基于CALC模型进行细粒度构建,使其具备可扩展性以及可操作性。正是基于此目的,本方案根据Ryan K L Ko等人提出的信任云框架[13],提出了基于可追溯信息的云数据隐私安全审计框架,如图2所示。
这个框架主要有内外两个主体共五部分。外部由法律条款和策略两部分组成;内部由系统数据挖掘层、数据储存保护层、分析应用层三部分组成。
1.3.1 法律政策
由于电子商务和云计算的发展,私人敏感数据的保护受到越来越多的重视,各国相关部门也意识到完善相关法律法规的必要性。相关法律涉及到数据的采集、处理、储存和转移等各种操作。毫无疑问,这些法规对日志数据同样适用,日志信息的敏感性也应受到保护。
相关法律规定了数据采集的内容、目的、时间、手段、授权和行为界面等关键性问题。而任何组织和个人都必须在这些规定之下制定数据采集分析的策略。
1.3.2 云安全审计策略
为了实现基于日志采集的云安全审计,完整的实施策略是必要的。在框架的第一部分提到,法律法规约束了数据采集分析的行为,任何组织和个人在制定策略时都要充分考虑这些法律的约束。而这些约束通过策略又渗透进日志审计系统的三个层面。每个组织和个人都可以在法律的约束下选择自己需要的策略,比如采集哪些能采集的数据,在安全的前提下储存数据的方法等。
1.3.3 系统数据挖掘层
可追溯系统框架最底的抽象层是系统数据挖掘层,在这一层我们需要知道在哪里能采集到有用的系统内部数据,以帮助下一步的分析和审计,采集主要发生在以文件为中心的系统和云端内部网络中。
(1)文件系统
云计算技术让人们不再把所有的注意力都放在公司内的物理服务器上,而是将更多的注意力放在以文件为中心的系统上。日志数据的采集主要发生于此,在这里将记录下任何人对文件的关键操作,例如打开、修改、关闭等。同时,可以从这些系统信息中获取文件的虚拟和物理储存地址、操作的人员以及时间等核心数据。
(2)云端内部网络
云数据系统的特性使得整个数据系统内包含大量的网络主机和主机间的网络通信。这些网络信息同样包含了数据或文件的存储、调用信息。因此采集和管理云环境内的网络信息也是十分必要的。
1.3.4 数据储存和保护层
这一层将实现通过采集日志器采集底层数据,即文件系统和云端内部网络的数据,并保证它们被安全地储存和备份,本方案将重点讨论并设计日志采集器的两种重要属性,即可追溯性和一致性:
(1)可追溯性要求
对于历史记录的追踪可以使用户掌握其拥有数据真实的操作情况。可追溯信息被认为是任何隐私和信任模型的基础,所以提高云计算的可信度也依靠可追溯的信息。它可以帮助人们区别合法操作和非法操作。
(2)一致性要求
现在的云服务提供商几乎很难保证数据一致性,对云计算服务来说能够迅速响应、恢复原始状态、恢复数据和有效备份都是很重要的。保证数据的一致性则能帮助云服务提供商实现这些功能。
1.3.5 分析应用层
收集数据和储存完成之后,在分析应用层需要对其进行分析以得到有效的数据。分析应用层主要着眼于自动审计、云端碎片审计和服务审计3个方面。
(1)自动审计
基于云计算优秀的计算能力,结合可信任云框架提供的对数据可靠性的保证,使自动审计有较高的可行性,这对云计算应用于金融和商业领域是先决条件。但是在高度虚拟化的环境下持续实现审计功能是一项很复杂的工程,不仅要审计商业金融的逻辑还要审计应用软件。
(2)云端碎片审计
云端内部会有很多像碎片一样的文件,这些文件的修复和更新都需要被审计,尤其是互相关联的文件需要更严格的审计以确保数据的有效性。
(3)服务审计
云计算服务是一个以服务为导向的层级结构,而且每个服务都很容易得到复制,于是多个服务的组合也有较高的可行性。当每层的服务之间发生整合时,可信度就会变成一个未知数,所以对服务整合的审计也是必要的。
2 可追溯信息获取与安全
对已有的研究成果进行分析,可以发现基于可追溯信息的数据安全解决方案有良好的可行性。针对文件系统不同层面的可追溯信息分析方案,体现出了不同的特性。通过分析已有的方案和工具,可以有效地实现云数据的“可追溯性”。
2.1 可追溯信息获取
本节讨论可追溯信息聚焦于以文件为对象的系统操作、云内部的网络通信以及应用层的程序执行信息。
2.1.1 文件系统
Muniswamy-Reddy等人提出了PASS以及基于其的改进方案PASSv2[14,15]。在PASS方案中,单一主机内的可追溯信息通过拦截内核级的系统命令获取。在PASSv2中,可追溯信息的获取被扩展到系统层、应用层、中间件层等其它层。PASS对系统内核的依赖性强,需要紧密集成到底层系统的内核。而在网络层,PASS则没有提供相应的功能。
认识到PASS方案对主机内核的依赖,Macko等人采取不同的办法[16]。他们通过修改Xen系统管理程序,收集来自客户机的内核级可追溯信息(例如在管理程序上运行的虚拟机)。可追溯信息的收集是通过放在DomU上的一个拦截器从Xen的syscall_enter_mechanism系统调用指令拦截而实现的。但这种解决方案依然是面向独立主机的,无法获取云中主机间发生的通信行为。Zhang等人在理论层面讨论了保证可追溯信息完整性和机密性对于整个审计方案的重要性[17]。
和以上几种方式不同,Ryan K L Ko等人根据以数据为中心的思想,提出了S2Logger[18]和 Flogger[19]。对于Flogger来说,是记录虚拟机和物理主机两层的文件操作。因此,物理机与其各个虚拟机的文件操作都是相关联的。S2Logger建立在Flogger的基础之上,Flogger只能获取文件级的事件,S2Logger则可以对文件级和块级进行捕获。S2Logger通过关联不同主机在发送和接收文件时读取和写入事件,能够跟踪数据在云数据中心中不同主机间的传输。
2.1.2 云内部网络通信
在这一层,可追溯信息获取工具主要记录网络事件和网络节点间的信息。
BackTracker[20]是一种监测网路协议层入侵的工具,并能够追踪网络中入侵行为的源头主机。双向分布式BackTracker(BDB)通过建立因果图,分析独立主机的事件追踪入侵。这种因果图被加工成一个来源图向分析者提供一个事件序列以描述入侵的路径。BDB需要网络内每台主机都支持BDB工具。无监视的主机则不能被追踪。同时,BDB也不能防止对可追溯记录的篡改。
2.1.3 应用层
Singh等人提出一个让追踪程序检查、记录和分析的平台[21]。这种平台建立在P2[22]——分布式的算法发展系统上。这种方案通过一个运行在P2系统缓存上的追踪器检测和记录。获取的可追溯信息可以被一种查询语言——OverLog查询。这个平台使程序员可以检查和分析算法执行错误、安全漏洞和识别错误。
Pip[23]提供给开发者一个注释库使得程序可以生成事件和定义资源。通过一种说明性的语言,开发者可以描述他们应用的期望。通过期望和程序执行追踪记录,Pip中间件检查并报告异常行为。
E-notebook[24]被设计用来支持共享数据中的信任和责任。中间件直接连接与仪器匹配的工具软件并报告未加工数据上下文的生成,也报告资料库的变化。这些来源报告是模型化的有向无环图,并且有用户数字签名,以证明数据的拥有者。通过使用一个基于规则的信任管理语言,可以设置一个信任模型,用户可以基于自己的经验推荐其他用户的信任等级。方案对于在应用层检查异常行为和追踪、报告数据变化是有用的。但对于程序外部的行为则不能捕获。所以,需要在多层进行信息采集使得对发生的事情分析更完整。
2.2 可追溯信息的可靠性
为解决可追溯信息安全问题,Zhou等人提出安全网络来源(SNP)方案[25],使用认证器防止可追溯信息被篡改。通过一套涉及认证器使用的认证规则,在各自节点确认发送和接收事件。可追溯信息的一致性通过比较不同节点的信息完成。从性能角度来说,SNooPy只能鉴定出网络中的错误节点。SNP技术的原型——SNooPy被多种程序实现。实验表明因为认证器的接受、发送、验证和标记,SNooPy产生大量的网络通信和进程装载。
Lyle等人[26]提出可以应用信任计算的技术来解决可追溯信息可靠性问题。利用信任平台模块(TPM)来提供日志采集的可靠环境。但是使用这种技术最明显的缺点就是运行速度慢,因为它要不断地计算哈希值和加密措施。
Rosenthal等人[27]提出应用“可追溯图”来管理可追溯信息的方案,当图中的任何节点遭到非法修改都需要迅速地将该点移出“可追溯图”。
另外,Bonsai[28]也试图利用电子签名来更有效的实现可靠的可追溯信息储存。
3 方案比较分析
3.1 可追溯信息获取方案的对比
对以上各个层次的不同方案进行对比,本文认为从以下几个方面评价可追溯信息获取方案的优劣较为准确、全面。
(1)跨主机追踪:在分布式系统里,获取网络内不同主机的可追溯信息,能够准确描述系统中数据的状态。
(2)低耦合性:可追溯信息获取工具必须保证其在两方面的通用性,一方面在不同应用程序里可以不需要做改变就直接运行,另一方面在不同的平台上也能正常运作。
(3)多级性:工具可以跨越系统的多个层次进行信息获取。确保通过分析可追溯信息即能得到数据在系统中的真实状态。在分析数据安全威胁的手段和来源方面尤为重要。
(4)安全机制:工具该具有保护数据安全的相应机制。
(5)分析界面:工具应该具有友好的用户界面用于展示相关的数据分析,或能够向下提供良好的接口。
结合以上几点,我们将现有的方案进行了对比,具体如表1所列。
3.2 可追溯信息的安全机制
对于可追溯信息的安全机制,本文给出以下四个标准:
(1)保密性:由于可追溯信息的敏感性,记录的保密性就显的更为重要。要求任何未授权的人都无法查看信息。
(2)防篡改性:防篡改性意味着数据必须保持原始的一致性,不能受到任何篡改。如果被修改,必须有明显记录。
(3)稳定性: 这一属性要求保证管理者在任何时间段都能正确地获得数据和分析。
(4)可靠性:这一属性要求整个信息获取过程是可信的。
结合以上几点,我们将现有的方案进行了对比,具体如表2所列。
4 结 语
本文首先从宏观上阐述了云安全体系的整个框架,分析了目前云安全存在的问题,并在CALC结构基础上提出了基于日志挖掘审计的可信任云框架,从框架的外部法律政策到内部的数据采集、储存以及分析3个层面逐一给出了抽象的概念和相应的研究重点。然后,本文从技术层面讨论了实现内部的数据采集,储存和采集模块的相应方案,通过分析现有的数据采集来分析系统优缺点,提出可追溯云安全审计系统应采取基于系统日志的挖掘分析手段。最后针对云隐私数据审计的安全性,结合政策设置和技术实现本文提出的可信任的云安全审计系统准则,为接下来实现云数据安全审计的具体方案提供理论支持。
参考文献
[1]林闯,苏文博,孟坤,等.云计算安全:架构、机制与模型评价[J].计算机学报,2013,3(9):1765-1784.
[2] N Sinha,L Khreisat.Cloud computing security, data, and performance issues[C].Wireless & Optical Communication Conference, 2014.
[3] Cloud Security Alliance.Top Threats to Cloud Computing, 2015[EB/OL]. https://cloudsecurityalliance.org/topthreats.v.1.0.pdf
[4] J.Brodkin,Gartner:Seven cloud-computing security risks[Z]. Infoworld, 2008: 1-3.
[5] Shaozhang Niu,Shanshan Tu, Yongfeng Huang. An effective and secure access control system scheme in the cloud computing[J].Chinese Journal of Electronics, 2015,24(3): 524-528.
[6] S. Pearson.Taking account of privacy when designing cloud computing services[C]. Proc. 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing,IEEE Computer Society, 2009: 44-52.
[7]冯朝胜,秦志光,袁丁.云数据安全存储技术[J].计算机学报, 2015,38(1):150-163.
[8] A. Haeberlen.A case for the accountable cloud[J].ACM SIGOPS Operating Systems Review,2010,44(2):52-57.
[9]冯登国,张敏,张妍,等.云计算安全研究[J].软件学报, 2011,22 (1):71-83.
[10] Tuesheng Tan,Chao Wang.Trust Evaluation Based on User Behavior in Cloud Computing[J].Microelectronics and Computer, 2015,32(11):147-151.
[11] R.K.L. Ko, B.S. Lee,S. Pearson.Towards Achieving Accountability, Auditability and Trust in Cloud Computing[C]. Proc. International workshop on Cloud Computing: Architecture, Algorithms and Applications (CloudComp2011), Springer, 2011: 5.
[12] W. Zhou,M. Sherr,T. Tao,et al.Efficient querying and maintenance of network provenance at internet-scale[C].Proc. 2010 International Conference on Management of Data (SIGMOD 2010), ACM, 2010: 615-626.
[13] Ryan K L Ko, Peter Jagadpramana, Miranda Mowbray, et al. TrustCloud: A Framework for Accountability and Trust in Cloud Computing[C]. 2nd IEEE Cloud Forum for Practitioners (IEEE ICFP 2011), Washington DC, USA, July 7-8, 2011.
[14] M. N. Alpdemir,A. Mukherjee,N.W.Paton,et al.Contextualised Workflow Execution in my Grid[C].European Grid Conference Lecture Notes in Computer Science, 2005.
[15] K.-K.Muniswamy-Reddy,D.A.Holland,U.Braun,etal. Provenance-aware Storage Systems[C].Conference on USENIX06 Annual Tech-nical Conference (ATEC06), 2006.
[16] P.Macko,M. Chiarini,M.Seltzer.Collecting Provenance via the Xen Hypervisor[C].USENIX Workshop on Theory and Practice of Prove-nance (TaPP11), 2011.
[17] O. Q. Zhang,M. Kirchberg,R. K. L. Ko, et al. How to Track Your Data:The Case for Cloud Computing Provenance[C]. IEEE 3rd In-ternational Conference on Cloud Computing Technology and Science (CloudCom11), 2011.
[18] C. H. Suen,R. K. L. Ko,Y. S. Tan, et al.S2Logger: End-to-End Data Tracking Mechanism for Cloud Data Provenance[C].The 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications (Trust-Com13), 2013.
[19] R. K. L. Ko,P. Jagadpramana,B. S. Lee.Flogger:A File-centric Logger for Monitoring File Access and Transfers with Cloud Computing Environments[C].IEEE International Workshop on Security in e-Science and e-Research (ISSR11), in conjunction with IEEE TrustCom11, 2011.
[20] S. T. King,P. M. Chen.Backtracking Intrusions[C].The 19th ACM Symposium on Operating Systems Principles (SOSP03), 2003.
[21] A. Singh,P. Maniatis,T. Roscoe, et al.Using Queries for Distributed Monitoring and Forensics[C].The 1st ACM EuroSys European Conference on Computer Systems (SIGOPS06), 2006.
[22] B. T. Loo,T. Condie,J. M.Hellerstein,et al.Implementing declarative overlays[C].The 20th ACM Symposium on Operating Systems principles (SOSP05), 2005.
[23] P. Reynolds,C. Killian,J. L. Wiener,et al.Detecting the Unex-pected in Distributed Systems[C].The 3rd Symposium on Networked Systems Design and Implementation (NSDI06), 2006.
[24] P. Ruth,D. Xu,B. Bhargava,et al.E-notebook Middleware for Accountability and Reputation Based Trust in Distributed Data Sharing Communities[C].The 2nd Intenational Conference on Trust Management. iTrust 04, 2004.
[25] W. Zhou,Q. Fei,A. Narayan, et al.Secure Network Provenance[C].The 23rd ACM Symposium on Operating Systems Principles (SOSP11), 2011.
[26] J. Lyle,A. Martin.Trust Computing and Provenance: Better Together[C].The 2nd Conference on Theory and Practice of Provenance (TaPP10), 2010.
[27] A.Rosenthal,L. Seligman,A.Chapman,et al.Scalable Access Controls for Lineage[C].First Workshop on Theory and Practice of Provenance (TAPP09), 2009.
[28] A.Gehani and U.Lindqvist. Bonsai: Balanced Lineage Authentication[C].The 23rd Conference of Computer Security Applications (ACSAC07), 2009.