Page 216 - 《软件学报》2021年第8期
P. 216
2498 Journal of Software 软件学报 Vol.32, No.8, August 2021
6 未来研究展望
同源策略的重要性使得其被视为浏览器安全的基石,然而 Web 应用需求的多样性与浏览器本身的脆弱性,
使得策略攻击者与内存攻击者能够绕过或欺骗同源策略以获取跨源资源.如何解决现有安全威胁、应对未知威
胁,并且兼顾易用性、灵活性、向后兼容性等多方面的因素,需要更进一步的研究,具体表现为:
• 易用性:应对策略攻击者的防御方案通常要求 Web 应用开发者提供细粒度或者灵活的策略,例如应对
第三方脚本的防御方案 [30,44,51,55] .然而,Web 的多样性与复杂性,使得研究者们不能简单地假设开发者
都具备很强的安全意识,不能要求开发者来制定复杂的策略甚至需要考虑策略之间的一致与冲突.同
源策略安全增强机制的易用性,将促进其应用于实际.
• 灵活性:Web 环境是不断演化与进步的,新的需求与场景层出不穷.诸如用于保存历史的 Archive 网站、
广告分析、用户追踪与内容安全策略等新型策略的出现,使同源策略在实际应用上捉襟见肘 [10,14,31,93] ,
未来的同源策略应当要更加灵活,以支持这些新型需求与场景.
• 向后兼容性:同源策略作为浏览器所必须实现的基本安全策略,对其安全增强必须要考虑到向后兼容
性.安全增强方案需要能够支持现有的同源策略,不能由于安全增强导致大部分网站不能渲染与运行
或者必须作出对应修改.
因此,我们认为未来的研究工作应该重点关注以下几个方面.
(1) 对有潜在风险代码的权限限制
网页中潜在风险代码包括了第三方脚本与处理跨源数据的处理函数等,前者由同源策略规则不足所引起,
并使得第三方脚本能任意操作网页资源(见第 3.1.2 节);后者由跨源通信机制所引起,并使得接收方存在数据注
入攻击的威胁(见第 4.1.2 节).现有研究工作的思路在于隔离第三方脚本 [30,44,51,54] 与推断跨源数据接收方的安全
行为模型 [92] .这些防御机制要么为 Web 应用开发者网页编写造成不便,要么对攻击行为的检测存在误报的风险.
我们认为,未来的研究工作可对这两种情况进行统一,可以借助于 iframesandbox 机制 [121] 的思路来对 JavaScript
代码的权限进行划分,进而提出统一的访问控制框架来对有潜在风险代码进行权限限制.例如,Web 开发者可以
剥夺不可信第三方脚本的 DOM 元素访问权限、剥夺处理跨源数据处理函数的网络访问权限等.使用这种基于
权限的控制一方面能覆盖潜在风险代码运行的整个生命周期,另一方面更便于 Web 开发者理解与使用.
(2) 同源策略与其他策略协作
同源策略是浏览器安全的基本策略,但并不是唯一策略.新型场景与需求的出现,使得浏览器中出现了内容
安全策略 [10] 等新型策略,这要求同源策略与这些新型策略之间要保持一致性,确保一种策略不能由于其他策略
的存在而被绕过或者欺骗(见第 3.2.1 节与第 3.3.1 节).我们认为:未来的研究工作需要设计策略协作安全验证机
制来辅助新型策略设计者构造策略,需要提出新的框架与系统以帮助 Web 应用开发者来为其网页配置这些策
略并检查验证策略的合理性与一致性,更进一步地,未来的研究工作可能需要在浏览器中提供统一的框架来定
义与实施这些策略.
(3) 数据可控的跨源资源共享
现有的跨源资源共享机制研究通常考虑共享过程中资源被窃取或者对接收方的影响等问题,而忽略共享
后资源的使用权限问题.不论是服务器辅助还是无服务器辅助的机制,数据所有者在共享后将直接对数据失去
控制权,数据接收方可以任意地使用、修改与传播共享的资源.例如,一个 Web 应用可能请求用户获取其他社交
网站的联系人信息以进行用户推荐,而当社交网站将信息传输给该 Web 应用后,后者将可以任意地使用这些敏
感信息 [60] .我们认为:未来的跨源资源共享应当关注共享数据的可控性,如对于隐私数据可以要求数据在短暂使
用后必须删除、对于共享数据的进一步传输需要经由数据所有者的同意.数据可控的跨源资源共享将极大地促
进 Web 资源可靠交互.
(4) 硬件或操作系统支持的同源策略不同主体间的隔离机制
同源策略的本质上是为 Web 资源设定边界(同源),并限制跨边界的资源访问.然而,现有同源策略的实施依
赖于浏览器来实现主体之间的隔离.浏览器作为大型软件,不可避免地面临着内存攻击.我们认为:未来的研究