聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
专栏·供应链安全
数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。
随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。
为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。
注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。
Cider Security 公司的研究总监 Omer Gil 说明了如何滥用源代码管理 (SCM) 仓库中的权限导致CI投毒或“投毒的管道攻击”。
开发环境包括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的地方。
攻击CI管道
被投毒的管道攻击向量要求威胁行动者具有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
推荐阅读
谷歌宣布 Linux Kernel、Kubernetes 0day 漏洞奖励加倍
Apache Cassandra 开源数据库软件修复高危RCE漏洞
热门开源CMS平台 Umbraco 中存在多个安全漏洞,可使账户遭接管
详细分析开源软件项目 Ajax.NET Professional 中的RCE 漏洞(CVE-2021-23758)
Apache PLC4X开发者向企业下最后通牒:如不提供资助将停止支持
Apache 软件基金会:顶级项目仍使用老旧软件,补丁作用被削弱
NIST 按行政令关于加强软件供应链安全的要求,给出“关键软件”的定义及所含11类软件
美国“加强软件供应链安全实践的指南” (SSDF V1.1草案) 解读来了
“木马源”攻击影响多数编程语言的编译器,将在软件供应链攻击中发挥巨大作用
GitHub 在 “tar” 和 npm CLI 中发现7个高危的代码执行漏洞
速修复!热门npm 库 netmask 被曝严重的软件供应链漏洞,已存在9年
Npm 恶意包试图窃取 Discord 敏感信息和浏览器文件
微软“照片”应用Raw 格式图像编码器漏洞 (CVE-2021-24091)的技术分析
SolarWinds 供应链事件后,美国考虑实施软件安全评级和标准机制
揭秘新的供应链攻击:一研究员靠它成功入侵微软、苹果等 35 家科技公司
开源OS FreeBSD 中 ftpd chroot 本地提权漏洞 (CVE-2020-7468) 的技术分析
集结30+漏洞 exploit,Gitpaste-12 蠕虫影响 Linux 和开源组件等
热门开源CI/CD解决方案 GoCD 中曝极严重漏洞,可被用于接管服务器并执行任意代码
GitKraken漏洞可用于盗取源代码,四大代码托管平台撤销SSH密钥
因服务器配置不当,热门直播平台 Twitch 的125GB 数据和源代码被泄露
原文链接
https://portswigger.net/daily-swig/poisoned-pipelines-security-researcher-explores-attack-methods-in-ci-environments
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~