软件开发管道为网络犯罪分子提供对云、本地 PlatoBlockchain 数据智能的“自由范围”访问。 垂直搜索。 哎。

软件开发管道为网络犯罪分子提供对云、本地的“自由范围”访问

研究人员表示,持续集成/持续开发 (CI/CD) 管道可能是软件供应链中最危险的潜在攻击面,因为网络攻击者对探测弱点的兴趣越来越大。

攻击面也在扩大:CI/CD 管道越来越多地成为企业软件开发团队的固定装置,他们使用它们来构建、测试和使用自动化流程部署代码。 但是过度许可、缺乏网络分段以及糟糕的机密和补丁管理困扰着它们的实施,为犯罪分子提供了破坏它们以在本地和云环境之间自由移动的机会。

10 月 XNUMX 日星期三在美国黑帽大会上,安全咨询公司 NCC Group 的 Iain Smart 和 Viktor Gazdag 将在“RCE 即服务:从 5 年真实世界 CI/CD 管道妥协中吸取的教训,”来讨论他们在生产 CI/CD 管道中为该公司测试过的几乎所有公司实施的大量成功的供应链攻击。

NCC 集团已经监督了几十个成功的目标妥协,从小型企业到财富 500 强公司。 此外 安全漏洞,研究人员表示,自动化管道中对预期功能的新滥用使他们能够将管道从简单的开发人员实用程序转换为远程代码执行 (RCE) 即服务。

“我希望人们对他们的 CI/CD 管道给予更多的爱,并应用我们会议中的所有或至少一两个建议,”Gazdag 说。 “我们也希望这将引发更多关于该主题的安全研究。”

Dark Reading 的新闻总编辑 Tara Seals 与 NCC Group 的管理安全顾问 Viktor Gazdag 坐下来了解更多信息。

塔拉海豹: CI/CD 管道中有哪些更常见的安全漏洞,这些漏洞如何被滥用?

维克多·加兹达: 我们经常看到三个需要更多关注的常见安全漏洞:

1) 版本控制系统 (VCS) 或源代码控制管理 (SCM) 中的硬编码凭证。

其中包括 shell 脚本、登录文件、配置文件中的硬编码凭据,这些文件与代码存储在同一位置(不是单独或在秘密管理应用程序中)。 我们还经常找到访问不同云环境(开发、生产)或云中某些服务(如 SNS、数据库、EC2 等)的访问令牌。

我们还可以找到访问支持基础设施或 CI/CD 管道的凭据。 一旦攻击者获得对云环境的访问权限,他们就可以枚举他们的权限,查找错误配置,或者尝试提升他们已经在云中的权限。 通过访问 CI/CD 管道,他们可以查看构建历史、访问工件和使用的机密(例如,SAST 工具及其关于漏洞或云访问令牌的报告),在最坏的情况下,将任意代码(后门、SolarWinds)注入将要编译的应用程序,或获得对生产环境的完全访问权限。

2) 过度放任的角色。

开发人员或服务帐户通常具有与其帐户相关联的角色(或可以假设一个角色),该角色具有比完成所需工作所需的更多权限。

他们可以访问更多功能,例如配置系统或适用于生产和开发环境的机密。 他们可能能够绕过安全控制,例如其他开发人员的批准,或者修改管道并删除任何有助于搜索漏洞的 SAST 工具。

由于管道可以访问生产和测试部署环境,如果它们之间没有分段,那么它们可以充当环境之间的桥梁,甚至在本地和云之间。 这将允许攻击者绕过防火墙或任何警报,并在否则不可能的环境之间自由移动。

3) 缺乏审计、监控和警报。

这是最被忽视的领域,在 90% 的情况下,我们发现对任何配置修改或用户/角色管理都缺乏监控和警报,即使打开或启用了审计也是如此。 唯一可能被监控的是成功或不成功的作业编译或构建。

还有更常见的安全问题,例如缺乏网络分段、秘密管理和补丁管理等,但这三个示例是攻击的起点,需要减少平均违规检测时间,或者对限制很重要攻击爆炸半径。

TS: 你有任何具体的现实世界的例子或具体的场景可以指出吗?

VG: 新闻中与 CI/CD 或管道攻击相关的一些攻击包括:

  • CCleaner 攻击,三月2018
  • 自制,2018 年 XNUMX 月
  • 华硕影之锤,三月2019
  • CircleCI 第三方违规,2019 年 XNUMX 月
  • SolarWinds的,12月2020
  • Codecov 的 bash 上传脚本,2021 年 XNUMX 月
  • TravisCI 未经授权访问机密,2021 年 XNUMX 月

TS: 为什么自动化管道的弱点存在问题? 您如何描述公司面临的风险?

VG: 管道步骤中可能使用数百种工具,因此,人们需要知道的大量知识是巨大的。 此外,管道可以通过网络访问多个环境,以及用于不同工具和环境的多个凭据。 访问管道就像获得免费旅行通行证,让攻击者可以访问与管道相关的任何其他工具或环境。

TS: 如果对手成功破坏 CI/CD 管道,公司可能会遭受哪些攻击结果?

VG: 攻击结果可能包括窃取源代码或知识数据、对部署到数千名客户(如 SolarWinds)的应用程序进行后门、访问(并在其之间自由移动)多个环境(如开发和生产),无论是在本地还是在云,或两者兼而有之。

TS: 攻击者需要多复杂才能破坏管道?

VG: 我们在 Black Hat 上展示的不是零日漏洞(尽管我在不同的工具中发现了一些漏洞)或任何新技术。 犯罪分子可以通过网络钓鱼(会话劫持、多因素身份验证绕过、凭据盗窃)或 CI/CD 管道直接攻击开发人员,如果它没有受到保护并且面向 Internet。

NCC Group 甚至在我们最初测试 Web 应用程序的地方进行了安全评估。 我们发现,除了软件构建/编译工作之外,CI/CD 管道很少被记录和警报监控,因此犯罪分子不必那么小心或复杂来破坏管道。

TS: 这些类型的攻击有多普遍,CI/CD 管道代表的攻击面有多大?

VG: 如前所述,新闻中有几个真实世界攻击的例子。 你仍然可以找到,例如, 互联网上使用 Shodan 的 Jenkins 实例. 使用 SaaS,犯罪分子可以枚举并尝试暴力破解密码以获取访问权限,因为他们没有默认启用多因素身份验证或 IP 限制,并且面向 Internet。

对于远程工作,管道更加难以保护,因为开发人员希望随时随地访问,并且随着公司正在转向零信任网络或网络位置不断变化,IP 限制不再一定可行。

管道通常可以通过网络访问多个环境(它们不应该这样做),并且可以访问不同工具和环境的多个凭据。 它们可以充当本地和云之间或生产和测试系统之间的桥梁。 这可能是一个非常广泛的攻击面,攻击可能来自多个地方,甚至那些与管道本身无关的地方。 在 Black Hat,我们展示了我们最初从 Web 应用程序测试开始的两个场景。

TS:为什么 CI/CD 管道仍然是公司的安全盲点?

VG: 主要是因为时间不够,有时是人手不足,有时是知识不足。 CI/CD 管道通常由开发人员或 IT 团队在有限的时间内创建,并且专注于速度和交付,或者开发人员只是工作过度。

CI/CD 管道可能非常复杂或极其复杂,可以包含数百种工具,与多个环境和机密进行交互,并可供多人使用。 有些人甚至创建了可以在管道中使用的工具的周期表表示。

如果公司分配时间为他们使用的管道和支持环境创建威胁模型,他们将看到环境、边界和秘密之间的联系,以及攻击可能发生的位置。 应该创建并不断更新威胁模型,这需要时间。

TS: 有哪些最佳实践来加强管道的安全性?

VG: 应用网络分段,使用最小权限原则创建角色,限制机密管理中的机密范围,频繁应用安全更新,验证工件,并监视配置更改并发出警报。

TS: 您还有其他想法想分享吗?

VG: 尽管云原生或基于云的 CI/CD 管道更简单,但我们仍然看到相同或相似的问题,例如过度许可的角色、没有分段、过度范围的秘密和缺乏警报。 对于公司来说,记住他们在云中也有安全责任很重要。

时间戳记:

更多来自 暗读