APP下载

面向拟态防御系统的存储校验模型

2018-01-18佘平李宁波谢彬李程

数字技术与应用 2018年9期
关键词:拟态副本存储系统

佘平 李宁波 谢彬 李程

摘要:针对当前分布式存储系统,数据块的校验机制单一,功能比较简单、脆弱,在复杂的分布式环境下,数据块校验机制存在未知漏洞后门[1]等安全隐患。本文基于拟态防御[2]系统,扼要分析了分布式存储系统中数据一致性和数据校验问题, 提出了一种动态高效的拟态存储校验模型,深度剖析了校验模型中动态分发、数据校验异构执行体,以及校验判决等关键技术。面向拟态防御系统存储校验模型具备多灵活、高安全、高扩展的体系结构,为分布式环境下数据高效、安全校验提供了全新的思路和方案。

关键词:分布式存储系统;拟态防御;未知漏洞后门;数据一致性;动态分发;异构执行体;校验判决;安全校验

中图分类号:TP393.08 文献标识码:A 文章编号:1007-9416(2018)09-0054-03

1 背景

随着云技术与云存储的技术不断演进,存储系统的形式由最初的直连存储设备,发展为依附网络连接的企业级网络存储,到今天软件定义下的分布式存储。存儲规模越来越大,存储形式灵活多样,存储可靠性越来越高。随着大数据技术的成熟,分布式存储在数据领域应用更加广泛,传统的集中式存储越来越不适应大数据量下的存储扩展需求,软件定义分布式存储则满足了海量数据存储需求,同时具备高扩展性,是现在存储技术的发展趋势。软件定义存储系统可以将分布在不同机器上的各类存储介质通过万兆网络进行互联,提供企业级的存储应用,通过定义存储池、存储卷灵活地满足应用程序各类存储需求,同时实现很好的数据隔离。在云存储系统中,数据是主要的核心要素,其中包括大量的用户隐私敏感性数据,因而,数据安全[3]就变得云存储系统发展的一个关键因素。

数据完整性校验是云存储的重要安全技术之一,用于用户验证其存储于云端的数据是否保持完整性,是否被恶意用户和服务器修改或删除等。最近的腾讯云硬盘故障,导致云上客户的数据全部丢失,其中没有进行数据完整性检查是事故的主要原因之一,给云上用户造成了不可估量的损失。云服务提供商通常为了减少存储开销而对用户数据进行处理,这可能会影响用户数据的完整性和可恢复性[4]。因此,用户需要验证其云端数据的完整性,检测数据是否被服务提供商或恶意用户篡改过等。

目前,云存储中完整性校验方案[5]根据使用技术不同,主要有三类:一类是基于哈希和对称秘钥的技术,使用crc、md5等算法对数据块进行唯一标识,实现高效的块校验;一类是基于RSA公钥技术,需要外部服务支持,技术架构也相对复杂些;最后一类是基于双线性映射的短签名技术,如基于BLS短签名方案等。而这三类中第一类是所有方法的基础,本文主要讨论基于哈希算法结合拟态思想对数据保证一致性和完整性的技术研究。

2 研究现状

Google文件系统(Google File System:GFS)[6]是一个专门存储海量网页内容的大型分布式存储系统。GFS中数据的完整性是通过使用checksum来检测的。在GFS中允许存在有歧义的副本,所以每个chunk服务器需要独立维护checksum来校验自己副本的完整性。GFS对每个基本读写块生成一个长32位的checksum,与用户数据分开存储。当某个块被访问时,chunk服务器就会去校验该块的checksum。如果正确,就把数据返回给请求的客户端或者其他chunk服务器。如果发现checksum不正确,则返回一个错误信息给请求服务者,让它从其他的副本去获取数据。同时,chunk服务器向主服务器Master报告错误。Master服务器查询元数据,从其它副本中复制出数据对错误的副本进行恢复。

Dynamo[7]是亚马逊公司开发的云存储系统,主要存储电子商务网站相关数据。在Dynamo平台中,Dynamo采用投票机制保证数据一致性。假设系统中每份数据都存储有n份,要成功地读取该数据要求至少有r份副本成功读取,而要成功地更新该数据则要求至少w份副本成功写入。该数据一致性协议要求上面的r、w必须满足式子r+w>n。在数据版本控制方面,则采用了向量时钟(vectorclock)技术。一个向量时钟由(节点nodes,计数器counter)表示,通过计数器的值判断实际发生的次序。对于发现的版本冲突问题,交由客户端自行解决。

Ceph[8]是一个符合POSIX、开源的分布式存储系统,Ceph通过多副本或纠删码方式提供存储数据的高可用,多副本下数据以归置组(PG)方式进行副本的冗余。Ceph通过底层的对象存储实现了上层的块、文件、和对象的统一存储。在Ceph中,数据节点(OSD)是通过同步(peering)操作实现数据的强一致性。具体的过程如下:在每一次数据操作时,OSD会将操作的过程记录到一致性日志(PGlog)中去,同时会赋值一个唯一id来标识当前的操作版本,id是唯一并且一直递增。在数据节点中有个主节点,它会维护一个权威版本,其他同PG的OSD节点在和主OSD节点同步时会检查版本的一致性,如果不一致,会记录当前的不一致,在定时机制下进行恢复。Ceph不仅保证各数据节点间数据同步操作,同时还保证数据本身的一致性,Ceph存储系统会定时进行清洗(Scrub)机制,数据节点在数据存储的时候会记录数据块的crc值,清洗机制发生时,Ceph会检查各个副本数据的crc值是否一致,在不一致的情况进行数据恢复。清洗机制具备浅清洗和深清洗模式,深清洗下crc值将会重新计算,确保crc是当前最新数据的crc值,防止因为硬件故障导致的数据丢失或篡改。Ceph的同步机制和清洗机制保证的数据的高一致性和高可用性。

3 拟态防御思想

动态异构冗余(Dynamic Heterogeneous Redundancy,DHR)[9]是拟态防御的一种思想,它通过采用功能等价的软件异构实现,采取诸如动态化的策略调度,或是软件元素可重构、可重组、可重建、可重定义、虚拟化等广义动态化技术,将原本单一的功能模块变得不确定性、多样性,解决不确定性安全威胁。

DHR结构如图1所示。

在该架构中,DHR主要由輸入代理、异构构件集合、动态选择算法、执行体集和表决器组成。其中,异构构件集合和动态选择算法组成执行集的多维动态重构支撑环节。由标准化的软硬件模块可以组合出m种功能等价的异构构件体集合E,按动态选择算法动态的从集合E中选出n个构件体作为一个执行体集(A1,A2,...,An),系统输入代理将输入转发给当前服务集中各执行体,这些执行体的输出矢量提交给表决器进行表决,得到系统输出。

输入代理、执行体集和表决器组成IPO模型:

如图2所示,P由复杂的软硬件处理系统或者子系统构建,可表达为:I(P1,P2,...,Pn)O。其中,连接输入I的左括号被赋予输入指配功能,连接输出O的右括号被赋予多模表决和代理输出功能,括号内的Pn是与P功能等价的异构执行体。左右括号在逻辑上或空间上一般是独立的,且功能上联动。括号内为系统保护范围,简称拟态界,通常情况是一个存在未知漏洞、后门或病毒、木马等软硬件代码的“有毒带菌”异构执行环境。

4 基于拟态主动防御的分布式数据校验机制

分布式存储系统实现数据副本的冗余存储,将文件按块进行分区存储,每个分块数据进行多份冗余备份,对外提供高可靠的数据存储。在此基础上,通过对现有分布式存储系统的数据一致性模块进行改进,添加拟态裁决研判校验模块,可以实时监控副本数据的异常情况,在用户数据被恶意篡改的情况通过多模校验裁决识别数据异常,实现数据防篡改的高安全性。

在拟态分布式存储系统中,数据在分块写入时,改变原先的单一的固定的块校验逻辑,拟态校验服务将请求分发到多个校验执行体进行校验,并将动态的校验结果附加到数据块中。这样改造过的存储系统中的数据块具备动态异构特性。多个校验执行算法,在时域上进行随机执行,可以提供数据被暴力破解的复杂度,具备很高的数据安全性。

当数据块在数据读取时,通过存储在数据块中的拟态校验结果,获取校验方式,并选择对应的数据校验异构执行体动态校验,在数据被恶意篡改时给出安全提示,根据用户策略执行清洗或者恢复流程。整个服务如图3所示。

写接口的具体实现如图4所示,随机化因子会和某校验算法的校验块进行编码隐藏,以便于解码时动态校验。拟态校验结果采用Base64编码进行隐藏并作为整体拟态校验结果输出。

隐藏的拟态校验结果中包含动态随机因子,它对应于某一个拟态校验中的校验算法执行体,在数据块读操作时使用该校验算法进行验证。如图5所示,在数据块读取时,从数据块获取拟态校验结果,经过Base64解码后,根据随机因子和数据块重新计算校验结果,并和之前存储的校验结果比对,经过比对判断出原始数据块信息是不是经过外部篡改或破坏。

考虑到存储系统性能和拟态代价,拟态存储系统没有采用多模判决,原因主要是多模判决需要数据冗余存储,需要等待多个结果,存储数据延迟风险,拟态实现给存储系统带来的代价比较大。

在传统分布式存储上加入拟态校验功能具有如下优点:

(1)系统结合拟态安全理念,通过增加关键路径上的异构等价的执行体,增加了校验系统的动态和随机性,实现数据校验机制的高安全性和高可靠性。

(2)优化了校验执行体判决机制,在校验算法上实现时域上的不同调度,即提高了数据被篡改的复杂度,同时具备在一个算法在内部破坏时,存储系统仍然具备其他动态算法,实现内生数据安全。

5 测试与评估

拟态校验功能采用通用加密库cryptopp标准库执行加密,目前该库免费使用,实现了大部分标准的块校验,加密和压缩算法,拟态存储系统中的块校验执行体采用该库进行功能实现,通过实现Crc32、Crc32C、alder32、Md5等多个校验机制并随机调度构建拟态校验模块。存储系统采用开源分布式存储系统Ceph实现,由拟态校验模块的校验逻辑替换Ceph系统中的SloppyCRCMap中固定的crc校验逻辑。

下面是对拟态存储系统进行测试,将测试文件由存储系统读取到内存,在内存通过校验方法调用多次,采用平均值作为结果参照,系统环境如表1所示。

在固定的校验算法和拟态存储系统校验下的数据处理吞吐量的测试结果如图6所示:

由上面测试结果,可以看出:

校验库的固定校验算法的吞吐量范围在271MB/s-2252MB/s之间,拟态接口的吞吐量为389.56MB/s,处于中间水平,由于随机选择了校验算法进行拟态变换,整体性能处于所有固定校验算法的中间,存在拟态代价,但是因为校验算法的随机性,生成的校验核不固定,同时具备多种校验算法,提高了系统的安全性和可靠性。

6 总结与展望

拟态防御是一种主动防御思想,它要求在功能等价的条件下,以提供目标环境的动态性、非确定性、异构性为目的,从而增加未知有利用的漏洞和后门的攻击难度和成本[10]。本文分析了云存储的数据完整性技术,将拟态防御思想和数据完整性结合起来,提出了一种安全校验的全新思路,并集成分布式存储系统进行原型验证,用于用户验证其存储于云端的数据是否保持完整性,是否被恶意用户和服务器修改或删除等,实现主动防御。同时对拟态代价做了分析,采用拟态防御的思想,要求逻辑功能存在多个功能执行体,这个会给防御系统带来一定的拟态代价和挑战[11],不过这个代价可以采用其他优化方法来减轻,比如拟态代价可以结合硬件加速实现拟态模块的整体性能提升等,这个也是拟态防御下一步重点研究的内容。

参考文献

[1]邬江兴.拟态计算与拟态安全防御的原意和愿景[J].电信科学,2014,30(7):1-7.

[2]邬江兴,张帆,罗兴国.拟态计算与拟态安全防御[J].中国计算机学会通讯,2015,11(1):8-14.

[3]肖亮,李强达,劉金亮.云存储安全技术研究进展综述[J].数据采集与处理,2016,31(3):464-472.

[4]Ateniese G, Burns R, Curtmola R. Provable data possession at untrusted stores. In: Ning P, Vimercati SDC, Syverson PF, eds. Proc.of the 2007 ACM Conf. on Computer and Communications Security, CCS 2007. Alexandria: ACM Press,2007.598-609.

[5]陈春霖.云计算中数据存储的完整性校验模型研究[D].东华大学,2013.

[6]Ghemawat S, Gobioff H, Leung S.T. The Google File System. Proc of 19th ACM Symposium on Operating Systems Principles. New York:ACM,2003:20-43.

[7]DeCandia G,Hastorun D,Jampani M,Kakulapati G,Lakshman A,Pilchin A,Sivasubramanian S,Vosshnll P,Vogels W.Dynamo:Amazons highly available key-value store.In:Proc.of the 21st ACM Symp.on Operating Systems Principles.New York:ACM Press,2007.205-220.

[8]Sage A Weil,Scott A Brandt,Ethan L Miller,et al.Ceph: A Scalable, High-Performance Distributed File System[C].Proceedings of the 7th symposium on Operating systems design and implementation,2006.

[9]邬江兴.网络空间拟态防御研究[J].信息安全学报,2016,1(4):1-10.

[10]邬江兴.网络空间拟态安全防御[J].保密科学技术,2014,10(1):4-9.

[11]罗兴国,仝青,张铮,邬江兴.拟态防御技术[J].中国工程科学,2016,18(6):69-73.

猜你喜欢

拟态副本存储系统
章鱼大师的拟态课堂
分布式存储系统在企业档案管理中的应用
面向流媒体基于蚁群的副本选择算法①
天河超算存储系统在美创佳绩
模仿大师——拟态章鱼
副本放置中的更新策略及算法*
华为震撼发布新一代OceanStor 18000 V3系列高端存储系统
过于理想化的拟态呈现:《非你莫属》节目塑造的求职环境
一种基于STM32的具有断电保护机制的采集存储系统设计