查看原文
其他

详解通过 GitHub.com releases 可实施供应链攻击

nightwatchcyber 代码卫士 2022-04-06

 聚焦源代码安全,网罗国内外最新资讯!


专栏·供应链安全

数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。


随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。


为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。


注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。


概要


GitHub.com 上的release 功能可使任意项目协作人员均可在 release 中更改资产。这种行为可发生在release 发布后,无需通知项目所有人或公众或访问 UI 中的审计日志。然而,我们可通过 GitHub API 获取某些审计信息。攻击者可攻陷协作人员的账户并在项目所有人或公众不知情的情况下通过该账户修改 release,从而对项目用户发动供应链攻击。

本文作者将这个问题告知厂商后,后者认为这是预期的涉及决策。虽然该厂商计划提出改进,但无法提供更多详情。目前并未在 GitHub.com 付费计划 和 GitHub 企业服务器中进行测试。

该问题的缓解方法是,建议使用 GitHub.com 的项目所有人使用其它方法确保 release 的安全如 PGP 数字签名release。建议用户检查数字签名并使用 GitHub.com release API 提取并验证 release 资产数据。


背景


GitHub.com广泛应用于提供源代码管理 (SCM) 和其它工具的软件开发,也别很多开源项目用于托管和发行。GitHub.com 中的 release 功能提供了将包软件迭代发布为 release 的方式,如在项目中将来源截图压缩为 .ZIP 和 .TAR.GZ 文件以及作为额外的二进制资产。开源项目常常通过该功能分发 release。


漏洞详情


Release 初次发布后,GitHub.com 上的release 功能可使任意项目协作人员均可在 release 中修改资产。攻击者可利用该差距攻陷协作人员的账户,并在项目所有人或公众不知情的情况下通过该账户修改 release,从而对项目用户发动供应链攻击。如下一些问题对攻击起到了推波助澜的作用。

  • 初次发布 release 后,可修改除了源代码截图的 release 资产。

  • 任何项目协作人员均可修改 release——目前并不存在恰当的控制仅允许访问代码而非 release。

  • Release 遭修改后,UI 内部并不会向项目所有人或其他协作人员或公众发出任何通知或提示。不过API会泄露某些数据。

  • 如果 Git commit 得到验证,则会显示“已验证”标记——但这仅适用于源代码截图而非其它 release 资产。

GitHub 提供的 release API 确实会暴露关于 release 资产的其它信息,被用于查看某 release 是否被修改。这种信息包括上传者的用户名以及上传时的时间戳。这些信息均可和主要的 release 元数据进行比对。

某 release 案例:


暴露资产数据的 API 响应案例:





复现步骤

通过如下步骤可复现该问题:

1、Alice 在 GitHub.com 上创建了一个公开库并添加了一些代码,其中包含一个 shell 脚本 “test.sh”。

2、Alice 邀请 Bob 作为该仓库的协作人员。

3、Alice 公开了包含 shell 脚本 “test.sh” 的release 作为单独资产。

4、Bob 访问了release 并修改了 release 中的 “test.sh”脚本。

5、通过 GitHub.com UI 查看 release 时,并无迹象表明脚本遭修改。下载脚本后发现和 Alice 发布的不一致。













推荐阅读
手把手教你详细分析 Chrome 1day 漏洞 (CVE-2021-21224)
为了研究,可以在 Linux 内核中植入漏洞吗?
利用 CocoaPods 服务器中的一个 RCE 漏洞,投毒数百万款app
Codecov后门事件验证分析
微软“照片”应用Raw 格式图像编码器漏洞 (CVE-2021-24091)的技术分析
速修复!热门npm 库 netmask 被曝严重的软件供应链漏洞,已存在9年
SolarWinds 供应链事件后,美国考虑实施软件安全评级和标准机制
找到软件供应链的薄弱链条
GitHub谈软件供应链安全及其重要性
揭秘新的供应链攻击:一研究员靠它成功入侵微软、苹果等 35 家科技公司
谷歌Linux基金会等联合推出开源软件签名服务 sigstore,提振软件供应链安全
Linus Torvalds 警告:勿用 Linux 5.12 rc1,担心供应链攻击?
微软和火眼又分别发现SolarWinds 供应链攻击的新后门
找到恶意软件包:Go 语言生态系统中的供应链攻击是怎样的?
拜登签署行政令,要求保护美国关键供应链(含信息技术)的安全
坐火车太无聊,我溜入微软 VS Code官方GitHub仓库,但没敢发动供应链攻击
SolarWinds 供应链攻击中的第四款恶意软件及其它动态
OpenWRT开源项目论坛遭未授权访问,可被用于供应链攻击
FireEye事件新动态:APT 攻击 SolarWinds 全球供应链(详解)
FireEye 红队失窃工具大揭秘之:分析复现SolarWinds RCE 0day (CVE-2020-10148)
FireEye红队失窃工具大揭秘之:分析复现Zoho ManageEngine RCE (CVE-2020-10189)
FireEye 红队失窃工具大揭秘之:分析复现 Zoho 任意文件上传漏洞(CVE-2020-8394)
FireEye 红队失窃工具大揭秘之:分析复现 Confluence路径穿越漏洞 (CVE-2019-3398)
FireEye 红队失窃工具大揭秘之:分析复现 Atlassian RCE (CVE-2019-11580)
Ripple 20:严重漏洞影响全球数十亿IoT设备,复杂软件供应链使修复难上加难
被后爹坑:开源 JavaScript 库沦为摇钱树
速修复!开源企业自动化软件 Apache OFBiz 出现严重的 RCE 漏洞
谷歌提出治理开源软件漏洞的新框架:知悉、预防、修复
开源软件漏洞安全风险分析
开源OS FreeBSD 中 ftpd chroot 本地提权漏洞 (CVE-2020-7468) 的技术分析
集结30+漏洞 exploit,Gitpaste-12 蠕虫影响 Linux 和开源组件等



题图:Pixabay License


奇安信代码卫士原创出品。转载请注明 “转自奇安信代码卫士 https://codesafe.qianxin.com”。



奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的

产品线。

    觉得不错,就点个 “在看” 或 "” 吧~


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存