近日,GitHub 安全团队透露称:有证据表明,攻击者滥用了发给 Heroku 和 Travis CI 的 OAuth 用户令牌(这些被滥用的代币是发给两个第三方 OAuth 集成商的),从组织帐户下载数据,从而破坏了 GitHub 帐户。
这一信息是由 GitHub 安全团队于 2022 年 4 月 12 日开始调查后披露的。
上周五,GitHub 正式透露称:一名身份不明的“黑客”利用窃取的 OAuth 用户代币(发给 Heroku 和 Travis CI 的)非法下载数十家公司组织的私人数据。
GitHub 首席安全官 Mike Hanley 表示,受影响的组织包括 NPM,GitHub 用户和 GitHub 本身使用目标集成商维护的应用程序。
GitHub 并未受到威胁
Mike Hanley 声称,攻击者并非通过泄露 GitHub 来获得这些代币的。
这些集成商(即 Heroku 和 Travis CI)维护的应用程序由 GitHub 用户使用(包括 GitHub 本身)。但实际的 GitHub 系统没有受到影响,因为 GitHub 没有以原始格式存储这些令牌。
Mike 表示:“我们不相信攻击者能通过 GitHub 或其系统的妥协获得这些令牌,因为 GitHub 没有以原始的、可用的格式存储这些令牌。”
Mike 在他的博客文章中补充道:“我们对攻击者其他行为的分析表明,这些参与者可能正在挖掘下载的私有存储库内容,窃取的 OAuth 令牌可以访问这些内容,以获取可用于转向其他基础设施的机密。”
什么是 OAuth 访问令牌?
OAuth 是不同服务和应用程序使用的访问令牌,用于授权访问用户数据,并在不共享凭据的情况下相互通信。这是将授权从一个单一的 sign-on/SSO 服务传递到另一个应用程序的标准方法。截至 2022 年 4 月 15 日,受影响的 OAuth 应用程序列表包括:
Travis CI (ID: 9216)
Heroku Dashboard (ID: 145909)
Heroku Dashboard (ID: 628778)
Heroku Dashboard – Preview (ID: 313468)
Heroku Dashboard – Classic (ID: 363831), and
Source: GitHub
补救措施
针对此次攻击事件,GitHub 宣布称:通过泄露的 AWS API 密钥对其 NPM 生产生态系统进行未经授权的访问后发现了此次攻击活动。
据推测,该 AWS API密钥是通过使用从两个受影响的 OAuth 应用程序之一窃取的 OAuth 令牌下载一组未指明的专用 NPM 存储库获得的。GitHub 表示,它已经撤销了与受影响应用相关的访问令牌。
GitHub 安全团队进一步指出,没有迹象表明攻击者修改了任何软件包或获得了对任何用户凭据或用户帐户数据的访问权。
Mike 强调称:“攻击者没有修改任何软件包,也没有访问任何用户帐户数据或凭据。我们仍在努力了解攻击者是否查看或下载了私人软件包。 npm 使用与 GitHub 完全独立的基础设施”。
截止目前,GitHub 正在调查攻击者是否仅仅查看或下载了私人软件包。此外,该公司表示,将在未来 72 小时内通知所有受影响的受害者用户/组织。
所以,如果你也通过分析发现了自己是已知受影响的受害者用户和组织之一,那么你将在接下来的 72 小时内收到 GitHub 发出的通知电子邮件,其中包含更多详细信息和接下来要进行的步骤。
当然,如果你没有收到任何电子邮件,那就不用担心了,因为你不受此数据泄露的影响。