根据 Truffle Security 持续四年的追踪,在 2022 年 8 月至 2026 年 8 月期间被公开披露的 Amazon Web Services (AWS) 访问密钥中,仍有超过 9300 个处于有效状态并能够通过身份验证。在曝光的密钥中,有 817 个与企业相关,其中包括 526 个根密钥(root keys),可在 AWS 账户内授予最高级别的权限。
研究人员表示,另有 242 个密钥与 Identity and Access Management (IAM) 服务中的用户相关联,并采用了 AdministratorAccess 策略。该策略几乎允许创建、修改、删除和查看大多数 AWS 服务及其资源。他们还指出,在检查的两组密钥中,768 个仍然有效的密钥全部能够赋予“对企业 AWS 账户的完全控制权”。
曝光范围和密钥来源
Truffle Security 在代码仓库、Git 日志、数据集、Docker 镜像、容器日志以及持续集成和交付(CI)日志中发现了 431875 个与 AWS 相关的秘密信息。去重后,数量降至属于 50654 个 AWS 账户的 64024 个唯一密钥。
其中,拥有可用于重新验证的完整凭证数据的密钥共有 10616 个。截至 8 月 10 日,其中 88% 仍能够通过身份验证。开发者通过 Hugging Face 共享人工智能模型、数据集和应用程序,该平台是泄露密钥的最大单一来源,共涉及 8482 起独特曝光事件。根密钥占这些事件的 17.9%。
实际会带来什么变化?
根据相关权限级别,有效密钥可能使攻击者访问、提取或删除云端托管的数据,控制服务器和应用程序,并创建隐藏的管理员账户以维持访问权限。这些账户也可能被用于部署加密货币挖矿工具,导致企业账单大幅增加。在 2754 个可以读取其数据的账户中,只有 262 个启用了预算提醒。
密钥的使用年限还暴露出凭证管理方面的另一项问题:在拥有创建日期的 2903 个密钥中,使用年限中位数为 1831 天,即约五年,而最早的一个密钥已存在 17.4 年。在仅有 398 起案例(即 13.7%)中,发现同一用户关联有更新的访问密钥,这表明大多数密钥从未轮换。
降低风险的措施
Truffle Security 建议删除所有根密钥,根据使用年限审查 IAM 凭证,轮换或撤销已曝光的密钥,并启用预算提醒。此外,任何被提交到公共来源中的凭证都应被视为已遭泄露,即使没有实际使用迹象。
该公司表示,其测试仅限于读取元数据,并已通知所有能够确定身份的凭证所有者。这些结果的重要性在于,密钥在公开出现后仍保持有效,可能会将代码仓库或构建日志中的旧泄露转变为直接进入云基础设施的入口。