批注
[……] 表示他人、自己、网络批注
参考资料来源于
* 书中批注
* 优快云
* GitHub
* Google
* 维基百科
* YouTube
* MDN Web Docs
由于编写过程中无法记录所有的URL
所以如需原文,请自行查询
{……} 重点内容
*……* 表示先前提到的内容,不赘述
「第二篇」客户端脚本安全
0.6本书结构
就当前比较流行的客户端脚本攻击进行了深入阐述,当网站的安全做到一定程度后,黑客很难找到类似注入攻击、脚本执行等高风险的漏洞,从而可能将注意力转义到客户端脚本攻击上
客户端脚本安全于浏览器的特性息息相关,因此对浏览器的深入理解将有助于做好客户端脚本安全的解决方案
「第二章」浏览器安全
「2.1同源策略」
Same Origin Policy
是一种约定,它是浏览器最核心、最基本的安全功能,如果缺少了同源策略,浏览器的正常功能可能都会受到影响
可以说,Web是建立在同源策略之上的
浏览器的同源策略限制了来自不同源的document或脚本,对当前document读取或设置某些属性
对于JavaScript来说,不同的URL会被分为同源与不同源
影响原因:host(域名/IP地址)、子域名、端口、协议
XMLHttpRequest可以访问同源对象的内容,但同样收到同源的约束,使其不能跨越访问资源,在AJAX应用的开发中尤其注意这一点
除了DOM、Cookie、XMLHttpRequest会受到同源策略的限制,浏览器加载的一些第三方插件也有各自的同源策略
最常见的是Flash、Java Applet、Silverlight、Google Gears都有自己的控制策略
浏览器的同源策略是浏览器安全的基础,许多客户端脚本攻击,都需要遵守这一原则
因此理解同源策略对于客户端脚本攻击有着重要意义
同源策略一旦被出现的漏洞绕过,也将带来非常严重的后果,很多基于同源策略制定的安全方案将失去效果
[同源是指域名、协议、端口相同]
[同源策略,它是由Netscape提出的一个著名的安全策略]
[同源策略是浏览器的行为,是为了保护本地数据不被JavaScript代码获取回来的数据污染,因此拦截的是客户端发出的请求回来的数据接收,即请求发送了,服务器响应了,但是无法被浏览器接收]
「2.2浏览器沙箱」
在网页中插入一段恶意代码,利用浏览器漏洞执行任意代码的攻击方式,在黑客圈子里被形象地称为挂马
防挂马操作
浏览器密切结合DEP、ASLR、SafeSEH等保护系统
Google Chrome流程
浏览器进程
渲染进程
由Sandbox即沙箱隔离
插件进程
e.g.:将Flash、Java、Pdf进行隔离,因此不会相互影响
扩展进程
现在的Sandbox已经成为泛指资源隔离类模块的代名词
Sandbox的设计目的一般是为了让不可信任的代码运行在一定的环境中,限制不可信任的代码访问隔离区之外的资源
现在了浏览器的内部结构文件已经受到Sandbox的保护,但第三方应用却不受Sandbox的管辖,所以被攻克的浏览器往往是第三方应用的安全漏洞
[
Sandbox是指一种技术,在这种技术中,软件运行在操作系统受限制的环境中
由于该软件在受限制的环境中运行,即使一个闯入该软件的入侵者也不能无限制访问操作系统提供设施
获得该软件控制权的黑客造成的损失也是有限的
如果攻击者要获得对操作系统的完全控制,他们就不得不攻克沙箱限制,Sandbox也提供深度防御
许多PaaS系统都提供了一个实时运行环境,它的核心就是一个沙箱应用程序
如Azu re和Google App Engime
]
「2.3恶意网址拦截」
工作原理
一般都是浏览器周期性地从服务器获取一份最新的恶意网址黑名单,如果用户上网时访问的网址在黑名单中,浏览器将弹出警告
常见的恶意网址分类
1.挂马的网站,这些网站通常包含有恶意的脚本,如JavaScript或Flash,通过利用浏览器的漏洞执行shellcode,在用户电脑中植入木马
2.钓鱼网站,通过模仿知名网站的相似页面来欺骗用户
除了恶意网址黑名单拦截功能外,主流浏览器都开始支持EV SSL(Extended Validation SSL Certificate)证书,以增强对安全网址的识别
[EV SSL证书是全球数字证书颁发机构与浏览器厂商一起打造的增强型证书]
其主要特色是浏览器会给予EV SSL证书特殊的待遇
EV SSL证书也遵循X509标准,并向前兼容普通证书
如果浏览器不支持EV模式,则会把该证书当作普通证书
如果浏览器支持EV模式,则会在地址栏中特别标注、
因此在网站使用了EV SSL证书后,可以教育用户识别真实网站在浏览器地址栏中的绿色表现,以对抗钓鱼网站
「2.4高速发展的浏览器安全」
现在的浏览器还在不断地更新,不断地推出新的安全功能
CSP(Content Security Policy)
这一策略是由安全专家Robert Hanson最早提出的
做法
由一个服务器返回一个HTTP头,并在其中描述页面应该遵守的安全策略
浏览器加载的插件也是浏览器安全需要考虑的一个问题
扩展与插件的权限到高于页面JavaScript的权限
「2.5总结」
浏览器是互联网安全的重要接口,在安全攻防中,浏览器的作用也越来越被人们重视
在以往研究攻防时,大家更重视服务器端漏洞,现在,安全研究的范围已经涵盖了所有用户使用互联网的方式,浏览器正是其中最重要的一个部分
加深理解同源策略,才能把握浏览器安全的本质
随着信息技术的发展,恶意网址检测、插件安全等问题都会显得越来越重要