[论文解读] The Spy in the Sandbox -- Practical Cache Attacks in Javascript
本文首次提出了一种实用的基于浏览器的微体系结构侧信道攻击,通过JavaScript在无需本地代码执行的情况下实施缓存攻击。通过利用高分辨率定时器和JavaScript中的内存访问模式,该攻击能够追踪跨进程、跨用户及跨虚拟机的最后级缓存(LLC)访问,实现在真实网络环境中的可行性,且攻击者所需前提条件极少。
We present the first micro-architectural side-channel attack which runs entirely in the browser. In contrast to other works in this genre, this attack does not require the attacker to install any software on the victim's machine -- to facilitate the attack, the victim needs only to browse to an untrusted webpage with attacker-controlled content. This makes the attack model highly scalable and extremely relevant and practical to today's web, especially since most desktop browsers currently accessing the Internet are vulnerable to this attack. Our attack, which is an extension of the last-level cache attacks of Yarom et al., allows a remote adversary recover information belonging to other processes, other users and even other virtual machines running on the same physical host as the victim web browser. We describe the fundamentals behind our attack, evaluate its performance using a high bandwidth covert channel and finally use it to construct a system-wide mouse/network activity logger. Defending against this attack is possible, but the required countermeasures can exact an impractical cost on other benign uses of the web browser and of the computer.
研究动机与目标
- 证明微体系结构侧信道攻击可完全在浏览器内通过JavaScript执行,而无需本地代码执行。
- 表明此类攻击在实际中可行且可扩展,可通过不受信任的网页内容针对数百万用户实施。
- 探索利用JavaScript监控现代Intel CPU上最后级缓存(LLC)访问模式以实现行为追踪的可行性。
- 在真实浏览器环境约束下(包括定时器分辨率差异),评估攻击的性能与局限性。
- 评估在不降低合法Web应用性能的前提下防御此类攻击的可行性。
提出的方法
- 利用现代Intel CPU的包含式缓存层次结构,其中L1和L2缓存是L3(最后级)缓存的子集。
- 使用JavaScript执行高速内存访问模式,通过高分辨率定时器监控缓存命中与未命中情况。
- 利用地址的低12位将物理内存地址映射到缓存集,实现对缓存集的精确追踪。
- 基于缓存访问时间的隐蔽信道,放大缓存命中与未命中之间的可检测差异。
- 通过重复内存访问周期并利用多个缓存集未命中,将攻击适配至定时分辨率较粗糙的系统。
- 通过运行时启发式方法检测类似性能分析的行为,以识别并可能阻止攻击模式。
实验结果
研究问题
- RQ1能否仅通过JavaScript在浏览器内有效发起微体系结构侧信道攻击?
- RQ2此类攻击在定时分辨率和浏览器兼容性方面的实际限制是什么?
- RQ3该攻击在多大程度上可用于跨进程、跨用户或跨虚拟机的用户行为追踪?
- RQ4在不同浏览器和操作系统上,该攻击的性能如何,尤其在定时器分辨率存在差异的情况下?
- RQ5可行的防护措施有哪些?这些措施对合法Web应用性能会造成何种权衡?
主要发现
- 攻击完全在浏览器中通过JavaScript执行,无需安装任何客户端软件。
- 该攻击在具备包含式缓存层次结构的现代Intel CPU上有效,可实现对缓存访问模式的远程监控。
- 性能评估表明,即使在微秒级定时器分辨率下,攻击仍能可靠检测缓存访问模式。
- 该攻击可扩展,可通过不受信任的网页内容(如广告)部署,针对数百万用户。
- 通过观察缓存访问模式,该攻击可实现对用户活动的系统级追踪,包括鼠标移动和网络活动。
- 可通过降低定时器分辨率或引入抖动等防护措施,但可能降低合法Web应用的性能。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。