超过1600个公开可用的Docker Hub镜像隐藏着诸多恶意行为,包括加密货币挖矿软件、可以用作后门的嵌入式秘密信息(secret)、DNS劫持软件以及网站重定向工具。
Docker Hub是一个基于云的容器库,允许人们随意搜索和下载Docker镜像,或将他们创建的镜像上传到这个公共库或私人存储库。
Docker镜像是一种模板,便于用户快速轻松地创建含有随时可用的代码和应用程序的容器。因此,那些希望创建新实例的人常常求助于Docker Hub,以便迅速找到一个易于部署的应用程序。
不幸的是,由于威胁分子滥用这项服务,上传的1000多个恶意镜像给毫无戒备之心的用户带来了严重的风险,他们在本地托管或基于云的容器上部署其实充斥着恶意软件的镜像。
许多恶意镜像所使用的名字伪装成大受欢迎、值得信赖的项目,因此威胁分子上传它们显然是为了诱骗用户下载它们。
Sysdig公司的研究人员深入研究了这个问题,试图评估这个问题的严重性,报告发现的镜像使用了某种恶意代码或机制。
除了由Docker Library项目组审核、证明可信赖的镜像外,Docker Hub服务上还有成千上万个状态未知的镜像。
Sysdig使用其自动扫描工具仔细检查了250000个未经验证的Linux镜像,识别出其中1652个是恶意镜像。
图1. Docker Hub上恶意镜像的类型(来源:Sysdig)
最常见的一类是加密货币挖矿软件,存在于608个容器镜像中,针对服务器资源,为威胁分子挖掘加密货币。
第二常见的一类是隐藏嵌入式秘密信息的镜像,共有281例。嵌入在这些镜像中的秘密信息有SSH密钥、AWS凭据、GitHub令牌、NPM令牌及其他信息。
图2. Docker镜像中遗留的秘密信息类型(来源:Sysdig)
Sysdig声称,这些秘密信息可能被误留在公共镜像上,或者被创建和上传这些秘密信息的威胁分子故意注入。
Sysdig在报告中警告,通过在容器中嵌入SSH密钥或API密钥,攻击者就可以在容器部署后获得访问权限。
比如说,将公钥上传到远程服务器就可以让相应私钥的所有者通过SSH打开shell并运行命令,其效果与植入后门相似。
Sysdig发现的许多恶意镜像使用蓄意错误拼写手法来冒充合法可信的镜像,结果用加密货币挖矿软件感染用户。
这个策略为一些非常成功的攻击(比如下面两个例子)奠定了基础,它们已被下载了近17000次。
图3. 含有加密货币挖矿软件的Docker镜像(来源:Sysdig)
蓄意错误拼写还确保输错了热门项目名称的用户会下载恶意镜像,因此虽然这并不带来庞大的受害者数量,但仍确保了新的用户不断被感染。
图4. 蓄意错误拼写的镜像捕获随机性的误拼(来源:Sysdig)
Sysdig表示,在2022年,从Docker Hub提取的所有镜像中61%来自公共存储库,比2021年的数据增加了15%,因此用户面临的风险在上升。
遗憾的是,Docker Hub公共库的规模不允许其操作人员每天仔细检查所有上传的内容,因此许多恶意镜像并没有被报告。
Sysdig还注意到,大多数威胁分子只上传几个恶意镜像,所以即使删除了有风险的镜像、封杀了上传者,也不会对这个平台的整体威胁状况有显著影响。
参考及来源:https://www.bleepingcomputer.com/news/security/docker-hub-repositories-hide-over-1-650-malicious-containers/