Learn

284 篇文章分类:全部
网络

Cookie、localStorage、IndexedDB 的风险

网站可以在浏览器中保存信息。

代表性机制是 。此外还有 这样的存储区域。它们用于保存登录状态、设置、购物车、识别符、应用数据。

这是方便的机制,但在匿名性中会成为强关联材料。

即使改变 IP 地址,只要发送的是同一 Cookie,就会被当作同一浏览器。即使用 ,如果使用和实名环境相同的存储区域,也会连接起来。

本文整理浏览器内存储区域与匿名性的关系。更详细的区别在“Cookie、sessionStorage 和 localStorage 的区别”中说明。

浏览器内的存储区域

Cookie、localStorage、IndexedDB 是网站在浏览器侧保存信息的机制。

存储区域主要用途匿名性上的注意点
Cookie登录状态、会话、识别符请求时会被发送
localStorage设置、简单数据可由 JavaScript 使用
IndexedDB较大的应用数据Web 应用信息会残留
sessionStorage标签页单位的临时保存会话中的状态会残留
Cache图片和脚本成为浏览历史线索

这些机制让 Web 更方便。

但是,只要持续使用同一浏览器,行为就更容易被持续看到。

为什么在匿名性中成问题

匿名性中,问题在于同一使用者的行为被连接起来。

Cookie 和 localStorage 会制造这种连接。例如,在家里的 IP 看过某网站后,即使用 VPN 访问同一网站,只要发送同一 Cookie,就会被识别为同一浏览器。

情况会发生什么匿名性中的问题
只改变 IPCookie 仍照样发送会知道是同一浏览器
实名登录后匿名浏览存储区域残留行为和实名环境连接
同一浏览器使用多个账号保存状态混在一起账号分离崩塌
使用 Web 应用数据残留在 IndexedDB过去使用会残留
缓存残留再访问和浏览物残留成为终端内痕迹

VPN 和 Tor 会改变通信路径的可见方式。

浏览器内存储区域是另一个问题。

只删除 Cookie 有时不够

删除 Cookie 是有效的。

但是,如果 localStorage、IndexedDB、缓存、Service Worker 等还在,Web 应用状态可能残留。

残留内容内容注意点
localStorage网站设置和识别符只删除 Cookie 有时不会消失
IndexedDBWeb 应用数据会残留大量信息
Cache已取得文件成为浏览和使用痕迹
Service Worker离线处理和通知网站动作会继续
登录状态服务侧会话不只由浏览器一侧决定

匿名活动中,分开实名用浏览器和匿名用浏览器很重要。

比起每次靠删除处理,设计上不混在一起会更稳定。

要确认的事

处理浏览器内存储区域时,先想的不是删除什么,而是什么不能混在一起。

确认项目理由
是否分开实名用和匿名用浏览器避免存储区域混用
是否没有用实名和匿名进入同一网站避免账号关联
是否确认 Cookie 以外的存储区域localStorage 和 IndexedDB 会残留
是否分开浏览器配置文件扩展功能和历史也要分开
是否没有破坏 Tor Browser 标准设置不因自定义设置变得显眼

高风险活动中,应考虑不仅分开浏览器,还分开 OS 用户、终端、通信路径。

优先分离而不是删除

Cookie 和存储区域也可以删除。

但是,每次完美删除的运用很容易崩。忘记删除、重新登录、其他网站存储区域、同步设置等都会导致混用。

方法优点注意点
每次删除容易开始会发生忘删和对象遗漏
不同浏览器容易分开实名和匿名扩展功能和设置也要分开
不同配置文件可在同一浏览器内分离需要避免误打开
Tor Browser设计上抑制保存和识别不要破坏标准设置
不同终端可实现强分离管理成本上升

低风险时,配置文件分离有时足够。

高风险时,要考虑分开到终端或 OS。重要的是根据威胁模型决定需要分到哪里。

常见失败

浏览器存储区域的失败,发生在熟悉的操作中。

失败会发生什么
用平常浏览器匿名发帖和实名 Cookie、历史混在一起
只打开 VPNCookie 仍照样发送
只登出就安心localStorage 和 IndexedDB 残留
使用同样扩展功能浏览器环境相似
不关闭云同步历史和设置扩散到多个终端

匿名性中,要同时确认通信路径和浏览器内状态。

匿名活动的基本方针

处理 Cookie 和存储区域时,以“不要混用”而不是“删除”为基本。

决定匿名活动用浏览器后,不在该浏览器中进入实名服务。不要在实名用浏览器中进入匿名账号。云同步和密码同步也要分开。这种简单运用,长期来看是强对策。

方针含义
分开用途不混用实名用和匿名用
确认同步不把历史和设置扩散到其他终端
分开登录避免账号关联
定期确认存储区域不留下不必要数据
高风险时终端也分开不只依赖浏览器分离

总结

Cookie、localStorage、IndexedDB 是网站在浏览器中保存信息的机制。

它们是方便功能,但在匿名性中会成为连接同一浏览器行为的线索。

即使改变 IP 地址,如果同一 Cookie 或存储区域还在,也可能被当作同一浏览器或环境。

匿名性中,要分开思考通信路径和浏览器存储区域。

不要混用实名环境和匿名环境,并根据需要使用专用浏览器或专用配置文件,这一点很重要。

相关工具

WebRTC Leak Test

BrowserLeaks WebRTC

与本文相关的外部资源。只有在符合你的处境和威胁模型时再打开。

列在这里的原因: 它可能有助于理解本文主题,但位于 Anonymity Sense 之外,使用前应先自行确认。

URL : https://browserleaks.com/webrtc

打开外部网站
Anonymous communication

Tor Project

与本文相关的外部资源。只有在符合你的处境和威胁模型时再打开。

列在这里的原因: 它可能有助于理解本文主题,但位于 Anonymity Sense 之外,使用前应先自行确认。

URL : https://www.torproject.org/

打开外部网站

相关文章