“ JavaScript 引擎 V8 的内存沙盒 (V8 Sandbox) 开始测试 推荐 ”
JavaScript 引擎 V8 宣布其内存沙盒 (V8 Sandbox)自最初的设计文档发布以来,已历经近三年时间,其间发布了数百个 CL,现在它已不再被视为实验性安全功能,并将在 Chrome 123 中进入测试阶段。
公告写道,过去三年2021 年至 2023 年发生的所有 Chrome 漏洞都是从 Chrome 渲染器进程中的内存损坏漏洞开始,该漏洞被用于远程代码执行 (RCE)。其中,60% 是 V8 中的漏洞。
然而,有一个问题V8 漏洞很少是经典的内存损坏错误如释放后使用、越界访问等,而是微妙的逻辑问题,这些问题反过来可以被利用来损坏内存。
因此,现有的内存安全解决方案大部分不适用于 V8。特别是,无论是切换到内存安全语言例如 Rust,还是使用当前或未来的硬件内存安全功能例如内存标记,都无法帮助解决 V8 当前面临的安全挑战。
不过在 V8 中发现和利用的几乎所有漏洞都有一个共同点最终的内存损坏必然发生在 V8 堆内存,因为编译器和运行时几乎专门在 V8HeapObject实例上运行。
基于此,V8 团队设计了沙盒机制。V8 沙盒的设计思想是隔离 V8 堆内存,这样任何内存损坏都不能“传播”到进程内存的其他部分。
更多细节查看https://v8.dev/blog/sandbox。
每日一言
""有股强烈的学习欲望,幸好我自制力强,压下去了。""