供应链劫持?聊聊什么是RepoJacking

2024-09-01 16:20

本文主要是介绍供应链劫持?聊聊什么是RepoJacking,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图片

介绍

       近几个月来,对开源存储库的主要威胁就包括存储仓库劫持,通常称为RepoJacking。RepoJacking 是指恶意攻击者通过一定手段接管托管存储库的所有权或维护者的账户。通过获取对账户的访问权限,攻击者可以将恶意代码注入到使用对应仓库作为依赖项的项目中。

图片

RepoJacking 如何攻击?

       存储库攻击,也称为供应链攻击,通常利用 GitHub 等托管平台中的漏洞。RepoJacking 中常用有两种方法:

  • 名称更改:当用户在托管平台上更改其用户名时,攻击者可能会使用原始用户名注册,这样攻击者就可以创建同名仓库,而依赖这个项目的软件包仍可能通过访问原始存储库 URL 进行更新。

  • 账户删除:与上述方法类似,恶意行为者可以重新注册已删除的账户并重新创建原始存储库。对于尝试通过 URL 获取存储库的项目,这可能会导致读取错误,因为链接会中断。但是,攻击者可以通过在删除账户和项目刷新的这段期间内快速注册已删除的同名账户来获取仓库权限。

图片

       一旦攻击者获得了对存储库的控制权,他们就可以执行各种特权操作。这包括指定其他恶意用户或自行创建的账户为管理员或维护者,使他们能够批准未经授权的代码更改。它们可以强制在新的项目版本中包含恶意或不需要的代码,甚至从存储库中删除功能代码,从而导致现有功能遭到破坏或损坏。

repojacking的安全影响是什么?

       成功的存储库劫持攻击可能会对安全造成严重影响,尤其是对于充当依赖项的受影响软件包的用户而言。这些攻击允许通过现有或新发布的版本上传不受限制的恶意代码,这些代码可以通过自动或手动升级到最新版本直接影响外部项目。

       repojacking通常会在很长一段时间内被忽视,有时持续数天或数周。它们通常由专门的安全研究人员、细心的用户或意识到其存储库已被劫持的原始所有者披露。解决问题的责任通常在于托管平台,托管平台可以通过删除或暂停受感染的账户来采取措施来减轻恶意包版本的影响。

       虽然这些攻击似乎很容易被利用,但它们取决于特定条件,这在受欢迎的项目所有者的账户中并不常见,尤其是那些经常收到更新的项目所有者。对于比较活跃的账户所有者,攻击者通常使用网络钓鱼或更复杂的“捕鲸”技术,以访问其账户或通过跨站点脚本攻击操纵他们执行操作。但是,许多浏览器和网站都有针对此类攻击的内置保护措施。

RepoJacking 事件的真实例子:

  • CTX 劫持:2022 年 10 月,Python 包 CTX 在 PyPI 上遭遇存储库劫持。所有者账户的原始域名托管电子邮件已过期,允许第三方重置密码并重新注册域名。攻击者迅速上传恶意包,替换原始版本。劫持事件在10 天内未被发现,在此期间发生了超过27000次恶意 CTX 版本的下载。包中添加的代码将敏感用户信息泄露到外部端点。PyPI 管理员暂停了被劫持的账户并删除了所有版本的 CTX。

  • PhPass:PHP 包 PhPass 在 2022 年 5 月以类似的方式被利用。所有者的账户已删除,然后被以相同的名称重新注册来访问原始存储库。攻击者将原始包版本替换为包含提取环境变量的代码的恶意版本。作为解决方案,创建了一个分支存储库来托管非恶意版本,并将原始下载 URL 重定向到新的分支。

  • UAParser.js:2021 年10月,当作者的 NPM 账户被接管时,流行的 JavaScript 库 UAParser.js 被武器化。攻击者发布了该库的三个恶意版本,导致了大规模攻击,因为它在各个项目中被广泛使用。这些版本中的恶意代码从远程服务器下载并执行二进制文件,包括加密货币挖掘软件和从 Windows 系统泄露敏感信息的木马。受感染的版本很快被删除,并发布了新版本以减轻恶意版本的影响。

图片

结论

       可以实施多种措施来保护组织免受 RepoJacking 和其他供应链攻击。一种关键方法是使用多因素身份验证,特别是双因素身份验证(2FA)。GitHub 宣布,从 2023年开始,所有维护者账户都必须强制使用 2FA,从而显著提高其安全性。然而,尽管存在风险,但像 NPM 这样的一些平台尚未强制执行 2FA。还可以通过主动暂停或删除具有过期或即将过期域的账户来防止域接管。但是,这种方法需要托管平台增加维护和监控。

       随着开源项目的不断发展,并且越来越成为很多项目的依赖,repojacking事件可能会不断增加。为了解决这个问题,有必要更多地采用2FA等预防技术。强制执行 2FA 等安全措施可以通过确保存储库所有者的更高级别的账户安全性来帮助减轻存储库劫持的影响。

这篇关于供应链劫持?聊聊什么是RepoJacking的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1127444

相关文章

聊聊说话的习惯

1 在日常生活中,每个人都有固定的说话习惯。心理学研究表明,通过一个人的说话习惯,也可以分析出他的性格特点。对于每一个人来讲,说话习惯已经融为他们生活中的一部分。在社交活动中,一些不良的说话习惯很可能会给他们带来麻烦。因此,了解说话习惯对心理活动的影响是十分有必要的。 2 具有顺畅的说话习惯的人,大多思路清晰、语速适中、用词准确并且声声人耳,是典型的顺畅型说话方式这种类型的人要么不说话,要么

聊聊分布式,再讨论分布式解决方案

前言 最近很久没有写博客了,一方面是因为公司事情最近比较忙,另外一方面是因为在进行 CAP 的下一阶段的开发工作,不过目前已经告一段落了。 接下来还是开始我们今天的话题,说说分布式事务,或者说是我眼中的分布式事务,因为每个人可能对其的理解都不一样。 分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎可以说是无法避免,本文就分布式事

第143天:内网安全-权限维持自启动映像劫持粘滞键辅助屏保后门WinLogon

案例一: 权限维持-域环境&单机版-自启动 自启动路径加载 路径地址 C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup\##英文C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\开始菜单\程序\启动\ #

聊聊资源调度

资源调度 般分为两个阶段: 是实现物理资源的虚拟化(即资源的抽象)于当前机器的性能越来越好,硬件配置越来越高,直接用物理机跑业务比较浪费,所以将物理机分割成更小单位的虚拟机,这样可以显著提升机器的利用效率,在公司内部一般采用容器技术来隔离资源 是将资源虚拟化后进 步在时间和空间上实现更细粒度的编排 ,优化资源的使用。 1 .一些数据 如果公司的几万台机器都是物理机,那么资源的使用率稍低: CP

菜鸟供应链实时数据技术架构的演进

大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! 本文来自阿里巴巴的缘桥的分享,讲解了菜鸟实时架构的演进过程以及Flink在其中扮演的作用。 我们之前分享过几篇数仓的文章,如下: 《漫谈数仓五重奏》 《用Flink取代Spark Streaming!知乎实时数仓架构演进》 《Flink实时数仓|美团点评实战》 《OneData建设探索之路

聊聊Spark中的宽依赖和窄依赖

开门见山,本文就针对一个点,谈谈Spark中的宽依赖和窄依赖,这是Spark计算引擎划分Stage的根源所在,遇到宽依赖,则划分为多个stage,针对每个Stage,提交一个TaskSet: 上图:一张网上的图: 基于此图,分析下这里为什么前面的流程都是窄依赖,而后面的却是宽依赖: 我们仔细看看,map和filter算子中,对于父RDD来说,一个分区内的数据,有且仅有一个子RDD的分区来

聊聊灰度发布

有没有在北京面试java的小伙伴,每家公司面试问的问题都不一样,昨天面试官问到了灰度发布,一脸懵,好像在哪儿听说过,毕竟我都没发布过,之前都是项目组长在干这些事儿,所以聊聊,了解一下 什么是灰度发布 全量发布:把旧服务kill掉,把新服务启动,这个过程就可以理解为全量发布 回滚周期长 如果我们更新完应用之后,我们做线上回归测试的时候发现有BUG,这个时候就要做回滚,过程就是把新服

聊聊随机测试和猴子测试

目录 随机测试的特点 1.不可预测性 2.缺乏针对性 3.自动化 4.资源密集型 猴子测试 随机测试 (Random Testing) 猴子测试 (Monkey Testing) 特点: 区别 1.控制程度 2.目标差异 3.实现方式 在我们测试的过程中,通常会使用到随机测试和猴子测试,其中随机测试侧重于人工测试,猴子测试侧重于借助工具执行命令进行测试。 随机测试

【聊聊经济社会】论阶级跨越

为什么要在市场中寻求自由,在市场中寻求洒脱,原因不胜其数,其中便有一条,现实生活中多是xx,可能社会属性本身就具备党同伐异,像是一股意志,平庸一切不平庸,中和一切特立独行,最终以达到一种变态的稳定. 消其意志,断其未来,耗其钱财 ,而我称之为阶级壁垒 阶级之所以难以跨越,主要也在于这三点 一:没有这样的志向,像那种羡慕有钱,或者羡慕有权,权当做梦。这样的志向,正常人只停留于羡慕的层次,而一旦受到丁

供应链管理平台开发指南:从食堂采购系统源码开始

本篇文章,小编将围绕如何从食堂采购系统源码出发,构建一个完整的供应链管理平台进行详细解读,帮助开发人员掌握实现技术要点,并为企业打造高效的供应链系统提供技术参考。 一、供应链管理平台的核心功能概述 供应链管理平台的核心是通过系统化的方式对供应、需求、库存、物流等各环节进行高效管理,确保各个节点间的信息透明与资源最优配置。在餐饮领域,供应链管理平台的关键功能通常包括: 1.采购管理 2.