面向浏览器控制以保护免受恶意扩展程序攻击的 Cookie
摘要
Cookie 在相关网页流量之间维持状态。因此,Cookie 常用于身份验证,通过存储用户的会话 ID 来消除后续流量中重新输入凭证的需求。这些所谓的“会话 Cookie”是盗取以获取未授权访问用户帐户的攻击的主要目标。为缓解这些攻击,Secure 和 HttpOnly Cookie 属性限制了 Cookie 的可访问性,以防止来自恶意网络和网站的访问。然而,这些控制忽略了浏览器扩展程序:具有对 privileged 浏览器 API 的访问权限且能够跨多个网站运行的第三方 HTML/JavaScript 插件。因此,恶意或被破坏的扩展程序可提供对用户会话 Cookie 的无限制访问。本文首先分析了具有对“风险”API(即促使 Cookie 修改和盗窃)访问权限的扩展程序的普遍率,发现其拥有数亿用户。针对此,本文提出了一种保护免受恶意扩展程序攻击的 Cookie 的机制,通过引入两个新的 Cookie 属性:BrowserOnly 和 Monitored。BrowserOnly 属性完全阻止扩展程序访问 Cookie。虽然有效,但并非所有 Cookie 都可以被设置为不可访问。因此,带有 Monitored 属性的 Cookie 仍可访问,但与单个浏览器绑定,任何对 Cookie 的更改都会被记录。结果是,被盗取的 Monitored Cookie 在其原始浏览器之外无法使用,服务器可以验证所执行的修改。为演示所提出的功能,我们设计并实现了 CREAM(Cookie Restrictions for Extension Abuse Mitigation,即扩展程序滥用防御的 Cookie 限制),这是一种修改版开源 Chromium 浏览器,实现了这些控制。我们的评估表明,CREAM 在几乎没有运行时开销的情况下有效地保护了免受恶意扩展程序攻击的 Cookie。
引用
@article{arxiv.2405.06830,
title = {Towards Browser Controls to Protect Cookies from Malicious Extensions},
author = {Liam Tyler and Ivan De Oliveira Nunes},
journal= {arXiv preprint arXiv:2405.06830},
year = {2025}
}