The Spy in the Sandbox -- Practical Cache Attacks in Javascript
我们提出了第一个微架构的侧信道攻击,它完全在浏览器中运行。与其他此类作品不同,这种攻击不需要攻击者在受害者的机器上安装任何软件-为了便于攻击,受害者只需要浏览包含攻击者控制内容的不受信任的网页。这使得攻击模型具有高度可扩展性,并且与当今的Web非常相关和实用,特别是因为目前访问Internet的大多数桌面浏览器都容易受到这种攻击。我们的攻击是Yarom等人的末级缓存攻击的扩展,允许远程攻击者恢复属于其他进程、其他用户、甚至与受害者web浏览器在同一物理主机上运行的其他虚拟机的信息。我们描述了我们的攻击背后的基本原理,使用高带宽隐蔽通道评估其性能,最后用它来构建一个系统范围内的鼠标/网络活动记录器。防御这种攻击是可能的,但所需的对策可能会对Web浏览器和计算机的其他良性使用造成不切实际的成本。
2015-03-01 cs.CR cs.NI
Browser Feature Usage on the Modern Web
现代Web浏览器非常复杂,有数百万行代码和超过1000个JavaScript函数和属性可供网站作者使用。这项工作研究了这些浏览器功能如何在现代开放的网络上使用。我们发现,JavaScript功能在受欢迎程度上存在很大差异,超过50%的功能从未在Alexa 10k中使用过。我们还研究了流行的广告和跟踪拦截器如何改变网站使用的功能分布,并确定了一组约10%的功能被不成比例地阻止(至少在90%的时间内被这些扩展阻止执行)。我们还发现,在这些拦截器的存在下,超过83%的可用功能在最受欢迎的10,000个网站中的不到1%上执行。此外,我们还测量了网络上浏览器功能使用的各个方面,包括网站在功能使用方面的复杂程度,浏览器功能在浏览器中的时间长度与其在网络上的使用情况如何,以及有多少安全漏洞与相关的浏览器功能相关联。
2016-05-20 cs.CR cs.NI
Favicon Trojans: Executable Steganography Via Ico Alpha Channel Exploitation
本文提出利用ICO图像alpha通道LSB隐写JavaScript载荷的新型攻击方法,在浏览器加载favicon时隐蔽执行,构建无需额外请求的两阶段隐蔽通道,揭示了静态图像与可执行内容边界的模糊性及现有防御局限。
2025-07-11 cs.CR
IFC Inside: Retrofitting Languages with Dynamic Information Flow Control (Extended Version)
JavaScript中的许多重要安全问题,例如浏览器扩展安全性、不可信的JavaScript库和相互不信任的网站的安全集成(mash-up),可以使用信息流控制(IFC)的有效实现来有效地解决。不幸的是,现有的JavaScript IFC的细粒度方法需要修改语言语义及其引擎,而这不是浏览器应用程序的目标。在这项工作中,我们采取粗粒度的动态IFC的想法,并提供了一个基于语言的方法,可以应用于任何程序设计语言的外部效果可以控制的理论基础。然后,我们将这种形式主义应用到服务器端和客户端JavaScript,展示它如何推广到C程序设计语言,并将其连接到Haskell LIO系统。我们的方法提供的信息流控制系统的建设时,隔离可以很容易地实现,以及组合证明这些系统的优化具体实施,通过将它们与他们的隔离的变种的设计原则。
2015-01-16 cs.CR cs.PL
JSRehab: Weaning Common Web Interface Components from JavaScript Addiction
利用JavaScript(JS)实现用户界面(UI)交互性已经成为网络上的标准多年。然而,使用JS会增加带宽和电池消耗,因为脚本需要由浏览器下载和处理。此外,客户端JS可能会暴露访问者的安全漏洞,如跨站点脚本(XSS)。本文介绍了一种新的服务器端插件,称为JSRehab,自动重写常见的Web界面组件的替代品,不需要任何JavaScript(JS)。JSRehab的主要目标是大幅减少并最终删除网页中包含的JS,以提高其响应能力并消耗更少的资源。我们报告我们的实现JS康复Bootstrap,到目前为止最流行的UI框架,并评估它的语料库的100个网页。我们通过手动验证表明,确实可以降低页面对JS的依赖性,同时保持其交互性和可访问性。我们观察到,JSRehab为测试设备上的大多数网页带来了至少5%的节能,同时为HTML有效负载引入了仅5%的中间在线开销。
2022-03-14 cs.CR
Browser Security Posture Analysis: A Client-Side Security Assessment Framework
本文提出完全运行于浏览器内的JavaScript/WebAssembly安全评估框架,通过120多项原位测试诊断客户端安全策略,并在多浏览器与企业场景中验证其发现。
2025-05-12 cs.CR
FilterPlus: A real-time content filtering extension for Google Chrome
Web浏览器中的内容过滤对于大多数人来说是一个繁琐的过程,原因有几个。通过阻止JavaScript、Cookie和弹出窗口,最终用户可以确保最大限度地保护自己免受基于浏览器的攻击和漏洞。为了实现这一点,我们为Google Chrome构建了一个扩展程序,允许用户轻松控制他们希望从网页中接收的内容。我们还以这样一种方式构建了这个扩展,它记住了用户为每个URL所做的选项选择,从而让用户为他们访问的网站创建规则。
2014-07-14 cs.CR
Analyzing In-browser Cryptojacking
PayPal(贝宝);University of Central Florida(中佛罗里达大学)
本文从静态、动态和经济维度系统分析浏览器内加密劫持,实现100%脚本识别,评估资源影响与经济不可行性,并提出改进型防御措施。
2023-04-26 cs.CR cs.CY cs.LG
BabelView: Evaluating the Impact of Code Injection Attacks in Mobile Webviews
Webview在移动应用程序中嵌入了一个成熟的浏览器,并允许应用程序向JavaScript代码公开自定义接口。这是一种构建所谓的混合应用程序的流行技术,但它绕过了浏览器的通常安全模型:注入Webview的任何恶意JavaScript代码都可以访问接口,并可以使用它来操纵设备或泄露敏感数据。在本文中,我们提出了一种方法,系统地评估可能的影响代码注入攻击对Webviews使用静态信息流分析。我们的关键想法是,通过使用可能的攻击者行为模型(BabelView)来检测应用程序,我们可以使有关JavaScript语义的推理变得不必要。我们对来自不同Android市场的11,648个应用程序进行了评估,在1,663个应用程序中发现了2,677个漏洞。总的来说,这些被报告为易受攻击的应用程序在全球安装量超过8.35亿。我们手动验证了66个应用程序的随机样本,并估计我们的全自动分析在66%的召回率下达到了90%的准确率。
2018-10-09 cs.CR cs.SE
The Risks of WebGL: Analysis, Evaluation and Detection
WebGL是一种浏览器功能,它允许基于JavaScript的图形处理单元(GPU)控制来渲染交互式3D和2D图形,而无需使用插件。利用WebGL进行攻击将影响数十亿用户,因为浏览器是与万维网的主要交互机制。本文探讨了浏览器从WebGL 1.0到更强大的WebGL 2.0的潜在威胁。我们重点关注这一功能:分布式密码破解和分布式加密货币挖掘的两种可能的滥用。我们对攻击的评估还包括成功攻击的实际方面,如隐蔽性和用户体验。考虑到WebGL滥用的危险,正如在实验中所观察到的那样,我们设计并评估了一种主动防御。我们实现了一个Chrome扩展程序,证明它在检测和阻止WebGL方面是有效的。我们在实验中展示了WebGL 2.0在性能和便利性方面对WebGL 1.0的主要改进。此外,我们的研究结果表明,在现实条件下,使用WebGL 2.0进行分布式攻击是可能的。虽然WebGL 2.0显示出与基于CPU的技术相似的哈希率,但事实证明WebGL 2.0更难检测,对用户体验的影响也较小。
2019-04-30 cs.CR
Client-Side Zero-Shot LLM Inference for Comprehensive In-Browser URL Analysis
本文提出一种完全在浏览器内运行的客户端零样本 LLM 框架,结合静态代码分析、动态沙箱执行和页面内容对 URL 进行恶意性分类与解释,在保护隐私的同时实现与云端方案相当的检测准确率。
2025-06-04 cs.CR
To WASM or Not to WASM: Evaluation of Browser Fingerprinting Defenses Under WASM based Obfuscation
The University of Texas at San Antonio(圣安东尼奥德克萨斯大学);Google LLC(谷歌公司)
本文评估WASM混淆对浏览器指纹防御的影响,发现学术特征分析检测器存在脆弱性,而API级拦截的防御完全有效,凸显学术与实用防御的差距并提供优化方向。
2026-08-13 cs.CR cs.ET cs.PL
Gelato: Feedback-driven and Guided Security Analysis of Client-side Web Applications
尽管在过去的十年中,在分析客户端Web应用程序方面投入了大量的精力,但现有的工具往往无法处理现代JavaScript应用程序的复杂性。然而,从攻击者的角度来看,这种Web应用程序的客户端可能会泄露有关服务器端的宝贵信息。在本文中,我们首先研究了现有的工具,并列举了安全意识的客户端分析应该支持的最重要的功能。接下来,我们提出GELATO来检测现代客户端JavaScript应用程序中的漏洞,这些应用程序构建在复杂的库和框架上。特别是,我们采取的第一步,在关闭状态感知爬行和客户端安全分析之间的差距,提出了一个反馈驱动的安全意识引导爬虫,能够自动分析复杂的框架,并有效地增加程序的安全敏感部分的覆盖范围。此外,我们提出了一个新的轻量级客户端污点分析,优于最先进的工具,不需要修改浏览器,并报告现代JavaScript应用程序上的非平凡的污点流。
2020-04-14 cs.CR cs.SE
Known By Their Actions: Fingerprinting LLM Browser Agents via UI Traces
Oxford Internet Institute, University of Oxford(牛津互联网研究所,牛津大学);Department of Engineering Science, University of Oxford(工程科学系,牛津大学)
研究通过被动JavaScript跟踪器分析LLM代理的行为和交互时间,发现可识别底层模型,F1达96%,并展示分类器在不同模型上的泛化能力及早期身份推断。
2026-11-11 cs.AI cs.CR cs.HC
WebGPU-SPY: Finding Fingerprints in the Sandbox through GPU Cache Attacks
本文提出 WebGPU-SPY,利用 WebGPU API 在 Intel 集成 GPU 上构建硬件计时器发起缓存侧信道攻击,监视渲染栈活动,实现对前 100 网站指纹识别 90% 精度,并探讨了应对对策。
2024-01-09 cs.AR cs.CR
Robust Website Fingerprinting Through the Cache Occupancy Channel
Ben-Gurion University of the Negev(本-古里安大学内盖夫分校);University of Adelaide(阿德莱德大学);Princeton University(普林斯顿大学);Data61(数据61)
网站指纹攻击使用对网络流量的统计分析来损害用户隐私,即使流量是通过Tor等匿名保护网络发送的,也被证明是有效的。用于评估网站指纹攻击的经典攻击模型假设一个路径上的对手,他可以观察用户计算机和Tor网络之间的所有流量。在这项工作中,我们调查这些攻击下一个不同的攻击模型,对手能够在目标用户的计算机上运行少量的非特权代码。在此模型下,攻击者可以发起缓存侧信道攻击,利用CPU缓存上的争用效应来识别正在浏览的网站。在这种攻击模式的一个重要特例中,当目标用户访问由攻击者控制的网站时,就会发起JavaScript攻击。这种攻击场景的有效性从未被系统地分析过,特别是在开放世界模型中,该模型假设用户访问的是敏感和非敏感站点的混合。在这项工作中,我们表明,缓存网站指纹攻击JavaScript是高度可行的,即使他们是从高度限制的环境,如Tor浏览器运行。具体来说,我们使用机器学习技术来分类缓存活动的痕迹。不像以前的作品,试图识别缓存冲突,我们的工作措施的最后一级缓存的整体占用。我们表明,我们的方法在开放世界和封闭的世界模型中实现了高的分类精度。我们进一步表明,我们的技术是弹性的基于网络的防御和侧信道对策引入到现代浏览器作为对幽灵攻击的响应。
2019-02-21 cs.CR cs.LG
Hacky Racers: Exploiting Instruction-Level Parallelism to Generate Stealthy Fine-Grained Timers
侧信道攻击对许多安全模型构成严重威胁,尤其是基于沙箱的浏览器。虽然乱序处理器中的瞬时执行侧通道以前被归咎于Spectre和Meltdown等漏洞,但我们表明,事实上,乱序执行\emph{itself}造成混乱的能力要普遍得多。我们开发了Hacky Racers,一种新型的计时小工具,它使用指令级并行,乱序执行的另一个关键特性,来测量任意细粒度的计时差异,即使在高度受限的JavaScript沙箱环境中也是如此。虽然这样的环境试图通过降低定时器精度和移除诸如\textit{SharedArrayBuffer}之类的可用于经由线程级并行性间接生成定时器的语言功能来减轻定时侧通道,但是不能设计这样的限制来限制Hacky Racers。我们还设计了Hacky Racers的版本,这些版本不需要任何错误推测,这表明瞬态执行并不是现代微架构性能优化对安全性的唯一威胁。我们使用Hacky Racers来构建新颖的\textit{backwards-in-time} Spectre小工具,这些小工具通过在错误推测被发现之前泄露秘密来打破文献中的许多硬件对策。我们还使用它们来生成JavaScript中第一个已知的不需要\textit{SharedArrayBuffer}支持的末级缓存驱逐集生成器。
2022-11-26 cs.AR cs.CR
SpectreRewind: Leaking Secrets to Past Instructions
瞬态执行攻击利用微架构隐蔽通道来泄漏在逻辑程序执行期间不应该被访问的秘密。通常使用的微架构隐蔽通道是在微架构状态中留下持久足迹的通道,例如,高速缓存状态改变,在瞬时执行完成之后,从该通道恢复秘密。在本文中,我们提出了SpectreRewind,一种新的方法来创建基于竞争的瞬态执行攻击的隐蔽通道。在我们的方法中,一个隐蔽的通道是通过发出必要的指令之前,暂时执行的受害者代码逻辑。与需要同时多线程(SMT)的基于竞争的隐蔽通道不同,SpectreRewind支持基于单个硬件线程的隐蔽通道,使其在攻击者无法利用SMT的系统上可行。我们发现,在商品处理器上的浮点除法单元上的竞争可以用来创建一个高性能(~100 KB/s),低噪声的隐蔽通道,而不是常用的刷新+重载基于缓存隐蔽通道的瞬态执行攻击。我们实现了一个熔毁攻击利用建议的隐蔽通道表现出竞争力的性能相比,最先进的基于缓存的隐蔽通道的实现。我们还表明,隐蔽通道工程的JavaScript引擎的Chrome浏览器。
2020-06-23 cs.CR
Loophole: Timing Attacks on Shared Event Loops in Chrome
事件驱动编程(EDP)是图形用户界面、Web客户端的流行范例,并且它在服务器端和网络编程中的重要性正在迅速增加。EDP的中心组件是{\em事件循环},它充当FIFO队列,由进程用来存储和分派从其他进程接收的消息。在本文中,我们证明了共享事件循环容易受到侧信道攻击,其中一个间谍进程监视其他进程的循环使用模式,通过封装事件和测量它们被分派所需的时间。具体来说,我们展示了对两个中央事件循环在谷歌的Chrome浏览器的攻击:主机进程的I/O线程,它复用所有的网络事件和用户操作,以及渲染器进程的主线程,它处理渲染和Javascript任务。对于这些循环中的每一个,我们展示了如何使用模式可以高分辨率和低开销进行监控,以及如何滥用这些模式用于恶意目的,如网页识别,用户行为检测和隐蔽通信。
2017-06-28 cs.CR
Spectre is here to stay: An analysis of side-channels and speculative execution
最近发现的Spectre和Meltdown攻击不仅是计算机安全领域的分水岭,也是程序设计语言的分水岭。本文探讨了推测性侧信道攻击及其对程序设计语言的影响。这些攻击通过微架构的侧通道泄漏信息,我们发现这些侧通道不仅仅是错误,实际上是优化的基础。我们确定了三个开放的问题,(1)找到侧通道,(2)理解投机漏洞,(3)减轻它们。对于(1),我们引入了一个数学元模型,该模型阐明了模拟和CPU中的边通道的来源。对于(2),我们引入了一个具有推测语义的体系结构模型来研究最近发现的漏洞。对于(3),我们探索和评估软件缓解措施,并证明一种适用于该模型的缓解措施。我们的分析是通过对V8(Chrome中的生产JavaScript虚拟机)的广泛攻击性研究和防御性实现工作而得出的。对真实硬件模型的直接扩展表明,这些漏洞对有效、高效的缓解提出了巨大的挑战。由于我们的工作,我们现在认为,今天的硬件上的投机漏洞击败了所有语言强制的机密性,没有已知的全面软件缓解措施,因为我们已经发现,不受信任的代码可以构建一个通用的读取小工具,通过侧通道读取同一地址空间中的所有内存。面对这一现实,我们已经将Chrome Web浏览器和V8的安全模型转变为进程隔离。
2019-02-14 cs.CR cs.PL