GitHub遭遇大规模恶意仓库混淆攻击,超过10万代码库被污染

| 分类: 游戏情报 | 热度: 3 ℃

国外安全团队Apiiro发现去年年中启动的一项恶意仓库混淆攻击最近再度加剧,且规模远超以往。当无辜的开发者不慎选用看似知名可靠实则已被恶意代码渗透的GitHub仓库时,该攻击已影响超过10万个GitHub仓库(实际影响可能达到数百万级别)。

仓库混淆攻击的具体手法是怎样的呢?

与依赖混淆攻击类似,恶意攻击者诱导其目标下载恶意版本,而非真正的版本。不过,依赖混淆攻击巧妙利用了包管理器的工作机制,而仓库混淆攻击则更多依赖于人类用户的失误,有时还结合社会工程学技巧,让用户误选恶意版本,而非正确的版本。

在当前案例中,为了最大限度增加感染概率,恶意行为者通过以下步骤在GitHub上大量散布恶意仓库:

  1. 克隆现有的热门仓库(例如:TwitterFollowBot、WhatsappBOT、discord-boost-tool、Twitch-Follow-Bot等数百个仓库);
  2. 向这些仓库植入恶意软件加载器;
  3. 使用相同的名称将被感染的仓库重新上传至GitHub;
  4. 对每一个恶意仓库自动创建数千次分支;
  5. 利用论坛、Discord等渠道秘密推广这些恶意仓库至互联网各处。

当恶意仓库被开发者使用时会发生什么情况?

一旦不知情的开发者采用了其中任何一个恶意仓库,隐藏的恶意负载会解除七层混淆保护,其中包括下载恶意Python代码,随后执行二进制可执行文件。恶意代码(主要为BlackCap-Grabber的一个变种)会从多种应用程序中窃取登录凭据、浏览器密码、cookies以及其他机密数据,并将其发送回恶意行为者的C&C(命令与控制)服务器,进而实施一系列其他的恶意行为。

对于GitHub的影响

GitHub能够快速识别并移除大部分被复制的恶意仓库,这是由于其自动化检测机制的存在。然而,这个机制似乎未能捕捉到所有恶意仓库,特别是那些手工上传且未被及时清除的仓库。由于整个攻击链条大体上是大规模自动化的,即使仅有的1%存活率也意味着仍有数千个恶意仓库留存。只需在GitHub上简单搜索特定关键词,您就能看到目前这一波恶意仓库的部分实例。

计入被移除的仓库,受影响的实际仓库总数可能高达数百万。通常情况下,删除操作会在上传后几个小时内进行,因此准确记录难度较大。我们可以确认删除是自动化的,因为许多原始恶意仓库确实已被移除,主要针对的是批量生成的分叉项目。比如,在某页面的概览中能看到数千个分叉,但在详细信息中却找不到任何分叉。

由于攻击的覆盖面广,此类活动形成了一种二级社会工程学网络效应:偶尔会有不明真相的用户在不经意间将恶意仓库进行分叉,进一步扩散恶意软件。在高度依赖自动化操作的同时,恶意软件最终又通过人工途径得以传播,这种讽刺性的现象引人注意。

攻击活动的时间线如下:

  • 2023年5月:Phylum首次报道了PyPI上出现的几个包含当前恶意负载早期组件的恶意软件包。这些包通过在流行GitHub仓库(如'chatgpt-api')的分支中植入'os.system("pip install package")'调用来进行传播。
  • 2023年7月至8月:一批恶意仓库被上传至GitHub,这一次是直接通过仓库传输恶意负载,而非通过PyPI包的形式。这发生在PyPI移除恶意软件包及安全社区加强对PyPI关注之后。Trend Micro公司的Aliakbar Zahravi和Peter Girnus对此发布了详尽的技术分析。
  • 2023年11月至今:我们检测到了超过10万个包含类似恶意负载的仓库,并且数量仍在不断增加。这种攻击方法具有以下优势:
    • 利用了GitHub的巨大规模,即使恶意仓库数量众多,但由于占比相对较小,较难被察觉;
    • 不再像依赖混淆攻击那样利用包管理器工作原理,因此不再显式提及恶意包名,减少了一个暴露的线索;
    • 针对的仓库处于小众领域且知名度不高,这使得不知情的开发者更易误选恶意伪装仓库。

从包管理器转战源代码控制系统(SCMs)

从多起发生在包管理器和SCM平台的事件来看,此次恶意活动从利用PyPI上传恶意软件包转变为利用GitHub上传恶意仓库,似乎标志着一种总体趋势。目前,安全社区对包管理器的安全性尤为重视,这一点在此类攻击转移中表现得尤为明显。

GitHub及其同类平台提供了易于创建账户和仓库的自动化功能,配合较为宽松的API接口和易突破的速率限制,加之海量的仓库数量可供隐藏,使其成为隐蔽入侵软件供应链的理想靶点。

这场活动以及围绕包注册表的依赖混淆攻击,以及通过源代码管理系统普遍传播的恶意代码,共同凸显出软件供应链安全虽有多重防护工具和机制保障,但仍十分脆弱。

如何防范仓库混淆攻击

已向GitHub通报了此事,多数恶意仓库已被删除,但攻击活动仍在持续,企图将恶意代码注入供应链的攻击愈发频繁。尽管系统和网络层面存在大量检测恶意软件的方法,但供应链仍然是恶意行为者热衷攻击的重要领域。如果您遭遇任何恶意仓库,无论是不是本次活动中的一部分,请务必上报。

在Apiiro公司,我们开发了一套恶意代码检测系统,能够监控所有关联的代码库。我们运用深度代码分析技术,通过多项先进手段(如基于LLM的代码分析、将代码转化为完整的执行流程图、复杂启发式引擎、动态解码、解密和反混淆等)来识别攻击,使得这套系统很难被欺骗。

如果没有对代码中嵌入的恶意负载进行监测,组织的整体安全将过分依赖于开发者能否精准辨识并避开看似极为相似的恶意仓库、CI/CD配置是否无误、第三方代码是否绝对安全等诸多近乎理想化的要求。为此,我们必须在业界范围内采取行动,不仅要强化传统的漏洞检测能力,还要深入挖掘下一代软件供应链及应用风险。

声明: 猎游人 每天为你带来最新的游戏和硬件打折情报,帮你精心挑选值得玩的游戏,让您的钱花的更值!本站信息大部分来自于网友爆料,如果您发现了优质的游戏或好的价格,不妨爆料给我们吧(谢绝任何商业爆料)!

0条评论

Hi,您需要填写昵称和邮箱!
姓名 (必填)
邮箱 (必填)
网站

暂时木有评论