安全公司Palo Alto Networks威胁情报小组Unit 42发现一种新型的Graboid挖矿绑架病毒,目前已知这个蠕虫已经感染了超过2,000台不安全的Docker主机,用于挖掘Monero加密货币,研究人员提醒,虽然这个挖矿蠕虫没有复杂程序技术,但是由于他有能力从C2(Command and Control)服务器下载新脚本,因此可以简单地转换成勒索软件或是任何恶意软件,企业应提高保护自身Docker主机的能力。
过去也有以蠕虫病毒的形式,来散布挖矿绑架恶意软件的案例,但是这是第一次挖矿绑架蠕虫被发现存在Docker社区版本中,使用容器进行传播。研究人员表示,由于大多数传统端点保护软件,都不会检查容器中的资源以及动作,因此这种恶意动作难以被发现。
整个攻击链从攻击者在公共网络中选定一个不安全的Docker守护行程(Daemon)开始,在上面执行从Docker Hub拉取的恶意镜像容器,并且从C2服务器下载一些脚本以及容易受攻击的主机列表,接着挑选下一个攻击目标以传播蠕虫。Graboid会在容器中进行挖矿以及散布蠕虫,每次迭代Graboid随机挑选三个目标,在第一个目标安装蠕虫,停止第二个目标的矿工行动,并在第三个目标上启动矿工,而这样的机制让采矿行为变得非常随机。
也就是说,当被害者主机被感染时,恶意容器并不会立刻启动,必须要等待另外一个受感染主机的信号挖矿程序才会被启动,而正在挖矿的主机也会随机接收到其他受感染的主机停止挖矿的信号。 每台受感染主机的矿工都由其他受感染的主机随机控制,研究人员表示,他们不清楚这种随机控制的设计动机,因为以规避侦测的角度来看,这样的机制效果不佳,比较可能是设计不良或是有其他的目的。 Unit 42进行了模拟,来了解蠕虫整体采矿的能力,包括蠕虫散布的速度,以及每个矿工在受感染的主机上平均活动时间,研究人员提到,以2,000台主机规模进行的实验,蠕虫病毒要花费大概60分钟,才能感染其中1,400台易受感染的主机,由于受感染主机上矿工随机启动和停止的挖矿行为,每个矿工约只有65%的时间处于活动状态,每个矿工采矿周期平均仅持续250秒。 研究团队分析了蠕虫使用的主机列表,其中包含2,034台易受攻击的主机,57.4%的IP来自中国,而13%位于美国,在Graboid使用的15台C2服务器中, 主机列表中列了其中的14台,这表示攻击者会控制易受感染主机的Docker守护行程,在上面安装网页服务器容器,并将恶意载体放在上面。 Graboid攻击会使用到的Docker镜像pocosow/centos已经被下载超过一万次,而gakeaws/nginx也已经被下载6,500次,Unit 42发现gakeaws还发布了另一个挖矿绑架镜像gakeaws/mysql,其内容与gakeaws/nginx相同。不过这些有害镜像,都在研究人员与Docker团队联络后,全部被移除。
研究人员警告,当没有适当的身份验证机制**,企业不应该把Docker守护行程暴露在公共网络上,而且其实在预设情况下,Docker社区版是不会暴露Docker守护行程的。企业应该使用Unix Socket来跟本地Docker守护行程沟通,或是使用SSH连接远端Docker守护行程。**
企业需注意在防火墙规则中加入白名单,限定流入流量的来源,并且不可从未知的注册表或是未知使用空间拉取Docker镜像,平时也该定期检查系统是否存在未知的容器或是镜像,也可以使用云端安全解决方案,辨识恶意容器。
往期精彩
《Docker中Image、Container与Volume的迁移》
免责声明:本文内容来源于网络,所载内容仅供参考。转载仅为学习和交流之目的,如无意中侵犯您的合法权益,请及时联系Docker中文社区!
想了解更多Docker相关知识,请微信搜索"Docker中文社区"或扫描下方二维码关注微信号