Firefox 将启用 W^X 安全特性:性能影响不大

screenshotMozilla开发者们已经为Firefox浏览器加入了OpenBSD的W^X安全特性,以应对基本的缓冲区溢出和内存泄露问题。“W^X” 是“写异或执行”(Write XOR Execute)的缩写,作为OpenBSD中富有代表性的安全特性,Mozilla的开发者们已经将它移植到了Firefox的JIT代码编译器中。 Jan de Mooij指出,该功能在Firefox底层运行,并且影响在浏览器内执行的代码是如何与系统内存交互。
screenshot

W^R内存保护机制的原则是,一个进程(比如Firefox中的一个网页)不能够同时写或执行。该功能会从Firefox 46每夜构建版开始部署,网页将能够使用内存写入或执行的代码,但不能够同时进行这两种操作。

通过延缓执行时间,W^X内存保护机制可组织某些类型的缓冲区溢出攻击,以及确保流程执行堆栈中的任意动态代码——即使让Firefox崩溃,也不再会盲目地运行潜在的恶意代码。

在加入W^X支持之前,Firefox给予了网页完整的“读与写”(Read-Write-Execute, 简称RWX)许可。但为了安全,Firefox此举也会小幅影响到自身的性能表现。

Jan de Mooij解释到:“RWX使得某些bug很容易被利用,所有现代操作系统都会存储执行代码但内存不可写,且数据通常是无法执行的,这点可参考W^X与DEP”。

对于普通用户来说,在切换可写可执行内存状态之前,Firefox会通过特殊的内部功能来触发,而这肯定会带来一定的延迟。

根据Mozilla开发者的内部测试,根据基准测试套件的不同,其性能影响介于1%到4%之间。考虑到影响并不明显,所以团队最终还是决定启用R^W内存保护功能。

在排除了严重缺陷和其它不可预见的性能问题之后,Firefox终将默认启用这一功能。

====================================分割线================================
文章转载自 开源中国社区[http://www.oschina.net]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值