10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

Firefox 46 解决安全问题,改善性能

  • 2016-05-02
  • 本文字数:1383 字

    阅读完需:约 5 分钟

Mozilla 刚刚发布了Firefox 46,该版本修复了多个严重漏洞,并改善了JavaScript JIT 编译器的安全性。

安全和性能改进是Firefox 46 最大的变化。该版本共修复10 个安全漏洞,其中有1 个严重漏洞,4 个高危漏洞,其余6 个为中等严重程度的漏洞。

这个严重漏洞与Mozilla 所称的其他内存安全隐患有关,“某些情况导致的内存错误”证明了该Bug 的存在,Mozilla 团队称,“付出足够努力”就能利用它执行任何代码。

其他高危漏洞则与 Firefox for Android 有关,在这些漏洞的影响下,攻击者有可能通过移动设备的握持方向数据(Orientation data)和动作传感器推测出触屏上的操作。Mozilla 的报告认为,如果不修复这个问题可能危及用户隐私,并有可能暴露“随同用户其他活动输入的 PIN 码”。

该版本中新增了有关 JavaScript Just In Time(JIT)编译器的重要更新。在 Firefox 已启用 W^X JIT 代码这篇博客中,Mozilla 软件工程师 Jan de Mooij 称:

几乎所有 JIT(包括 Firefox 目前使用的)都会使用 RWX(读 - 写 - 执行)权限为代码分配内存页面。JIT 通常需要修补代码(例如用于内联缓存(Inline cache)),如果内存可写,就能在不影响性能的情况下做到这一点。

然而 de Mooij 认为,这种做法会造成内存出错和安全隐患,RWX 页面的存在使得 Bug 更容易被利用。在 Firefox 46 中,JIT 代码页默认为不可写。

对于这个改动,de Mooij 也承认 W^X 并不“完美”,也不是“能解决任何安全问题的万全之策”,但依然坚信这个改动可以“让某些攻击更难实施…只有少量(相对简短的)代码路径可以访问 RW 代码,并且可读写的时间窗更短”。

为了改善稳定性和性能,Mozilla 还在 Firefox 46 中修复了多个与 WebRTC 有关的问题。

针对 Android 上的 Firefox 用户,Firefox 46 也提供了一些更新。例如通知信息中列出的后台打开的标签页现在已经可以显示标签页的URL,自动补全功能可补全默认域名,并且Firefox 现在可以在运行时申请权限。Firefox 46 取消了对Android for Honeycomb 的支持,并已停止支持Firefox Sync 1.1,开始推荐用户使用火狐账号(Firefox Accounts)。

针对Linux/GNU 用户,Firefox 46 提供了大家期待已久的针对GNOME 和其他桌面环境的GTK3 集成。

Firefox 46 还为开发者提供了一个名为 Dominators 的内存工具新视图。

Dominators 树“有助于帮您理解自己网站中为不同对象分配的‘保留大小’”,可显示保留内存最多的节点。

借此可以了解“节点内存保留大小的字节数或总占比”,“节点 Shallow 大小的字节数或总占比”,以及“节点的名称和内存地址”。

在 Firefox 47 中, Retaining Paths 窗格可以为单一节点显示 5 个最短保留路径(Retaining path),这样就可以看到阻止特定节点被垃圾回收的所有节点。开发者可以通过保留路径了解哪些对象保留了对已泄漏对象的引用。

Firefox 46 的完整改进清单可参阅发布说明

Mozilla 欢迎新人加入 Firefox 项目,InfoQ 读者可以通过多种方式为 Firefox 做贡献。各种可行方式的完整列表已发布在 Mozilla 开发者网络,此外 Mozilla 还提供了一系列参与方法指南。

作者:James Chesters
阅读英文原文 Firefox 46 Tackles Security Issues, Improves Performance


感谢夏雪对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-05-02 19:007940
用户头像

发布了 283 篇内容, 共 119.5 次阅读, 收获喜欢 63 次。

关注

评论

发布
暂无评论
发现更多内容

leetcode 110. Balanced Binary Tree 平衡二叉树(简单)

okokabcd

LeetCode 数据结构与算法

【JAVA】基于GUI界面编程的水果“人生”模

Java-fenn

Java

LeetCode-24. 两两交换链表中的节点(Golang)

bug菌

9月日更 Leet Code 9月月更

ShareSDK Android端权限说明

MobTech袤博科技

android 开发者 sdk

一起学习ML和DL中常用的几种loss函数

华为云开发者联盟

人工智能 企业号九月金秋榜

ThreadLocal源码解析:巧用弱引用解决内存泄漏问题

程序员小毕

Java 源码 程序员 面试 高并发

OceanBase 核心能力解读和支付宝实践|9月17日广州见

OceanBase 数据库

vue2数据响应式原理——数据劫持(数组篇)

海底烧烤店ai

Vue 前端 9月月更

专业低代码如何选型?看这12项关键能力

牛刀专业低代码

低代码 低代码开发 低代码平台

FreeRTOS记录(六、FreeRTOS消息队列—Enocean模块串口通讯、RAM空间不足问题分析)

矜辰所致

内存管理 消息队列 FreeRTOS 9月月更

Java 多线程:锁(一)

Java-fenn

Java

企业数据治理过程中都要经历的四个阶段?你的企业处在哪个阶段?

雨果

数据治理

vue2数据响应式原理——依赖收集和发布订阅

海底烧烤店ai

Vue 前端 9月月更

开单才是王道!亚马逊开店变现训练营,4周赚钱实战!

博文视点Broadview

从负载均衡到路由,微服务应用现场一键到位

阿里巴巴云原生

阿里云 微服务 云原生 观测

【Java入门】十八 面向对象的三大特征之一-继承

Java-fenn

Java

有“智慧”的电子牌

OpenHarmony开发者

OpenHarmony

滴滴前端一面必会面试题汇总

hellocoder2029

JavaScript 前端

dapp智能合约系统开发技术流程分析

开发微hkkf5566

2022年9月中国数据库排行榜:榜眼、探花纷纷易主,AnalyticDB蝉联榜单十强

墨天轮

数据库 opengauss TiDB 国产数据库 达梦

vivo 全球商城:电商平台通用取货码设计

vivo互联网技术

Java 系统设计 服务器

严禁外传,字节跳动 2022 春招 Java 岗位架构师面试题(暂定版)发布

Java-fenn

Java 程序员 java面试 Java面试题

给数据技术初学者:解读从数据编织到增强分析20个最新数据技术概念

雨果

数据湖 数据编织 数仓一体

vue2数据响应式原理——数据劫持(初始篇)

海底烧烤店ai

Vue 前端 9月月更

「趣学前端」桂花留晚色,聊聊zlib压缩

叶一一

node.js 前端 9月月更

下载超过 28762W 次的 Java面试题库(附答案)

Java-fenn

Java java面试 Java面试题

阿里前端常见面试题(附答案)

coder2028

JavaScript 前端

京东前端常考面试题(附答案)

coder2028

JavaScript 前端

基于 PyTorch 和神经网络给 GirlFriend 制作漫画风头像

华为云开发者联盟

人工智能 神经网络 企业号九月金秋榜 漫画头像

为什么Java流行了这么久,而Scala来去匆匆?

Java-fenn

Java

【荣耀开发者服务平台—百亿曝光扶持等你来】智慧服务安卓卡片接入指南

荣耀开发者服务平台

手机 安卓 卡片服务 widget honor

Firefox 46解决安全问题,改善性能_JavaScript_James Chesters_InfoQ精选文章