«上一篇 下一篇»
  计算机工程  2020, Vol. 46 Issue (6): 12-19  DOI: 10.19678/j.issn.1000-3428.0056660
0

引用本文  

郭威, 谢光伟, 张帆, 等. 一种分布式存储系统拟态化架构设计与实现[J]. 计算机工程, 2020, 46(6), 12-19. DOI: 10.19678/j.issn.1000-3428.0056660.
GUO Wei, XIE Guangwei, ZHANG Fan, et al. Design and Implementation of a Mimic Architecture for Distributed Storage System[J]. Computer Engineering, 2020, 46(6), 12-19. DOI: 10.19678/j.issn.1000-3428.0056660.

基金项目

国家自然科学基金面上项目“网络空间拟态安全异构冗余机制研究”(61572520);上海市信息化发展专项资金“拟态大数据一体机研制”(201701046)

通信作者

张帆(通信作者), 副研究员、博士

作者简介

郭威(1990-), 男, 博士, 主研方向为信息安全、分布式存储系统、大数据分析与处理;
谢光伟, 高级工程师、博士;
李敏,讲师、硕士

文章历史

收稿日期:2019-11-21
修回日期:2020-01-10
一种分布式存储系统拟态化架构设计与实现
郭威1a , 谢光伟2 , 张帆1a , 李敏1b     
1a. 战略支援部队信息工程大学 信息技术研究所, 郑州 450002;
1b. 战略支援部队信息工程大学 教研保障中心, 郑州 450002;
2. 复旦大学 计算机科学技术学院, 上海 200203
摘要:针对当前分布式存储系统中漏洞后门威胁导致的数据安全问题,通过引入网络空间拟态防御理论及其相关安全机制,从结构角度出发增强系统的安全防护能力。对分布式存储系统面临的主要威胁和攻击途径进行分析,定位其核心薄弱点,结合防护的代价与有效性提出一种可行的系统安全构造方法。以大数据Hadoop分布式文件系统为目标对象,设计面向元数据服务的拟态化架构,利用搭建元数据服务的动态异构冗余结构保护系统核心信息和功能,通过对副本的异构化放置保护用户数据,并在此架构基础上设计基于反馈信息的裁决调度联动机制。测试结果表明,该方法能够有效提升分布式存储系统的安全性。
关键词大数据    数据安全    网络空间拟态防御    分布式存储系统    裁决与调度机制    
Design and Implementation of a Mimic Architecture for Distributed Storage System
GUO Wei1a , XIE Guangwei2 , ZHANG Fan1a , LI Min1b     
1a. Institute of Information Technology, PLA Strategic Support Force Information Engineering University, Zhengzhou 450002, China;
1b. Teaching and Research Support Center, PLA Strategic Support Force Information Engineering University, Zhengzhou 450002, China;
2. School of Computer Science, Fudan University, Shanghai 200203, China
Abstract: To address the data security problems caused by vulnerabilities and backdoors in existing distributed storage systems, this paper proposes a feasible security construction method for system by introducing the Cyberspace Mimic Defense(CMD) theory and its related security mechanism.The architecture aims at enhancing the security protection ability of the system.During the design process, the main threats and attack ways to distribute storage systems are analyzed to locate system's core weakness, and the cost and effectiveness of protection are also considered.Taking the Hadoop Distributed File System(HDFS) for big data as the target object, the mimic architecture for metadata services is designed.This paper builds the Dynamic Heterogeneous Redundancy(DHR) structure of metadata services to protect the core information and functions of the system.Then the heterogeneous placement of copies is implemented to protect user data.On the basis of this architecture, a collaborative arbitration and scheduling mechanism based on feedback information is proposed.Test results show that the proposed method can effectively improve the security of distributed storage system.
Key words: big data    data security    Cyberspace Mimic Defense(CMD)    distributed storage system    arbitration and scheduling mechanism    
0 概述

随着云计算、大数据、物联网等技术的发展和普及, 新一代信息基础设施逐渐由离散化服务器向集中化数据中心演变, 促进了其应用模式的巨大变革。作为其中的数据服务支撑, 分布式存储架构的研究与应用增强了系统的横向扩展、并行服务、容灾备份等能力[1]。但与此同时, 高度集中化的应用场景特点、各类网络攻击手段[2-3]以及自身架构设计中对安全性考虑的不足, 都使得数据存储环节面临巨大的安全挑战[4]。此外, 资源、数据、服务共享的模式, 不仅使得边界监测、补丁升级、加密认证等传统防御手段的应用受限, 而且还为网络攻击、病毒传播提供了便利条件。在各类威胁中, 网络空间普遍存在的未知漏洞和后门, 由于难以及时被发现、处置和消除, 已成为新一代信息技术推广应用的巨大阻碍。

主动防御是近年来网络空间安全领域的研究热点。受到生物界拟态现象展现的防御效应启发, 网络空间拟态防御(Cyberspace Mimic Defense, CMD)被提出作为一种新的主动防御方法[5](简称为拟态防御)。CMD借鉴融合了移动目标防御[6]与可靠性领域非相似余度构造[7]的防御机理, 利用动态异构冗余(Dynamic Heterogeneous Redundancy, DHR)模型构建多个隔离且异构的空间并行工作, 以目标系统内漏洞和后门的差异性作为抵御攻击的基础, 并通过对各空间多路结果的相互验证, 感知攻击行为和受感染目标, 从而有针对性地应对处理, 为目标系统提供集安全性与可靠性为一体的内生防御能力。目前, 该方法已经被广泛用于Web[8]、路由器[9]、SDN[10]等诸多方面[11-13], 形成了良好的研究、应用和发展趋势。

在对存储系统的拟态化研究中, 文献[14]提出以文件交互接口POSIX划定拟态界, 对整个存储系统进行异构和冗余化, 其通过比较多个系统对访问请求的数据文件响应, 实现威胁感知和数据结果的修正。这种架构设计以标准协议接口作为拟态化对象, 期望屏蔽各个异构系统的实现细节, 但防御成本过高。在实际应用中, 分布式存储系统通常由成百上千个节点组成, 并且数据以冗余的形式存在[15], 如果对全系统进行异构冗余化构建, 会使得节点数量和数据冗余成倍增长, 单位存储成本急剧上升, 因此, 实用意义有限。文献[16]对数据分段处理过程进行拟态化保护, 利用网络编码技术提出一种基于再生码的拟态变换机制, 可根据随机时变因素动态改变数据的存储状态, 提升数据完整性和数据持续可用性。然而这种方式仅能保护数据的完整性和可用性, 而无法保护数据的机密性和数据承载系统的安全性。文献[17]指出, DHR结构的威胁感知能力是基于拟态界上具有可比较的输出结果而存在的, 如果以整个分布式存储系统的数据输出划定比较边界, 那么系统内部的客户端、元数据节点以及数据节点间的异常交互将无法被及时发现, 因此, 并没有达到对系统进行保护的防御预期, 其可获得的安全能力是有限的。

综上分析可知, 在进行分布式存储系统拟态化设计时, 需要根据防护目标确定合适的DHR模型使用方法, 同时应从防御成本、可实现性、防护有效性等多个方面对拟态界选定及其架构进行考量, 发挥CMD“要地防御”的原则和优势, 确保系统在安全、性能、代价、可实现性等方面有效可行。根据这一设计思想, 本文针对大数据存储Hadoop分布式文件系统(Hadoop Distributed File System, HDFS)[18]设计拟态化架构Mimic-HDFS, 为分布式存储系统的安全防护提供基本框架支撑。

1 威胁分析与拟态界选取

根据信息安全CIA三性可知, 一个存储系统需要满足以下安全要求:1)机密性, 即数据信息在传输和存储状态时需要拥有特定的权限才能进行访问, 不应泄露给未经授权者; 2)完整性, 即数据信息在传输和存储状态时没有被非法添加、删除、替换等, 合法访问得到的结果是正确有效的; 3)可用性, 即存储系统随时能为授权者提供正常、有效的服务, 合法的操作请求不会被不合理地拒绝。

目前, 传输过程的数据安全性一般通过网络保护措施和传输加密来保证, 可用性所涉及的DoS攻击也不属于拟态防御的防护范畴, 因此, 本文中不做过多讨论。权限的鉴别和管理一般通过运行相应的“认证-授权-审计”即3A服务[19]来保证, 负责对访问发起者的身份和申请的操作进行合法性确认, 是存储系统重要的安全机制。但是, 基于漏洞和后门发起的攻击能够通过绕过甚至破坏安全机制达到攻击目的, 因此, 本文通过引入CMD的动态、异构、冗余机制来加固服务。对于分布式存储系统而言, 其所面临的攻击可归纳为数据窃取(破坏私密性)和数据毁损(破坏完整性)两种方式, 此处结合攻击链模型给出其一般架构下的实现途径, 如图 1所示。图 1(a)中的数据窃取攻击目标是非法获得系统中存储的用户数据, 此过程需要先获取元数据节点上的数据组织映射关系和位置关系, 再通过对具体数据节点的数据块进行窃取组合还原出目标文件。图 1(b)中的数据损毁攻击目标是要破坏用户数据, 此过程只需要对数据节点上的块进行破坏即可, 无需攻击元数据节点。

Download:
图 1 针对分布式存储系统的攻击途径 Fig. 1 Attack ways to distributed storage system

由上述分析可知, 在实施攻击时, 对象的选取具有决定性作用, 下面以HDFS中客户端、元数据节点、数据节点3种角色作为攻击目标探讨攻击效果。

1) 客户端。在系统3A服务正常工作的条件下, 如果攻击者劫持了某个客户端节点, 那么攻击者也仅能获取该客户端上用户的访问权限, 窃取有权读的数据, 篡改破坏有权写的数据。这样, 只要管理员能够对用户群组的权限进行合理配置, 攻击就不会波及到其他用户的数据。所以, 该方式的攻击影响力相当有限, 一般作为攻击跳板以便于后续对元数据节点或数据节点进行攻击。

2) 元数据节点。作为系统中的核心信息和服务功能承载, 一旦攻击者劫持了元数据节点, 则元数据信息及相关服务功能将面临极大威胁。一方面, 攻击者可以直接窃取或篡改元数据信息, 从而获得或破坏用户数据的组织方式和存储位置; 另一方面, 攻击者还可以篡改和破坏该元数据节点负责的服务功能, 直接操纵和破坏系统正常运转; 更甚者, 如果该元数据节点配置了系统管理员用户权限, 那么攻击者可以直接篡改认证和服务功能, 使原本非法的访问操作合法化, 危害到系统全部数据的私密性和完整性。因此, 从收益角度考虑, 元数据节点无疑是攻击者的首选目标。

3) 数据节点。在HDFS中, 用户的数据以条带化(也称分块)和副本冗余的方式存放在数据节点集群中。当攻击者劫持了某一数据节点, 则可以窃取和篡改该节点上的块副本, 造成一定程度的危害。

需要说明的是:

1) 在元数据节点安全性得以保证的条件下, 数据窃取攻击虽然能够获得被劫持数据节点上实际的物理块, 但是并没有获取到可理解的有效信息。数据与信息间的映射关系如图 2所示, 其中:存储对象一般指用户的原始数据, 是能够被拥有者理解和获得的有效信息; 存储对象经过存储系统的条带化后, 单个逻辑块所呈现的信息会大幅减少, 甚至在很多场景下是不可理解的(即拥有者不但要掌握所有逻辑块, 而且还要通过正确的组织顺序还原出存储对象); 物理块是逻辑块在数据节点上的真实存储, 在冗余副本方式下一个逻辑块会映射到集群的多个数据节点上。不难看出, 在没有系统元数据信息支持的情况下, 攻击者即便能够劫持数据节点, 也可能无法掌握期望目标存储对象的所有物理块, 并且即便拥有所有物理块也不能立刻恢复出有效的信息, 因此, 数据窃取攻击受到极大限制。

Download:
图 2 数据与信息间的映射关系 Fig. 2 Relationship of mapping between data and information

2) 对于数据毁损攻击, 由于分布式存储系统大多引入了副本或纠删码策略来构建数据冗余, 即使某个数据节点被劫持, 集群中还会有其他节点能够正常响应用户的数据请求, 所造成的威胁就相当有限, 因此, 分布式存储系统自身具备冗余特性能够为数据完整性提供一定的保护能力。

通过上述威胁分析可知, 元数据节点是分布式存储系统中的高危目标, 无论从实现难度还是获得的收益来说, 都是攻击者的首选目标。同样, 从防护者的角度出发, 如果能够通过CMD安全机制对元数据服务进行保护, 就能够获得最大的安全收益。在防护代价上, 由于异构冗余本身需要付出额外的成本和性能开销, 因此如果划定元数据服务为拟态防护界, 则能够大幅减少成本开销并且减轻代理的负载压力, 具有更好的可实现性。同时, 对于数据节点的保护可以不严格采用DHR构造, 而是在现有分块冗余方式的基础上, 通过引入异构性来增强数据物理块的存储安全性。通过考虑以上因素, 本文提出一种面向元数据服务的拟态化架构, 期望提升分布式存储系统的抗攻击能力。

2 面向元数据功能的拟态化HDFS设计 2.1 总体架构与交互流程

根据上文确立的拟态界及相应的防护思路, 本节设计面向元数据服务的HDFS拟态化架构Mimic-HDFS。为降低设计和实现复杂度同时保持对原有系统的兼容性, Mimic-HDFS依然沿用HDFS的基本节点职能和交互流程, 其组织架构如图 3所示, 交互流程如图 4所示。

Download:
图 3 Mimic-HDFS系统架构 Fig. 3 System architecture of Mimic-HDFS
Download:
图 4 Mimic-HDFS系统交互流程 Fig. 4 System interaction process of Mimic-HDFS

Mimic-HDFS系统由客户端(Client)、基于DHR模型的元数据服务结构(M-Namenode)和异构化的数据节点(H-Datanode)3种角色组成。其中, Client无需进行任何改动, H-Datanode仅需要对存储集群的异构性进行有效标识和利用, 提供元数据服务的Namenode是拟态化的主要改造对象, 需要对其进行异构冗余化配置组成执行体集合, 然后配合带有分发裁决功能的Namenode代理(NN-Agent)和调度控制器(Scheduler)共同构成M-Namenode, 从而实现DHR的结构及其防御功效。Mimic-HDFS的消息交互流程设计如下:

1) Client与NN-Agent建立访问的Connection并发送操作请求(OP_REQ)。

2) NN-Agent与M-Namenode中l个在线执行体分别建立Connection*并转发OP_REQ*

3) 各个Namenode独立进行消息处理, 并将操作响应(OP_RESP)返回至NN-Agent。

4) NN-Agent接收到全部OP_RESP*后, 通过内部裁决策略进行处理得到最终OP_RESP。

5) Client从NN-Agent得到返回的OP_RESP, 继续与H-Datanode进行数据交互, 完成目标操作。

6) 如果在第4个步骤NN-Agent对多路OP_RESP*进行裁决时发生了不一致的情况, 则将该次裁决的相关信息通过反馈消息(FEEDBACK)发至Scheduler。

7) Scheduler根据加载的调度算法处理FEEDBACK并发送控制消息(CONTROL), 实现系统的动态变换, 主要的工作包括:(1)控制NN-Agent停止向异常执行体继续发送数据; (2)控制M-Namenode在线集合中的异常执行体下线处理; (3)备用集合中拟上线执行体进行状态和数据同步; (4)得到同步确认消息(STATE_ACK)后, 控制NN-Agent开始向新上线执行体发送数据。

Mimic-HDFS的交互流程可分为HDFS交互协议(步骤1、步骤5)和Mimic结构交互协议(步骤2~步骤4和步骤6、步骤7)两个独立部分, 使M-Namenode内部运转对Client和H-Datanode透明化存在, 由NN-Agent提供原Namenode的所有元数据服务, 在提升自身安全性的同时保证对原有架构的良好兼容。

2.2 M-Namenode的异构冗余执行体集合

在M-Namenode中, 异构冗余的执行体集合是提供安全能力的基础条件。如图 5所示, 各个元数据服务执行体(Metadata Service Executor, MSE)由不同的组件构成, 但开放的元数据服务功能是等价的。所谓等价, 是指在相同的OP_REQ消息激励下, 所得出的OP_RESP是一致的, 该条件由HDFS私有RPC协议的一致性得以保证。

Download:
图 5 M-Namenode集合中的异构化执行体 Fig. 5 Heterogeneous executors in M-Namenode set

通过在硬件平台、操作系统、运行环境和应用程序各组件上的多样化组合构建, M-Namenode期望得到的理想效果为:在非元数据功能的请求激励下, 即基于漏洞和后门的攻击请求(AT_REQ), 仅单个或少数生效的执行体给出攻击响应(AT_RESP), 其余无效执行体给出正常且一致的OP_RESP, 这样在裁决过程中就能呈现出多数一致正确与少数不一致错误的情况, 从而执行交互流程中的步骤6、步骤7, 使得系统在提供正常服务的同时, 具有抵御漏洞和后门的安全能力。

然而现实情况是, 各组件的多样性是有限的, 相互组合也存在一定的兼容性问题, 因此, M-Namenode各个MSE之间必然会存在漏洞或后门重叠的情况, 称之为共模威胁。共模威胁可能会造成多数MSE发生异常, 使AT_RESP占据响应中的多数, 最终被判定为正确结果而返回, 实现所谓的“逃逸”。虽然M-Namenode从理论上存在攻击逃逸的可能, 但根据CMD理论以及目前实际应用的情况来看, 异构冗余带来的安全增益是显著的, 主要源于以下因素:

1) 多MSE相比单MSE而言, 攻击成功的前提从原有的“存在任意可利用的漏洞后门”变为“至少存在1个多数重叠的共模威胁”, 条件变得更加苛刻。

2) 即使多MSE的攻击条件存在, 针对该漏洞后门的交互过程必须通过相同的AT_REQ激励得到一致的AT_RESP, 否则就会出现不一致情况而被发现, 攻击实施的难度也显著增加。

3) 即使能够实现一次AT_RESP逃逸, 但APT渗透需要嗅探、渗透、上传等多个步骤[20], 只要存在一次AT_RESP不一致, 那么该过程就会被感知到并进行相应处理, 导致前序攻击成果失效。因此, 对M-Namenode而言, 基于漏洞和后门实施攻击的难度明显增加, 原先异攻难守的局面被彻底逆转。

从M-Namenode的防御机理上看, MSE构件的多样性越丰富及构件间的异构性越大, 则各MSE间出现重叠漏洞和后门的概率就越低, 攻击的成功率也会越低。另外, 在多样性能够满足的条件下, 如果增加在线工作的异构MSE数量(简称冗余度), 则实现逃逸的难度也会增大, 使攻击成功率进一步降低, 但同时也会引入更多的成本和处理开销。

2.3 基于H-Datanode集群的数据冗余放置

Mimic-HDFS的设计以保护系统关键的元数据服务为核心思想, 通过DHR构建M-Namenode, 同时也权衡了威胁、代价、有效性等方面对数据节点进行简易化的拟态保护, 主要体现在借助于异构机制搭建H-Datanode集群, 然后利用冗余机制放置块副本, 保护数据的完整性和可用性。

对于上述设计, 由于HDFS本身就提供了副本冗余支持, 因此只要配合H-Datanode和有效的副本放置策略即可实现, 无需对原有Datanode的交互协议和格式进行更改。H-Datanode的异构化方式与M-Namenode中异构执行体类似, 结合现有大型数据中心建设的实际情况来看, 多样化的平台和异构系统恰恰是大规模集群具有的天然属性, 因此, 只需要在Namenode程序的放置逻辑中添加有效的算法即可。HDFS默认的机架感知放置策略(Rack-Aware)如图 6所示。对于单个数据块的m个副本{R1, R2, …, Rm}, Rack-Aware将R1放置在随机的Datanode上, 将R2放置在任一不同机架的任意节点上, 将R3放置在R2相同但机架不同的任意节点上, 后续副本放置在与R1~R3不同的随机位置上。由于该方法具有一定的随机性, 因此从理论上具有实现冗余副本异构化放置的能力, 本文中不再对如何更好地利用集群异构性展开详细讨论。

Download:
图 6 HDFS默认的Rack-Aware放置策略 Fig. 6 Default placement strategy in HDFS, Rack-aware
3 M-Namenode中的裁决与调度机制

在M-Namenode中, 异构冗余的执行体集合是安全增益的基础, 而裁决(Mimic-HDFS交互流程步骤4)与调度(Mimic-HDFS交互流程步骤7)机制则是决定安全增益的关键。当发生不一致情况时, 裁决机制需要从OP_RESP*中判定输出正常的OP_RESP, 屏蔽掉AT_RESP, 从而切断攻击的链条。与此同时, 调度机制需要发挥作用对在线MSE集合进行调度变换, 使得前序攻击成果无法稳定保持。

图 7所示, 设M-Namenode执行体全集Θ={MSE1, MSE2, …, MSEM}, 其中M是执行体总数。设余度为l, 则从一次调度时刻ti至下次ti+1的在线集合E(ti, ti+1)={MSEk1, MSEk2, …, MSEkl}。以$ \mathit{\Upsilon }$表示Eti), 其中, i为调度序数, Δti可理解为第i次调度上线集合维持的时长。

Download:
图 7 裁决与调度机制示意图 Fig. 7 Schematic diagram of arbitration and scheduling mechanism

在任意时刻t, 某一REQ的输出结果集合可表示为Ot, t∈ΔtiEti)(REQ)={RESPk1*, RESPk2*, …, RESPkl*}, 最终裁定的响应结果RESPf。那么, 裁决与调度机制需要解决的问题分别为:

$ \mathit{\Psi }:O_{t, t \in \Delta {t_i}}^{E(\Delta {t_i})}({\rm{REQ}}) \to {\rm{RES}}{{\rm{P}}_{\rm{f}}} $ (1)
$ \mathit{\Upsilon } :E\left( {\Delta {t_i}} \right) \to E(\Delta {t_{i + 1}}) $ (2)

式(1)中的Ψ表示裁决算法, 目标是要尽可能提升RESPf的正确性; 式(2)中的$ \mathit{\Upsilon }$表示调度算法, 目标是要确定当前第i次调度后在线集合的维持时间Δti以及第i+1次调度时新的在线集合Eti+1), 尽可能提升M-Namenode的安全性。

文献[5]在对CMD的介绍中提到, DHR模型的优势在于多空间处理结果的相互验证能力, 使得输出响应和动态变换都具有可以参考的依据。上文已对M-Namenode异构冗余带来的安全效应进行了分析, 得到“单次交互中出现共模威胁情况的小概率性”和“基于多次交互的攻击过程中大概率会出现不一致”的基础定律。由此, Ψ的正确性和$ \mathit{\Upsilon }$的安全性两个目标就有了可量化的参考指标, 即Ot, t∈ΔtiEti)(REQ)中各在线MSE的输出表现所提供的反馈信息FEEDBACK, 该信息可表示为全集Θ上的向量Φ={θ1, θ2, …, θM}, 其各MSE的对应值为在历史裁决中出现的不一致次数。本文借鉴已有的研究成果, 基于反馈信息设计一种裁决和调度联动机制FBAS, 以期使M-Namenode能够获得较好的安全增益。

FBAS的设计思想是:对于裁决算法Ψ, 如果Ot, t∈ΔtiEti)(REQ)中各MSE的输出结果具有独立性, 那么统计中的多数一致被认为是正确性结果, 如果多数一致不存在, 则由Φ生成在线MSE的置信度向量W={ωk1, ωk2, …, ωkl}, 然后统计一致结果W值的大数作为正确性判据; 对于调度算法$ \mathit{\Upsilon }$, 第i次调度时预先设定一个Δti(0), 上线运行期间该维持时间将随着裁决不一致情况而变化, 即Δti(Φi), 使$ \mathit{\Upsilon }$在时间上与裁决保持联动, 其中, Φi是指(ti, ti+1)时间内的反馈信息记录, 当t-ti≥Δti(Φi)时则发起调度操作, 新的在线集合以上一时间段内Eti)中各MSE的裁决不一致情况而选定, 即Eti+1)=$ \mathit{\Upsilon }$(Φi), 使$ \mathit{\Upsilon }$在MSE选择上与裁决保持联动。

设当前所在时间区间为ti~ti+1, FBAS机制工作流程设计如下:

输入  {RESPk1*, RESPk2*, …, RESPkl*}

输出  RESPf, Δti, Eti+1)

1) 对接收到的多路结果{RESPk1*, RESPk2*, …, RESPkl*}进行内容的一致性归类, 分类结果的序号组为C={c1, c2, …, cn}, 其中, c={kx, ky, …, kz|RESPkx*=RESPky*=…=RESPkz*}, 各组对应的结果记为RESPc

2) 根据共模威胁为小概率的基本定律, 统计并取得数量最大的序号组${c_{{\rm{max}}}} = \mathop {{\rm{argmax}}}\limits_{i = 1}^n \left| {{c_i}} \right|$

3) 判断cmax是否超过在线MSE半数$\left\lceil {{\rm{(}}\mathit{l}{\rm{ + 1)/2}}} \right\rceil $, 若是, 则RESPf=RESPcmax; 否则, 调入W={ωk1, ωk2, …, ωkl}计算各序号组的置信度结果Wc, 并输出置信度最大组对应的结果RESPf=RESPcWmax

$ {c_{{W_{{\rm{max}}}}}} = \mathop {{\rm{argmax}}}\limits_{i = 1}^n {W_c} = \mathop {{\rm{argmax}}}\limits_{i = 1}^n \sum\limits_{j \in c} {{\omega _j}} $ (3)

4) 记录反馈信息Φi, 若步骤3中cmax$\left\lceil {{\rm{(}}\mathit{l}{\rm{ + 1)/2}}} \right\rceil $, 则对Ccmax集合中对应序号的执行体信息值加1;若cmax < $\left\lceil {{\rm{(}}\mathit{l}{\rm{ + 1)/2}}} \right\rceil $, 则对在线集合所有执行体信息值加1。

5) 通过Φi更新置信度向量W, 此处W(Φi)的设置方法可以根据实际情况而定, 原则是成反比关系, 本文直接通过取倒数的方式即ωx=1/θx得到, 其中, 当θx=0时, 可设置为一个超过1的数值, 本文设为3。

6) 通过Φi联动更新时间Δti, Δti(Φi)的设置方法也是可灵活设定的, 总体原则是当异常发生增加时应加大联动的效果, 加快缩减Δti, 从而使结构尽快回到安全状态。本文设定一个单位缩减时间tu, 调度时间更新计算公式为:

$ \Delta {t_i} = \Delta {t_i}\left( 0 \right) - {t_{\rm{u}}}\sum\limits_{{\theta _x} \in {\mathit{\Phi }_i}} {{\theta _x}} $ (4)

7) 系统内部设置了Δti的触发计时器, 一旦条件t-ti≥Δti(Φi)满足即会发起调度。根据攻击过程大概率出现不一致的定律, 选择Eti)中置信度最低的MSE下线, 为保证结构的不确定性, 备用的MSE采用随机选取上线, 确立最终的调度目标集合Eti+1)。

在上述步骤中:步骤1~步骤3实现了裁决机制的主要工作, 其时间复杂度为O(2l+2n), 由于实际应用中在线MSE的数量有限, 因此时间开销不会很大; 步骤4~步骤7负责更新反馈信息和实现调度机制, 其时间复杂度为O(4l), 同样也不会引发过大的时间开销。

通过上述流程描述可知, FBAS的基本出发点是充分利用M-Namenode运行时感知到的异常反馈信息, 通过该信息不断更新在线MSE的置信度, 确保在异常发生时尽量输出可信的结果。同时, 通过对调度时间的联动更新, 在异常频发时缩小调度间隔时间, 尽快清除异常使系统还原正常状态, 调度时参考该周期内的置信度表现, 将异常次数低的不可信执行体调度下线, 使M-Namenode尽可能规避攻击者当前发起的攻击(当前攻击有效的MSE大概率产生较多的异常次数, 置信度相对较低)。

由此可知, M-Namenode对于漏洞和后门威胁的防御机理与现有基于精确特征感知的被动方式完全不同, 它并不依赖于庞大的特征库和滞后的漏洞修补, 而是通过自身结构中MSE的异构冗余运行、裁决反馈和动态调度机制产生安全属性, 因此, 无论对已知还是未知威胁都有效, 并且其防御能力与各MSE自身存在的漏洞数量弱相关, 与组件的异构性和多样性程度强相关。值得注意的是, 基于CMD所得到的安全能力与现有防护方法可形成良好的互补关系, 体现为:

1) 通过防火墙、系统补丁进一步提升单个MSE的安全性, 降低共模威胁的出现概率, 这对M-Namenode的安全性可有指数级别的提升效果。

2) 通过适当扩大CMD保护边界, 将3A机制、密钥生成管理等重要功能或数据纳入DHR结构中, 有助于保证安全机制自身和依赖环境的可靠可信。

4 系统测试与评估

本节将对Mimic-HDFS原形系统进行安全性和性能两方面测试评估, 验证拟态化的防御效果同时评估其对服务性能造成的影响, 为后续改进提供参考依据。

4.1 测试环境与测试方法

在异构化组件方面, 硬件平台使用x86、ARM和国产飞腾, 操作系统使用CentOS、Solaris和国产麒麟, 软件版本为Hadoop 2.7.3。在节点方面, 基于异构化组件构建物理服务器, 部署4台M-Namenode、6台H-Namenode、1台NN-Agent、1台调度节点以及相应的交换机、测试机和调测展示机共同组成测试集群, 如图 8所示。其中, 同时在线的MSE个数设为3台, 另有1台作为备用。为了简化安全性测试过程中漏洞利用的复杂性, 增强测试用例的灵活设置, 本文基于java-agent技术直接在M-Namenode和H-Namenode上注入后门程序, 通过在测试机上运行的不同指令模拟差异化的漏洞或后门的攻击过程, 并且在调测展示机上同步观察实验结果。性能测试采用Hadoop专用工具slivertest和TestDFSIO, 通过吞吐率结果评估系统的元数据服务和文件读写两项性能。

Download:
图 8 测试环境网络拓扑 Fig. 8 Network topology of test environment
4.2 安全性测试

在MSE1~MSE3上分别设置后门程序, 该程序能够通过在测试机上对应运行Client1~Client3进行触发, 达到的效果是在/target1~target 3目录下非法创建、写入或读取文件。实验中, 在测试机上分别尝试激活各个MSE上的后门, 观察该攻击操作是否能够成功。实验结果如表 1所示, 其中, “√”表示成功, “×”表示未成功。可以看出:在不开启拟态功能的情况下, MSE1接收到Client1触发命令后出现了异常, /target1目录下被非法创建文件, 并且能够越权读数据; 同样, 通过Client2和Client3发起攻击命令也能达到类似效果; 还原各节点状态, 开启拟态工作模式, Client1~Client3随机且独立发送后门触发命令, 均无法实现越权操作。本文通过测调节点进入NN-Agent节点观察日志文件, 发现MSE1~MSE3实际受到了测试命令的干扰, 但由于该操作影响较小, 因此从整体上看/target1~target3目录中会表现出正常的情况, 对外仍然能够提供正确的服务。

下载CSV 表 1 元数据节点安全性测试结果 Table 1 Security test results of metadata nodes
4.3 性能测试

性能测试主要用于评估拟态功能的开启所导致的性能损失, 本文使用基准测试程序slivertest测试系统开关拟态情况下元数据服务中7种常用基本操作的吞吐速率, 比较结果如图 9所示。

Download:
图 9 slivertest吞吐速率测试结果 Fig. 9 Test results of throughput rate by slivertest

图 9可知:对于非互斥类的READ、RENAME和DELETE操作, 开关拟态功能对性能的影响并不大; 而对于WRITE、APPEND、CREATE和MKDIR修改类操作, 由于存在一定的互斥性, 因此本文在原型系统实现时采用了锁机制保证其一致性, 并发请求的抢锁操作可能导致性能的下降, WRITE操作、APPEND操作由于交互耗时较长, 因此受到的影响也最大。

测试工具TestDFSIO用于测试HDFS系统对一定数量、一定大小的文件进行读写的处理性能。本文设置文件数量分别为100、300、500、800、1 000的处理任务, 单个文件大小1 024 MB。实验结果如图 10所示。可以看出, 随着文件处理数量的增加, 拟态和非拟态系统的读写任务执行时间都呈上升趋势。对于写操作, 在任务量相对较少时两者的差距并不明显, 基本处于同一水平。当文件数量为500时, 两者执行时间差距达到7 min; 当文件数量为1 000时为15 min, 其性能受到了一定程度的影响。对于读操作, 拟态和非拟态系统的处理性能相差很小, 不会对实际应用造成较大的影响。

Download:
图 10 TestDFSIO任务执行时间测试结果 Fig. 10 Test results of task execution time by TestDFSIO
5 结束语

为保障分布式存储系统中的数据安全和系统安全, 本文对系统面临的主要威胁和攻击途径进行分析, 定位其核心薄弱点, 结合防护的代价与有效性, 以大数据存储HDFS为目标对象, 引入拟态防御动态、异构、冗余的安全机制, 设计面向元数据服务的拟态化架构Mimic-HDFS, 利用元数据服务DHR结构保护系统核心信息和功能, 通过对副本的异构化放置保护用户数据。安全性分析和性能测试结果表明, 该架构能够增强分布式存储系统对漏洞和后门的防御能力, 提升系统安全性。后续将进一步优化Mimic-HDFS的实现过程, 减少互斥元数据操作等待抢锁造成的时间开销, 从而避免因拟态功能造成系统处理性能下降。

参考文献
[1]
SIDDIQA A, KARIM A, GANI A. Big data storage technologies:a survey[J]. Frontiers of Information Technology & Electronic Engineering, 2017, 18(8): 1040-1070.
[2]
ARMIN J, FOTI P, CREMONINI M.0-day vulnerabilities and cybercrime[C]//Proceedings of the 10th International Conference on Availability, Reliability and Security.Washington D.C., USA: IEEE Press, 2015: 711-718.
[3]
ZHANG Y, JUELS A, REITER M K, et al.Cross-tenant side-channel attacks in PaaS clouds[C]//Proceedings of 2014 ACM SIGSAC Conference on Computer and Communications Security.New York, USA: ACM Press, 2014: 990-1003.
[4]
XIAO Zhifeng, XIAO Yang. Security and privacy in cloud computing[J]. IEEE Communications Surveys & Tutorials, 2013, 15(2): 843-859.
[5]
WU Jiangxing. Research on cyber mimic defense[J]. Journal of Cyber Security, 2016, 1(4): 1-10. (in Chinese)
邬江兴. 网络空间拟态防御研究[J]. 信息安全学报, 2016, 1(4): 1-10.
[6]
JAJODIA S, GHOSH A K, SWARUP V, et al.Moving target defense: creating asymmetric uncertainty for cyber threats[M].[S.l.]: Springer Science & Business Media, 2011.
[7]
VOAS J, GHOSH A, CHARRON F, et al.Reducing uncertainty about common-mode failures[C]//Proceedings the 8th International Symposium on Software Reliability Engineering.Washington D.C., USA: IEEE Press, 1997: 308-319.
[8]
TONG Qing, ZHANG Zheng, ZHANG Weihua, et al. Design and implementation of mimic defense Web server[J]. Journal of Software, 2017, 28(4): 883-897. (in Chinese)
仝青, 张铮, 张为华, 等. 拟态防御Web服务器设计与实现[J]. 软件学报, 2017, 28(4): 883-897.
[9]
MA Hailong, JIANG Yiming, BAI Bing, et al. Tests and analyses for mimic defense ability of routers[J]. Journal of Cyber Security, 2017, 2(1): 43-53. (in Chinese)
马海龙, 江逸茗, 白冰, 等. 路由器拟态防御能力测试与分析[J]. 信息安全学报, 2017, 2(1): 43-53.
[10]
QI Chao, WU Jiangxing, HU Hongchao, et al.An intensive security architecture with multi-controller for SDN[C]//Proceedings of 2016 IEEE Conference on Computer Communications Workshops.Washington D.C., USA: IEEE Press, 2016: 401-402.
[11]
XU Mixue, YUAN Chao, WANG Yongjuan, et al. Mimic blockchain-solution to the security of blockchain[J]. Journal of Software, 2019, 30(6): 1681-1691. (in Chinese)
徐蜜雪, 苑超, 王永娟, 等. 拟态区块链——区块链安全解决方案[J]. 软件学报, 2019, 30(6): 1681-1691.
[12]
WEI Shuai, YU Hong, GU Zeyu, et al. Architecture of mimic security processor for industry control system[J]. Journal of Cyber Security, 2016, 2(1): 54-73. (in Chinese)
魏帅, 于洪, 顾泽宇, 等. 面向工控领域的拟态安全处理机架构[J]. 信息安全学报, 2016, 2(1): 54-73.
[13]
WANG Zhenpeng, HU Hongchao, CHENG Guozhen. A DNS architecture based on mimic security defense[J]. Acta Electronica Sinica, 2017, 45(11): 139-148. (in Chinese)
王禛鹏, 扈红超, 程国振. 一种基于拟态安全防御的DNS框架设计[J]. 电子学报, 2017, 45(11): 139-148.
[14]
LIN Zhili, LI Kedan, HOU Hanxu, et al.MDFS: a mimic defense theory based architecture for distributed file system[C]//Proceedings of 2017 IEEE International Conference on Big Data.Washington D.C., USA: IEEE Press, 2017: 2670-2675.
[15]
GHEMAWAT S, GOBIOFF H, LEUNG S T.The Google file system[C]//Proceedings of the 19th ACM Symposium on Operating Systems Principles.New York, USA: ACM Press, 2003: 20-43.
[16]
CHEN Yue, WANG Longjiang, YAN Xincheng, et al. Mimic storage scheme based on regenerated code[J]. Journal on Communications, 2018, 39(4): 21-34. (in Chinese)
陈越, 王龙江, 严新成, 等. 基于再生码的拟态数据存储方案[J]. 通信学报, 2018, 39(4): 21-34.
[17]
HU Hongchao, CHEN Fucai, WANG Zhenpeng. Performance evaluations on DHR for cyberspace mimic defense[J]. Journal of Cyber Security, 2016, 1(4): 40-51. (in Chinese)
扈红超, 陈福才, 王禛鹏. 拟态防御DHR模型若干问题探讨和性能评估[J]. 信息安全学报, 2016, 1(4): 40-51.
[18]
SHVACHKO K, KUANG H, RADIA S, et al.The Hadoop distributed file system[C]//Proceedings of MSST'10.Washington D.C., USA: IEEE Computer Society, 2010: 1-10.
[19]
SPIVEY B, ECHEVERRIA J.Hadoop security: protecting your big data platform[M].[S.l.]: O'Reilly Media, Inc., 2015.
[20]
MOHSIN M, ANWAR Z.Where to kill the cyber kill-chain: an ontology-driven framework for iot security analytics[C]//Proceedings of 2016 International Conference on Frontiers of Information Technology.Washington D.C., USA: IEEE Press, 2016: 23-28.