APP下载

微软准备于桌面版Edge实验“超强安全模式”,关闭JIT

消息来源:baojiabao.com 作者: 发布时间:2024-10-08

报价宝综合消息微软准备于桌面版Edge实验“超强安全模式”,关闭JIT
图片来源: 

微软

微软宣布,将于桌面版Edge的Canary、Dev与Beta版实验“超强安全模式”(Super Duper Secure Mode,SDSM),关闭用来改善浏览器效能的Just-In-Time Compilation(JIT,即时编译)功能,以减少浏览器的安全威胁。

微软Edge漏洞研究负责人Johnathan Norman说明,身为Edge的安全团队,他们经常变换攻击者与防御者的角色,当要打造浏览器的攻击程式时,首选攻击目标通常是V8 JavaScript引擎,原因包括JavaScript引擎提供了强大的开采来源,有源源不断的臭虫,而且只要遵循简单的模式就能开采,还能很快地展开行动。

但当作为浏览器的防御方时就是恶梦了,因为陆续出现的臭虫意谓著需要频繁进行安全更新,容易开采代表骇客很快就能打造出攻击程式,再加上修补空窗期,而且此一问题不仅局限于V8,也波及大多数现代化的JavaScript引擎,不管是Google、微软、Mozilla或其它业者都企图透过静态分析、抓漏专案与模糊测试来减轻相关威胁,这些工具虽然能够快速辨识某些问题,但也会有所遗漏,使得JavaScript引擎依旧是浏览器主要的安全挑战之一。

而原因之一还包括专门用来加速JavaScript特定任务的JIT,启用JIT的JavaScript引擎在需要之前就把松散型态的JavaScript编译成机器语言,亦为所谓的推测优化,因而能带来相当程度的效能改善,让JavaScript的效能足以比拟C++,只是,因JIT而衍生的安全漏洞也让浏览器业者疲于奔命。

例如2019年之后与V8有关的安全漏洞中,就有45%藏匿在JIT中,同时Mozilla的分析也显示,已被用于攻击行动中的Chrome开采程式中,更有超过一半是滥用JIT漏洞。

于是微软尝试于效能及安全之间取得平衡,展开超强安全模式专案,决定于Edge中测试关闭JIT的作法。Norman说,此举等于能够去除V8中近半数的安全漏洞,也能减少安全更新或紧急修补的频率,此外,为了部署V8 JIT,业者还必须舍弃重要的缓解技术,包括基于硬件的开采缓解技术 Controlflow-Enforcement Technology(CET),或是任意程式保护机制(Arbitrary Code Guard,ACG)等。

这代表着若关闭JIT,不仅可减少攻击表面,还能启用其它的缓解机制,提高骇客的攻击门槛。

然而,关闭JIT最有可能的影响莫过于效能了,这使得Edge的效能实验室为此执行了数百次的测试来观察关闭JIT之后的效能表现。发现纵使在JavaScript效能评测中,其效能最多下滑了58%,但在Edge实验室模拟实体网站的测试中,绝大多数的测试并未看到效能上的改变,只有少数出现效能提升或是衰退的情况,更重要的是,参与测试的使用者在关闭JIT之后,于每日的浏览行为中,几乎没有察觉到变化。

根据微软的测试,关闭JIT之后,于网页载入的测试中,有16.9%的效能变慢了,但有9.5%变快了,在内存的使用上有2.3%增加了,但4.6%变少了,在启动速度上则是看到8.9%的改善,而在电力的使用上,有11.4%增加了,15%变少了。

图片来源_微软

Norman认为,大多数的使用者未能察觉到浏览时的变化,是因为JavaScript评测只代表了浏览器整体效能的一部分。

目前的SDSM专案关闭了JIT,并启用了CET,且并不支援Web Assembly,有意参与测试的使用者可透过Edge Canary、Dev及Beta版的edge://flags来启用。未来该专案将逐步加入更多的缓解机制并新增对Web Assembly的支援。

2021-08-06 16:46:00

相关文章