购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.4 Hadoop管理API漏洞

Hadoop作为大数据技术的基础组件,在很多互联网应用中被广泛使用,其中管理API的安全性问题,最近这几年逐渐被安全人员所关注。

3.4.1 Hadoop管理API漏洞基本信息

随着虚拟货币市场的疯狂发展,挖矿病毒已经成为网络不法分子最为频繁的攻击方式之一。因挖矿病毒对算力的渴求,GPU服务器、大数据应用成了挖矿病毒者眼里的宠儿。2018年6月,腾讯云鼎实验室公开了一例针对Hadoop Yarn REST API挖矿病毒的详细报告,这里重点从API安全的角度,一起来分析这个漏洞。

漏洞类型: API5-失效的功能级授权。

漏洞难度: 高。

报告日期: 2018-6-4。

信息来源: https://cloud.tencent.com/developer/article/1142503。

Hadoop Yarn大数据组件的Cluster Applications API对外提供了一系列的接口,其中就包含new application和submit application两个API入口。默认情况下, Yarn开放8088和8089端口,无用户鉴别和授权机制 ,任意用户均可以访问。攻击者就是利用Hadoop Yarn资源管理系统REST API未授权漏洞对服务器进行攻击,在未授权的情况下,远程执行文件下载脚本,从而再进一步启动挖矿程序达到集群化挖矿的目的。Hadoop集群被挖矿病毒攻击的过程如图3-8所示。

●图3-8 Hadoop集群被挖矿病毒攻击示意图

3.4.2 Hadoop管理API漏洞利用过程

攻击者首先通过Hadoop Yarn的Cluster Applications API中申请的新application接口生成新的application对象,如下所示:

返回内容类似于:

接着,通过Submit Application的POST方法,提交生成带命令行的脚本,再调用Hadoop Yarn REST API执行脚本,其接口执行命令行原理如图3-9所示。

●图3-9 Hadoop Yarn REST API调用命令行样例

而脚本内容为下载挖矿病毒的程序,伪码如下:

执行脚本下载挖矿程序到指定目录下,再通过下载配置文件以nohup方式给挖矿程序添加执行权限和运行时环境设置。最后,将脚本以crontab任务的方式运行。

当然,除了上述的这些基本的入侵操作外,报告中对病毒还做了其他的分析。但这里通过对new application和submit application两个API的调用分析,基本理清了攻击者入侵的过程和引起问题的原因。

3.4.3 Hadoop管理API漏洞启示

继续利用思维导图,来对攻击过程做一下回顾,如图3-10所示。

●图3-10 Hadoop Yarn资源管理API攻击过程

在整个攻击过程中,攻击者对Yarn管理API的利用是突破的关键点,它完成了两项重要任务。

创建新的application,并上传脚本文件。

下载挖矿病毒程序脚本,并在集群内以定时任务方式运行。

这些两点是挖矿病毒在集群中赖以生存下来的根本。

从攻击者的角度看,它仅仅是利用了Hadoop Yarn公开的API接口构造了独特的攻击手段,从而达成攻击目的。而防御者自身对Hadoop Yarn REST API接口安全意识不足, 没有禁止将接口开放在公网或启用Kerberos认证功能、禁止匿名访问是导致此漏洞发生的原因

如果把视野再扩大一点就会发现,其实不但Hadoop Yarn有此类问题,Spark和Solr也存在类似的问题。在笔者亲身经历的一个Solr案例中,恶意攻击者将Solr中的数据清洗一空,给某电商企业造成了很大的损失。无论是安全从业者还是业务技术负责人,都应该吸取这样的教训,在使用开源类组件时,关注默认配置项的安全设置是否合理,以防患于未然。 Af9QMUp4RfmxgHnh/UHHkmgCoMWSkiK8au8G3uRQjuxc4ldoJiSRHoGQZq1oIY1a

点击中间区域
呼出菜单
上一章
目录
下一章
×