现在,很多组织机构收集大量的用户数据进行各式各样地分析。例如,商业公司通过分析用户点击流数据来挖掘用户的偏好信息,以期能够为用户提供特定的广告服务。组织机构内部的计算能力常常是有限的,并不能够支持复杂的数据分析任务。这种计算能力的限制过去常常是这些组织结构的一大障碍,现在的公有云服务(如,Amazon EC2)提供了一种可行的办法。但是,组织机构将自己数据上传到公有云上后如何进行安全地计算,是一个重要的挑战。例如,现有的部署在混合云上的MapReduce系统,未考虑敏感数据在公有云上的存储和计算带来的数据泄露风险问题。该系统将敏感信息直接开放给公有云或者对公有云基础设施有专门访问权限的内部用户,带来了一定的安全隐患。
为了应对公有云不被用户信任的问题,研究人员提出一个混合云的方案——敏感数据在企业内部的私有云上计算、非敏感数据在公有云上计算。该方案的关键就是要设计灵活的调度方法实现敏感数据与非敏感数据的隔离。
一、研究动机
1. 混合云场景下,最大化的利用公有云的资源,并阻止敏感信息泄露。主要原因是:从计算性能的角度来看,MR框架在公有云上的计算时更有效率的。
2. 阻止直接泄露:敏感数据被直接传输到公有机器上进行存储和计算
3. 阻止key-inference泄露:把敏感数据存储、计算留在私有云是不够的,reduce计算会把公有云里与私有云里的敏感数据有相同key的非敏感数据被拉取到私有云计算,因此,通过监控公有云与私有云的通信,公有云数据的key就泄露了私有云里对应的key。例如,Chris得过流感的记录(Chris,flu)作为非敏感记录存在公有云中,Chris患癌症的记录(Chris,cancer)作为敏感记录存储在私有云中,现在要获取每个病人的患病列表,(Chris,flu)记录被拉取到私有云中与(Chris,cancer)记录进行reduce计算,通过监控这个中间的通信过程,攻击者就可以推断Chris患有非常敏感的癌症。
二、威胁模型
1)假设私有云是可信的,攻击者不能访问私有云机器和通信信道
2)攻击者可以完全控制公有云,很容易对输入、中间结果和输出进行访问
3)攻击者可以窃听公有云与私有云之间的通信信道,可以对私有云进行统计攻击
三、解决方案
1)为了阻止直接泄露,semrod将敏感数据存储、计算留在私有云
2)为了阻止key-inference泄露,semrod分两种情况处理:single-level MR(即只有一个map-reduce阶段)和multi-level MR
3)对于single-level MR,公有云里的map算子在公有云里处理非敏感数据,私有云里的map算子在私有云里处理敏感数据,并在私有云构建一个keyset存储敏感数据的key,该keyset将在reduce阶段使用。公有云里的reduce算子只能拉取非敏感的输出进行聚合,最终实现非敏感数据的聚合;私云里的reduce算子可以拉取map的全部输出,并通过keyset过滤掉非敏感的key进行聚合,最终实现敏感数据的聚合。这样的话,有一部分既存在与公有云的key又存在私有云key,被计算了两次,私有云里的聚合计算是正确的,因之拉取了全部map输出,而公有云里的聚合计算是错误的,因之只拉取了非敏感的map输出。所以,最后一步是把公有云里的错误结果消除,消除的根据就是公有云与私有云共现的key。消除的位置是私有云,需要把公有云里的输出结果拉取到私有云里。
4)对于multi-level MR,每次map-reduce阶段完成后,不能直接消除错误结果,因为在此方案的情况下,需要在私有云里消除错误结果,并且最终的结果要全部视作敏感的,不然的话就存在key-inference泄露,并且出现负载不均衡的问题,后续计算全在私有云里。因此,在mutli-levelMR的情况下,需要将错误结果不断标记并带入计算,在最终的输出中消除错误结果,而不是每个map-reduce阶段完成时消除。当然,随着计算链条的增加,错误结果集会随之增大。尽管如此,正确的结果集始终存在于最终输出中。
四、评价与贡献
1) 相较于其他混合云的实现,Semrod的实现最大化利用了公有云的资源。
2) 在解决最大化利用公有云的资源方案的时候,产生了key-inference泄露问题,semrod通过改变reduce拉取map的输出方式把这个问题克服了。
3) 在克服key-inference泄露问题的时候,又面临复杂计算链的问题,semrod通过调整消除结果的方式在保证最大化利用公有云资源的情况下又把复杂计算链的问题克服了。
4)该方案是一个比较完整的方案。
五、缺点和争议
1)标记的错误结果随着计算链条的增长不断增加,由此产生额外的开销也增大
2)未考虑reduce计算之后敏感性Relax的情况,这个需要具体任务具体分析
3)未考虑Inference ControlProblem,通过引用作为补充工作
六、下一步工作方向
保密
七、遗留问题
1) 引用文献中的Inference Control Problem