聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。
随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。
为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。
注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。
开发环境包括CI和CD平台是合并代码,自动化软件构建、测试,并向 DevOps 项目交付代码的基础构建块。
2月8日,Gil 发布技术文章指出,鉴于CI和CD环境所发挥的关键作用,它们也是“当前攻击面的主要组成部分”并经常包含组织机构的机密和凭据。能够攻陷 CI/CD环境的攻击者或能够访问生产领域或交互机制,发动范围更广的供应链攻击。最近案例包括SolaWinds 和 Codecov 交付的投毒的软件更新和Kaseya 公司遭到的攻击。
2021年7月,欧盟网络安全局 (ENISA) 对比了2020年和2021年的供应链事件并发布报告指出,约50%的网络攻击是由APT组织发动的,但未知攻击占所报告事件的42%。
ENISA 还补充道,超过60%的供应链攻击“利用”了客户对供应商的信任,66%的攻击瞄准目标供应商代码以进一步攻陷目标客户。
访问CI并执行供应链攻击的最方便方式是拥有直接的访问权限。然而,Gil 提到,本地技术也可被用于篡改生产管道,无需直接访问CI环境。Gil 将这种技术称为 “投毒的管道执行 (PPE)”,通过使用管道仓库中托管的CI配置文件,主要关注管道被定义的一种常见方式。这些文件(通常具有标准格式如 Jenkinsfile、.gitlab-ci.yml、circleci/config.yml,以及 GitHub Actions YAML)包含的命令在管道任务从开发环境中拉取代码时会被触发。如果攻击者可篡改命令列表,则可在CI 中执行命令。
而这就是需要PPE的地方。
被投毒的管道攻击向量要求威胁行动者具有SCM权限如用户凭据或访问令牌,以操纵 CI 配置文件或类似内容并执行管道活动。
攻击者还必须能够在不触发审计的情况下篡改这些文件。Gil 表示执行未审计代码的管道更易受PPE攻击。
PPE分为多种类型:
(1)直接类型(D-PPE):攻击者修改和目标项目处于同一个未知的CI配置文件
(2)间接类型(I-PPE):恶意代码被注入由管道配置文件间接调用的文件中
(3)公开类型(P-PPE/3PE):攻击者需要获取凭据和/或权限,访问托管管道配置文件的仓库。也有可能通过在接受和执行未审计代码时拉取请求来攻陷公开项目。
建立代码执行后,攻击者就可访问和CI相关的机密、推送恶意任务、传播恶意代码、访问任务节点可访问的外部资产,还可能访问其它主机或资产。Gil 评论称,“攻击者总是可获得对SCM组织机构和仓库的访问权限。凭据、访问令牌和SSH密钥可通过一般攻击方法如钓鱼、凭证填充或在内网横向移动等获取。PPE向量可导致攻击者利用这种访问权限在CI管道中执行恶意代码,从而在几分钟内甚至是几秒钟内访问生产环境。”
在Reddit 论坛上,一些人询问该攻击向量是否存在任何新鲜之处,以及权限的前提条件是否使PPE的总体风险失效。Synopsys Software Integrity Group 公司的首席安全咨询师 Travis Biehn 表示,“Omer Gil 以专业视角介绍了我们了解甚少的一种攻击向量。它是否是夸张说法?可能是,但 Omer 并没有这样做。攻击者可能不会选择这个攻击向量,它作为便捷或必要向量的场景几乎不存在。”
AT&T Business 公司的网络安全布道总监 Theresa Lanowitz 补充表示,“我们常说每家公司都是软件公司。如果组成数字化体验的应用程序未采用安全第一的方式,那么漏洞就会进入生产环境,而最终从收入、信任或整体安全角度来看,它会使企业问题重重。因此,当前和未来创建的应用程序或伺服小程序(我们现在已经不再编写庞大的后台应用程序)不仅要更小、更加目标导向,而且还要将安全谨记在心。”
开源卫士试用地址:https://oss.qianxin.com
https://portswigger.net/daily-swig/poisoned-pipelines-security-researcher-explores-attack-methods-in-ci-environments
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~
原文始发于微信公众号(代码卫士):被投毒的管道:研究员探索CI环境中的攻击方法
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论