热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Spark安全威胁及建模方法

转载请注明出处:http:blog.csdn.nethsluoycarticledetails43977779索取本文Word版本请回复,我会通过私信发送本文主要通过官方文档、相关论文、业

转载请注明出处:http://blog.csdn.net/hsluoyc/article/details/43977779

索取本文Word版本请回复,我会通过私信发送


本文主要通过官方文档、相关论文、业界公司和产品三个方面来论述Spark安全威胁及其建模方法,详细内容如下。


第1章           官方文档[1]

目前Spark支持共享密码的认证方式。可以通过设置spark.authenticate这个参数实现,这个参数控制Spark的通信协议是否用共享的密码进行验证。这个认证协议是一个基础的握手协议,通过令通信双方具有相同共享密码保证其之间能够直接通信。如果共享的密码不相同,那么他们将不会被允许通信。共享密码通过如下方式生成:

•     对于Spark在yarn上部署的模式,可以实现共享密码的自动生成和分发,每个应用能够使用唯一的共享密码;

•     对于Spark的其他部署模式来说,Spark的spark.authenticate.secret密码参数应该在每一个节点上进行配置。这个密码会被所有的Master/Workers及应用使用

•     注意:Netty shuffle path (spark.shuffle.use.netty)功能还处于试验阶段,并不安全,生产环境请不要使用Netty for shuffles。


1.1           Web UI安全


Spark的Web UI界面可以通过设置spark.ui.filters参数启用javax.servlet.filters来提高安全性。如果一个用户不想让其他的人看到他的数据,他可以对UI进行安全设置。用户通过使用javax.servlet过滤器可以对其他用户进行验证,一旦其他用户登录进入Spark,系统此时会在该用户与视图访问控制列表之间进行比较分析,以确保该用户有权查看所有者用户的UI界面。需要注意的是,启动应用的用户可以查看自身UI而不受限制。在yarn模式下,Spark的UI使用标准的yarn的web应用代理机制,并能通过已安装的hadoop的过滤器进行认证。

Spark同时也支持通过修改访问控制列表的方式来控制哪个用户可以访问、修改正在运行的Spark应用,其中包括终止一个应用或任务。这里可以通过spark.acls与 spark.modify.acls参数来进行配置。在yarn模式中,修改访问控制列表可以通过yarn的接口完成。

Spark允许管理员在访问控制列表中指定哪个用户对所有应用程序总都具有查看、修改权限。这里可以通过spark.admin.acls参数进行配置。这对在一个共享集群中,管理员或技术支持帮助用户调试有问题应用的场景下非常有用。


1.2           事件审计安全


如果要开启事件审计功能,存放事件日志的文件夹(路径通过spark.eventLog.dir 参数设置)需要提前手工创建,并且使Spark对这个目录有访问权限。如果希望日志文件更安全,可以为这个文件夹设置drwxrwxrwxt权限。这个文件夹的所有者应该设置为启动history server的root用户并且其用户组权限应该加入到root用户组。这样设置可以保证非所有者的其他用户可以在该文件夹下写,但是不能移动或者重命名文件。这样事件日志只会被root用户和Spark系统生成和修改,从而保证其安全性。


1.3           网络端口安全


Spark对网络通信的需求很高,在某些环境中对防火墙的设置有非常严格的要求。以下展示了Spark用来通信的主要端口,以及如何配置这些端口的建议。


1.3.1       Standalone模式




1.3.2       基于集群管理器(如yarn)的模式



可以在配置界面的安全配置参数里查看更详细的使用信息,或者查看源代码org.apache.spark.SecurityManager包中有关安全管理的实现细节


第2章           相关论文

目前学术界中专门研究Spark安全的文章还没有,有些文章只是在文中提到了安全问题。代表性的有以下几篇:

文章[2]提到,在多媒体计算框架中,用户采用分布式的方式存储和处理他们的多媒体应用数据,从而避免自身安装庞大的多媒体应用软件。在云环境下多媒体的处理对以下很多方面都提出了巨大挑战,包括:基于内容的多媒体检索系统、分布式复杂数据处理、云端QoS支持、多媒体云传输协议、多媒体云覆盖网络、多媒体云安全、基于P2P云端的多媒体服务等等。Spark Streaming支持大规模流式数据处理,其安全威胁与多媒体云安全有共通之处。由于多媒体数据如视频是很私密的内容,在利用Spark Streaming进行多媒体数据处理时,需要进行身份认证,同时利用安全协议如RTMP将多媒体数据进行加密传输[3]

文章[2]提到,由于Spark等内存计算平台需要使用到分布式、甚至是第三方的服务和基础设施用来存放重要数据或者执行关键操作,这对动态数据监控和安全保护提出了巨大挑战。不像传统的基于MapReduce的安全机制,只需要对硬盘上的静态数据集进行安全防护,在Spark中数据是在内存中存储,并且经常动态变化的,包括数据模式、属性和新添加数据的变化。因此有必要在这种复杂环境下进行有效的隐私保护。

文章[4]提到,安全问题在实际图计算系统中非常重要,但是现有的研究对这类安全问题的关注很少。可能存在的问题是,网络节点完全符合传输协议的要求只是一种假设,有可能会出现拜占庭错误。需要有一种机制能够检测和修复节点失效、链路失效的问题Spark GraphX作为图计算、图挖掘框架,也存在此类问题。


第3章           业界公司和产品

3.1           DataStax公司


DataStax公司推出了基于Apache Cassandra和Spark的商业数据分析平台DataStaxEnterprise(DSE,最新版本4.6)产品[5],在原有开源Spark的基础上进行了安全加固。包括:

1)不仅支持内部自带的加密认证方式,还支持支持可信任的第三方安全软件包(例如Kerberos和LDAP)与DataStaxEnterprise结合;

2)数据审计、客户端-节点之间的透明加密;

3)OpsCenter中的多种工具改进提升了可管理性,例如更简单的配置、备份/恢复的粒度控制、更好的诊断;

4)在Spark和Shark中对Cassandra数据库访问时进行密码验证[6];

5)基于关系型数据库中GRANT/REVOKE模式的简单对象权限管理。


3.2           Sqrrl公司


Sqrrl是一家专攻安全大数据平台的公司,创建于2012年,总部位于麻省坎布里奇,Sqrrl是围绕美国国家安全局(NSA)开发的开源NoSQL数据库Apache Accumulo(来源于谷歌开发的大数据技术BigTable,最初是由NSA开发,后被分拆出来作为一个开源项目)建设起的一项业务。

Sqrrl的联合创始人兼首席技术官亚当·福克斯(Adam Fuchs),其同时也是Apache Accumulo的联合创始人之一。截止ECP发稿日期,Sqrrl已从Atlas Venture和Matrix Partners等风险投资公司那里筹集到了200万美元资金。

Sqrrl Enterprise [7]是一个用于开发实时分析应用的安全的可扩展平台。Sqrrl Enterprise利用了Spark中的GraphX图计算引擎来实现动态实体关系图的构建和分析[8],因此可以认为Sqrrl是基于Spark实现的商业化产品

Using Sqrrl Enterprise and the GraphX libraryincluded in Apache Spark, we will construct a dynamic graph of entities andrelationships that will allow us to build baseline patterns of normalcy, flaganomalies on the fly, and analyze the context of an event.

Sqrrl Enterprise安全功能主要包括[9]:

1Cell级别的安全强制执行:每次用户试图在数据上执行某种操作时,系统会评估此数据携带的可见性标签(visibility label);

2)数据标签引擎:根据用户定义的规则,系统可以对数据的各个字段自动进行打标签操作;

3)策略声明引擎:系统能够基于预定义的策略,能够自动将访问特定visibility label的权限赋予用户或用户组。策略引擎作为策略执行点(PDP),提供实时的RBACABAC策略的解析和支持;

4)加密:系统能够对静态或动态数据进行加密,支持第三方的加密算法和库,能够与第三方的秘钥管理系统无缝集成;

5)安全搜索:Search index可能造成数据泄露,本系统能够实现语汇级别的安全,保证数据的索引能够符合数据元素的安全策略;

6)审计:本系统能够自动生成不可篡改的日志,上面记录了所有动作,可以用来验证合规性、预警和数字取证。

随着最新版SqrrlEnterprise 2.0的发布,Sqrrl将从有限的发布阶段接入全面供货阶段。Sqrrl Enterprise还提供了更多基于Apache Accumulo的高级安全工具、增强的分析功能、以及像JSON这样的特性。新的分析功能包括全文搜索,使用Apache Lucene、SQL、统计以及图形搜索。

 

 


第4章           参考文献

[1] http://spark.apache.org/docs/1.2.0/security.html

[2] Ji, Changqing, et al. "Big data processing: Big challengesand opportunities." Journal of Interconnection Networks 13.03n04 (2012).

[3] Chang, Qian, Zehong Yang, and Yixu Song. "A scalable mobilelive video streaming system based on RTMP and HTTP transmissions."Advanced Research on Computer Science and Information Engineering. SpringerBerlin Heidelberg, 2011. 113-118.

[4] Rahimian, Fatemeh. "Gossip-Based Algorithms for InformationDissemination and Graph Clustering." (2014).

[5] http://www.datastax.com/what-we-offer/products-services/datastax-enterprise

[6] http://www.datastax.com/documentation/datastax_enterprise/4.5/datastax_enterprise/spark/sparkPwdAppl.html

[7] http://sqrrl.com/product/sqrrl-enterprise/

[8] http://sqrrl.com/resources/

[9] http://sqrrl.com/product/data-centric-security/

 


推荐阅读
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 该大学网站采用PHP和MySQL技术,在校内可免费访问某些外部收费资料数据库。为了方便学生校外访问,建议通过学校账号登录实现免费访问。具体方案可包括利用学校服务器作为代理,结合身份验证机制,确保合法用户在校外也能享受免费资源。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 在iOS开发中,基于HTTPS协议的安全网络请求实现至关重要。HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer)是一种旨在提供安全通信的HTTP扩展,通过SSL/TLS加密技术确保数据传输的安全性和隐私性。本文将详细介绍如何在iOS应用中实现安全的HTTPS网络请求,包括证书验证、SSL握手过程以及常见安全问题的解决方法。 ... [详细]
  • C++ 开发实战:实用技巧与经验分享
    C++ 开发实战:实用技巧与经验分享 ... [详细]
  • 深入解析HTTPS:保障Web安全的加密协议
    本文详细探讨了HTTPS协议在保障Web安全中的重要作用。首先分析了HTTP协议的不足之处,包括数据传输过程中的安全性问题和内容加密的缺失。接着介绍了HTTPS如何通过使用公钥和私钥的非对称加密技术以及混合加密机制,确保数据的完整性和机密性。最后强调了HTTPS的安全性和可靠性,为现代网络通信提供了坚实的基础。 ... [详细]
  • 本文深入解析了 Kubernetes 控制平面(特别是 API 服务器)与集群节点之间的通信机制,并对其通信路径进行了详细分类。旨在帮助用户更好地理解和定制其安装配置,从而增强网络安全性,确保集群的稳定运行。 ... [详细]
  • 本文对SQL Server系统进行了基本概述,并深入解析了其核心功能。SQL Server不仅提供了强大的数据存储和管理能力,还支持复杂的查询操作和事务处理。通过MyEclipse、SQL Server和Tomcat的集成开发环境,可以高效地构建银行转账系统。在实现过程中,需要确保表单参数与后台代码中的属性值一致,同时在Servlet中处理用户登录验证,以确保系统的安全性和可靠性。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
author-avatar
mobiledu2502925241
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有