云安全攻防(六)之 镜像投毒

云安全攻防(六)之 镜像投毒

随着容器技术的普及,容器镜像也成为软件供应链中非常重要的一个组成的部分。人们像使用 pip 等工具从仓库获取各种编程软件库一样,可以从 Docker Hub 或 第三方仓库拉取镜像,在其基础上进行开发,从而实现所需功能,最后打包发布

然而,业务依赖的基础镜像可能存在问题——无论是开发者无心导致的安全漏洞还是攻击者故意埋下的恶意代码,这种“内生风险”的潜在危害比黑客从外部发起攻击严重的多,且更不易被发现。

下面我们来介绍一种容器软件供应链攻击: 镜像投毒

镜像投毒

镜像投毒是一个宽泛的话题,它指的是攻击者通过某些方式,如上传恶意镜像到公开仓库,入侵系统后上传镜像到受害者本地仓库,以及修改镜像名称并假冒镜像等,欺骗、诱导受害者使用攻击者指定的恶意镜像创建并运行容器,从而实现入侵或者利用受害者的主机进行恶意活动的行为

根据目的不同,常见的镜像投毒有三种类型:投放恶意挖矿镜像、投放恶意后门镜像和投放恶意exploit镜像

投放恶意挖矿镜像

这种投毒行为主要是为了欺骗受害者在机器上部署容器、从而获得经济效益,事实上,已经有研究员发现基于 Docker Hub 的恶意挖矿镜像投放行为。2018年6月,一份研究报告指出,一个名为docker123321的账号向 Docker Hub 陆续上传了17个包含挖矿代码的恶意镜像。截至 Docker Hub 官方移除这些镜像,它们已经累计被下载超过500万次。这也显示出,人们并没有对非官方仓库或来源不明的容器镜像保持足够的警惕性,据统计,黑客借助这一行为获得了时值约 9 万美元的门罗币

投放恶意后门镜像

这种投毒行为主要是为了实现对容器的控制。通常,受害者在机器上部署容器后,攻击者会收到容器反弹过来的shell,相比之下,这种类型的投毒可能会少一些,因为在隔离有效的情况下,即使攻击者拿到一个容器内部的shell,攻击面仍然有限。当然攻击者也可能会借助这个shell在容器内部部署一些挖矿程序,以此,获得收益。

投放恶意exploit镜像

这种投毒行为是为了在部署容器后尝试利用宿主机上的各种漏洞来实现容器逃逸等目的,以实现对受害者机器更强的控制。随着容器和云原生技术的普及,相关被曝光的安全漏洞一定会越来越多,因此这种镜像投毒行为肯定会越来越常见。从攻防角度来看,恶意exploit镜像是一种攻击载荷的投递方式,其特点在于隐蔽性和可能的巨大影响范围。试想,如果 Docker Hub 上某一热门镜像包含了某 Nday或者是 0day 漏洞利用程序,理论上攻击者将可能一下子获取几百万的计算机控制权限(相当令人发指)

总结

无论是在现实世界还是虚拟世界中,软件供应链埋藏的问题和隐患往往是危害巨大的。就像是上游的水受到了污染,后续下游人们的生活饮用水都不能在使用一般。同样在IT行业,如果软件供应链出现了安全问提,即便是防御体系固若金汤,其最终效果也会大大折扣

猜你喜欢

转载自blog.csdn.net/qq_64973687/article/details/132128934