上千个Docker hub镜像泄露认证密钥和私钥。
Docker Hub 是Docker社区的基于云的仓库,用于保存、分享和分发Docker镜像。这些容器创建的模板中包含在Docker中部署应用所有必要的软件代码、运行状态、库和环境变量、配置文件。
镜像密钥泄露
近日,德国亚琛工业大学(RWTH-Aachen University)研究人员发现上千个Docker Hub上的镜像暴露了机密密钥、软件、在线平台和用户。研究人员分析了Docker Hub中337171个镜像,聚集了1647300层的数据集,发现有8.5%的镜像(28621个Docker镜像)中包含敏感数据,包括52107个有效的私有密钥、3158个不同API秘密信息。
注:以上数据不包括测试密钥、示例API秘密和无效的匹配
图 暴露的密钥信息
上千个Docker hub镜像泄露认证密钥和私钥
暴露的密钥中95%是私钥,90%是API秘密,表明这可能是无意间泄露的。
上千个Docker hub镜像泄露认证密钥和私钥
受影响最大的是Docker Hub,秘密暴露的是9.0%,来自私有注册的进行暴露了6.3%的秘密。这一差异表明Docker hub用户对容器安全的理解不如搭建私有仓库的用户。
泄露密钥的使用
然后,研究人员利用泄露的密钥可以进行下一步攻击活动。研究人员根据暴露的私钥发现了22082个被入侵的证书,其中包括7546个私有CA签发的证书和1060个公有CA签发的证书。而这些CA签发的证书被大量用户使用,并且被广泛接受。截止论文发布,仍有141个CA签名的证书状态是有效的。
为进一步确定暴露的密钥的影响,研究人员通过Censys数据库分析发现有275269个主机使用这些被入侵的密钥。包括:
可能传输隐私敏感物联网数据的8,674 MQTT和 19 AMQP主机;
保存机密数据的6,672 FTP、426 PostgreSQL、3 Elasticsearch,和3 MySQL实例;
216台用户电信服务的SIP主机;
用于邮件服务的8,165 SMTP、1,516 POP3、1,798 IMAP服务器;
240 SSH服务器和24 Kubernetes实例,使用泄露的密钥可以引发远程shell访问、僵尸网络扩张、以及进一步数据访问。
上千个Docker hub镜像泄露认证密钥和私钥
对于API的暴露,研究发现大多数的容器(2,920个)属于亚马逊AWS这类云服务器提供商,其中部分属于Stripe这样的金融服务。
考虑到白帽伦理,研究人员未对服务终端验证暴露的API秘密,因此其对服务终端的影响尚不明确。
本文翻译自:https://www.bleepingcomputer.com/news/security/thousands-of-images-on-docker-hub-leak-auth-secrets-private-keys/