前言:
浏览器是互联网的重要入口,在安全防护中,浏览器的作用也是越来越被人们所重视,在以为研究攻防中,大家更重视的是服务器端漏洞。而在现在,安全研究的范围已经覆盖了所有用户使用互联网的方式,浏览器正是其中之一
本文将介绍一些主要的浏览器安全功能
浏览器安全策略
一:同源策略
同源策略是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能都可能会受到影响,可以说Web是构建在同源策略的基础之上的,浏览器知识针对同源策略的一种实现
影响源的因素有:host(域名或IP地址,如果是IP地址则看做一个根域名)、子域名、端口、协议
例:对JavaScript来说以下情况被认为是同源与不同源
http://www.hao123.com/dir/aa.htm 主
http://www.hao123.com/dir2/aa.html 同
https://www.hao123.com/aa.html 协议不同
http://www.hao123.com:81/dir/aa.html 端口不同
http://news.hao123.com/dir/aa.html 域名
注意:(1)同源策略是基于信任基础,但是也可以绕过同源策略。例如<scipt>标签,只能加载资源,不能读写资源,此漏洞可以绕过同源策略。
(2)XMLHttpRequest受到同源策略影响,不能跨越访问资源,在AJAX应用的开发中尤其需要注意这一点,如果XMLHttpRequest能够跨域访问资源,则可能会导致一些敏感数据泄露。
二:恶意网址拦截
恶意网址拦截原理:浏览器周期性的从服务器端获取一份最新的恶意网址黑名单,如果用户上网时访问的网址存在于此给名单中,浏览器则会弹出一个警告页面
常见恶意网址分两类:
ï¼1ï¼ 挂马网站:此类网站通常包含有恶意脚本如JavaScript或Flash,通过利用浏览器的漏洞(包括一些插件、控件漏洞)执行shellcode,在用户电脑上执入木马
ï¼2ï¼ 另一种就是钓鱼网站,通过模仿知名网站的相似页面来欺骗客户
一些有实例的浏览器的厂商,比如Google和微软,由于本身技术研发实力较强,且又掌握了大量的用户数据,因此自建有安全团队做恶意网址识别工作,用以提供浏览器所使用的黑名单。而PhishTank是互联网上免费提供恶意网址黑名单的组织之一,它的黑名单由世界各地的志愿者提供,且更新频繁
除了恶意网址黑名单拦截功能外,主流浏览器都开始支持EV SSL证书,以增强对安全网站的识别。很明显的是区别是 地址栏 开头是http 还是 https 如下图的两个网站对比
因此网站在使用了EV SSL证书后,可以教育用户如何识别真实网站在浏览器中的“绿色”表现,以对抗钓鱼网站
三:高速发展的浏览器安全
为了在安全领域获得竞争力,微软率先在IE8中推出XSS Filter功能,用来对抗反射型XSS,一直以来,XSS(跨站脚本攻击)都被认为是服务器应用端的漏洞,应该由服务器端应用在代码中修补,而微软率先推出了这一功能,就使得IE8在安全领域极具特色。
当用户访问的URL中包含了XSS攻击的脚本,IE就会修改其中的关键字符,使得攻击无法成功。
而Firefox也不甘其后,在Firefox中推出了Content Security Policy(CSP),这一策略是由安全专家Robert Hanson最早提出的,其做法是由服务器端返回一个HTTP头,并在其中描述页面应该遵守的安全策略
由于XSS攻击在没有第三方插件帮助的情况下,无法控制HTTP头,所以这一项措施是可行的,而这种自定义的语法必须由浏览器支持并实现,Firefox是第一个支持此标准的浏览器
CSP的设计理念无疑是出色的,但是CSP的配置规则较为复杂,在页面较多的情况下,很难一个个配置起来,且后期维护成本也非常巨大,这些原因导致CSP未能得到很好的推广。
总结:
浏览器的安全以安全策略为基础,加深理解同源策略,才能把握住浏览器安全的本质,在当前浏览器告诉发展的形式下,恶意网址检测,插件安全等问题都会显得越来越重要。
注:本文转自 吴翰清著《Web安全》一书