安全研究人员发现,Discord、Microsoft Teams 和其他应用软件所使用的底层框架存在 RCE(远程代码执行)漏洞。
上周四在拉斯维加斯举行的黑帽网络安全大会 (Black Hat cybersecurity conference) 上,安全研究人员在流行的应用软件如 Discord、Microsoft Teams、Slack,和其他许多应用的底层框架中发现了一系列的漏洞,这些应用被全世界数千万人使用。
安全研究人员介绍了他们的发现,详细说明了他们如何通过利用所有这些软件的底层框架,入侵使用 Discord、Microsoft Teams 和聊天应用 Element 的用户。Electron 是一个构建于 Chromium 和跨平台 JavaScript 运行时环境 Node.js 之上的前端框架。
对于发现的所有案例,安全研究人员已向 Electron 提交了漏洞以便官方进行修复,他们也因此获得了超过 1 万美元的奖励。据介绍,在研究人员发表他们的研究之前,这些漏洞已被修复。
发现漏洞的研究人员之一 Aaditya Purani 表示:“普通用户应该知道,Electron 应用与他们日常使用的浏览器不一样”,这意味着它们有可能更容易受到攻击。
在 Discord 的案例中,Purani 和他的同事发现的漏洞只要求他们发送一个发起视频的恶意链接。在 Microsoft Teams 中,他们发现的漏洞可以通过邀请受害者参加会议来加以利用。Purani 在演讲中解释说,在这两种情况下,如果受害目标点击了这些链接,攻击者就可以控制他们的计算机。
Purani 指出,所有这些漏洞起作用的第一个要求是在 Electron 应用程序的 webview (渲染网站的部分)中执行 JavaScript。这可以通过 XSS、Open URL 重定向等漏洞或通过网站中的功能(如创建嵌入、markdown 等)来实现。在 Discord 和 Element 的案例中,安全研究人员正是通过这种方式利用了漏洞。
第二个要求是滥用 ElectronJS 框架来升级任意 JavaScript 执行,以在终端用户操作系统上进行远程代码执行攻击。这些漏洞取决于应用程序中可用的安全设置和 IPC 通道。Purani 在演讲中展示了从最宽松到最严格的设置所采取的的攻击手段。点此查看详情。
Purani 在接受采访时表示,自己不使用基于 Electron 开发的应用程序,而是选择在浏览器内使用 Discord 或 Slack 等应用程序,因为后者安全性更强。他建议对安全性有偏执要求的用户最好使用网站本身,因为这样就拥有了 Chromium 所提供的保护,而 Chromium 的安全性比 Electron 更高。