CircleCI 20230104 安全事件报告

原文:CircleCI incident report for January 4, 2023 security incident

译者:madneal

welcome to star my articles-translator, providing you advanced articles translation. Any suggestion, please issue or contact me

LICENSE: MIT

2023 年 1 月 4 日,我们提醒客户 一起安全事件。 今天,我们想与您分享发生的事情、我们学到的知识以及我们未来不断改善安全态势的计划。

我们要感谢我们的客户对于重置密钥的关注,并对此次事件可能对您的工作造成的任何干扰表示歉意。我们鼓励尚未采取行动的客户采取行动,以防止未经授权访问第三方系统和存储。此外,我们要感谢我们的客户和社区在我们进行彻底调查期间的耐心等待。为了实现负责任的披露,我们已尽最大努力在共享信息的速度与保持调查的完整性之间取得平衡。

本报告包含:

发生了什么?

除非另有说明,否则所有日期和时间均以 UTC 报告。

2022 年 12 月 29 日,我们的一位客户提醒我们注意可疑的 GitHub OAuth 活动。此通知启动了 CircleCI 的安全团队与 GitHub 的更深入审查。

2022 年 12 月 30 日,我们了解到该客户的 GitHub OAuth 令牌已被未经授权的第三方泄露。尽管该客户能够迅速解决问题,但出于谨慎考虑,我们在 2022 年 12 月 31 日代表客户主动启动了更换所有 GitHub OAuth 令牌的流程。尽管与 GitHub 合作提高 API 速率限制,但轮换过程需要时间 虽然目前尚不清楚其他客户是否受到影响,但我们继续扩大分析范围。

到 2023 年 1 月 4 日,我们的内部调查已经确定了未经授权的第三方入侵的范围和攻击的进入路径。迄今为止,我们了解到未经授权的第三方利用部署到 CircleCI 工程师笔记本电脑上的恶意软件来窃取有效的、支持 2FA 的 SSO session。这台机器于 2022 年 12 月 16 日遭到入侵。我们的防病毒软件未检测到该恶意软件。我们的调查表明,该恶意软件能够执行 session cookie 盗窃,使他们能够在远程位置冒充目标员工,然后升级为对我们生产系统子集的访问。

由于目标员工有权生成生产访问令牌作为员工日常职责的一部分,因此未经授权的第三方能够从数据库和存储的子集访问和泄露数据,包括客户环境变量、令牌和密钥。我们有理由相信,未经授权的第三方在 2022 年 12 月 19 日进行了侦察活动。2022 年 12 月 22 日 发生了泄露事件,这是我们生产系统中最后一次未经授权活动的记录。尽管所有泄露的数据都是静态加密的,但第三方从正在运行的进程中提取了加密密钥,使他们能够访问加密数据。

虽然我们对内部调查的结果充满信心,但我们已聘请第三方网络安全专家协助我们进行调查并验证我们的调查结果。我们迄今为止的发现基于对我们的身份验证、网络和监控工具的分析,以及我们合作伙伴提供的系统日志和日志分析。

针对这一事件,我们采取了以下行动:

在此期间,我们在外部调查人员的支持下继续进行取证调查,在我们的平台上推出额外的安全层,并构建和分发额外的工具(更多详情见下文)以支持我们的客户保护他们的 secrets。

我们怎么知道这个攻击向量已经关闭并且可以安全构建?

我们相信客户可以安全地在 CircleCI 上构建。

自从意识到这种攻击以来,我们采取了许多措施,既关闭了攻击向量,又增加了额外的安全层,包括:

我们知道安全工作永远不会结束。除了关闭这个特定的向量,我们还进行了增强和持续的审查,以确保加强对潜在攻击的防御。

与客户的沟通和支持

在 2023 年 1 月 4 日 22:30 UTC 完成所有生产主机的轮换后,我们确信我们已经消除了攻击向量和破坏主机的可能性。

2023 年 1 月 5 日 02:30 UTC,我们发送了披露电子邮件,在我们的博客上发布了安全通知,通过我们的社交媒体帐户和我们的讨论论坛通知客户,并创建了一篇关于如何执行建议的安全步骤的支持文章。

我们建议所有客户更改他们的 secrets,包括 OAuth 令牌、项目 API 令牌、SSH 密钥等(有关更多详细信息,请参阅博客文章或讨论文章)。

此披露启动了与我们客户的积极和持续的沟通期。我们要感谢我们的客户对这一事件的一致响应,以及帮助我们找到机会为您提供额外的工具。我们接受了这些反馈,并作为回应构建并发布了新工具并修改了我们现有的工具,以通过以下方式为客户加快修复速度:

我们感谢客户就我们可以改进沟通的地方提供的所有反馈,包括让事件在我们的渠道中更加明显的机会。

我怎么知道我是否受到了影响?

我的数据有风险吗?

在此事件中,未经授权的行为者于 2022 年 12 月 22 日窃取了客户信息,其中包括第三方系统的环境变量、密钥和令牌。如果您在此期间将机密信息存储在我们的平台上,请假设它们已被访问并采取建议的缓解措施。我们建议您从 2022 年 12 月 16 日开始调查系统中的可疑活动,并在我们于 2023 年 1 月 4 日披露后完成机密修改之日结束。2023 年 1 月 5 日之后进入系统的任何内容都可以被认为是安全的。

是否有未经授权的行为者使用该数据访问我的任何系统?

由于此事件涉及第三方系统的密钥和令牌外泄,我们无法知道您的 secret 是否被用于未经授权访问这些第三方系统。 我们在下面提供了一些详细信息,以帮助客户进行调查。

在发布时,只有不到 5 位客户通知我们由于此事件而未经授权访问第三方系统。

可能有助于您的团队进行内部调查的详细信息

在第三方取证调查员的帮助下,我们最近确认了可能有助于客户进行审计和调查的更多详细信息。

影响日期:

识别为被威胁行为者使用的 IP 地址:

Data centers and VPN providers identified as being used by the threat actor:

数据中心和 VPN 提供商被识别为被威胁行为者使用:

Malicious files to search for and remove:

搜索和删除的恶意文件:

拦截以下域名

查看 GitHub 审核日志文件以查找意外命令,例如:

我们从这次事件中学到了什么以及我们接下来要做什么

我们了解到:虽然我们有适当的工具来阻止和检测攻击,但总有机会加强我们的安全态势。

我们拥有的身份验证、安全和跟踪工具使我们能够全面诊断和修复问题。随着恶意攻击者越来越复杂,我们正在不断改进我们的安全标准并推动最佳实践以保持领先于未来的威胁。我们将越来越积极地使用安全工具。展望未来,为了支持更保守的立场并防止攻击者不当访问我们的系统,我们将优化现有工具的配置以创建额外的防御层。

我们的计划:

首先,我们将为所有客户启动定期自动 OAuth 令牌轮换。 我们的计划还包括从 OAuth 到 GitHub 应用程序的转变,使我们能够在令牌中实施更精细的权限。我们还计划完成对我们所有工具配置的全面分析,包括第三方审查。我们将继续采取其他措施,包括扩大告警范围、减少会话信任、添加额外的身份验证因素以及执行更定期的访问轮换。最后,我们将使我们的系统权限更加短暂,严格限制从类似事件中获得的任何令牌的目标值。

我们学习到:我们可以让客户更轻松地采用我们最先进的安全功能。

通过 CircleCI 的发展,我们不断引入功能来提高客户构建管道的安全性。虽然客户可以使用高级安全功能,但我们可以做更多工作来提高这些功能的采用率。

我们的计划:

客户必须更容易无缝地采用可用的最新和最先进的安全功能,包括 OIDC 和 IP 范围。我们还在探索其他主动步骤,例如,自动令牌过期和未使用 secret 的通知。我们将使我们的客户更简单、更方便地创建和维护高度安全的管道,在智能管理风险的同时实现云的每一个优势。

关于员工责任与系统保障措施的说明

我们想说清楚。虽然一名员工的笔记本电脑通过这种复杂的攻击被利用,但安全事件是系统故障。作为一个组织,我们的责任是建立多层防护措施来抵御所有攻击向量。

安全最佳实践

鉴于成熟和有动机的攻击者越来越多,我们致力于与我们的客户分享最佳实践,以加强我们对未来不可避免的尝试的集体防御。以下是客户可以用来提高管道安全性的建议:

结语

我们知道没有合适的时间来响应关键系统上的安全事件,我们要衷心感谢所有在事件发生后立即采取行动的客户。正是通过这种集体行动,我们将能够更有力地应对未来的威胁。我们还亲眼目睹了我们客户社区的力量和慷慨,你们中的许多人前往我们的讨论论坛分享知识并互相帮助。感谢您在我们努力解决此事件时的支持和耐心。