聚焦源代码安全,网罗国内外最新资讯!
数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。
随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。
为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。
注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。
ReversingLabs 的首席恶意软件研究员 Robert Simmons 提到,“虽然上传到开源仓库如 npm 和 PyPI 的恶意包数量已降低,但威胁人员在 GitHub 上的隐秘性和复杂性正在增强。”
Banana Squad 首次由Checkmarx 公司在2023年披露,是因大规模发布恶意开源包而为人所知的持久性威胁行动者。这起最新的攻击活动利用了伪装成常被搜索的 Python 黑客工具的木马化 GitHub 仓库。该恶意软件的最终目的是从受感染的 Windows 主机窃取大量系统、浏览器和密币数据。
从这起攻击活动中脱颖而出的域名是dieserbenni[.]ru,它与多个恶意仓库有关。研究人员分析发现了67个伪造的 GitHub 仓库,动态生成的后门 payload,通过 Base64、十六进制和 Fernet 加密混淆的 Python 脚本,以及与 Banana Squad 团伙之前共享的恶意基础设施。
研究人员详细说明了相似仓库如何被用于欺骗开发人员,“仓库名称与其它未被木马化的一个或多个仓库的名称类似。”这起攻击利用的一个狡猾技术是使用 GitHub 的UI 特性(代码不会自动换行)将恶意 payload 隐藏在屏幕之外。研究人员解释称,“被植入木马的 Python 文件滥用了 GitHub 上的一个UI特性:很长的代码行不会换行……而是将恶意代码推到屏幕右侧之外。”即使使用4K显示器,隐藏的后门仍然不可见,除非开发人员切换到 十六进制视图或者使用取证工具如 Spectra Analyze。
举个例子:仓库 degenerateionred 中的文件 file-extension-spoofer.py 看似很正常,但如果使用RL工具仔细查看,则会看到其中嵌入了恶意 payload。为揭示这一攻击活动,研究人员从威胁情报日志中发现的恶意 URL 入手进行逆向追踪。这些URL中将仓库名称作为查询字符串,使其更容易识别出木马化的内容。RL使用 Spectra Assure 对比了同一仓库的干净和受感染版本。关键指标包括:
单仓库 GitHub 账户,名称如 degenerationred 等
仓库描述中带有火焰和火箭等表情符号
在 README 文件和代码中嵌入动态生成的字符串
Spectra Assure 报告强调了可视化欺骗手段的核心技术,“检测到软件组件中包含的代码超过常见的屏幕宽度”。被植入木马的Python 文件使用多种混淆层:
Base64编码字符串
十六进制编码
使用 Python 加密库的 Fernet 加密
这些文件最终会接触多个域名如 dieserbenni[.]ru 和 1312services[.]ru 来检索最终阶段的 payload,包括系统侦查工具、数据窃取器以及键盘记录器。该报告提醒称,“基于 Windows 的最终 payload 旨在窃取大量敏感数据。” GitHub 举报并下架了关于67个被植入木马的仓库。然而,克隆或分叉副本的真实数量尚不知晓,说明很多开发人员可能已经在不知情的情况下将受感染代码引入了自己的项目中。研究人员提到,“该最新攻击活动很可能影响多名受害者。”
这起软件供应链攻击活动再次表明,开源信任可被武器化。随着开发者社区持续依赖于多种平台如 GitHub 等获取快速、便捷的代码,对手也在不断进化,努力伪装并利用这些依赖链。
研究人员总结称,“公开源代码仓库如 GitHub 中的后门和木马化代码变得越来越普遍,它们已成为日益严重的软件供应链攻击途径。”
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~

