GitHub 秘密事件激增,软件供应链面临威胁
重点信息
- GitHub 上的秘密事件去年达到了 1000 万次,同比增长 67%。
- 每十位代码作者中就有一位泄露了秘密,1000 次提交中有 5.5 次暴露了至少一个秘密。
- 硬编码的秘密成为软件供应链的一大风险,且大多数泄露源于开发者的个人仓库。
- 开发团队应加强安全审计,实施逐步过渡到“代码中无秘密”的政策。
根据 GitGuardian 发布的 ,去年,GitHub 上的秘密事件达到了 1000 万次,较 2021 年增长了
67%。这一历史高点对软件供应链构成了重要威胁。
报告显示,在 2022 年,GitGuardian 对超过 10 亿次新提交进行了深入分析,值得注意的是,每十位代码作者中就有一位泄露了秘密,而每 1000次提交中有 5.5 次包含至少一个秘密。
“秘密不仅仅是凭证,” GitGuardian 在报告中指出,“它们在现代软件供应链的各个组成部分之间起着重要的凝聚作用。”
由于其重要性,秘密成为黑客的主要目标,并在 2022 年引发了一系列重大的安全事件。
例如,黑客利用硬编码的管理员凭证攻击 Uber,成功登录公司的特权访问管理平台,从而完全接管多个内部工具和生产力应用程序。
其他事件还包括影响微软、LastPass、Okta、三星、NVIDIA、Dropbox 和 Slack 的源代码仓库被盗,以及影响超过 18,000 个
Android 应用和丰田的泄密事件。
硬编码秘密威胁软件供应链
Synopsys 的技术总监兼首席架构师 Michael White呼吁开发者避免使用硬编码的秘密,因为这些秘密往往以明文形式存储,容易从源代码中提取。一旦攻击者从一个被攻破的系统中获取到秘密,他们就会横向移动至网络中的其他系统。
“这种攻击也更难以检测,因为硬编码的秘密是有效的凭证,” GuidePoint Security 的应用安全工程实践负责人 Timothy De Block向 SC Media 透露。比如,丰田在去年披露,在未被发现的情况下,其 T-Connect 源代码的部分副本已经暴露了五年,影响超过 290,000位客户。
“[硬编码秘密] 通过允许攻击者在环境中轻松移动而且能长时间保持不被发现,增加了软件供应链的风险,” De Block 说。
人为错误推动风险
GitGuardian 的分析发现,有超过 80%
的秘密通过开发者的个人仓库泄露,其中很大一部分实际上是公司秘密。尽管不能完全排除恶意意图,问题的规模暗示这可能是由于开发者在配置 Git仓库时出现人为错误导致的。
“人们往往认为,硬编码的秘密主要是由初级开发者提交的。但令人惊讶的是,我们的发现表明,这种情况发生在所有级别的开发者中,无论经验如何,”
GitGuardian 的开发者倡导者 Mackenzie Jackson 对 SC Media表示。“高级开发者实际上是许多硬编码秘密的责任者。他们拥有最多的密钥,当他们在巨大压力下快速交付以满足业务需求时,犯错的可能性会大大增加。”
尽管开发者需要提高对该问题的认识,GitGuardian指出,企业应“清晰审计组织在秘密管理方面的安全态势”,以减少风险。企业可以首先自问这些秘密“在哪里和如何使用?在哪里泄露?如何为最坏的情况做准备?”
为逐步过渡到“代码中无秘密”的政策,GitGuardian 建议采取以下分步策略:
- 实时监控所有有本地版本控制系统或持续集成集成的仓库中的提交和合并请求。
- 启用预接收检查,以加强中央仓库防止泄露,并“止损”。
- 进行预提交扫描教育,类似于安全带的作用。
- 制定长期计划:通过历史分析制定处理发现的事件的策略。
- 实施秘密安全冠军计划。
另一个值得注意的事情是 Docker 镜像是最大的未经监控攻击面之一