Page 201 - 《软件学报》2021年第8期
P. 201
罗武 等:浏览器同源策略安全研究综述 2483
攻击者 frame 所利用的受害者网站的 cookie.浏览器自动阻止第三方 cookie 的特性,将能够应对 CSRF
与 XSSI 攻击.Franken 等人设计了一个框架来评估浏览器与浏览器扩展阻止第三方 cookie 功能的有效
性,实验发现了现有实现中的几个缺陷,这些缺陷将导致阻止第三方 cookie 功能被绕过.
除了防御这些攻击外,研究者们还提出了一系列的方案来帮助 Web 应用检测其网页中是否存在 CSRF 攻
击.Pellegrino 等人 [84] 提出了一个基于模型的安全测试框架 Deemon,来自动检测 CSRF 漏洞.Deemon 能够动态追
踪 Web 应用中诸如网络交互、服务器端执行与数据库操作等行为.根据追踪到的行为,Deemon 将推断出 Web
应用对应的模型图,然后利用推断的模型图进行图遍历,来识别脆弱的网络请求.这些脆弱的网络请求将作为
CSRF 漏洞的候选,最后,Deemon 在真实的 Web 应用上对候选 CSRF 漏洞进行验证.实验发现了 10 个著名的开
源 Web 应用上的 14 个未知的 CSRF 漏洞.Calzavara 等人 [85,86] 提出了第一种基于机器学习的方法 Mitch 来进行
CSRF 漏洞检测.Mitch 将著名网站中的 5 828 个 HTTP 请求作为训练集来运行有监督的机器学习算法.实验表
明,Mitch 在 20 个主要的网站中检测到了 35 个新的 CSRF 漏洞以及 3 个已知形式但之前未检测到的 CSRF 漏
洞.这些检测工具将有助于提醒 Web 应用开发者来进行安全加固.
通常而言,检测攻击的防御机制并不能从根本上防御这两类攻击,但能帮助 Web 应用开发者来进行安全加
固.而通过加强同源策略规则与 cookie 机制的两类方案能应对 CSRF 与 XSSI 攻击,但带来了一些其他问题:前
者在网络请求中携带了网页来源,从而面临着网页隐私泄漏风险;后者阻止第三方 cookie,但却对目前 Web 应用
的用户追踪等其他需求造成了影响.
3.4 方案对比与讨论
同源策略规则不足主要体现在 3 个方面:同源策略允许第三方脚本以宿主 frame 的权限执行,攻击者因而可
以利用第三方脚本来攻破宿主 frame,进而突破同源策略的限制(见第 3.1 节);新型场景与策略的出现,使得同源
不同 frame 需要被赋予不同的权限,但同源策略规则无法支持这些场景与策略(见第 3.2 节);同源策略允许一个
frame 给任意源发送网络请求,导致攻击者可以利用其他浏览器机制来访问跨源资源(见第 3.3 节).我们对这 3
类安全威胁进行总结分析,包括攻击方式、在当前 Internet 上发起攻击的影响范围评估及其代表性研究工作(见
表 5).
Table 5 Comparison on security threates caused by limitations of same-origin policy
表 5 同源策略规则不足所引起的安全威胁对比
攻击方式 影响范围 代表性研究工作
Alexa top 10k 网站中,88.45%的 [6]
劫持第三方脚本 网站至少包含一个第三方脚本 Nikiforakis 等人
[6]
第三方 利用第三方 Alexa top 75k 网站中,37%的网站至少 Lauinger 等人 [36] ;
脚本的 脚本漏洞 包含一个已知漏洞版本的第三方脚本 [36] Stock 等人 [35]
过度授权 [37]
利用第三方 Alexa top 100k 网站中,13%的网站 Kumar 等人 ;
[8]
脚本的间接引用 运行有隐式依赖的外部脚本 [37] Ikram 等人
利用不同 URL 的 Alexa top1M 网站中,80%的网站 Lerner 等人 [31] ;
[9]
同源 frame 将存在被攻击的风险 [31] Cao 等人 ;
同源不同 利用不同位置的 Alexa top 10k 网站中,22%的网站注册了消息 Son 等人 [14] ;
frame 的 同源 frame 过滤器,存在被不同位置同源 frame 攻击的风险 [14] Barth 等人 [59]
过度授权 [10]
利用不同安全 Alexa top 10k 网站的 1M 网页中, Somé 等人 ;
策略的同源 frame 31.1%网页存在被攻击的风险 [10] Stefan 等人 [60]
从 Alexa top 1500 选取的 300 个 Sudhodanan 等人 [74] ;
不同源 CSRF 攻击 网站中,68%的网站能被攻击 [74] Barth 等人 [11]
frame 的 [12]
过度授权 XSSI 攻击 Alexa top 150 网站中,80%的网站 Lekies 等人 [75] ;
存在被攻击的风险 [12] Grossman
表 6 对应对以上安全威胁的防御机制进行了总结分析,包括方案目标、网页加载开销、兼容性与可用性以
及是否要求浏览器修改.总体而言,这些防御机制可以归为两个出发点.
• 增加强隔离机制:针对这些安全威胁,可以通过在同源策略的基础上增加强隔离机制来进行防御,包括
应对第三方脚本过度授权的 4 类防御机制(见第 3.1.3 节)、应对同源不同 frame 过度授权的前两类防