为了让浏览更安全,Google最近为Chrome增加了5项安全增强:跨文档消息递送、Strict-Transport-Security、Origin、X-Frame-Options以及反射XSS过滤器。其中某些特性在其他浏览器中已经实现或即将实现。
\消息递送
\出于安全和隐私的原因,浏览器禁止隶属于不同域的文档之间的交互。HTML5引入了一个新方法,称为postMessage(),该方法允许独立的iFrame中的文档之间的交互。该方法签名如下:
\\window.postMessage(message, [ports,] targetOrigin)\
这样,浏览器就即能获得iFrames提供的安全又能实现跨文档的交互。
\Strict-Transport-Security
\HTTPS是用于连接网站并传输需要被保护的敏感信息的一种安全的方式。但是浏览器并非总是强制使用HTTPS,比如,如果某网站提供的安全证书有问题,那么浏览器会发出一个警告,而用户可以继续在半安全的连接上浏览该网站。PayPal已经成功地建议向HTML5的规范中引入 Strict-Transport-Security (STS)这个HTTP头。当服务端返回了包含STS的HTTP头时,实现了该特性的浏览器应该:
\\\
在Web服务器或用户代理认为安全必要时,该特征强制使用HTTPS。在网络繁忙的场所使用无线连接之上的不安全的HTTP连接为窃听打开了大门,而结果就可能会导致个人访问网站的私有信息被窃取。STS可以保护其不被窃取。
\目前,Paypal实现了该特征。Chrome 4也实现了STS,此外还有Firefox的安全插件 NoScript,它也拥有相同的功能。FireFox自身的STS实现正在进行当中。
\Origin
\跨站请求伪造(Cross-site request forgery或CSRF) 攻击的方式是通过在不知不觉中欺骗一个网站让其向 另一个网站提供私密信息。Origin是HTML 5中包含的一个HTTP头,就可以通过让用户代理去指定请求源的方式来解决这个问题。当一个恶意网站将请求重定向到另一个网站时,浏览器将会在该请求中包含“Origin”头,目标网站将会根据该“Origin”是否可信来决定是否执行相应的操作。
\Google和Mozilla都在他们各自的浏览器中实现该特征。W3C的 规范提供了更多的细节信息。
\X-Frame-Options
\另一个HTTP头字段X-Frame-Options可被用于防范ClickJacking攻击。这类攻击是通过在网页的输入控件上覆盖一个不可见的框(frame)的手段完成的,当用户点击该控件时,他实际上是在其之上的不可见的框(frame)中输入。网站可以通过指定 “X-Frame-Option: deny” 的方式防范ClickJacking攻击,支持该特性的浏览器会决绝呈现框(fram)中的内容从而阻止了ClickJacking攻击。
\IE 8是第一个实现该特性的浏览器,Chrome和Safari继之。
\反射XSS过滤器
\跨站脚本攻击(Cross-site scripting或XSS)是又一利用安全弱点进行攻击的手段,也是最难对付的攻击之一。IE 8和Firefox的NoScript控件中有反射XSS过滤器,该特性是被Google添加到WebKit并用在Chrome 4中。该过滤器校验将要运行的网页中的脚本是否也存在于请求该页的请求信息中,如果是,则极可能意味着该网站正在受到该脚本的攻击。
\