据美国Palo Alto Networks威胁情报小组Unit42称,研究人员发现了一种新型加密劫持蠕虫病毒“Graboid”,该病毒通过恶意Docker镜像传播。
Docker是一个由Linux和Windows系统上的平台即服务(PaaS)提供商dotCloud开源的开源的应用容器引擎,可让开发人员进行部署、测试、在容器虚拟环境中打包其应用程序,这样做能从运行的主机系统上隔离服务,实现虚拟化。其自2013年以来非常火热,连谷歌的Compute Engine也支持docker在其之上运行。一个完整的Docker由以下几个部分组成:DockerClient客户端、Docker Daemon守护进程、Docker Image镜像和DockerContainer容器。容器完全使用沙箱机制,相互之间不会有任何接口。
虽说Docker有点类似于虚拟机,但Docker不像虚拟机那样需要一整个虚拟操作系统,而是让应用共享同一个系统资源,并且仅随其运行所需的那些组件一起提供,从而减小了其整体大小。
Unit42在发出警报后,Docker从Docker Hub(下载量超16000多次的代码库)移除了恶意映像:预配置在操作系统上的应用程序,一种可共享的“数字快照”。
随着越来越多的业务迁到云上后,大多数终端安全保护软件倾向于不检查容器中的恶意代码,因此有研究强调需要保护容器主机免受未授权访问。Unit42高级云漏洞和利用研究员Jay Chen称,“我们还在查看未能合理配置容器从而导致敏感信息丢失的案例,毕竟默认配置可能对机构造成严重的安全风险。”
蠕虫病毒传播
Unit42表示,其于上个月末发现了该蠕虫病毒,因为其在Shodan上看到了多未经保护的Docker主机里都出现了相同的恶意镜像。
一旦感染容器镜像被远程部署和安装,其还会感染其他主机的程序、连接C2服务器,定期查询漏洞主机并随机选取目标传播该蠕虫病毒。
“我们越来越担心攻击者还会继续利用这些问题传播,许多恶意镜像是在其他热门容器镜像中的伪装下布置后门的,有时为了避免检测还保留了原有镜像的功能。”
据Unit42称,威胁者通过这种手段利用了多达2034个含漏洞的主机,其还表示57.4%的IP地址来自中国,其次是美国,给定时间内有平均900个活跃的矿工时间。恶意软件使用了15个C2服务器,IP文件中列有14个主机,还有一个主机里有50多个已知漏洞,这表示攻击者很可能感染了这些主机并将其作为C2服务器。由于控制了Docker daemon,其直接部署了一个在web服务器容器(如:httpd、nginx),还放置了载荷。
蠕虫仿真
Unit42还模拟了蠕虫的有效性和挖矿能力。其假设IP文件中有2000台主机,其中30%的主机未能运作,每台感染主机上每隔100秒会刷新一次。该实验仿真了一次为期30天的行动,旨在了解蠕虫传播到所有易受感染主机的时间、恶意行为者的挖矿能力以及每个挖矿程序在感染主机上的活跃时间,得到的结果如下:
上图中左未蠕虫传播速度。蠕虫一小时到达所有1400台感染主机(总计2000台,约占70%);右边所显示的是感染主机的中挖矿能力。也就是说,恶意行为者占据了1400个节点的挖矿聚类,至少为900个CPU的挖矿能力。
这些加密劫持蠕虫病毒虽不涉及复杂技术,但其能从C2服务器上定期提取新脚本、能重新将自身定位为勒索软件或其他恶意软件来破坏主机,故该问题不容小觑。