G.O.S.S.I.P 阅读推荐 2022-09-15

admin 2022年9月16日14:03:25评论30 views字数 2582阅读8分36秒阅读模式

今天为大家推荐的论文是来自霍普金斯大学曹寅志研究组投稿的关于浏览器渲染中的侧信道攻研究工作Rendering Contention Channel Made Practical in Web Browsers,目前该工作已发表于USENIX Security 2022。

G.O.S.S.I.P 阅读推荐 2022-09-15

背景介绍
浏览器渲染利用在浏览器内和跨浏览器的共享的硬件资源来显示网页内容,因此不可避免地容易受到侧信道攻击。之前的工作研究了通过渲染的时间的渲染侧通道,如URL颜色变化。但是,之前的工作不清楚如何渲染争用在侧信道攻击和隐蔽通讯中发挥的作用。
在本文中,作者设计了一种新颖的渲染争用信道。具体来说,作者给予了浏览器一个稳定的、可自调节渲染任务并且收集渲染时间形成一个测量的时间序列。而测量的时间序列进一步用于推断浏览器的渲染事件。
为了更好地了解渲染信道,作者通过单变量测试的方法来研究其原因。也就是说,作者保留所有变量相同但只改变一个来测试是否更改的变量会导致争用。测试的结果表明 CPU、GPU 和屏幕缓冲区都会导致争用。

为了证明渲染信道的可行性,我们设计并实现了一个开源框架,称为 SIDER。作者使用渲染争用信道部署了四种不同的攻击,它们是 (i) 跨浏览器、跨模式 cookie 同步 (ii) 历史嗅探 (iii) 网站指纹识别和 (iv) 键盘输入记录。作者的评估显示了渲染信道的有效性以及这四种攻击的可行性。

渲染争用信道

渲染是现代浏览器的重要组成部分。浏览器通过渲染,将来自 Internet 的基于文本的原始数据(例如 HTML和图像)转换为可在电脑屏幕显示的内容。从顶层看,操作系统 (OS) 将渲染作为抽象资源提供给 Web 浏览器通过 DirectX 和 OpenGL 等库;从底层看,抽象的渲染资源被分解成不同的硬件资源,例如 CPU、GPU 和屏幕缓冲区。无论是顶层还是底层,渲染资源都被共享在同一个操作系统以及同一个浏览器的网络框架的所有进程上,因此不可避免地容易受到渲染争用信道的攻击。

渲染争用信道的原因分析

作者使用单变量测试来对渲染争用信道进行原因分析。核心思路是,保留所有其他的变量,只改变单个变量,然后观察信道的信噪比 (SNR)。

G.O.S.S.I.P 阅读推荐 2022-09-15

  是真实结果(ground truth),  是测量结果。

G.O.S.S.I.P 阅读推荐 2022-09-15


根据测量结果可以得出,CPU、GPU和屏幕缓冲区影响硬件渲染,CPU和屏幕缓冲区影响软件渲染。

SIDER: 渲染竞争框架
首先,作者描述攻击框架SIDER如何对渲染竞争信道数据进行降噪。其中主要包括两个步骤,平滑处理和归一化。第一步是对数据进行平滑处理,减少原始数据中收集到的意外高值噪声;第二步是对原始数据进行归一化,减少由于不同浏览器和硬件引入的数据差异以及噪声。

接下来作者描述本文中实现的四种渲染信道攻击:

G.O.S.S.I.P 阅读推荐 2022-09-15

攻击一:跨浏览器cookie同步

这个攻击是在不同浏览器或同一浏览器的不同模式(例如,正常模式和隐身模式)之间一个创造一个隐蔽的、单向的沟通信道。这种攻击可用于同步跟踪属于给定域的跨浏览器或者模式的 cookie。作者举出两个用这种同步的例子。第一个例子是,第三方跟踪网站 DoubleClick 会保留一个与用户行为相关联的 cookie在一个浏览器上进行定向广告。当用户打开另一个浏览器使用DoubleClick 访问网页,DoubleClick 会跨浏览器同步跟踪 cookie仍然投放有针对性的广告。第二个例子是,NYTimes使用cookies限制用户一个月内免费文章的数量。用户以隐身模式访问NYTimes以避免被跟踪。这种隐蔽的交流使NYTimes能够跨模式同步 cookie,因此仍然跟踪用户的免费文章数。

攻击二:历史嗅探

这个攻击的关键是是访问过的网站的渲染每一帧的模式与未访问过的网站是不同的。原因是Web 浏览器会在内存和磁盘中缓存访问过的网页内容,例如图像和脚本等。当浏览器再次访问该网站时,浏览器会立即从缓存中读取这些内容,这就导致渲染的整体模式和初次访问时不一样。举一个例子,假设某网站页面中有文字和图片,在初次访问这个网站的时候,浏览器在第一帧渲染出了文字,在第二帧渲染出了图片。然而在访问过该网站并有缓存内容之后,浏览器在第一帧就可以同时渲染出文字和图片。这样造成每一帧需要的渲染资源和初次访问不一样。由此可以推断出用户是否访问过这个网站。

攻击三:网站指纹

不同网站拥有不同的文字和图片模式,而不同的网站加载的时候,每一帧的渲染事件也是不同的。我们可以根据渲染每帧的渲染占用来预测用户打开了什么样的网站。

G.O.S.S.I.P 阅读推荐 2022-09-15

从Figure 1中可以看到渲染不同的网站的渲染模式是不一样的。

攻击四:键盘输入记录

用户在网页中输入时,网页会根据用户输入的字符进行实时渲染。例如google的搜索框会生成对应的自动补全提示。在之前的研究中,有数据集从用户邮件等来源中收集了用户输入字符的时间间隔模式[1],作者在此数据集中选取了一些用户最常用的词汇并进行测试。从结果可见,当参与词汇的数量较少时,结果具有较高的F1 Score,但当词汇数量增加或者当词汇长度类似时,F1 Score有所下降。作者指出,由于渲染时间相对较短且收集的frame数据较少,此攻击相对较弱。


论文链接:https://www.usenix.org/system/files/sec22-wu-shujiang.pdf



投稿作者介绍:

巫蜀江 霍普金斯大学

约翰斯·霍普金斯大学在读博士,师从曹寅志老师,预计于明年毕业。目前的主要方向是网络安全和隐私、浏览器指纹、侧信道攻击、机器人和欺诈检测,相关研究成果发表在国际顶级会议USENIX Security, CCS上。

余蒹葭 霍普金斯大学

约翰斯·霍普金斯大学博士生。主要研究方向为网络安全、系统安全。相关研究成果发表在国际顶级会议USENIX Security。

来自投稿作者的特别感谢!

特别感谢来自理海大学的罗丹同学的在网站指纹数据分析中的帮助。

参考链接:
[1]MONACO, J. V. What are you searching for? a remote keylogging attack on search engine autocomplete. In 28th USENIX Security Symposium (USENIX Security 19) (2019), pp. 959–976.

原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2022-09-15

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年9月16日14:03:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   G.O.S.S.I.P 阅读推荐 2022-09-15https://cn-sec.com/archives/1298884.html

发表评论

匿名网友 填写信息