研究显示,在Visual Studio Code扩展中发现严重的安全漏洞,可以让攻击者通过开发人员的集成开发环境(IDE)危害计算机并构建和部署系统。通过这些扩展可以在开发人员的系统上远程运行任意代码,从而进行供应链攻击。一些扩展名为“LaTeX Workshop”,“ Rainbow Fart”“Open in Default Browser”和“Instant Markdown”,它们累计安装约200万次。
犯罪分子如何利用漏洞实施入侵?
开源安全平台研究人员表示,开发人员的机器通常持有重要证书,可以(直接或间接)与产品的许多部分进行交互,泄露开发人员私钥可能会让犯罪分子连接到服务器,或克隆代码库的重要部分,使代码面临威胁。若之前通过静态代码安全检测减少代码缺陷,可以有效阻止犯罪分子窃取关键代码,避免造成数据泄露。
VS Code扩展程序类似浏览器插件,可以允许开发者在Microsoft的Visual Studio Code源代码编辑器中添加额外的功能,VS Code被1400万活跃用户使用,使其成为一个巨大的攻击面。
通过利用插件中的弱点可以有效侵入开发人员系统,所安装的扩展也可能被疯狂利用为供应链攻击的媒介。在一个案例中,犯罪分子可以利用Instant Markdown中发现的路径穿越漏洞,进而访问本地Web服务器,通过诱使开发人员点击恶意URL来检索机器上的任何文件。
在PoC演示中,研究人员发现可以利用这个缺陷从运行VS Code并在IDE中安装了Instant Markdown或Open in Default Browser的开发人员那里窃取SSH密钥。另一方面,由于未经过处理的输入可能被利用来运行恶意有效负载,因此发现LaTeX Workshop容易受到命令注入漏洞的攻击。最后,确定了名为Rainbow Fart的扩展程序具有zip slip漏洞,该漏洞使攻击者可以覆盖受害者计算机上的任意文件,并获得远程执行代码权限。一个特殊制作的ZIP文件通过插件使用的“import-voice-package”端点发送,并被写入扩展的工作目录之外的位置。这种攻击可能被用来覆盖‘.Bashrc’并获得远程代码执行权限。
IDE插件明显可以给应用程序带来固有风险,同时由于其自定义编写代码片段和所构建的依赖关系,也具有一定潜在危险,为了防止源代码在受到攻击的过程中遭到泄露,在开发过程中进行静态代码安全检测可以在第一时间发现代码中存在的缺陷,及时纠正问题,加强代码原生安全,降低被盗取的风险。
参读链接:https://www.woocoom.com/b021.html?id=751c7b09e8b24d14b1349ecac08f1f71