大数据应用模式及安全风险分析

  当前各个领域数据生成速度逐渐加快,需要处理的数据量急剧膨胀。这些巨大的数据资源蕴藏着潜在的价值,需要对其进行有效的分析和利用。当前数据的特点除了数量庞大之外,数据类型也变得多样化,其中包括了结构化数据、半结构化数据以及非结构化数据。这些数量庞大、种类繁多的海量数据,给传统分析工具带来了巨大的挑战。当前对数据的分析不再是简单的生成统计报表,而是利用复杂的分析模型进行深人的分析,传统分析技术例如关系数据库技术已经不能满足其要求。在扩展性上,通过增加或更换内存、CPU、硬盘等设备原件以打一展单个节点的能力的纵向打一展(scale up)系统遇到了瓶颈;只有通过增加计算节点,连接成大规模集群,进行分布式并行计算和管理的横向打一展(scale out )系统才能满足大数据的分析需求[u。因此传统工具在扩展性上遇到了障碍,必须寻求可靠的数据存储和分析技术来分析和利用这些庞大的资源。利用云计算平台搭建Hadoop计算框架成为当前处理大数据的主要手段。然而由于云计算和Hadoop应用的特点和自身安全机制薄弱,不可避免地带来了安全风险。

  1、大数据应用模式

  云计算(Cloud Computing)是一种基于Internet的计算,是以并行计算(Parallel Computing )、分布式计算(Distributed Computing)和网格计算(Grid Compu-tin助为基础,融合了网络存储、虚拟化、负载均衡等技术的新兴产物。它将原本需要由个人计算机和私有数据中心执行的任务转移给具备专业存储和计算技术的大型计算中心来完成,实现了计算机软件、硬件等计算资源的充分共享[z}。企业或个人不再需要花费大量的费用在基础设施的购买上,更不需要花费精力对软硬件进行安装、配置和维护,这些都将由云计算服务商CSP( Cloud Service Provider)提供相应的服务。企业或个人只需按照计时或计量的方式支付租赁的计算资源。云计算服务商拥有大数据存储能力和计算资源,被视为外包信息服务的最佳选择[31因此大数据的应用往往与云计算相结合。

  Hadoop是当前最广为人知的大数据技术实施方案,它是Google云计算中的Map/Reduce}4}和GFS( Google File System)的开源实现。Hadoop提供了一种计算框架,其最为核心的技术是HDFS ( HadoopDistributed File System)以及MapReduee } HDFS提供了高吞吐量的分布式文件系统,而MapReduee是大型数据的分布式处理模型。Hadoop为大数据提供了一个可靠的共享存储和分析系统[5-6 }v

  尽管有一些组织自建集群来运行Hadoop,但是仍有许多组织选择在租赁硬件所搭建的云端运行Hadoop或提供Hadoop服务。例如提供在公有或私有云端运行Hadoop的Cloudera,还有由Amazon提供的称为Elastic MapReduee的云服务等f}l。因此将云计算与Hadoop结合处理大数据已成为一种趋势。

  2、大数据安全风险分析

  随着大数据应用范围越来越广,对数据安全的需求也越来越迫切。

  由于云计算的特点是将数据外包给云服务商提供服务,这种服务模式将数据的所有权转移给了CSP,用户失去了对物理资源的直接控制[A1。而云中存储的大数据通常是以明文的方式存在的,CSP对数据具有底层控制权,恶意的CSP有可能在用户不知情的情况下窃取用户数据,而云计算平台亦可能受到攻击致使安全机制失效或被非法控制从而导致非授权人读取数据,给大数据安全带来了威胁。

  Hadoop在设计之初并未考虑过安全问题,在Ha-doop 1. 0. 0和Cloudera CDH3版本之后,Hadoop加人了Kerberos的身份认证机制和基于ACL的访问控制机制[91。即使在安全方面增加了身份认证和访问控制策略,Hadoop的安全机制仍然非常薄弱,因为Ker-beros的认证机制只应用于客户机(Clients )、密钥分发中心(I}ey Distribution Center, I}DC )、服务器(Serv-er)之间,只是针对机器级别的安全认证,并未对Ha-doop应用平台本身进行认证[}o}。而基于ACL的访问控制策略需要通过在启用ACL之后,对hadoop-policy. xml中的属性进行配置,其中包括9条属性,它们限制了用户与组成员对Hadoop中资源的访问以及Datanode和Namenode或Jobtracke:和Tasktrackers等节点间的通信,但该机制依赖于管理员对其的配置[川,这种基于传统的访问控制列表容易在服务器端被篡改而不易察觉。而且基于ACL的访问控制策略粒度过粗,不能在MapReduce过程中以细粒度的方式保护用户隐私字段。况且针对不同的用户和不同应用,访问控制列表需要经常作对应的更改,这样的操作过于繁琐且不易维护。因此Hadoop自身的安全机制是不完善的。

  2.1 不同应用模式下CSP及Uers带来的安全风险

  云计算中Hadoop有多种应用模式。在私有云中搭建Hadoop,即企业自己应用Hadoop,使用该平台的是企业内部各个部门的员工,外部人员无法访问和使用这些资源。这时的CSP指的是Hadoop的创建和管理者,IaaS级和PaaS级CSP为相同的实体;在公有云平台应用Hadoop , C SP有2级,IaaS级CSP,提供基础设施;PaaS级C SP,负责Hadoop的搭建和管理。这时两级CSP往往是不同的实体。

  由于存储在Hadoop上的数据是明文的,所以Hadoop中的安全隐患是多方面的,笔者关注的是CSP和用户之间的安全问题,因此威胁对象分别是CSP和User,如图1所示。

  C SP对用户数据的威胁指的是:CSP权限过大可在用户不知情的情况下获取用户数据。用户对CSP构成的威胁指的是:Faked用户获取合法用户数据或者恶意用户对CSP发起不合法请求,获取隐私数据。本文对位于Hadoop中不同状态的数据可能受到的威胁点用三角表示,如图2所示。其中1 ,5位置均指的是HDFS中,所以受到的威胁是相同的。

  Malice IaaS级CSP可以通过物理磁盘在位置1,3 ,4 ,5对数据进行获取。Hadoop中主要的文件结构有如下几种:SequenceFile , RC File , Avro、文本格式、外部格式。其中有些文件格式是二进制形式的,但像文本格式和外部格式并不都是二进制格式,因此是可读的。由于是明文存储,CSP便可以通过读取数据块内容提取有价值的部分进行分析。IaaS级CSP对数据具有绝对的控制权,如果从物理磁盘窃取文件或数据块,便获得了其中的内容。可以通过建立第三方审计系统来保障其安全,这部分不在本文的讨论范围内。

  Malice PaaS级CSP可以在用户不知情的情况下通过超级用户身份即特权管理员身份对文件权限进行更改,以合法身份对数据进行读取和分析。因此可以在位置1 ,2,5进行数据窃取。不过在1 ,5的位置获取数据是通过向Namenode请求数据块,从Datan-ode获取数据。

  Fucked Use:假冒合法用户身份对数据进行读取,一旦获取了合法用户身份,便与合法用户拥有相同的权限,可以在1 ,5的位置通过向Namenode请求数据块,从Datanode获取数据,也可以在2的位置输出需要的数据进行分析。

  Malice Use:在利用数据拥有者提供的数据进行分析时,窃取部分敏感字段进行分析和输出。可以在2中提取数据,在计算完后通过5获取分析结果。

  2. 2 威胁模型

  上面提到的是提供Hadoop服务的C SP和使用Hadoop的Use:之间的安全风险,接下来对使用Ha-doop的用户Use:角色进行细化,分析他们之间对数据隐私的窃取产生的安全问题。在云中搭建Hadoop提供服务的应用场景下,数据使用者收集数据拥有者的数据,并将数据分块存储于HDFS中,数据计算者提供对数据分析的代码,CSP提供数据存储和分析平台。因此涉及4类主体,数据拥有者、数据使用者、数据计算者和云服务提供商CSP。这里的不可信实体包括数据计算者和C SP。笔者通过实际的例子给出Hadoop中获取隐私信息的可能途径。

  依据Airavat系统中描述的威胁场景,给出对应的安全威胁模型:

  一个在线零售商BigShop ,拥有大量的客户交易数据库。现在假定所有记录是以<客户、订单、日期>的形式存在数据库中,每个客户一份记录。一个机器学习专家Researcher,付给BigShop一些钱用来对特定的交易模式进行数据挖掘。BigShop加载数据到Hadoop框架中,Bob写MapReduce代码分析它。这里按照对角色的划分,BigShop属于数据使用者和CSP,客户为数据拥有者,Researche:为数据计算者。

  假设Researche:想要得到特殊日子D的订单数口。他写了一个Mappe:用来读取每份记录,如果记录日期D,就输出键/值对} K是字符串序列,reduce仅仅汇总与之有关的每个关键字K,并输出结果。

  这种情况下,对于BigShop的主要风险就是Re-searche:的代码是不可信的,可能是有无意的漏洞或者是主动恶意漏洞。由于Researche:的Mappe:程序直接访问BigShop专有的交易记录,它可以存储部分数据到某个文件中,过后由Researche:取走;或者程序把数据发送到网络上。

  这样的泄露可能使得BigShop在商业上处于不利的地位并且由于没有经过客户的同意把交易数据公开而遭受信誉问题。输出的计算结果可能也会泄露信息。例如,Researche:的Mappe:程序可能会在输人的数据库中标记存在的(或者不存在)的一个特定客户,通过操控特定日期的订单数口:如果该客户的记录在这个数据集中,Mappe:程序输出一个一百万的订单数口;否则,输出0。很明显,这个结果泄露了客户的隐私。

  上述提到的安全风险来自于数据计算者,这里的CSP是BigShop自身,数据由BigShop进行维护,并在其上进行计算,因此不存在安全问题。但是如果Big-Shop自身没有相应存储和计算设施或并未搭建和使用Hadoop框架,则需要应用外包服务模式,利用其它云服务商提供的Hadoop服务,此时安全风险除了来自数据计算者,还有C SP对数据的窃取,以及云平台由于出现漏洞受到黑客攻击,例如黑客通过Root-kith "}方式强迫口标操作系统安装它的Hypervisor,并把口标操作系统移人一个普通的虚拟机中运行,由于在虚拟化环境中Hypervisor拥有最高特权,因此Ro-otkit可以获得整个物理机的控制权,对数据安全构成威胁。

  因此上述威胁可以归纳为:

  1)恶意的PaaS级CSP通过给自己设定权限对数据进行窃取,或通过备份中间数据到其他位置进行访问,或不彻底删除放人云中的数据,留作他用。

  2)在平台安全机制失效的情况下,黑客通过某些途径获得root权限随意读取数据,或伪造数据使用者身份读取数据或进行篡改。

  3)数据计算者通过map过程输出某些敏感信息,并使用MapReduee进行统计。

  3、安全策略

  在大数据应用模式下,对文件及文件系统的保护称为数据服务安全保护,对存储的键值内容及计算输出结果的保护称为隐私保护。从行为角度考虑服务安全性的同时,同样需要考虑数据隐私安全问题。

  对上面提到的安全问题,本文提出以下安全策略:

  首先,需要对CSP和Use:的身份及平台进行完整性验证。Kerberos的双向认证可以保证用户和CSP双方身份安全,这是在请求发起时所作的认证。

  其次,在保障了身份的可靠性后,还需要验证平台的安全性,平台安全性可以通过可信计算技术,利用TPM搭建可信云计算环境,对平台环境进行度量,建立可信链,将可信链从物理层扩展到虚拟化层,保障云平台的安全性。

  最后,需要在数据使用过程中对行为请求进行监控,建立监控机制可以保障CSP对数据的非法请求,同时可以监控数据计算者对数据的非法运算和输出。可以通过使用LSM ( Linux Security Module)设立相应的访问控制策略,利用hook函数对内核调用进行控制[n},允许合法行为对数据的访问,拒绝非法的不可信行为,保障数据流向合法请求主体。

  4、结束语

  本文首先提出大数据的应用模式是在云计算环境下使用Hadoop计算框架对大数据进行存储和分析。给出在不同云计算部署模式下,Hadoop不同阶段操作过程中,不可信主体对数据服务和隐私安全构成的威胁,并给出了对应的威胁模型实例,得出在平台环境可信的情况下,风险主要来自于CSP及数据计算者。CSP可以在不被用户知晓的情况下更改文件权限获取数据内容,数据计算者可以通过计算程序输出隐私字段等方式获取相关数据,因此需要保障数据服务及隐私安全。最后对相关安全问题给出了对应解决策略。

 

上一篇:智能无惧挑战 山石网科轰动RSA2015

下一篇:专家支招解决云计算五大安全难题