大数据平台安全威胁与防护技术研究

2018-01-29 01:42刘明辉王竹欣
网络安全与数据管理 2018年1期
关键词:访问控制开源数据安全

刘明辉,陈 湉,王竹欣

(中国信息通信研究院,北京 100191)

0 引言

大数据时代来临,数据价值的急剧攀升,促使数据安全与国家安全、经济运行安全、社会公共安全、个人合法权益之间的关联日趋紧密。同时,大数据面临的安全威胁日益严重,Gemalto 发布的《2017数据泄露水平指数报告》显示,2017年上半年19亿条记录被泄或被盗,超过了2016年全年总量(14亿),比2016年下半年增加了160%多[1]。数据泄露和隐私问题已经成为制约大数据应用发展的关键因素,建立大数据安全保障体系成为大数据产业健康、稳定发展的重要环节。

当前,以Hadoop为基础的开源生态系统是最流行的大数据分析框架,国内Hadoop已经广泛应用于金融、电信、制造、能源以及医疗健康领域。Hadoop平台由多个组件搭建而成,组件自身安全以及组件之间的安全共同决定大数据平台安全。传统安全技术能否嵌入大数据平台,是否需要研发新的安全技术保障Hadoop组件安全,进而保障大数据平台安全,是值得深入研究的问题。本文从分析大数据平台的安全威胁入手,研究大数据平台的安全需求,并研究Hadoop平台目前常用的安全机制,分析存在的问题,提出大数据平台安全的研究方向和研究建议。

1 大数据平台安全威胁分析

(1)大数据技术发展引入未知的安全漏洞隐患。

大数据、云计算技术带动信息系统软硬件架构的全新变革,可能在软件、硬件、协议等多方面引入未知的漏洞隐患,而现有安全防护技术无法抵御未知漏洞带来的安全风险,包括现有的安全防护技术和实时监测技术都相对滞后于大数据技术的发展。

(2)大数据技术缺乏有效的安全机制,安全保障能力比较薄弱。

现有大数据技术大多基于Hadoop框架进行二次开发,缺乏有效的安全机制,在身份认证、权限控制、安全审计等方面不健全,即使有些做了改进,其安全保障能力仍然比较薄弱。

(3)大数据技术采用的分布式存储和计算模式导致安全边界变模糊。

传统的网络环境下,网络安全边界相对清晰,基于边界的安全机制可以起到较好的防护效果。而在大数据环境下,由于大数据技术采用底层复杂、开放的分布式存储和计算架构,使得大数据应用的安全边界变模糊,传统的安全防护机制在大数据环境下暴露出不足。

(4)大数据技术发展催生出新型攻击手段。

大数据存储、计算、分析等技术的发展,催生出很多新型高级的网络攻击手段,使得传统的检测、防御技术暴露出严重不足,无法有效抵御外界的入侵攻击。针对大数据平台的高级持续性威胁(APT)攻击时有发生。大数据平台遭受的大规模分布式拒绝服务(DDoS)攻击屡见不鲜。

2 大数据平台总体框架

图1是NIST(National Institute of Standards and Technology,美国国家标准与技术研究院)、ISO/IEC(国际标准化组织/国际电工委员会)提出的大数据参考架构NBDRA(NIST Big Data Reference Architecture),是独立于供应商的、且与技术和基础设施无关的概念模型[2]。

图1 NIST大数据参考架构

NBDRA是围绕代表两大数据价值链的两个轴进行组织的:信息(水平轴)和信息技术(IT)(垂直轴)。信息轴上,核心价值通过数据收集、整合、分析和应用而产生。IT轴上,通过网络、基础设施、平台、应用工具和其他IT托管服务和运行服务为大数据应用提供支持。五个主要的NBDRA组件代表了存在于每个大数据系统的不同技术角色:(1)系统协调者:负责配置和管理大数据平台与大数据应用的各类安全功能组件及安全策略,编排大数据服务所需的数据活动和系统服务活动,并将它们整合到可运行的大数据平台中;(2)数据提供者:负责将机构内外部的各种数据或信息资源通过数据采集服务引入到大数据平台或大数据应用中;(3)大数据应用提供者:负责开发和部署大数据应用,提供数据生命周期管理相关的数据服务,并满足系统协调者定义的安全和隐私保护需求;(4)数据使用者:使用大数据平台或应用的末端用户、其他IT系统或智能感知设备;(5)大数据框架提供者:负责建立和运营大数据平台相关的基础设施、计算框架。

大数据平台作为数据存储和处理的载体,一方面要保障其与大数据应用提供者之间的接口安全,包括对接入平台的实体身份进行认证、数据传输过程的机密性、数据的完整性校验等。另一方面,要满足大数据基础平台内部的安全需求,包括数据存储安全、处理安全、安全管理以及基础设施的安全。存储安全是指保证存入数据的机密性和有序访问,防止在存储过程中的数据泄漏,使用的安全技术包括基于身份或策略的加密、访问控制、数据隔离等。处理安全是指保证运算过程中的数据不被越权使用,使用的安全技术包括统一认证、细粒度访问控制、加密计算(搜索/过滤/删除/同态加密)等。管理安全是指平台组件的安全管理与审计,其中包括安全基线检查、补丁管理、日志集中与审计等。基础设施安全是指保障承载大数据平台的物理设备与虚拟化资源的基础安全,包括物理安全、网络安全和虚拟化安全。

3 Hadoop安全机制

目前,大数据平台主要基于Hadoop开源框架进行二次开发,开源结构如图2所示,其核心功能是分布式数据存储和数据处理[3]。由于Hadoop是设计在可信环境内部署使用,最初并没有考虑安全机制,而随着越来越多用户加入进来,任何用户都可以访问和删除数据,存在恶意用户伪装成真正的用户或者服务器入侵到Hadoop集群上,恶意地提交作业,修改JobTracker状态,篡改HDFS上的数据,伪装成NameNode 或者TaskTracker接受任务等风险。

图2 Hadoop开源框架

为了应对上述安全挑战,2009年开始,Hadoop开源社区开始注重保护大数据安全,相继加入了身份验证、访问控制、数据加密和日志审计等安全功能[4]。

3.1 Hadoop开源安全技术

3.1.1身份认证

身份认证是确认访问者身份的过程,是数据访问控制的基础,也是实现大数据安全架构的基础。目前Hadoop开源系统在身份认证方面主要有三种方式,一是简单认证方式,二是基于Kerberos的强认证方式,三是基于LDAP轻量目录访问协议的弱认证方式。

对于简单认证方式,只能避免内部人员的误操作,无法提供其他更高级的身份认证服务,难以保证安全性。它属于早期使用的身份认证方式。

对于Kerberos认证方式,它是Hadoop开源软件中目前唯一可选的强安全认证方式。Kerberos认证基于对称秘钥算法,适于用户和服务之间的相互认证。配合Kerberos一同工作的还有代理token,大大节省了资源开销,提高了运行效率和可用性。

基于LDAP轻量目录访问协议的认证方式,由于仅对部分组件适用,应用范围较窄。

目前这三种认证方式中,基于Kerberos的强认证方式是最主流的认证方式,因为Kerberos可以实现较强的安全性,同时保证较高的运行性能,目前还没有哪种认证方式可以取代Kerberos认证。

3.1.2访问控制

访问控制是关注用户或者应用在访问数据时,对用户的权限进行定义和实施,从而限定用户是否有对某种资源的访问能力。目前大数据安全开源技术在访问控制方面主要有以下几种方式:

(1)基于权限的访问控制:是一种基于用户和组的文件权限管理方式,主要用于HDFS系统。目前已经比较成熟。

(2)访问控制列表:规定了哪些数据可以访问,哪些数据不能访问。可用于HDFS、MapReduce、HBase中。

(3)基于角色的访问控制:基本思想是对不同角色设置不同的访问权限,当一个角色被指定给某个用户时,此用户就拥有了该角色的权限,以此达到访问控制的目的。用于Hive中。

(4)基于标签的访问控制:当文件资源被创建时,由标签管理员为文件授予一组安全标签,相应地,每个用户被创建时也由标签管理员授予相关的安全标签,通过安全标签之间的比较,判定用户能否对文件进行访问。用于HBase、Accumulo中。

在以上几种访问控制方式中,企业主流使用的是基于权限的访问控制和基于角色的访问控制。前者一般用于对整个文件进行访问的情况,后者则是针对需要对文件进行细粒度访问控制的情况,如基于列的访问控制。基于角色的访问控制在大数据环境下面临新的挑战。

3.1.3数据加密

大数据环境下需要实现数据在静态存储及传输过程的加密保护,以及密钥的安全高效管理。对于静态数据,Hadoop提供两种方式进行保护:一是文件先进行加密,再存储在Hadoop节点中;二是一旦数据加载到Hadoop系统中,立即申请对数据块的加密。对于动态数据,传输进或传输出的数据,Hadoop可以提供认证与安全层(SASL)认证进行加密[5]。

3.1.4审计

安全审计是指对系统中发生的活动进行识别、记录、存储和分析,明确数据或服务是在何时被何人访问、怎么被访问的,理解数据的来源和被使用方式等问题,从而实现数据管理,及时检测并发现可能的入侵攻击等异常行为。Hadoop生态系统各组件均提供日志和审计文件记录数据访问过程,且日志审计文件内容不可更改,为追踪数据流向和发现违规数据操作提供原始依据。

3.1.5问题分析

(1)Hadoop生态系统的开源安全技术无总体安全管理视图,认证、权限管理、加密、审计等功能均通过对相关组件的配置来完成,无有效的配置检查和效果评价机制。

(2)访问控制机制过于简单。大数据场景下用户角色众多,用户需求更加多样化,难以精细化和细粒度地控制每个角色的实际权限,导致无法准确为用户指定其可以访问的数据范围,实现细粒度访问控制较为困难。

(3)过于依赖Kerberos。在整个Hadoop集群中,只存在一个Kerberos服务器,这个服务器负责集群中所有节点的访问控制。当Hadoop中节点的数量变大时,Kerberos负担会加重。若在某一时刻很多节点向服务器请求访问Token,可能会超出服务器的处理能力。此外,这也是Hadoop中心控制问题的一个表现,若Kerberos服务器出现故障,则整个集群都无法运行。

(4)无法应对恶意的网络攻击。Hadoop在设计时没有对可能遭受的网络安全问题进行考虑,Hadoop中没有对应的网络安全防护措施,很容易受到诸如DDoS的攻击,因此Hadoop对网络安全的防护只能借助第三方的工具。

3.2 商业版本Hadoop的安全机制

除了Hadoop开源社区提供大数据平台框架和组件技术外,部分企业致力于为用户提供第三方大数据平台商业化解决方案,其中代表企业包括Cloudera、Hortonworks以及华为公司。

3.2.1ClouderaCDH

由Facebook、谷歌和雅虎的前工程师创办的Cloudera提供了从数据平台身份认证、访问授权管理、数据加密到安全审计全流程的安全解决方案体系架构。Cloudera通过Cloudera Manager提供向导式操作界面,方便启用Hadoop的Kerberos认证,避免企业用户受到黑客勒索攻击。Apache Sentry为大数据平台的组件,为Hive、Impala、Solr以及HDFS提供细粒度的基于角色的权限管理功能,避免数据集中后的非授权访问。通过Cloudera Navigator提供大数据平台所有组件的统一审计功能。Navigator Encrypt保障数据传输过程及静态存储都是以加密形式存在,具有较高的安全性,避免黑客截获数据及数据泄露,同时利用Navigator Key Trustee服务提供更好的秘钥存储方案,并能提供和企业现有的HSM(Hardware Security Module)集成的解决方案。同时,Cloudera也在不断加强Hadoop生态系统的安全特性,例如利用RecordService为Hadoop平台提供统一的安全管控。

3.2.2HortenworksHDP

Hortonworks提供五个核心安全功能:集中安全管理、身份验证和外围安全、授权、审计和数据保护。HDP使用Apache Ranger提供集中的安全管理框架,支持HDFS、Hive、HBase、Storm、Knox、Solr、Kafka、YARN等HDP组件的集中安全管理,并实现授权和审计功能;Ranger可以将Atlas基于标签的访问控制策略扩展到整个系统,使得基于分类的安全工作流程覆盖到HDFS、Kafka、HBase;可以在Hadoop技术架构的每个层级,包括Spark和Hive,执行细粒度访问控制;支持SSL协议,保护Spark和Kafka之间数据流安全;Knox融合了身份管理和单点登录功能,可以实现基于Kerberos的身份认证、中心化的接口管理、集中审计控制和服务级的授权访问;利用Apache Knox Gateway实现边界防护,保证Hadoop集群入口的安全[6]。

3.2.3华为FusionInsight

华为大数据分析平台FusionInsight基于Hadoop开源社区软件进行功能增强,提供可运营的安全体系,从网络安全、主机安全、平台安全和数据安全方面提供全方位的安全防护[7]。

在平台安全方面,FuisonInsight可以提供身份认证、权限控制、日志审计等基于Hadoop架构的增强型安全功能。

身份认证:FusionInsight使用LDAP作为账户管理系统,并通过Kerberos对账户信息进行安全认证;统一了Manager系统用户和组件用户的管理及认证,提供单点登录。

权限控制:基于用户和角色的认证统一体系,遵从账户/角色RBAC(基于角色的访问控制)模型,实现通过角色进行权限管理,对用户进行批量授权管理,降低集群的管理难度。

审计日志:FusionInsight审计日志中记录了用户操作信息,可以快速定位系统是否遭受恶意的操作和攻击,并避免审计日志中记录用户敏感信息。

在数据安全方面,FuisonInsight可以从集群容灾、备份、数据完整性、数据保密性等方面保证数据安全。

此外,华为的另一款大数据产品FusionInsight Universe可以实现全流程的数据隐私保护。

4 问题分析与解决建议

Hadoop仍处在快速发展的阶段,安全问题依然存在。

目前的大数据平台安全机制集中于平台内部的信息安全,网络安全方面的防护手段较弱。一方面,对网络边界的防护仍沿用传统的网络安全防护手段,对于大数据环境下扩展的防御边界而言,使用效果不佳;另一方面,对大数据平台本身可能的攻击手段关注较少,预防手段不足,一旦有新的漏洞出现,波及范围将十分巨大[8]。确立有限管理边界,依据保护要求,加强重点保护,构建一体化的数据安全管理体系,遵循网络防护和数据自主预防并重的原则,并不是实施了全面的网络安全护理就能彻底解决大数据的安全问题,数据不丢失只是传统的边界网络安全的一个必要补充,还需要对大数据安全管理的盲区进行监控,只有将二者结合在一起,才是一个全面的一体化安全管理的解决方案。

一般来说,数据安全防护可以分为三个阶段,分别是事前预警、事中防护和事后追溯。事前预警是指对系统进行风险评估,对系统进行安全加固,并对可能出现的风险设置安全预警措施。事中防护是指对运行中的系统进行动态安全防护,包括数据采集、存储、处理过程中涉及的身份认证、访问控制、数据加密、网络安全防护等技术手段。事后追溯是指当发生数据安全事件时,查找泄漏原因和定位泄漏点,包括安全审计、数据溯源等技术手段和应急响应方案。目前,平台的安全技术手段集中于事中的防护,缺乏事前预警和事后的追溯手段较少。应加强数字水印、数字指纹、数据溯源等技术的研究和应用,研究数据血缘追踪等新技术在泄漏溯源方面的应用方案。建立事前预警、事中防护和事后追溯相结合的整体防护方案。

5 结论

当前,以 Hadoop 为基础的大数据开源生态系统应用非常广泛,国内 Hadoop 已经广泛应用于金融、电信、制造、能源以及医疗健康领域,其安全问题已经引起普遍重视。Hadoop安全框架存在不小挑战,一方面,由于Hadoop自身安全机制依赖Kerberos、非对称加密的Token认证机制、传输加密机制、基于Linux/Unix系统自带的访问控制机制,在认证、访问、授权等机制存在不足;另一方面,Hadoop一般不是独立运行,而是配合使用生态系统中的其他组件技术,这些技术在安全性上缺乏统一的安全措施。Hadoop开源社区和商业平台为Hadoop生态系统增加了集中安全管理、准入控制、多因素认证、细粒度访问控制、密钥管理、数据脱敏、集中审计等安全机制,在一定程度上填补了大数据平台的安全空缺,但安全问题依然存在。应注意信息安全与网络安全并重,建立事前、事中、事后结合的大数据平台安全防御体系。

[1] Gemalto. Breach-Level-Index-Report-H1-2017-Gemalto[Z]. 2017.

[2] NIST.NIST Big Data Interoperability Framework: Volume 7[Z]. 2017.

[3] WHITE T. Hadoop权威指南(第二版)[M]. 周敏涛, 五晓玲, 金澈清,等,译.北京:清华大学出版社,2011.

[4] 陈玺, 马修军, 吕欣. Hadoop生态体系安全框架综述[J]. 信息安全研究, 2016, 2(8):684-698.

[5] Hadoop系统框架安全机制 [EB/OL]. (2017-01-18)http://www.linuxidc.com/Linux/2017-01/139675.html.

[6] Apache Ranger [EB/OL].https://hortonworks.com/apache/ranger/.

[7] 华为技术有限公司.华为FusionInsight HD 2.6产品_解决方案概述[Z].2016-05-13.

[8] Hadoop安全与隐私保护[M]. 北京:清华大学出版社,2017.

猜你喜欢
访问控制开源数据安全
五毛钱能买多少头牛
2019开源杰出贡献奖
云计算中基于用户隐私的数据安全保护方法
建立激励相容机制保护数据安全
大数据云计算环境下的数据安全
ONVIF的全新主张:一致性及最访问控制的Profile A
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术