云安全审计及相关文献述评
2021-08-16陈希晖副教授博士侯良格南京审计大学政府审计学院江苏南京211815
陈希晖(副教授/博士) 侯良格(南京审计大学政府审计学院 江苏南京 211815)
一、引言
审计人员与信息安全人员对“云审计”的看法各有不同,审计人员将云审计理解为借助云计算、大数据等技术提高审计取证的效率与质量,信息安全人员则认为云审计是指对“云”中利益相关者交互关系的审计。从技术上看,将“审计技术”搭载在云端的模式早已能够实现,但困扰云审计发展的还是安全问题。云审计不仅仅是利用“云”进行审计工作,更需要将“审计思维”——监督机制,运用在云计算安全问题上,实现对云数据存储、隐私安全、操作过程及基础设施合规性的审计验证。
云存储作为云计算不可或缺的一部分,以多租户的服务模式为个人和组织提供大规模、分布式的存储服务。公有云存储凭借规模效应、弹性可扩展、经济高效的优势吸引着云用户将数据外包给云供应商管理。但当我们只关注数据安全性时不难发现,数据外包虽然减轻了数据所有者(云用户)本地存储和维护的负担,但同时也弱化了云用户对数据的物理控制。由于数据异地存储的特性,云服务器上的数据时刻面临着内部和外部的攻击,数据的完整性、机密性、可用性可能遭受严重的损害,传统的本地数据安全保护措施已不可直接使用。
云安全审计模式分为私有审计和第三方审计。两种审计模式的区别在于,私有审计是云用户自己检验数据的完整性,只涉及云服务用户和云服务供应商两类实体。第三方审计主要涉及云用户、云服务供应商以及可信的第三方审计机构(TPA)三类实体。由于私有审计对用户端计算能力要求极高且通信开销十分巨大,现实可行性较低;第三方审计则凭借独立客观、高效专业、经济便捷的优势广受青睐。TPA是受云用户和云供应商信任的第三方机构,面对海量数据拥有用户所不具备的计算能力,云用户将数据完整性审计需求委托给TPA,TPA接受审计委托后,代表云用户对云数据、云供应商进行审计验证。第三方审计过程可以大致描述为,云用户预处理数据并生成数据标签后上传数据到云端服务器中,TPA获取用户授权后从云服务器获取待测数据并对该数据进行完整性检验,最后将检验结果发送给云用户。
国内外学者就如何审计云存储安全问题进行了大量的研究。本文将从数据、云用户、云供应商三方面对现有云安全审计方案进行归纳分析,并以审计对事件的干预进程为视角,对云安全审计的未来研究进行展望。
二、云安全风险及审计需求分析
(一)云安全事故。Cybersecurity Insiders发布的全球《2020年云安全报告》称,随着公有云业务的不断扩大,云服务的安全性是企业或个人采用云存储的首要考虑因素,然而由于相关安全措施的滞后,导致云安全事故频发,大多数(69%)组织和用户对云安全状况完全没有信心或仅有中度信心。表1为2020年云安全联盟CSA发布的《云计算的11类顶级威胁》 (中文版)提出的11类云安全主要威胁。表2列举了近年云供应商安全事故。
表1 云安全联盟列举的11类云计算安全威胁
表2 云供应商安全事故
(二)云安全风险及审计需求分析。云安全主要是指数据存储、加密、传输、访问安全,即保证数据的完整性、机密性、可用性。第三方审计机构开展云安全审计时,必须依据风险导向审计的原理,从这三个方面认真分析云安全风险,明确审计需求并制定相应的审计方案。
首先,对云数据的安全审计需重点关注完整性与机密性。云存储服务中数据所有权和管理权分离,使得云端数据安全面临极大的威胁。一方面,软件硬件故障、外来黑客侵入、内部人员篡改、删除数据等破坏行为会严重损害数据的完整性;另一方面,用户加密意识薄弱,云供应商可能为求牟利出卖用户隐私信息,严重损害云用户信息的机密性。
其次,对云用户的安全审计需重点关注机密性。云存储采用多租户技术(多个租户共用同一块存储介质),尽管云供应商会提供一些数据隔离技术(如身份授权访问控制)来防止不同用户间非授权交互访问,但非授权的访问仍可能利用系统漏洞实现。因此,为保证机密性还需对用户实施身份访问控制、日志审计和身份追溯性审计。
再次,对云供应商的审计主要目标需重点关注可用性、机密性和隐私性。由于云用户和云供应商之间存在信任博弈,审计人员需对云供应商进行安全评估及合规性审计,评价云供应商的服务是否达到安全标准,能够保证信息资产的持续可用性,以证实云供应商声称的安全措施是否可靠。另外,需关注客户机密信息(含个人信息)的收集、使用、保留、披露和销毁是否受到所承诺或预设的系统保护,并符合隐私声明中的承诺以及相关行业组织(如AICPA/CICA)发布的通用隐私原则中规定的标准。
三、云安全审计研究现状
根据风险导向审计的原则,第三方审计机构需针对云的关键风险领域开展云安全审计。完整性审计主要以数据为研究对象,机密性审计需兼顾数据安全和用户身份隔离,因此以数据和用户为研究对象;可用性审计则以供应商为主要研究对象。因此本文选取数据、云用户、云供应商作为研究对象,对现有云安全审计研究进行述评。
(一)数据安全审计。云审计最早的研究是对云数据的完整性进行远程检验,审计人员或用户通过某种协议或算法验证服务器中的数据完整性,即数据是否被篡改、删除或丢失。特别地,由于网络传输的成本十分昂贵,将云中所有数据下载并审计验证并不是经济可行的审计方案。理想的第三方审计方案应具有以下功能特性:
1.数据批处理。数据批处理是指支持同一时间处理多个审计请求。Wang(2010)[1][2]提出了支持数据批处理的完整性审计方案。该方案的优点在于无需获取数据本身、利用双线性聚合签名技术支持批量审计,但却没有较好地解决云用户隐私保护问题。Wang(2011)[3]基于哈希树提出支持动态数据更新、数据批处理的完整性审计方案,但只适合存储中小型文件,文件越大,该方案的审计开销越大。在此基础上,秦志光(2015)[4]通过引入分层索引结构优化哈希树,成功节省了审计人员的通信开销。
2.数据动态更新。对于数据动态更新的支持方面,秦志光(2015)[4]发现通过降低哈希树的高度,可以实现多粒度的动态操作。但随着数据增多,哈希树结构越趋复杂,审计效率也随之降低。周坚等(2019)[5]认为,由多审计实体组成的区块链审计网络能够解决单点失效和计算瓶颈问题。采用变色龙哈希算法和嵌套MHT结构,能实现云数据标签在区块链上的动态操作,并支持追溯错误数据。Li等(2020)[6]提出一种支持数据动态的安全可审计的云存储方案,轻量级的信息加密操作使得数据外包速度提升了一个数量级并且在检查数据完整性方面快了两倍,弥补了传统云存储审计方案只审计数据完整性但不支持数据动态功能的缺陷。
3.数据机密性与隐私保护。数据机密性与用户隐私安全涉及到加密技术、用户身份授权与验证,加密技术包括加密算法和密钥两大元素。Li(2016)[7]设计了两个云安全审计系统,即SecureCloud和SecureCloud+。SecureCloud侧重审计云数据的完整性,SecureCloud+则更关注保护数据的机密性和隐私数据。Anbuchelian等(2019)[8]对文件加密方法进行创新,使用改进的RSA加密算法(称为MRSAC算法)生成密钥。云用户上传数据后,将获得一个私钥和公钥以便于安全地检索数据文件。TPA采用多级哈希树算法对云数据信息的完整性进行审计验证。考虑到公有云存储审计过程中如果TPA是恶意或假装的,可能在未经许可的情况下威胁数据的隐私安全,Shen(2017)[9]提出了一种新型云存储审计方案,引入第三方媒介(TPM)替代TPA角色,TPM为用户生成身份验证器并代表用户验证数据完整性。考虑到数据隐私保护的需求,在数据上传和数据审计阶段使用简单的操作将敏感信息进行盲化。如此一来只需要确保使用的TPM在有效期内且获得用户授权,即可在保证隐私性的前提下进行数据的完整性审计,既可以解决云用户隐私问题,又可以规避耗时且计算复杂的加密、解密操作。
综上所述,现有的云安全审计方案及工具在性能上均未能实现理想的轻量级状态;功能实现方面各有侧重,例如有些审计方案支持数据动态更新但不支持批量处理,支持批量处理后又无法节约计算开销等;从应用角度看,复杂场景的综合云审计尚有研究空间,如跨云审计、分布式协同审计等。
(二)云用户安全审计。云计算提供的是租赁共享式的数据集中存储服务,“共享”特性体现在云用户是以一个组的形式共享数据块,作为组内成员,云用户可以访问、修改这些共享数据。因此必须实施云用户之间的安全隔离,即除所有者和授权用户外的任何人不能访问、修改数据。保证云用户间的安全隔离,最基础的方法包括访问控制和身份认证机制,例如云中的单点登录(SSO)、基于角色的访问控制(RBAC)、基于属性的访问控制(ABAC)。Majumdar(2018)[10]利用OpenStack中的拦截检查方法,审计各种身份验证和授权插件的正确部署。除了访问控制、身份授权等事中保护措施之外,对云用户实施事后审计也很重要。TPA主要从以下两方面对云用户实施事后审计:
1.日志审计。云日志记录了云用户所有操作活动的过程,是安全事件追溯、取证和责任界定的重要依据。Shetty(2014)[11]等提出了一种审计恶意云租户的技术,通过IP定位和路由器IP分析技术,根据网络度量和社会特征等因素确定云租户真实地理位置,但该方案也忽视了对租户关键隐私信息的保护。赵春晔等(2017)[12]基于用户行为提出日志分析的审计解决方案,利用改进后的关联规则挖掘算法实现了云安全审计中隐私数据泄露的追踪与取证。郭涛敏(2019)[13]进一步利用关联规则Apriori算法对比挖掘安全日志和用户行为异常信息,结合典型恶意入侵行为建立预测模型,以高水平的置信策略有效识别云安全事故类型。上述日志审计方法都能够较为有效地帮助审计人员追踪或预测恶意租户信息流的传播过程。总的来说,日志审计就是集数据采集与存储为一体,便于审计人员根据日志记录监控云上的异常行为,及时进行安全分析、行为预测、资源跟踪、身份追溯等工作。
2.身份追溯性审计。为保护云用户的隐私安全,目前云存储共享数据的审计方案都很好地隐藏了组成员的身份,但身份的匿名性也造成同一组的云用户能够恶意篡改共享数据而不被发现。一旦数据被篡改,那么能否实现“窃取者”身份追溯就成为审计的关键。Wang(2012)[14]提出灵活的分布式存储完整性审计机制,采用纠删码和冗余存储技术保证数据的正确性和可恢复性。该审计机制适用于有大量数据和任何需要容错的云存储系统,验证数据存储正确性的同时也能快速追溯错误数据块的具体位置。但该审计机制的不足在于:计算量大、通信成本高;审计次数有限且需预设。金瑜等(2017)[15]提出支持用户追溯的审计方案,该方案的优点是利用安全中介者代替用户签名,支持共享数据块身份的可追溯,并利用新的数据块致盲技术,减少用户端计算量。Tian(2018)[16]提出了不同的解决方案,将数据块上的身份签名转换为组管理员的签名;采用了随机屏蔽技术将用户身份信息适当盲化,保护云用户的隐私;设计了一个修改记录表来记录操作信息,支持身份的可追溯性;扩展动态哈希表以支持数据动态操作,并提出了一种批处理审计策略。该方案集成了数据动态更新、批处理、身份可追溯、隐私保护等多项功能更具实用性。
综上所述,根据审计方案对事件的干预进程,对云用户开展的审计主要以事中审计(访问控制、身份验证)和事后审计(日志审计、身份追溯)为主。
(三)云供应商安全审计。越来越多的个人和企业正考虑使用云计算服务降低成本提高效率,但由于双方信息不对称,不仅云用户难以确定云供应商提供的服务是否安全合规,而且云服务供应商得不到权威的审计和认证也会流失大量潜在的客户。因此可信的第三方审计机构能够代表云用户对云供应商实施安全合规审计,验证云服务的可用性以增强预期使用者对云的信任。
1.事后审计。Ismail(2020)[17]提出了一个基于证据的云安全审计框架,利用审计工具自动收集证据并评估云供应商的服务是否符合预先设定的标准,支持识别缺陷、收集证据、纠正措施的跟踪等一套全面的审计流程以确保云服务的透明度(信息的可访问性)。由于云计算运营模式不成熟,当前云租户和云供应商之间的责任界定不清晰,双方权限冲突时就面临责任认定和问责问题。Mei(2014)[18]将可信的计算技术与可信的第三方审计结合,既支持事后审计对云服务提供商的问责,又能保护云用户的利益。
2.事前审计。(1)合规审计。Shetty(2014)[19]提出云审计的两种关键技术——云数据地理定位技术和云网络风险评估技术,第三方审计机构对云数据中心内部和外部的安全级别进行评估,以帮助用户了解云数据与云网络的安全性能。Rizvi等(2015)[20]开发了一种审计工具,并将云计算安全的影响因素及其子因素量化成安全指数,审计人员能据此安全指数来验证云供应商的安全状态。Ismail等(2016)[21]用一种基于博弈论的审计方法来验证云供应商对数据备份的合规性。Rizvi(2018)[22]提出一种用于云安全审计的安全评估框架,能够根据云服务用户的安全偏好评估云服务供应商的安全强度。(2)主动安全审计。Majumdar(2020)[23]提出一个基于学习的主动云安全审计系统(LeaPS),引入预测模型将安全审计工具(无论原始性质如何,例如事后审计和事中审计)转化为主动审计解决方案,该模型可以从云日志中自动学习云事件之间的依赖关系并有助于预测未来事件。从对事件的干预进程看,LeaPS属于事前审计,但与传统事前审计侧重合规性不同,LeaPS预先为关键事件(即可能违反安全属性的事件)做好准备并在事件发生时强制拦截。LeaPS的优点在于审计结果更具客观性,即不完全依赖云供应商提供的数据进行审计,而是主动参与目标协议来验证安全属性。LeaPS也存在两大局限性,一是不适用对非结构化数据的审计,二是依赖人工提取事件之间的依赖关系。
综上所述,根据审计方案对事件的干预进程,对云供应商开展的审计大致分为事后审计与事前审计。现有关于云供应商的审计研究大多以事前审计(对云供应商安全状态的检验与评估)与事后审计(取证问责云供应商)为主,事中审计研究相对较少。区别于传统事前审计,LeaPS更像是“预警仪”+“过滤器”,在关键事件发生前就做好应对准备,极大地节省了审计响应时间,有助于及时阻止恶性事件的扩大与传播。
四、研究总结与展望
云安全事故频发,如何利用审计保证云服务的安全是云计算面临的难题。本文首先列举了云服务面临的主要威胁,具体分析云安全风险及审计需求。其次,根据风险导向审计原则,将云数据存储、云用户、云供应商作为审计对象,对现有的云安全审计研究归类总结。最后,按照审计方案(工具)对事件的干预进程,可将云安全审计分为事后审计、事中审计、事前审计。
具体而言,云安全事后审计旨在界定责任、实施问责,比如审计人员通过调取云日志对云用户、云供应商操作过程的合规性进行审计追踪与取证,而事后审计的局限性也恰恰在于审计工作不能阻止关键事件的发生。云安全事中审计旨在验证事件的同时保证关键事件被阻止,例如云用户企图访问他人数据时,验证访问者身份以及是否获得授权,但以拦截检查审计为代表的事中审计存在严重的延迟现象。区别于事后审计和事中审计,云安全事前审计的理论与实践近年来都得到了长足的发展。近十年,传统的云安全事前审计都是以合规性审计为基础,评估云供应商的安全状态。合规性审计虽然稳定性极强但主动性不足。2020年以来云安全事前审计有了新发展,以LeaPS为代表的主动云安全审计方案能够从日志中捕获异常行为,建立关联模型提取概率依赖关系,通过学习关联模型预先为关键事件做好准备,以防止安全违规事件的发生。综上所述,以LeaPS为代表的主动安全审计能够克服事后审计、事中审计的局限,是更加具有前瞻性的研究领域。
当然,上述研究还存在若干问题值得进一步研究:首先,云计算任务和环境是多变的,这就要求云安全审计方案更加灵活,兼顾数据批处理、数据块追溯、数据动态更新等多种需求。其次,复杂的云环境存在多个层次的审计需求,如基础设施服务(IaaS)、平台服务(PaaS)和软件服务(SaaS),单一的审计解决方案并不能满足云用户的实际需求,能够集成多个层次的审计解决方案将成为未来主要研究方向。最后,实践中云安全审计可能面临在多个云管理平台调取数据、跨云审计、分布式协同审计等需求,因此还需考虑云安全审计方案的兼容性和可扩展性,能够在诸如OpenStack,Google GCP,Amazon EC2和 Microsoft Azure等主流云管理平台上运行。