一个新的项目希望加强V8的安全性,V8是Chrome浏览器的一部分,大多数用户并不知道,但黑客越来越视其为一个有趣的目标。
JavaScript让网络运转起来,谷歌今年不得不修补Chrome V8 JavaScript引擎中的多个零日或以前未知的缺陷。今年4月,谷歌承认,当CVE-2021-21224在野外被利用时,V8中出现了一个严重性很高的bug。
Chrome拥有超过20亿用户,因此当零日漏洞攻击Chrome时,这是一件大事。V8是一个开源的Google项目,是一个功能强大的Chrome JavaScript引擎,帮助推动了web和web应用程序的发展。V8还支持服务器端运行时节点.js。
现在是Google Project Zero安全研究团队的成员Samuel Groß,详细介绍了一个V8沙盒方案,该方案使用虚拟机和沙盒技术帮助保护其内存免受引擎中恶意漏洞的影响。
“V8漏洞通常允许构建异常强大的漏洞利用。此外,这些漏洞不太可能通过内存安全语言或即将推出的硬件辅助安全功能(如MTE或CFI)来缓解,”Groß解释说,他指的是微软的控制流完整性(CFI)和英特尔的控制流实施技术(CET)等安全技术,V8对现实世界的攻击者特别有吸引力。“
< P> GRO”的评论表明,即使采用了一种像谷歌这样的新的Android代码所采用的内存生锈的安全语言,也不能立即解决V8所面临的安全问题,这是用C++编写的。他还概述了广泛的设计目标,但指出了该项目的规模,强调该沙箱项目尚处于起步阶段,需要克服一些重大障碍。但V8是谷歌主导的开源项目,鉴于V8是Chrome中安全漏洞的来源,GPZ的提案中有一个成员可能会越界。
这些问题影响浏览器软件如何与操作系统以外的硬件交互,旨在防止V8中的未来缺陷损坏V8堆之外的计算机内存。这将允许攻击者执行恶意代码。
V8附加安全保护的一个考虑因素是对硬件性能的影响。Groß估计,他的提议将导致“实际工作负载的总体开销约为1%”。
Groß解释了V8的问题,该问题源于JIT编译器,可用于诱使机器在运行时发出破坏内存的机器代码。
“许多被实际攻击者利用的V8漏洞都被有效地利用了。”二阶漏洞:根本原因通常是其中一个JIT编译器中的逻辑问题,然后可以利用该问题生成易受攻击的机器代码(例如,缺少运行时安全检查的代码)。然后,生成的代码会在运行时被利用,从而导致内存损坏。”
他还强调了最新安全技术的缺点,包括基于硬件的缓解措施,这些技术将使V8成为未来几年的一个有吸引力的目标,因此V8可能需要沙箱方法。这些问题包括:
攻击者对内存损坏原语有很大的控制权,通常可以将这些错误转化为高度可靠和快速的漏洞利用。由于CPU端通道和V8漏洞的潜在性,内存安全语言无法防止这些问题,因为它们基本上是逻辑错误,即将推出的硬件安全功能(如内存标记)可能在大多数情况下都是可以绕过的,尽管对实际采用新V8沙盒的可能性有所淡化,研究人员似乎对其完成预期工作的前景感到乐观,因为攻击者需要将两个单独的漏洞链接在一起,以执行他们选择的代码。
“通过这个沙箱,攻击者可以任意破坏虚拟内存框架内的内存,并且可以从多个线程中破坏内存,现在需要一个额外的漏洞来破坏它之外的内存,从而执行任意代码,”他写道。
供应链攻击越来越严重,而你还没有准备好迎接它们,而他们所害怕的
这一新的网络钓鱼攻击“比平常更狡猾”,微软警告说
SolarWinds攻击者通过注册违反了美国检察官的电子邮件,您同意使用条款并确认隐私政策中概述的数据实践。
您还将免费订阅ZDNet的今日技术更新和ZDNet公告时事通讯。您可以随时取消订阅这些时事通讯。
您同意接收CBS公司系列的更新、提醒和促销活动,包括ZDNet的今日技术更新和ZDNet公告时事通讯。您可以随时取消订阅