GitHub 安全博客发布了一则通知,警告用户目前正有一种新的恶意软件在攻击 Java 项目。据了解,这是一个针对 Apache NetBeans IDE 项目的开源供应链攻击,GitHub 安全团队将其称为 Octopus Scanner。一旦感染,恶意软件会寻找用户开发系统上的 NetBeans 项目,然后将恶意负载嵌入到项目文件中,使得每次项目构建都会执行恶意负载。
3 月 9 日,GitHub 收到了安全研究员 JJ 发来的警告通知:“我发现了一组感染了恶意程序 Octopus Scanner 的开源库。”随后,GitHub 开始自查,在站点上共发现了 26 个包含 Octopus Scanner 恶意软件的存储库。
据 GitHub 称:“当用户下载了这 26 个存储库中的任何一个时,该恶意软件就会像自传播病毒一样,感染本地计算机,并扫描用户的工作站,查看是否有本地 NetBeans IDE 安装,如果有,会继续深入影响计算机中的其他 Java 项目。”
安全研究员 JJ 表示,如果发现了 NetBeans IDE,Octopus Scanner 恶意软件会通过以下两个步骤继续进行 NetBeans 项目的后门构建:
Octopus Scanner 恶意软件可以在 Windows、Linux 和 macOS 上运行,能够识别 NetBeans 项目文件,并将恶意有效负载嵌入项目文件和构建 JAR 文件中。
安全研究员 JJ 发布了 Octopus Scanner 恶意软件的具体攻击过程:
据了解,Octopus Scanner 感染计算机的最后一步是下载一个远程访问木马,这样攻击者就可以在用户的计算机中搜集敏感信息。
需要注意的是,Octopus Scanner 在感染过程中可能会发生“变异”。虽然 GitHub 目前只能访问一个 Octopus Scanner 样本,但是在受感染的存储库中发现了四个不同版本的 NetBeans 感染项目,其中三个都是影响下游系统,例如,直接在受感染的存储库中进行构建,或者是使用受感染的构建工具在下游系统中生成了受感染的工具,逐步形成“套娃”传播。另外一个“变体”是执行本地系统感染,但不影响构建工具。
攻击者的目的是什么?攻击者的真正目的可能不是要影响 Java 项目,而是想要在开发敏感项目或主流软件开发公司内部人员的计算机上“留一手”,通过 RAT 病毒窃取到即将发布的工具、企业级软件及闭源软件的敏感信息。
GitHub 表示:“Octopus Scanner 恶意软件已经运行多年了,最早可以追溯到 2018 年 8 月,当时是上传到了 VirusTotal web scanner 上。截止到现在,Octopus Scanner 一直没有被有效阻止,虽然这次只在 GitHub 的 26 个存储库中发现了 Octopus Scanner ,但是我们相信,在过去的两年中,应该有更多的存储库被感染了。”
GitHub 安全团队在一份报告中称:“Octopus Scanner 恶意软件主要攻击的是 NetBeans 构建过程,但其实 NetBeans 并不是 Java 项目最常用的 IDE。”
由此,GitHub 猜测,如果攻击者专门花时间开发了针对 NetBeans 的恶意软件,那么就意味着这可能是有针对性的攻击,也许他们针对 Make,MsBuild,Gradle 等构建系统也实施了相同的恶意攻击,只是现在还没有引起注意。
更令人不安的是,Octopus Scanner 很难被检测出来,GitHub 向 VirusTotal 上传了样本,60 个杀毒软件只有 4 个能将其检测出来。恶意软件伪装成了 ocs.txt 文件,但实际上它是一个 JAR(Java Archive)文件。
详细信息:
The Octopus Scanner Malware: Attacking the open source supply chain
领取专属 10元无门槛券
私享最新 技术干货