<返回更多

浅析浏览器安全

2019-06-06    
加入收藏
浅析浏览器安全

 

在一次与朋友的聊天中,朋友问我对浏览器安全是否有了解。我的第一反应就是没有了解过~做了这么多年安全,好像从来没有去思考过浏览器在安全方面的问题。

朋友再次提醒,你做过的web网站渗透,不都是通过浏览器去访问的么,它的URL、它的协议、它的同源策略、它的DNS请求、从用户发起请求的第一步到浏览器web页面的展示……恍然大悟~

安全的范围很广,为了完成工作要求我们总是在零零散散的学习,很多时候我们并没有一个系统性的思维,甚至我们每天都在接触的东西突然有一天被人问到时都不知道自己原来和它如此熟悉。直到有人提醒,我们才恍然大悟的说道:哦哦,这样啊,我知道的~~

这就是为什么我无论学什么都习惯性的总结成文章,侯亮大神说:知识的最高的境界是分享,而在我看来,我们在分享的同时也是对自我认知的一个提升。

有幸在安全脉搏得于此书《白帽子讲浏览器安全》,此书根据作者若干年实战与工作积累的丰富经验编写而成,深入地分析了浏览器从导航到页面展示的整个过程中可能会出现的安全问题,也对浏览器的部分实现细节有着详细和深入的介绍,对安全工作者有一定的参考意义。下面是本人所学所得总结如下。

随着WEB2.0的时代来临,互联网从C/S架构(客服端/服务端结构)转变为B/S架构(浏览器/服务器结构),后者相比于前者更加方便快捷,因此浏览器便成为了我们访问网站的窗口,浏览器安全也随之变得越来越重要。

作为用户与网络交互的最主要的一种平台,浏览器也日渐成为了网络攻击的目标,猖獗的地下0day交易,以及简单、流程化的木马生成与发布程序都让浏览器安全问题影响变得广泛。

为了应对攻击,浏览器也增添了许多安全特性。(1)各浏览器都纷纷开启了数据执行保护(DEP)和(2)地址空间分布随机化(ASLR)。同时,为了降低恶意代码运行时的权限,浏览器也在试图(3)降低浏览器网页进程的权限,例如(3.1)IE的保护模式和Chrome的沙箱。

为了防止用户受到脚本注入的困扰,(4)IE和Chrome也各自添加了XSS过滤器。为了防止用户受到钓鱼网站或者恶意网站的干扰,(5)浏览器也添加了形如SmartScreen Filter、恶意网站拦截的功能。同时,浏览器也在兼容新的安全特性,(6)例如DNT(不要追踪、Do Not Track)和(7)防止点击劫持的HTTP头、(8)CSP安全策略等。可以看的出来,浏览器在提升安全性上十分努力。

下面详述浏览器中常见的安全概念

1 URL

网址大家都不陌生,全称是“统一资源定位符”。URL浏览器是开始导航过程的第一步,URL安全也是浏览器安全的第一步。

在URL的解析库、编码、字符排版、UI显示、内容劫持等方面均出现过安全问题。

曾经的霸主IE6,在早期微软的想法比较超前,它推崇的正式当今互联网中热门的Web App概念,即基于网页的应用程序。为了能达到和原生程序类似的效果,早期IE6支持网页脚本创建一个没有任何边框的新窗口。这个想法如果放在EXE程序中是没有任何问题的,因为对EXE来说,一个程序就是一个独立的个体,不依赖于其他框架

但是在网页中,这显然引发了一些混乱。恶意网页可以自己绘制出一个假的IE界面,当然也包含网页的“名片”—地址栏。由于大量的弹窗广告和钓鱼网站绘制假的界面谎称自己是合法网站,不堪其扰的微软决定从XP SP2开始强制IE显示边框。对IE来说这是一个正确的决定,因为浏览器是一个展现信息的工具,因此用户看到的内容也可能是一个攻击点。

在边框问题之后,又有安全研究员报告了另一种问题—IE的地址栏中超长字符以及扩展字符处理的逻辑有问题,浏览器可能显示不出特定字符。这样,攻击者可以注册一个含特殊字符的域名,并利用浏览器显示文字的漏洞将其伪装成正常域名。或是使用大量空格,将一级域名顶出地址栏的显示范围外,让人误以为自己访问的是合法网站

http://www.xxx.com.evil.com
http://www.xxx.com .evil.com [许多空格]
http://www.xxx.com. ….evil.com

地址栏中http://www.xxx.com.evil.com许多空格的错误和正确的显示方式

这些攻击案例零零散散有过报告,直到浏览器市场百花齐放时,更多与URL相关的漏洞才暴露出来,这里面有很多是通用型漏洞,例如地址栏、解析逻辑的处理中可能导致的缓冲区溢出、程序崩溃、执行恶意程序等,这些都威胁着浏览器的信息安全。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>