不祥之兆,在针对 GitHub 存储库的攻击激增之后,很难避免。
最近的CircleCI漏洞(客户的机密和加密密钥被盗)清楚地表明,攻击者已经了解并利用了这个向量。
现在比以往任何时候都更需要公司保护这些非人类连接,即 API 密钥和访问令牌,就像保护用户名和密码凭证一样努力。
否则,这可能是通往日益减少的安全供应链的捷径。
不安全的连接
CircleCI 漏洞只是一系列攻击中的最新一起,黑客利用这些不安全的连接来破坏公司的 GitHub 环境。例如,就在上个月,Slack 的私有 GitHub 代码存储库遭到破坏;
然后在 2022 年 4 月,攻击者使用盗取的发给 Heroku 和 Travis CI 的 OAuth 应用程序令牌破坏了数十个具有授权 Heroku 或 Travis CI OAuth 应用程序集成的 GitHub 客户帐户。
最臭名昭著的攻击可能是 2021 年的 Codecov 漏洞,攻击者破坏了 Codecov 云服务并窃取了 OAuth 令牌,这些令牌使他们能够直接访问 17,000 名 CodeCov 客户的 GitHub 存储库。在所有这些情况下,威胁行为者都能够提升权限以访问数据,
GitHub 连接
随着公司继续适应远程办公,他们越来越多地授权他们的团队自由地将应用程序连接到应用程序。
以 GitHub 为例;最大的开发人员存储库,目前允许 9400 万用户在超过 3.3 亿个存储库中构建产品和连接。
它是最大的开源社区,为开发者提供了无限可能。然而,经常被忽视的是,这些连接中的大多数都是非结构化的,提出了迫在眉睫的威胁。
这些 GitHub 连接不仅仅是第三方应用程序,它们是由工程师创建的具有多个端点的内部应用程序——例如,开发人员想要测试一个新的解决方案,因此他生成一个令牌,或者向其他服务提供一个现有的令牌。
这些令牌通常具有永久访问权限,具有高级别的权限。在大多数情况下,它们是“一劳永逸”的令牌,用于测试一次,然后保持打开状态并连接到 GitHub 存储库。
像这样的例子比没有更常见。就上下文而言,GitHub 组织每周可以在任何地方生成 20-30 个新的个人访问令牌。
这些连接或影子集成是使用 API 密钥、OAuth 令牌等创建的,这通常是攻击者进入内部的方式。例如,当开发人员通过服务帐户或安全套接字外壳 (SSH) 密钥授权新应用程序时,他们很少会获得批准,并且不会提供与 GitHub 的安全连接。
这种缺乏监督还可能导致将权限授予过去的用户或后来离开公司的员工,从而可能向发现该联系的任何人提供未经授权的访问权限。
例如,2023 年新年的 Slack 漏洞展示了威胁行为者如何通过数量有限的被盗 Slack 员工令牌访问 Slack 的外部托管 GitHub 存储库。
攻击面扩大
因此,虽然企业可能会看到生产力的提高,但威胁参与者也是如此。通过这些开放式 GitHub 连接,您的攻击面已经严重扩大,并可能使企业面临一系列选择:供应链攻击、合规性违规以及最常见的未经许可的访问。
关于供应链风险和漏洞本身的讨论很多,但问题的根源在于整个工程环境。企业应该开始关注保护整个生态系统,该生态系统现在由数千个第三方集成组成。
但是,组织究竟如何才能避免暴露过多的业务,同时仍然保持完成工作所需的集成水平和效率呢?
持续监控
持续和全面的可见性和保护。企业应该像保护密码一样努力保护他们的 API 密钥、OAuth 令牌和任何其他第三方连接。
用户名和密码等登录凭据受多重身份验证 (MFA) 保护。但是,例如,API 密钥不受任何保护。特别是对于 GitHub 用户,将个人访问令牌 (PAT) 替换为新的细粒度 PAT,并将它们限制在特定的存储库中。
在努力减少攻击面和最小化攻击爆炸半径的过程中,对这些连接的持续监控是而且应该成为优先事项。
时间就是生命。上述攻击表明这些 GitHub 和非结构化连接可以多么快速和轻松地导致供应链依赖的全新世界。
为了解决这一迫在眉睫的威胁,通过适当管理这些连接,也许我们可以减缓这些攻击的发生。