GitHub发现了一种通过其系统上受感染的存储库传播的恶意软件。在过去的十周里,它一直在拆解它所说的一种“恶毒的数字生活”。
该恶意软件被称为Octopus Scanner,它的目标是Apache NetBeans,这是一个用于编写Java软件的集成开发环境。在对此次攻击的记录中,GitHub安全实验室团队解释了恶意软件是如何潜伏在上传到其网站的源代码存储库中的,当开发人员下载受感染的存储库并使用它来创建软件程序时,恶意软件就会激活。
根据3月9日一名安全研究人员的提示,微软旗下的网站分析了该软件,以找出它是如何工作的。
GitHub是一项基于Git的在线服务,Git是Linux创建者Linus Torvalds开发的代码版本控制系统。Git允许开发人员为他们的软件开发项目中的文件拍摄快照,使他们能够在以后恢复更改或创建一个项目的不同分支,供不同的人使用。GitHub允许他们将这些存储库的副本“推”到它的在线服务上,这样其他开发人员也可以下载(克隆)并使用它们。
这就是八达通扫描仪是如何发挥其卑鄙魔力的。开发人员从受软件感染的存储库中下载项目并构建它,这意味着使用源代码创建工作程序。构建过程会激活恶意软件。它扫描他们的计算机,看他们是否安装了NetBeans IDE。如果他们不这样做,就不需要采取进一步的行动。但是如果他们这样做了,它就会用一个传送器感染构建的文件,这个传输器会传递它的最终有效负载:远程访问特洛伊木马(RAT),让攻击者可以控制用户的机器。该恶意软件还试图阻止任何新的项目构建来替换受感染的项目,从而在受感染的系统上保存自身。
不过,章鱼扫描仪并不只会感染构建的文件。GitHub在扫描中发现的大多数变体也会感染项目的源代码,这意味着任何其他镜像到远程存储库的新感染的项目都会在GitHub上进一步传播恶意软件。
GitHub安全实验室扫描了该网站的存储库,发现其中26个包含恶意软件。该团队将他们发现的恶意软件与VirusTotal上的软件散列进行了匹配,发现检测率很低,使其能够在不容易被捕获的情况下传播。
GitHub经常与使用其存储库故意分发恶意软件的人搏斗。通常GitHub只需关闭这些存储库并删除帐户,但Octopus Scanner更棘手,因为拥有这些存储库的开发人员(即所谓的维护员)并不知道它们被感染了。他们运行的是合法项目,因此屏蔽这些账户或存储库可能会影响企业。GitHub也不能仅仅删除受损存储库中受感染的文件,因为这些文件对合法的软件项目至关重要。
GitHub表示,它很惊讶地看到针对NetBeans的恶意软件,因为这不是最流行的Java IDE。它的结论是:
由于主要受感染的用户是开发人员,因此攻击者对获得的访问权限非常感兴趣,因为开发人员通常可以访问其他项目、生产环境、数据库密码和其他关键资产。访问升级的可能性很大,这在大多数情况下都是攻击者的核心目标。
我们可能永远不知道八达通扫描仪的幕后黑手是谁,但根据GitHub的研究,八达通扫描仪早在2018年就已经在流通了。这是一个偷偷摸摸的代码示例,它秘密而高效地针对特定的人群。
Sophos产品使用名称Java/Agent-Berx和Java/Agent-Berz识别GitHub安全实验室文章中列出的恶意软件示例。如果您是NetBeans程序员,则可以在日志中搜索这些名称,以在您自己的构建环境中查找Octopus Scanner文件的证据。
点击并拖动下面的声波可以跳到播客中的任意位置。您也可以直接在SoundCloud上收听。