XSS过滤器退出Microsoft Edge历史舞台

本文为译文,原文来自:
https://portswigger.net/daily-swig/xss-protection-disappears-from-microsoft-edge

快讯:

XSS Filter是微软针对其Web浏览器防御跨站脚本攻击推出的安全策略。日前,已经从Microsoft Edge中作为默认安全功能消失。

本周早些时候,PortSwigger研究员Gareth Heyes发现了这一变化,引发了有关XSS Filter是否被默认关闭,甚至微软是否已经彻底禁用它的一系列问题。

默认关闭

在最新的Microsoft Edge中,当HTTP X-XSS-Protection 到检测到页面可能存在反射型跨站脚本攻击时,它会停止加载页面。此时,在Microsoft浏览器中,有三个选项:

X-XSS-Protection: 0
X-XSS-Protection: 1
X-XSS-Protection: 1; mode=block

'0' 代表禁用XSS过滤,而' 1 '表示启用XSS过滤(通常默认在浏览器中),浏览器在发生可疑的跨站脚本攻击时清理,并刷新页面。

'1 mode = block ' 启用XSS过滤,但浏览器不会清理页面,而是直接阻止页面呈现。

“默认情况下,XSS过滤器应该打开,”Heyes解释道。“但是,它现在默认关闭,即使您尝试使用X-XSS-Protection :1功能打开它,它仍会处于关闭状态。

“目前打开它的唯一方法就是你将浏览器选项改为:X-XSS-Protection:1; mode = block。

Heyes补充道:“我已经确认Internet Explorer未受影响,默认情况下仍会继续检测XSS攻击。”

XSS的防护

XSS Filter于2009年在Internet Explorer 8中首次亮相,微软称该功能是针对防御跨站脚本攻击的新型安全策略。

在其发布之前,前微软安全软件工程师David Ross对过滤器如何作为IE组件运行,并查看浏览器的所有请求和响应过程进行了解释。

“当过滤器在跨站请求中发现疑似XSS时,如果它在服务器的响应中被重放,则它会识别并过滤(恶意信息),”Ross说。“用户无法收到细节信息,因为IE只是简单地阻止恶意脚本执行。”

虽然过滤器不能用来抵御所有类型的XSS攻击,但它通过阻断常见的攻击场景,以此来提高浏览器安全性。

大概三年前,当微软推出号称Internet Explorer继任者的Microsoft Edge浏览器后,XSS Filter的功能就已经被移植上(Microsoft Edge)了。

外界争议

自XSS Filter首次问世以来的九年中,安全组件就一直存在着争议,因为研究人员成功地将微软的前线防御工具整合在自身的体系上。

事实上,XSS Filter中的漏洞报告几乎与其功能本身一样陈旧。

在Black Hat Europe 2010上,研究人员Eduardo Vela Nava和David Lindsay概述了攻击者如何应用它来对加固过的网站发起跨站脚本攻击。

最近,日本安全专家Masato Kinugawa发表了一篇主要研究报告,概述了许多利用XSS Filter的跨站脚本攻击。

他解释说:“为了防御XSS攻击,XSS Filter会查询类似于XSS攻击的字符串请求,将其与页面进行比较后,并寻找请求源,如果它出现在页面中,则重写部分字符串。

就在今年,Xiayin Liu利用边缘XSS过滤器中的另一个漏洞,在从元素提供服务时绕过了内容安全策略(CSP)。

“这相当有讽刺意味,因为XSS过滤器和CSP都旨在保护用户免受XSS攻击,但是这个漏洞允许攻击者用一个XSS保护机制绕过另一个机制”Liu说。

关于误报

2016年3月,位于香港的安全专家 File Descriptor 将注意力集中在微软的反对XSS组件上。

引用在Twitter上进行的稻草民意调查的结果——其中X-XSS-Protection:0被选为最不喜欢的方法,研究人员讨论了该功能的“安全隐患”以及他们觉得它应该默认关闭的原因。

“第一个问题是它扩大了攻击面,”他在一篇博客文章中说道。“通过滥用和误报,攻击者可以有选择地禁用页面上其他无恶意行为的脚本。”

同时,反XSS过滤器的潜在缺陷引起了微软竞争对手开发者的注意。

XSS Auditor是Chrome针对跨站脚本编写的本地防御策略,也存在问题——从误报报告到发现允许攻击者对用户发动进一步攻击的旁路。

四个月前,Mozilla开发人员Frederik Braun再次证实其组织不会为Firefox开发反XSS的功能。

“已经进行过多次讨论......我们得出的结论是,目前不值得为Firefox提供内置功能,”Braun表示。

来自Mozilla的技术文档指出,“当网站实施禁用内联JavaScript 的强大内容安全策略时,这些保护在现代浏览器中并不是必要的”。

通过默认关闭其XSS过滤器,这是否标志着Microsoft的方向改变——或者是缓解该功能的误报过大的权宜之计?这些暂时,都只是我们的猜测。

而在外界众多评论与猜测之后,微软发言人公开表示:“针对此事件,我们没有什么可以回应的。”

你可能感兴趣的:(XSS过滤器退出Microsoft Edge历史舞台)