中文

Web 浏览器中持久存储机制的最低权限访问

密码学与安全 2024-11-26 v1

摘要

Web 应用程序通常包含第三方内容和脚本,以为用户的在线体验提供个性化功能。这些脚本对用户在浏览器持久存储中(如 cookie、localstorage 和 IndexedDB)与主机页面相关联的私有数据拥有 unrestricted 的访问权限。已实现了各种机制来限制对这些存储对象的访问,例如内容安全策略、HttpOnly cookie 属性等。然而,现有机制提供的是全或无的访问权限,无法在 Web 应用程序需要允许第三方脚本对 cookie 和 localstorage 对象进行受控访问的场景中发挥作用。如果其中一些脚本行为恶意,他们可以轻易访问和修改存储在浏览器对象中的用户私人信息。我们的工作目标是设计一种强制执行持久存储对象最低权限访问的机制。我们对 Tranco 前 10,000 个网站上第三方脚本的持久存储访问进行了实证研究,发现 89.84% 的所有 cookie 访问、90.98% 的所有 localstorage 访问和 72.49% 的所有 IndexedDB 访问均由第三方脚本完成。我们的做法通过为存储对象附加标签来强制执行最低权限访问,这些标签指定哪些域允许读取和写入这些对象。我们在 Firefox 浏览器上实现了该方案,证明其有效地阻止了来自其他域的脚本(根据这些标签不允许访问)访问存储对象。我们表明,依据默认设置,该强制执行会导致一些网站功能出现中断,这些中断可以通过正确标记由第三方脚本使用的存储对象来修复。

关键词

引用

@article{arxiv.2411.15416,
  title  = {Least Privilege Access for Persistent Storage Mechanisms in Web Browsers},
  author = {Gayatri Priyadarsini Kancherla and Dishank Goel and Abhishek Bichhawat},
  journal= {arXiv preprint arXiv:2411.15416},
  year   = {2024}
}