跳到主要内容

5 篇博文 含有标签「安全」

查看所有标签

V8沙盒

· 阅读需 14 分钟
Samuel Groß

经过近三年的时间,从最初的设计文档数百个代码提交,V8沙盒——一个面向V8的轻量级进程内沙盒——现在已经发展到不再被认为是实验性的安全特性。从今天开始,V8沙盒被纳入Chrome漏洞奖励计划 (VRP)。虽然在其成为强大的安全边界之前仍有许多问题需要解决,但纳入漏洞奖励计划是朝着这一方向的重要一步。因此,Chrome 123可以被视为沙盒的某种“测试版”发布。这篇博客文章借此机会讨论了沙盒的动机,展示了它如何防止V8中的内存损坏扩散到主进程,并最终解释了为什么它是实现内存安全的必要步骤。

为C++改造时间内存安全

· 阅读需 11 分钟
Anton Bikineev, Michael Lippautz ([@mlippautz](https://twitter.com/mlippautz)), Hannes Payer ([@PayerHannes](https://twitter.com/PayerHannes))
备注

注意: 本文最初发布在Google安全博客

Chrome的内存安全是一个持续不断的努力,以保护我们的用户。我们不断尝试使用不同的技术以超越恶意行为者。在这种精神下,这篇文章介绍了我们使用堆扫描技术来改进C++的内存安全的旅程。

与Spectre的一年:V8的视角

· 阅读需 10 分钟
Ben L. Titzer 与 Jaroslav Sevcik

2018年1月3日,Google Project Zero及其他团队披露了一类新的CPU漏洞统称为SpectreMeltdown。利用CPU的预测执行机制,攻击者可以暂时绕过代码中的隐式和显式安全检查,从而读取内存中未经授权的数据。尽管预测执行设计为微架构细节,原本应该在架构层面不可见,但精心构造的程序可以在预测过程中读取未经授权的信息,并通过诸如程序片段的执行时间这样的侧信道将其泄露。

暂时禁用逃逸分析

· 阅读需 2 分钟
Mathias Bynens ([@mathias](https://twitter.com/mathias)), 沙盒逃逸分析员

在 JavaScript 中,一个分配的对象如果从当前函数外部可以访问,就被称为 逃逸。通常情况下,V8 会在 JavaScript 堆中分配新对象,但通过 逃逸分析,优化编译器可以确定一个对象是否可以特殊处理,因为其生命周期被证明仅限于函数的激活状态。当对新分配对象的引用不会逃逸创建它的函数时,JavaScript 引擎不需要显式地在堆中分配该对象。相反,它们可以有效地将对象的值视为函数的局部变量。这反过来又启用了各种优化,如将这些值存储在堆栈或寄存器中,或者在某些情况下完全优化掉这些值。逃逸的对象(更准确地说,不能证明其不会逃逸的对象)必须在堆中分配。

关于 Node.js 中的哈希泛滥漏洞…

· 阅读需 6 分钟
杨国 ([@hashseed](https://twitter.com/hashseed))

今年七月初,Node.js 为所有当前维护的分支发布了一个安全更新,以解决哈希泛滥漏洞问题。这次中间修复以显著启动性能回退为代价。同时,V8 已经实现了一个解决方案,从而避免了性能下降。