[论文解读] Loophole: Timing Attacks on Shared Event Loops in Chrome
本文表明,Google Chrome 的 I/O 线程与渲染器线程中共享的事件循环容易受到侧信道计时攻击,攻击者可通过测量注入事件的分发延迟,利用隐蔽信道推断网页身份、用户行为并外泄数据。该攻击仅需每页一个训练样本,即可实现高达 75% 的页面识别准确率。
Event-driven programming (EDP) is the prevalent paradigm for graphical user interfaces, web clients, and it is rapidly gaining importance for server-side and network programming. Central components of EDP are {\em event loops}, which act as FIFO queues that are used by processes to store and dispatch messages received from other processes. In this paper we demonstrate that shared event loops are vulnerable to side-channel attacks, where a spy process monitors the loop usage pattern of other processes by enqueueing events and measuring the time it takes for them to be dispatched. Specifically, we exhibit attacks against the two central event loops in Google's Chrome web browser: that of the I/O thread of the host process, which multiplexes all network events and user actions, and that of the main thread of the renderer processes, which handles rendering and Javascript tasks. For each of these loops, we show how the usage pattern can be monitored with high resolution and low overhead, and how this can be abused for malicious purposes, such as web page identification, user behavior detection, and covert communication.
研究动机与目标
- 调查 Chrome 事件驱动架构中共享事件循环是否可被利用为信息泄露的侧信道。
- 演示通过监控事件分发延迟来推断其他进程敏感信息的实用计时攻击。
- 评估利用事件循环计时进行网页识别、用户活动追踪及跨源隐蔽通信的可行性。
- 评估在真实浏览器环境约束(包括 CPU 限速和进程隔离)下,此类攻击的有效性与隐蔽性。
提出的方法
- 攻击利用异步 JavaScript API(如 postMessage)将事件注入渲染器线程的事件循环,并以 25μs 分辨率测量分发时间。
- 对于主机进程事件循环,攻击利用发送至不可路由 IP 地址的网络请求(500μs 分辨率)和 SharedWorker 消息(100μs 分辨率)。
- 通过动态时间规整(dynamic time warping)分析页面加载期间的事件延迟模式,实现网页的分类与识别。
- 通过测量用户在跨源表单(如 Google OAuth 登录字段)中输入时的事件分发时间差异,推断用户行为。
- 通过调制事件分发时间建立隐蔽信道,实现通过渲染器主线程 200 bit/s 的带宽和跨进程 50 bit/s 的带宽。
- 攻击完全在单个恶意 HTML 页面内实现,无需特权访问或浏览器外部执行。
实验结果
研究问题
- RQ1Chrome 的 I/O 线程与渲染器线程中的共享事件循环是否可被利用为信息泄露的侧信道?
- RQ2在最小训练数据下,事件分发时间在多大程度上可用于唯一识别网页?
- RQ3是否可通过观察跨源上下文中事件循环延迟来检测用户操作(如击键)?
- RQ4利用事件循环计时可实现的隐蔽信道带宽是多少?
- RQ5现有浏览器缓解措施(如 CPU 限速和站点隔离)在防止此类攻击方面的有效性如何?
主要发现
- 仅使用 Alexa 排名前 500 个网站中每页一个训练样本,攻击即可实现高达 75% 的网页识别准确率。
- 与以往侧信道方法相比,通过监测 OAuth 登录表单中的击键时间,可实现更低噪声和更少权限的用户输入监控。
- 成功实现隐蔽信道,通过渲染器主线程实现 200 bit/s 带宽,通过主机进程事件循环实现跨进程 50 bit/s 带宽。
- 即使在 Chrome v57 引入后台标签页限速后,攻击仍有效,因攻击可在 10 秒内完成。
- 使用动态时间规整作为距离度量对分类至关重要,因为事件的相对顺序对区分网页具有决定性作用。
- 攻击利用了 Chrome 事件驱动架构的根本单线程特性,使其成为系统性漏洞而非配置缺陷。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。