大数据的安全挑战

大数据架构和平台算是新事物,而且还在以一种非凡的速度不断发展着。商业和开源的开发团队几乎每月都在发布其平台的新功能。当今的大数据集群将会与将来我们看到的数据集群有极大不同。适应这种新困难的安全工具也将发生变化。在采用大数据的生命周期中,业界仍处于早期阶段,但公司越早开始应对大数据的安全问题,任务就越容易。如果安全成为大数据集群发展过程中的一种重要需求,集群就不容易被黑客破坏。此外,公司也能够避免把不成熟的安全功能放在关键的生产环境中。

“大数据”一词常被误解。事实上,使用频率太高反而使它几乎没有什么意义了。大数据确实存储并处理大量的数据集合,但其特性体现远不止于此。

在着手解决大数据问题时,将其看作是一种观念而不是特定的规模或技术非常有益。就其最简单的表现来说,大数据现象由三个大趋势的交集所推动:包含宝贵信息的大量数据、廉价的计算资源、几乎免费的分析工具。

如今,有很多特别重视不同数据类型(例如,地理位置数据)的大数据管理系统。这些系统使用多种不同的查询模式、不同的数据存储模式、不同的任务管理和协调、不同的资源管理工具。虽然大数据常被描述为“反关系型”的,但这个概念还无法抓住大数据的本质。为了避免性能问题,大数据确实抛弃了许多关系型数据库的核心功能,却也没犯什么错误:有些大数据环境提供关系型结构、业务连续性和结构化查询处理。

由于传统的定义无法抓住大数据的本质,我们不妨根据组成大数据环境的关键要素思考一下大数据。这些关键要素使用了许多分布式的数据存储和管理节点。这些要素存储多个数据副本,在多个节点之间将数据变成“碎片”。这意味着在单一节点发生故障时,数据查询将会转向处理资源可用的数据。正是这种能够彼此协作的分布式数据节点集群,可以解决数据管理和数据查询问题,才使得大数据如此不同。

上图显示的是一个Hadoop文件系统的架构图,显示出数据节点和客户端如何交互。

节点的松散联系带来了许多性能优势,但也带来了独特的安全挑战。大数据数据库并不使用集中化的“围墙花园”模式(与“完全开放”的互联网相对而言,它指的是一个控制用户对网页内容或相关服务进行访问的环境),内部的数据库并不隐藏自己而使其它应用程序无法访问。在这儿没有“内部的”概念,而大数据并不依赖数据访问的集中点。大数据将其架构暴露给使用它的应用程序,而客户端在操作过程中与许多不同的节点进行通信。

规模、实时性和分布式处理:大数据的本质特征(使大数据解决超过以前数据管理系统的数据管理和处理需求,例如,在容量、实时性、分布式架构和并行处理等方面)使得保障这些系统的安全更为困难。大数据集群具有开放性和自我组织性,并可以使用户与多个数据节点同时通信。验证哪些数据节点和哪些客户应当访问信息是很困难的。别忘了,大数据的本质属性意味着新节点自动连接到集群中,共享数据和查询结果,解决客户任务。

嵌入式安全:在涉及大数据的疯狂竞赛中,大部分的开发资源都用于改善大数据的可升级、易用性和分析功能上。只有很少的功能用于增加安全功能。但是,你希望得到嵌入到大数据平台中的安全功能。你希望开发人员在设计和部署阶段能够支持所需要的功能。你希望安全功能就像大数据集群一样可升级、高性能、自组织。问题是,开源系统或多数商业系统一般都不包括安全产品。而且许多安全产品无法嵌入到Hadoop或其它的非关系型数据库中。多数系统提供最少的安全功能,但不足以包括所有的常见威胁。在很大程度上,你需要自己构建安全策略。

应用程序:面向大数据集群的大多数应用都是Web应用。它们利用基于Web的技术和无状态的基于REST的API。虽然全面讨论大数据安全的这个问题超出了本文的范围,但基于Web的应用程序和API给这些大数据集群带来了一种最重大的威胁。在遭受攻击或破坏后,它们可以提供对大数据集群中所存储数据的无限制访问。应用程序安全、用户访问管理及授权控制非常重要,与重点保障大数据集群安全的安全措施一样都不可或缺。

数据安全:存储在大数据集群中的数据基本上都保存在文件中。每一个客户端应用都可以维持其自己的包含数据的设计,但这种数据是存储在大量节点上的。存储在集群中的数据易于遭受正常文件容易感染的所有威胁,因而需要对这些文件进行保护,避免遭受非法的查看和复制。