购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 高速发展的浏览器安全

“浏览器安全”领域涵盖的范围非常大,且今天浏览器仍然在不断更新,不断推出新的安全功能。

为了在安全领域获得竞争力,微软率先在IE 8中推出了XSS Filter功能,用以对抗反射型XSS。一直以来,XSS(跨站脚本攻击)都被认为是服务器端应用的漏洞,应该由服务器端应用在代码中修补,而微软率先推出了这一功能,就使得IE 8在安全领域极具特色。

当用户访问的URL中包含了XSS攻击的脚本时,IE就会修改其中的关键字符使得攻击无法成功完成,并对用户弹出提示框。

IE 8拦截了XSS攻击

有安全研究员通过逆向工程反编译了IE 8的可执行文件,得到下面这些规则:

这些规则可以捕获URL中的XSS攻击,其他的安全产品可以借鉴。

而Firefox也不甘其后,在Firefox 4中推出了Content Security Policy(CSP)。这一策略是由安全专家Robert Ha nson最早提出的,其做法是由服务器端返回一个HTTP头,并在其中描述页面应该遵守的安全策略。

由于XSS攻击在没有第三方插件帮助的情况下,无法控制HTTP头,所以这项措施是可行的。

而这种自定义的语法必须由浏览器支持并实现,Firefox是第一个支持此标准的浏览器。

使用CSP的方法如下,插入一个HTTP返回头:

其中 p olicy 的描述极其灵活,比如:

浏览器将信任来自 m ydomain.com及其子域下的内容。

又如:

浏览器除了信任自身的来源外,还可以加载任意域的图片、来自media1.com的媒体文件,以及userscripts.example.com的脚本,其他的则一律拒绝。

CSP的设计理念无疑是出色的,但是CSP的规则配置较为复杂,在页面较多的情况下,很难一个个配置起来,且后期维护成本也非常巨大,这些原因导致CSP未能得到很好的推广。

除了这些新的安全功能外,浏览器的用户体验也越来越好,随之而来的是许多标准定义之外的“友好”功能,但很多程序员并不知道这些新功能,从而可能导致一些安全隐患。

比如,浏览器地址栏对于畸形URL的处理就各自不同。在IE中,如下URL将被正常解析:

会变为

具有同样行为的还有Chrome,将“\”变为标准的“/”。

但是Firefox却不如此解析,www.google.com\abc 将被认为是非法的地址,无法打开。

同样“友好”的功能还有,Firefox、IE、Chrome都会认识如下的URL:

会变为

Firefox比较有意思,还能认识如下的URL:

这些功能虽然很“友好”,但是如果被黑客所利用,可能会用于绕过一些安全软件或者安全模块,反而不美了。

浏览器加载的插件也是浏览器安全需要考虑的一个问题。近年来浏览器所重点打造的一大特色,就是丰富的扩展与插件。

扩展和插件极大地丰富了浏览器的功能,但安全问题也随之而来,除了插件可能存在漏洞外,插件本身也可能会有恶意行为。扩展和插件的权限都高于页面JavaScript的权限,比如可以进行一些跨域网络请求等。

在插件中,也曾经出现过一些具有恶意功能的程序,比如代号为Trojan.PWS.ChromeInject.A的恶意插件,其目标是窃取网银密码。它有两个文件:

它将监控所有Firefox浏览的网站,如果发现用户在访问网银,就准备开始记录密码,并发送到远程服务器。新的功能,也给我们带来了新的挑战。 pQ4mb5XNG00cLN99ryTti/PbYUFo6TX3eDpc9khsUMRsppeEV4UNhZ7H8QEC4y5X

点击中间区域
呼出菜单
上一章
目录
下一章
×