【交易技术前沿】浅析大数据的安全防线 / 江家仁
﻿ 本文选自 《交易技术前沿》 第二十八期 (2017年9月) 上海证券交易所总工程师办公室 江家仁 e-mail : 摘 要: 这几年金融行业正经历一场由大数据等新技术所引导的变革,一方面是大数据巨大的价值潜力带来的发展机遇,另一方面是大数据发展中仍面临着诸多的挑战1,其中数据安全就是一项较为突出的问题。本文着眼于分析大数据技术遇到的安全威胁,并根据大数据技术特征和处理流程特点,从数据采集、数据存储、数据计算三个方面给出防范建议。 正文: 这几年金融行业正经历一场由大数据等新技术所引导的变革,数据本身已经成为行业最重要的资产,从各个金融组织及企业都需要运用到大数据资源,其已然成为fintech和regtech的发动机。通过对大数据资源的持续开发与利用,这些技术在产业链中的应用才能水到渠成。但是,随着数据采集的集中化、数据存储的规模化、以及数据计算与处理的分布式开放化,对产业链中数据进行安全防护变得更加困难。那么,在运用大数据技术的过程中如何确保用户及企业自身信息资源不被泄露、防范大数据面临的安全威胁,成为当前业内重点研究与考虑的问题。 一、分析大数据核心防线安全威胁 大数据的核心价值在于从海量的各产业链复杂数据中挖掘出有价值的信息,通过大数据技术进行更快的分析、更准确的预测,从而构建fintech下以数据为中心的企业大数据生态(edh)1,但就目前而言,大数据的新特征对传统的基础设施、存储、网络、信息资源等都提出了更高的安全要求,而按照大数据技术特征和处理流程,可以将整个过程概括地划分为采集、存储、计算三个阶段,此次研究将把这三个阶段作为三条核心安全防线加以探讨,其技术视图如下所示。 图1 大数据安全防线技术视图 1、数据采集阶段 数据采集是为大数据面向用户开放提供应用服务的先决条件,为了支持大数据的采集,通常需要创建支持大数据环境的基础设施。例如,需要高速的网络来收集各种数据源,大规模地对海量数据进行处理,还需要运用带有虚拟化和分布式性质等特点的各种服务器和计算设备对数据进行清洗分析与应用。这一阶段为后续给用户带来各种大数据新应用和数据价值挖掘提供了基础来源,也是我们容易忽视、正遭受到较大安全威胁的技术环节,主要包括以下几点: 1) 信息的泄露或丢失,包括数据在传输中泄露或丢失,以及黑客通过建立隐蔽隧道窃取敏感信息。采用的攻击手段通常是利用电磁泄漏或搭线窃听方式截获机密信息,或通过对信息流向、流量、通信频度和长度等参数的分析,窃取敏感的、有价值的信息。 2) 采集传输过程中破坏数据完整性。由于大数据采集使用的分布式和虚拟化架构,意味着比传统的基础设施有更多的数据传输,大量数据在一个或几个共享数据集市中被复制和集成,当传输数据加密强度不高时,黑客能够通过实施嗅探、中间人攻击、重放攻击来窃取或篡改数据。 3) 采集过程中高级持续性威胁(advanced persistent threat, 以下简称apt)攻击。通过对网络服务系统的不断干扰,改变其正常的作业流程或执行无关程序,导致系统响应迟缓,影响系统对数据采集的正常响应,甚至使合法的系统调用遭到拒绝,不能得到相应的服务。 2、数据存储阶段 在传统的数据安全中,攻击数据的存储系统是非法入侵的重要环节,也是我们在构建安全防护体系时需要着重考虑的环节。首先,大数据对存储的需求主要体现在多种数据格式的适应能力。格式多样化是大数据的主要特征之一,这就要求大数据存储管理系统能够适应对各种非结构化数据进行高效管理的需求。其次,为大数据存储设计数据存储管理系统,开源的系统架构如google bigtable和hadoop hbase等非关系型数据库(nosql),通过使用"键-值(key-val e)"结构、文件结构等非二维表的结构,能够适应非结构化数据多样化的特点。同时,面向分析型业务,以降低一致性为代价提升并发性能,并逐步把关系型数据库的操作便捷性特点和非关系型数据库灵活性的特点结合起来。但因此也带来的新的安全威胁,主要包括以下几点: 1) 模型成熟度不够。目前的sql技术标准具有严格的访问控制和权限管理机制,而在nosql模式中,并没有这样的要求。事实上,nosql无法沿用sql的模式,需要重新为其新的属性定义安全策略。例如,与传统sql数据存储相比,在nosql数据存储中,列和行级的安全性更为重要,修改行列属性应该得到约束,需重新设计保护策略。 2) 系统成熟度不够。与关系型数据库系统相比,nosql及其文件服务器系统的安全机制远未到达成熟期,系统容易产生漏洞,虽然nosql可以从传统的关系型数据库安全设计中学习经验并不断改进,但至少目前市面上很多nosql产品和应用程序仍然是存在着各种漏洞。 3) 数据冗余和分散性问题。大数据采用的非关系型数据库的优势是扩展简单、读写快速和成本低廉,但由于未提供对sql的支持,缺乏强有力的数据库范式算法支撑,加之与关系型数据库数据存储位置相对集中不同,非关系型数据库数据分散在不同的地理位置、不同的服务器中,导致较难实现数据的完整性检验。 3、数据计算阶段 大数据计算阶段是数据密集型分析挖掘,需要巨大的计算能力。与传统"数据简单、算法复杂"的高性能计算不同,大数据的计算是数据密集型计算,对计算单元和存储单元间的数据吞吐率要求极高,对性价比和扩展性的要求也非常高。 针对不同计算场景建立和维护不同计算平台的做法,硬件资源难以复用,管理运维也很不方便,研发适合多种计算模型的通用架构成为业界的普遍诉求。为此,apache hadoop中的mapred ce架构来解决大数据划分、计算任务调度、以及资源扩展等问题。 目前,业内大数据计算的分布式运算平台也主要采用的是hadoop2.x mapred ce架构,将数据分成多个块,针对每个块先做mapper处理,得到一系列的key-val e对,然后再由red cer聚类同一个key的值,得到结果。这里主要会产生两方面的安全威胁:一方面mapper之间没有可靠的互信认证安全机制,容易遭到恶意干扰或意外事件引发的错误,而依赖于mapper运算结果正确性的hadoop计算结果将因此产生错误,导致最终数据计算结果出现偏离和错误；另一方面,在初次执行运算过程中,大量mapper中存有的key-val e包含了用户隐私或敏感信息段,通过攻击一个mapper节点可以未经授权的访问和窃取其中的数据,从而导致用户隐私数据泄漏、认证失效甚至密钥丢失,并且难以定位其中的数据并进行统一策略保护。 二、保障大数据核心防线安全 随着大数据技术的深入应用,如何进行安全保障越来越成为大数据产业及安全业界关注的重点,一方面由于数据采集、数据存储、数据计算等特点引发了很多新的安全问题；另一方面大数据技术的应用过程也对传统安全技术及其应用产生了深远的影响。因此,大数据核心防线安全保障应基于"从数据采集过程安全,到数据全生命周期存储安全,再到构建面向数据计算的纵深安全保障并兼顾健全安全策略体系建设"的发展思路。 1、数据采集阶段应重视高级持续性威胁攻击和传输安全问题 数据采集阶段的主要工作是对数据的采集与汇聚,安全问题主要集中在对采集过程的apt攻击和汇聚过程的数据传输威胁上。 大数据采集普遍使用的基于分布式和虚拟化架构的防御体系很难有效对抗apt攻击,需要转换一下我们传统的安全思维模式,即放弃保护所有的数据,而集中力量重点保护关键数据,在可能受到安全威胁的重要环节上部署检测和预警探针,建立一种新的安全防御机制来防止大量apt攻击直到过了很长时间后才能被发现,甚至依旧未被发现的情况出现。apt攻击的特征主要包括对网络的探测扫描、内部服务器与外网的非授权连接与通信、下载恶意程序到目标主机上进行感染与传播等等,所以探针要对采集系统的主机行为,网络行为,物理访问进行全面地监视和行为记录,行为监控探针应尽可能部署在驱动层的底部,避免被apt攻击者探测到监控探针的存在。 此外,汇聚过程的数据传输也可能存在数据丢失、泄露、窃取等安全风险,需要通过ipsec vpn或ssl vpn结合数据检验技术手段来保护传输数据的机密性。可采用的技术手段包括数据签名、数字信封、以及在数据分组中加入时间戳或特殊的唯一标识等,从而能够加密传输链路、实现源端与目的端之间的身份认证,并且能够抵抗重放攻击。在实际应用中,选择数据传输加解密算法类型和认证方式时,需要考虑在计算开销和效率之间寻求平衡,以优化安全防御机制的性能。 2、数据存储阶段应重视hadoop安全机制 大数据关键在于数据分析和利用,因此不可避免增加了数据存储的安全风险,在大数据存储阶段,应重点考虑hadoop的非关系型数据库安全机制的运用。 大数据存储建议采用hadoop hbase,能够为nosql提供一些安全方面的支持,包括基于acl的服务级权限控制、基于令牌的认证机制、基于hdfs数据存储的完整性验证等。通过acl的服务级权限控制,hadoop能够保证hbase数据库底层hdfs文件系统的服务级安全访问,并且通过用户和组的限制,防止攻击者对数据进行操作。文件的权限主要由namenode管理,通过令牌认证机制保证私密性,namenode周期性地更新masterkey来产生新的授权令牌,hdfs集群启动时从namenode中获得密钥key来实现认证。数据完整性方面的保障通过hdfs的数据存储完整性验证来实现,主要技术手段是通过核心类datablockscanner实现,它能够在datanode的后台执行一个独立的扫描线程,周期性的对数据进行crc校验和检查,确保hdfs中数据存储的完整与安全。此外,运用hdfs优化副本保存和备份的机制,尤其对于核心数据启用远程容灾备份和其他额外的数据备份与恢复,能够提高数据的可靠性和可用性,实现数据可靠保护。 3、数据计算阶段应重视统一安全策略管控和关联审计 在大数据技术阶段,需要对接入的mapper节点和其上的实体信息进行访问控制与身份认证,通过安全的方式与数据存储系统对接,hadoop系统要保存完整的操作处理日志,以便审计。在保证数据的完整性、准确性的同时,不能泄露企业的核心数据和个人隐私信息。因此,大数据计算过程必须通过统一安全策略进行管理,实现鉴权、审计等功能,例如对算法的安全性和可靠性提供必要的验证与测试方案,规范算法使用的数据范围、计算周期,以及计算结果的应用范围等。而在数据应用前,需要有效的技术手段保障数据自身的安全性,防止数据盗用和回写等违规操作。设置数据溯源策略,在进行数据发布时,针对重要数据为每个请求访问获得数据加载的唯一数字水印,当发现有泄密情况时,能够通过水印提取的方式鉴权,检查发生问题的数据的去向,确定数据泄露的源头,并且及时进行封堵。审计分析须具备关键字分析、统计分析和关联分析等能力,通过行为合规性、内容合规性、计算加密要求等检验技术,对敏感数据的访问、关键的计算处理、日志的记录、输出的数据等信息进行关联分析和审计。 三、小结 在金融业fintech+regtech战略的落实与深入的背景下,作为战略的发动机-大数据,应抓住发展其安全技术的机遇期,在保护大数据安全的需求愈来愈迫切、业界主流厂商对大数据安全的研究投入不断增大的趋势下,更加需要针对大数据安全的核心防线,从包括采集阶段、存储阶段和计算阶段的核心流程上提出有针对性的、有效的解决方案,理论结合实践,建立并完善大数据安全保障体系,提高大数据安全技术和信息安全防护的整体防范水平,最终让大数据安全由被动防御变成主动防护和智能化预测,为自身业务领域变革提供新的驱动力。 参考文献 1 技术公司.大数据基础平台技术方案 v1.1.  2 thomas erl. big data f ndamentals - concepts, drivers & techniq es, 2016(16) 3 tom white. hadoop权威指南:大数据的存储与分析(第3版), 2015 (16) 作者简介 江家仁,男,现任职于上海证券交易所总工程师办公室,负责所内信息安全管理工作。