今天为大家推荐的论文是来自霍普金斯大学曹寅志研究组投稿的关于浏览器渲染中的侧信道攻研究工作Rendering Contention Channel Made Practical in Web Browsers,目前该工作已发表于USENIX Security 2022。
为了证明渲染信道的可行性,我们设计并实现了一个开源框架,称为 SIDER。作者使用渲染争用信道部署了四种不同的攻击,它们是 (i) 跨浏览器、跨模式 cookie 同步 (ii) 历史嗅探 (iii) 网站指纹识别和 (iv) 键盘输入记录。作者的评估显示了渲染信道的有效性以及这四种攻击的可行性。
渲染是现代浏览器的重要组成部分。浏览器通过渲染,将来自 Internet 的基于文本的原始数据(例如 HTML和图像)转换为可在电脑屏幕显示的内容。从顶层看,操作系统 (OS) 将渲染作为抽象资源提供给 Web 浏览器通过 DirectX 和 OpenGL 等库;从底层看,抽象的渲染资源被分解成不同的硬件资源,例如 CPU、GPU 和屏幕缓冲区。无论是顶层还是底层,渲染资源都被共享在同一个操作系统以及同一个浏览器的网络框架的所有进程上,因此不可避免地容易受到渲染争用信道的攻击。
作者使用单变量测试来对渲染争用信道进行原因分析。核心思路是,保留所有其他的变量,只改变单个变量,然后观察信道的信噪比 (SNR)。
根据测量结果可以得出,CPU、GPU和屏幕缓冲区影响硬件渲染,CPU和屏幕缓冲区影响软件渲染。
接下来作者描述本文中实现的四种渲染信道攻击:
这个攻击是在不同浏览器或同一浏览器的不同模式(例如,正常模式和隐身模式)之间一个创造一个隐蔽的、单向的沟通信道。这种攻击可用于同步跟踪属于给定域的跨浏览器或者模式的 cookie。作者举出两个用这种同步的例子。第一个例子是,第三方跟踪网站 DoubleClick 会保留一个与用户行为相关联的 cookie在一个浏览器上进行定向广告。当用户打开另一个浏览器使用DoubleClick 访问网页,DoubleClick 会跨浏览器同步跟踪 cookie仍然投放有针对性的广告。第二个例子是,NYTimes使用cookies限制用户一个月内免费文章的数量。用户以隐身模式访问NYTimes以避免被跟踪。这种隐蔽的交流使NYTimes能够跨模式同步 cookie,因此仍然跟踪用户的免费文章数。
这个攻击的关键是是访问过的网站的渲染每一帧的模式与未访问过的网站是不同的。原因是Web 浏览器会在内存和磁盘中缓存访问过的网页内容,例如图像和脚本等。当浏览器再次访问该网站时,浏览器会立即从缓存中读取这些内容,这就导致渲染的整体模式和初次访问时不一样。举一个例子,假设某网站页面中有文字和图片,在初次访问这个网站的时候,浏览器在第一帧渲染出了文字,在第二帧渲染出了图片。然而在访问过该网站并有缓存内容之后,浏览器在第一帧就可以同时渲染出文字和图片。这样造成每一帧需要的渲染资源和初次访问不一样。由此可以推断出用户是否访问过这个网站。
不同网站拥有不同的文字和图片模式,而不同的网站加载的时候,每一帧的渲染事件也是不同的。我们可以根据渲染每帧的渲染占用来预测用户打开了什么样的网站。
从Figure 1中可以看到渲染不同的网站的渲染模式是不一样的。
用户在网页中输入时,网页会根据用户输入的字符进行实时渲染。例如google的搜索框会生成对应的自动补全提示。在之前的研究中,有数据集从用户邮件等来源中收集了用户输入字符的时间间隔模式[1],作者在此数据集中选取了一些用户最常用的词汇并进行测试。从结果可见,当参与词汇的数量较少时,结果具有较高的F1 Score,但当词汇数量增加或者当词汇长度类似时,F1 Score有所下降。作者指出,由于渲染时间相对较短且收集的frame数据较少,此攻击相对较弱。
论文链接:https://www.usenix.org/system/files/sec22-wu-shujiang.pdf
投稿作者介绍:
约翰斯·霍普金斯大学在读博士,师从曹寅志老师,预计于明年毕业。目前的主要方向是网络安全和隐私、浏览器指纹、侧信道攻击、机器人和欺诈检测,相关研究成果发表在国际顶级会议USENIX Security, CCS上。
约翰斯·霍普金斯大学博士生。主要研究方向为网络安全、系统安全。相关研究成果发表在国际顶级会议USENIX Security。
特别感谢来自理海大学的罗丹同学的在网站指纹数据分析中的帮助。
原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2022-09-15
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论