Palo Alto Networks威胁情报小组Unit 42发现一种新型Graboid挖矿蠕虫病毒,目前已知这个蠕虫已经感染了超过2000台不安全的Docker主机,用于挖取Monero加密货币。研究人员提醒,虽然这个挖矿绑架蠕虫没有复杂技术或是程序,但是由于其有能力从C&C服务器下载新脚本,因此可以简单地转换成勒索软件或是任何恶意软件,企业应提高保护自家Docker主机的能力。
过去也有以蠕虫病毒的形式,来散布挖矿绑架恶意软件的案例,但是这是第一次挖矿绑架蠕虫被发现存在Docker社群版本中,使用容器进行传播。研究人员表示,由于大多数传统端点保护软件,都不会检查容器中的数据及活动,因此这种恶意活动难以被发现。
整个攻击链从攻击者在互联网中,选定一个不安全的Docker守护行程(Daemon)开始,在上面执行从Docker Hub提取的恶意容器,并且从C&C服务器下载一些脚本以及容易受攻击的主机列表,接着挑选下一个攻击目标以传播蠕虫。Graboid会在容器中进行挖矿以及散布蠕虫,每次迭代Graboid随机挑选三个目标,在第一个目标安装蠕虫,停止第二个目标的矿工行动,并在第三个目标上启动矿工,而这样的机制让采矿行为变得非常随机。
也就是说,当被害者主机被感染时,恶意容器并不会立刻启动,必须要等待另外一个受感染主机的信号,挖矿程序才会被启动,而正在挖矿的主机,也会随机接收到其他受感染的主机停止挖矿的信号。每台受感染主机的矿工都由其他受感染的主机随机控制,研究人员表示,他们不清楚这种随机控制的设计动机,因为以规避侦测的角度来看,这样的机制效果不佳,比较可能是设计不良或是有其他的目的。
Unit 42进行了模拟,来了解蠕虫整体采矿的能力,包括蠕虫散布的速度,以及每个矿工在受感染的主机上平均活动时间。研究人员提到,以2000台主机规模进行的实验,蠕虫病毒要花费大概60分钟,才能感染其中1400台易受感染的主机,由于受感染主机上矿工随机启动和停止的挖矿行为,每个矿工约只有65%的时间处于活动状态,每个矿工采矿周期平均仅持续250秒。
研究团队分析了蠕虫使用的主机列表,其中包含2034台易受攻击的主机,57.4%的IP来自中国,而13%位于美国,在Graboid使用的15台C&C服务器中,主机列表中列了其中的14台,这表示攻击者会控制易受感染主机的Docker守护行程,在上面安装WEB服务器容器,并将恶意载体放在上面。
Graboid攻击会使用到的Docker镜像pocosow/centos已经被下载超过一万次,而gakeaws/nginx也已经被下载6500次,Unit 42发现gakeaws还发布了另一个挖矿绑架镜像gakeaws/mysql,其内容与gakeaws/nginx相同。不过这些有害镜像,都在研究人员与Docker团队联络后,全部被移除。
研究人员警告,当没有适当的身份验证机制,企业不应该把Docker守护行程暴露在互联网上,而且其实在预设情况下,Docker社群版是不会暴露Docker守护行程的。企业应该使用Unix Socket来跟本地Docker守护行程沟通,或是使用SSH连接远端Docker守护行程。
企业需注意在防火墙规则中加入白名单,限定流入流量的来源,切勿从未知注册表或未知用户名称空间提取Docker镜像,平时也该定期检查系统是否存在未知的容器或是镜像,也可以使用云端安全解决方案,识别恶意容器。
(7298301)
领取专属 10元无门槛券
私享最新 技术干货