Check Point Research 的安全研究人员发现了一种新的恶意软件加载程序“GodLoader”,它利用游戏引擎“Godot Engine”。
对于那些不知道的人来说,Godot Engine 是一种流行的开源游戏引擎,以其在 2D 和 3D 游戏开发中的多功能性而闻名。
其用户友好的界面和强大的功能集允许开发人员将游戏导出到各种平台,包括 Windows、macOS、Linux、Android、iOS、HTML5 (Web) 等。
其受 Python 启发的脚本语言 GDScript,以及对 VisualScript 和 C# 的支持,使其成为各种技能水平的开发人员的最爱。
该平台拥有一个由 2,700 多名开发者和大约 80,000 名社交媒体关注者组成的活跃且不断增长的社区,其受欢迎程度和专注支持是不可否认的。
然而,该平台的受欢迎程度也使其成为网络犯罪分子的目标,他们利用其开源特性来传递恶意命令和恶意软件,同时却未被 VirusTotal 中的几乎所有防病毒引擎检测到。
在一份题为“游戏引擎:恶意软件加载程序未被发现的游乐场研究人员表示,他们认为 GodLoader 恶意软件背后的威胁行为者自 2024 年 6 月 29 日以来一直在使用该恶意软件,迄今为止已感染了超过 17,000 台设备。
值得注意的是,这些有效负载包括 XMRig 等加密货币挖矿程序,该挖矿程序托管在 2024 年 5 月 10 日上传的私人 Pastebin 文件上。该文件包含与该活动相关的 XMRig 配置,该文件被访问了 206,913 次。
该恶意软件通过 Stargazers Ghost Network 进行分发,该网络以分发即服务 (DaaS) 模式运行,从而使恶意软件能够通过 GitHub 存储库进行“合法”分发。
整个 9 月和 10 月,使用了大约 200 个存储库和超过 225 个 Stargazer Ghost 帐户来分发 GodLoader。
这些攻击针对开发者、游戏玩家和普通用户,于 2024 年 9 月 12 日、9 月 14 日、9 月 29 日和 10 月 3 日通过 GitHub 存储库分四波进行,诱使他们下载受感染的工具和游戏。
“Godot 使用 .pck(包)文件来捆绑游戏资产和资源,例如脚本、场景、纹理、声音和其他数据。游戏可以动态加载这些文件,允许开发人员分发更新、可下载内容 (DLC) 或其他游戏资产,而无需修改核心游戏可执行文件。”Check Point 研究人员说报告中。
“这些包文件可能包含与游戏、图像、音频文件和任何其他“静态”文件相关的元素。除了这些静态文件之外,.pck 文件还可以包含用 GDScript (.gd) 编写的脚本。这些脚本可以在使用内置回调函数 _ready() 加载 .pck 时执行,从而允许游戏添加新功能或修改现有行为。
“此功能为攻击者提供了多种可能性,从下载额外的恶意软件到执行远程有效负载,同时保持不被发现。由于 GDScript 是一种功能齐全的语言,威胁行为者具有许多功能,例如反沙箱、反虚拟机措施和远程有效负载执行,从而使恶意软件无法被发现。”
虽然研究人员只识别了专门针对 Windows 系统的 GodLoader 样本,但他们还使用 GDScript 开发了一个概念验证漏洞,展示了该恶意软件如何轻松地适应针对 Linux 和 macOS 系统。
为了降低 GodLoader 等威胁带来的风险,至关重要的是及时更新操作系统和应用程序补丁,并谨慎对待包含未知来源链接的意外电子邮件或消息。
此外,培养员工的网络安全意识并在有疑问时咨询安全专家可以显着提高针对潜在安全挑战的防护能力。
为了回应 Check Point Research 的报告,Godot 引擎维护者和安全团队成员 Rémi Verschelde 向电脑发出蜂鸣声:
正如 Check Point Research 报告所述,该漏洞并非 Godot 特有。 Godot Engine 是一个带有脚本语言的编程系统。例如,它类似于 Python 和 Ruby 运行时。用任何编程语言都可以编写恶意程序。我们不认为 Godot 比其他此类程序更适合这样做。
仅在系统上安装了 Godot 游戏或编辑器的用户不会面临特别的风险。我们鼓励人们只执行来自可信来源的软件。
有关更多技术细节:
Godot 不为“.pck”文件注册文件处理程序。这意味着恶意行为者始终必须将 Godot 运行时与 .pck 文件一起发送。用户始终必须将运行时与 .pck 一起解压到同一位置,然后执行运行时。除非存在其他操作系统级漏洞,否则恶意行为者无法创建“一键漏洞利用”。如果使用这样的操作系统级漏洞,那么由于运行时的大小,Godot 将不是一个特别有吸引力的选择。
这类似于用 Python 或 Ruby 编写恶意软件,恶意行为者必须将 python.exe 或 ruby.exe 与其恶意程序一起发送。