On the Incomparability of Cache Algorithms in Terms of Timing Leakage
本文提出泄漏竞争性概念,证明缓存算法在时序泄漏上对称且无支配关系,且有限控制缓存间关系仅为线性或常数。
2019-03-04 cs.CR
CACHE SNIPER : Accurate timing control of cache evictions
在过去的几年里,微架构侧信道攻击在安全研究中非常突出。高速缓存一直是一个杰出的隐蔽通道,因为它们提供高分辨率和通用的跨核泄漏,即使是简单的用户模式代码执行权限。为了防止这些通用的跨核攻击,所有主要的加密库现在都提供了通过跨核缓存攻击来阻止密钥提取的对策,例如避免秘密相关访问模式和预取数据。在本文中,我们表明,旨在防止简单的缓存攻击的“足够好”的对策保护的实现仍然是脆弱的。我们提出了一种新的攻击,使用一种特殊的定时技术来确定何时开始加密,然后在所需的时刻准确地驱逐数据。这种新的攻击不需要特殊权限,也不需要攻击者和受害者之间的显式同步。我们的攻击的一个关键改进是一种方法,通过利用TSX的瞬时功能并依赖于最近反向工程的L3替换策略,在没有共享内存的情况下,通过单次内存访问从缓存中驱逐数据。我们证明了效率,通过执行异步最后一级缓存攻击,以提取RSA密钥从最新的SSL库,这已特别适应,以避免泄漏的访问模式,并通过提取AES密钥从S盒实现包括在OpenSSL绕过每轮预取打算作为对缓存攻击的保护。
2020-08-27 cs.CR
Timing Cache Accesses to Eliminate Side Channels in Shared Software
定时侧通道已被用于提取加密密钥和敏感文档,甚至从可信的飞地中提取。在本文中,我们专注于高速缓存侧通道访问共享代码或数据的存储层次结构。此漏洞被几种已知的攻击所利用,例如,用于恢复RSA密钥的逐出+重新加载以及用于由于推测性访问而泄漏的数据的Spectre变体。本文中的关键见解是在受害者将数据带入缓存后首次访问共享数据的重要性。为了消除定时侧通道,我们确保一个进程对另一个进程加载的任何缓存行的第一次访问导致未命中。我们通过使用时间戳和一种新颖的硬件设计的组合来实现这一目标,以允许有效的时间戳的并行比较。该解决方案适用于所有缓存级别,并防御在另一个核心、同一个核心或另一个超线程上运行的攻击者进程。我们的设计保留了共享缓存的优点:允许进程利用整个缓存来执行,并保留共享代码和数据的单个副本(重复数据删除)。我们在GEM5模拟器中的实现表明,该系统能够抵御RSA密钥提取。我们使用SPECCPU2006评估性能,并观察到由于首次访问延迟的开销为2.17%。由于安全上下文簿记的开销大约为0.3%。
2021-12-16 cs.CR
Random and Safe Cache Architecture to Defeat Cache Timing Attacks
本文提出随机且安全的缓存架构(RaS),通过填充安全缓存行并解除推测执行后的填充限制,以低开销抵御所有缓存时序攻击。
2024-04-22 cs.AR cs.CR
Janus: An Uncertain Cache Architecture to Cope with Side Channel Attacks
侧信道攻击是密码系统的主要攻击类型。攻击者收集并分析这些系统中的时序行为、I/O数据或功耗,以破坏其保护敏感信息的有效性。在这项工作中,我们提出了一个新的缓存架构,称为Janus,使密码系统引入随机化和不确定性,在他们的运行时的定时行为和功率利用率配置文件。在所提出的缓存架构中,每个数据块都配备了一个开-关标志,以启用/禁用数据块。Janus架构在其指令集中有两条特殊指令来支持开-关标志。除了建议的高速缓存架构的分析评估,我们将其部署在ARM-7处理器核心,研究其可行性和实用性。结果表明,在所有的基准测试的时间行为的显着变化。新的安全处理器架构具有最小的硬件开销,并在防止功耗分析和定时行为攻击方面有显着的改进。
2017-10-25 cs.CR
SpecuSym: Speculative Symbolic Execution for Cache Timing Leak Detection
CPU高速缓存是现代处理器中有限但关键的存储组件,而高速缓存定时侧通道可能无意中通过物理可测量的定时方差泄漏信息。推测执行是一种重要的处理器优化,也是这种差异的来源,可能会对故意的分支错误预测造成严重损害。尽管静态分析可以定性地验证推测执行下的无时序泄漏特性,但它不能产生包括输入和推测流的背书以深入诊断泄漏。这项工作提出了一个新的符号执行为基础的方法,SpecuSym,精确检测缓存定时泄漏引入推测执行。给定一个程序(在非推测性执行中无泄漏),SpecuSymsystematically探索程序状态空间,在条件分支处对推测性行为进行建模,并随着后续路径探索积累缓存副作用。在动态执行过程中,SpecuSym根据指定的缓存模型构造内存访问的泄漏谓词,并进行基于约束求解的缓存行为分析,以检查新的缓存行为。我们已经实现了SpecuSymatop KLEE,并根据15个开源基准对其进行了评估。实验结果表明,SpecuSym在3种不同的缓存设置下成功地检测到6个程序中2 ~ 61个漏洞,并在最近的工作中发现了2个程序中的误报。
2020-02-14 cs.CR cs.SE
AutoCAT: Reinforcement Learning for Automated Exploration of Cache-Timing Attacks
现代微处理器中积极的性能优化可能导致安全漏洞。例如,处理器缓存中基于时间的攻击可以窃取密钥或破坏随机化。到目前为止,查找缓存定时漏洞主要由人类专家执行,这是低效和费力的。鉴于未报告的漏洞会使系统处于风险之中,因此需要能够探索漏洞的自动工具。在本文中,我们提出了AutoCAT,一个自动化的探索框架,使用强化学习(RL)发现缓存定时通道攻击序列。具体来说,AutoCAT将缓存定时通道攻击公式化为攻击程序和持有秘密的受害者程序之间的猜测游戏。因此,这个猜谜游戏可以通过现代深度RL技术来解决。AutoCAT可以在不了解设计细节的情况下,在不同的攻击和受害程序配置下,探索各种缓存配置中的攻击。AutoCAT还可以查找绕过某些检测和防御机制的攻击。特别是,AutoCAT发现了StealthyStreamline,这是一种新的攻击,能够绕过基于性能计数器的检测,信息泄漏率比基于真实处理器的最先进的LRU攻击高出71%。AutoCAT是第一个使用RL来制作微架构定时通道攻击序列的同类产品,可以加速安全微处理器设计的缓存定时通道探索。
2023-02-04 cs.AR cs.CR
InputSnatch: Stealing Input in LLM Services via Timing Side-Channel Attacks
针对大语言模型服务中缓存机制导致的输入泄露风险,提出InputSnatch计时侧信道攻击方法,通过输入构造器与时间分析器组件提升攻击成功率,实验验证其有效性,强调性能优化需兼顾隐私安全。
2024-11-29 cs.CR
Leaking Information Through Cache LRU States
最近最少使用的缓存替换策略及其变体广泛部署在现代处理器中。本文首次详细说明了缓存的LRU状态可以用来泄露信息:发送方对缓存的任何访问都会修改LRU状态,并且接收方能够通过定时测量观察到这一点。本文介绍了LRU定时为基础的信道时,发送方和接收方有共享的内存,例如,共享库数据页,以及当它们是没有共享内存的独立进程时。此外,在发送方和接收方在超线程设置和时间分片设置中共享缓存的情况下,在英特尔和AMD处理器上演示了新的基于LRU定时的通道。在超线程设置中,LRU通道的传输速率可以高达每缓存600 Kbps。与大多数现有的高速缓存通道不同,这些通道需要发送方触发高速缓存未命中,新的LRU通道只在发送方有高速缓存命中时工作,使通道更快,更隐蔽。本文还证明了新的LRU通道可以用于瞬时执行攻击,例如,幽灵此外,本文表明,LRU通道对现有的安全缓存设计构成威胁,这项工作表明LRU通道影响安全PL缓存。本文最后讨论和评估可能的防御。
2020-01-03 cs.CR
BackCache: Mitigating Contention-Based Cache Timing Attacks by Hiding Cache Line Evictions
本文提出软硬件协同设计 BackCache,利用全相联备份缓存隐藏 L1 数据缓存行驱逐,并结合 RURP 与动态备份缓存缩放机制缓解缓存计时攻击,理论分析和 gem5 评估表明其安全有效且性能开销较低。
2024-06-12 cs.AR cs.CR
Systematic Assessment of Cache Timing Vulnerabilities on RISC-V Processors
本文为RISC-V处理器移植了缓存时序漏洞基准测试,并评估三款商用核心,发现C910漏洞源更多,65.9%漏洞普遍存在,旨在助力早期安全设计。
2025-10-10 cs.CR
KeyDrown: Eliminating Keystroke Timing Side-Channel Attacks
除了加密秘密,侧信道攻击还泄漏敏感的用户输入。最精确的攻击利用缓存计时或中断信息来监视缓存计时,并随后推断键入的单词和句子。先前提出的对策未能防止恶意定时攻击,因为它们不能保护整个软件栈中的恶意处理。我们使用KeyDrown来缩小这一差距,这是一种针对定时攻击的新防御机制。KeyDrown在内核中注入了大量的伪伪内核,以防止对内核的基于中断的攻击和Prime+Probe攻击。所有缓存(包括假缓存)都通过共享库小心地传播,以隐藏任何缓存活动,从而防止Flush+ Rackad攻击。最后,我们为用户空间程序中的密码输入提供了针对Prime+Probe的额外保护。我们表明,攻击者无法区分假的黑客攻击从真正的黑客攻击了,我们评估KeyDrown的商品笔记本电脑以及两个Android智能手机。我们表明,KeyDrown消除了任何优势,攻击者可以从使用中断或缓存侧通道信息。
2017-06-20 cs.CR
Fast Selective Flushing to Mitigate Contention-based Cache Timing Attacks
本文提出硬件/软件协同的快速选择性刷新机制 FaSe,通过 ISA 扩展和缓存状态位选择性刷新缓存行,在 RISC-V FPGA 上以低于 1% 的硬件开销显著降低朴素刷新的性能损失并缓解缓存时序攻击。
2022-04-22 cs.AR cs.CR
MemJam: A False Dependency Attack against Constant-Time Crypto Implementations
缓存攻击利用密码实现的内存访问模式。常数时间实现技术已经成为对抗缓存定时攻击的一种不可或缺的工具。这些技术设计密码操作的存储器访问以遵循统一的密钥独立模式。但是,恒定时间行为取决于底层架构,后者可能非常复杂,并且经常包含未发布的功能。CacheBleed攻击的目标是缓存库冲突,从而使微架构侧信道对手只能观察具有缓存行粒度的内存的假设无效。在这项工作中,我们提出MemJam,一个侧信道攻击,利用错误的内存读写后的依赖关系,并提供了一个高品质的内部缓存级定时通道。作为概念验证,我们演示了对AES的恒定时间实现以及当前英特尔集成性能原语(Intel IPP)加密库中带缓存保护的SM4实现的首次密钥恢复攻击。此外,我们通过在使用前述AES的恒定时间实现来执行加密的飞地上再现AES密钥恢复结果,来展示对SGX的第一次内部高速缓存级定时攻击。我们的研究结果表明,我们不仅可以使用这个侧通道,有效地攻击内存依赖的密码操作,但也绕过建议的保护。与CacheBleed相比,它仅限于旧一代处理器,MemJam是第一个适用于所有主要英特尔处理器的内部缓存级别攻击,包括支持SGX扩展的最新一代处理器。
2017-11-21 cs.CR
Evaluation of Cache Attacks on Arm Processors and Secure Caches
处理器缓存中基于时间的侧通道和隐蔽通道仍然是现代计算机的威胁。这项工作首次展示了对Arm设备的系统性、大规模分析,以及处理器易受攻击的详细结果。与x86相比,Arm使用不同的架构、微架构实现、缓存替换策略等,这会影响攻击的发起方式,以及如何对漏洞进行安全测试。为了评估安全性,本文介绍了专门为测试Arm处理器及其缓存而开发的安全基准。基准测试本身通过敏感性测试进行评估,该测试检查基准测试对测试阶段的正确配置的敏感程度。此外,为了评估大量设备,这项工作利用了一种新的方法,即使用基于云的Arm设备测试平台对定时通道进行架构和安全研究,并在34个不同的物理设备上运行基准测试。与此同时,人们对安全缓存来防御各种攻击很感兴趣。因此,本文还研究了安全的缓存架构,使用建议的基准。特别是,本文实现并评估了安全的PL和RF缓存,展示了PL和RF缓存的安全性,但也发现了新的弱点。
2021-11-01 cs.CR
Adversarial Symbolic Execution for Detecting Concurrency-Related Cache Timing Leaks
高速缓冲存储器是介于快速CPU和慢速存储器之间的高速存储器,其时序特性可能会泄露程序的敏感信息,从而允许对手进行侧信道攻击。现有的检测时序泄漏的方法要么完全忽略缓存,要么只关注程序本身产生的被动泄漏,而不考虑并发运行其他线程可能产生的泄漏。在这项工作中,我们表明,定时泄漏自由是不是一个组成的属性:一个程序,不泄漏时,单独运行时可能会成为泄漏时,与其他线程交织。因此,我们开发了一种新的方法,名为对抗符号执行,以检测这种泄漏。它系统地探索可行的程序路径和它们的交织,同时对缓存进行建模,并利用SMT求解器来确定是否存在时序泄漏。我们已经在LLVM中实现了我们的方法,并在一组总共有14,455行C代码的真实世界密码上对其进行了评估。我们的实验证明了我们的方法的效率和它的有效性在检测侧通道泄漏。
2018-07-09 cs.CR cs.DC cs.PL
Efficient RL-based Cache Vulnerability Exploration by Penalizing Useless Agent Actions
针对RL自动探索缓存漏洞时智能体执行大量无用动作的问题,提出训练中识别并惩罚无用动作的机制,在17种缓存结构上显著减少无用动作与训练时间。
2025-06-08 cs.CR
CANAL: A Cache Timing Analysis Framework via LLVM Transformation
一个统一的建模框架的非功能特性的程序是必不可少的软件分析和验证的研究,因为它减少了负担,个人研究人员实施新的方法和比较现有的方法。我们提出了CANAL,一个框架,通过转换其中间表示LLVM编译器中的程序的缓存行为建模。CANAL在这些变量上插入辅助变量和指令,以允许标准验证工具处理一类新的高速缓存相关属性,例如,用于计算最坏情况下的执行时间和检测侧通道泄漏。我们使用三种验证工具:KLEE,SMACK和Crab-llvm证明了CANAL的有效性。我们确认我们的缓存模型的准确性,通过比较与CPU周期准确的模拟结果GEM 5。CANAL可以在GitHub和YouTube上找到。
2018-07-09 cs.CR cs.PL cs.SE
The Early Bird Catches the Leak: Unveiling Timing Side Channels in LLM Serving Systems
本文首次揭示LLM服务中由KV缓存与语义缓存引发的计时侧信道,提出基于计时测量、分类模型和逐token搜索的提示窃取攻击,并通过黑盒实验验证其现实风险。
2025-10-21 cs.CR
Advanced profiling for probabilistic Prime+Probe attacks and covert channels in ScatterCache
高速缓存层次结构中的定时通道是许多微体系结构攻击的重要促成因素。ScatterCache(USENIX 2019)是一种受保护的缓存架构,它使用密钥加密函数随机化地址到索引的映射,旨在阻止在微架构攻击中使用基于缓存的定时通道。在本说明中,我们通过概述无噪声情况下的两种攻击(即匹配原始分析中的假设)来推进对ScatterCache安全性的理解。作为第一个贡献,我们提出了更有效的驱逐集分析,减少了所需的数量可观的受害者访问(因此分析运行时)的几个数量级。例如,为了在具有11个索引位的8路组关联高速缓存中构造可靠的驱逐组,我们将受害者访问要求从大约$2^{25}$放宽到小于$2^{10}$。作为第二个贡献,我们展示了隐蔽通道分析和传输的概率缓存,如ScatterCache。通过利用任意冲突而不是有针对性的冲突,我们的方法显着优于已知的隐蔽通道(例如,全缓存驱逐)。
2019-08-09 cs.CR
Protecting Cache States Against Both Speculative Execution Attacks and Side-channel Attacks
针对传统缓存时序侧信道与推测执行攻击难以同时防御的问题,提出STAR方法框架并设计STAR-FARR和STAR-NEWS两种安全缓存架构,开销分别仅为5.6%和6.8%。
2023-06-05 cs.AR cs.CR
Quantifying the Information Leak in Cache Attacks through Symbolic Execution
缓存定时攻击允许攻击者通过观察缓存命中和未命中来推断秘密执行的属性。但是,通过这种攻击,实际上能泄露多少信息呢?对于一个给定的程序,一个缓存模型,和一个输入,我们的CHALICE框架利用符号执行来计算可能通过缓存攻击泄漏的信息量。CHALICE的核心是一种量化信息泄漏的新颖方法,可以突出显示任意二进制代码上的关键缓存侧通道泄漏。在我们对来自OpenSSL和Linux GDK库的真实程序的评估中,CHALICE有效地量化了信息泄漏:例如,对于Linux上的AES-128实现,CHALICE发现缓存攻击可以泄漏128位加密密钥中的127位。
2016-11-14 cs.CR
Abusing Cache Line Dirty States to Leak Information in Commercial Processors
高速缓存已被用于构建各种类型的隐蔽和侧通道来泄漏信息。大多数现有的高速缓存通道利用高速缓存命中和高速缓存未命中之间的定时差。然而,我们引入了一个新的和更广泛的分类缓存隐蔽通道攻击:命中+未命中,命中+命中,和未命中+未命中。我们强调,在不同的状态下,高速缓存线的高速缓存未命中可能有更显着的时间差,这些可以被用作定时通道。基于这种分类,我们提出了一种新的稳定和隐形的Miss+Miss缓存通道。写回高速缓存广泛部署在现代处理器中。本文详细介绍了一种方法,在该方法中,可以使用替换延迟差异来构建基于时间的通道(称为WB通道),以泄漏回写缓存中的信息。发送方对高速缓存行的任何修改都将其设置为脏状态,并且接收方可以通过测量替换该高速缓存集的延迟来观察这一点。我们还演示了如何利用缓存集中不同数量的脏缓存行,以提高传输带宽的符号编码多个位。商业系统中WB信道的峰值传输带宽可以在发送器和接收器之间没有共享存储器的超线程设置中每个高速缓存集在1300和4400 kbps之间变化。与大多数现有的高速缓存通道(其总是针对特定的存储器地址)相比,新的WB通道关注于高速缓存组和高速缓存线状态,使得通道难以被核心上的其他进程干扰,并且它们仍然可以使用随机替换策略在高速缓存中工作。我们还从缓存加载数量和缓存未命中率的角度分析了WB通道的隐蔽性。我们讨论和评估可能的防御措施。最后讨论了各种形式的侧信道攻击。
2022-04-26 cs.AR cs.CR
Symbolic Verification of Cache Side-channel Freedom
缓存计时攻击允许第三方观察者从程序执行中检索敏感信息。但是,是否有可能自动检查程序是否存在缓存计时攻击的漏洞,然后自动屏蔽程序执行以防止这些攻击?对于一个给定的程序,一个缓存配置和攻击模型,我们的CACHEFIX框架要么验证缓存侧通道自由的程序或合成一系列的补丁,以确保缓存侧通道自由在程序执行过程中。在我们的框架的核心是一个新的符号验证技术的基础上自动抽象细化缓存语义。这样一个框架的力量是允许符号推理反例跟踪,并结合它与运行时监控,以消除高速缓存侧通道在程序执行过程中。我们对OpenSSL、libfixedtimefixedpoint、GDK和FourQlib库的例程进行的评估表明,我们的CACHEFIX方法(DIS)平均在75秒内证明了缓存侧通道自由度。此外,在除一种情况外的所有情况下,CACHEFIX都能在20分钟内合成所有补丁,以确保在执行期间各个例程的缓存侧通道自由度。
2018-07-12 cs.CR cs.SE
Governing the KV Cache: Preventing Timing Side-Channel Leakage in Multi-Tenant LLM Inference
本文针对多租户LLM推理中KV缓存引发的时序侧信道泄露问题,提出KVGov治理层,结合盐值机制与ORIGAMI调度器,可抵御三类攻击,同时保留93%的缓存效率,在真实硬件与模拟环境中验证了防御效果。
2026-08-11 cs.AI cs.CR
Characterizing Contention-Induced Reliability Collapse in KV-Cache Timing Side Channels for Multi-Tenant LLM Serving
该研究通过实验表征多租户LLM服务中KV缓存时序侧信道攻击的可靠性,发现争用导致可靠性崩溃,且安静系统测量会高估攻击可靠性。
2026-09-09 cs.AI cs.CR
MIPSBLEED: Uncovering Microarchitectural Timing Leaks in Pervasive Embedded Processors
Rochester Institute of Technology(罗切斯特理工学院)
针对MIPS处理器中SMT特性引发的跨核时序通道,提出MIPSBLEED框架,通过三级微架构泄露分析和汇编级探测,实现无特权的高分辨率时序攻击,并成功恢复真实椭圆曲线密码的密钥。
2026-06-16 cs.CR
Isolation Failure From Shared Storage: Characterizing and Exploiting Page-Cache SCA Leakage Across Containers and VMs
Bar-Ilan University(巴伊兰大学);Boston University(波士顿大学)
研究跨容器和虚拟机的页面缓存SCA泄漏,通过评估多种环境下无特权定时测量,发现I/O路径影响定时信号,虚拟化重塑泄漏,案例展示可恢复活动,结果推动对定时隔离的协同支持。
2026-07-23 cs.AR cs.CR cs.OS
Selective KV-Cache Sharing to Mitigate Timing Side-Channels in LLM Inference
University of Connecticut Storrs(康涅狄格大学斯托尔斯分校);Independent(独立研究者);Indiana University Bloomington(印第安纳大学布卢明顿分校);UC Santa Cruz(圣克拉拉大学);Peking University(北京大学)
SafeKV通过选择性KV缓存共享缓解LLM推理中的定时侧信道问题,实现隐私保护与性能优化的平衡。
2026-02-09 cs.CR cs.LG cs.OS
Shield Bash: Abusing Defensive Coherence State Retrieval to Break Timing Obfuscation
本文研究了远程缓存行时间混淆(TORC)与延迟推测性更改(DSRC)两种防御措施的相互作用,发现DSRC导致一致性信息可被检索至核心引发安全漏洞,提出两种缓解方法并通过仿真验证,其中阻止远程E状态创建的方案平均开销低于2.8%。
2025-04-14 cs.AR cs.CR
CacheSquash: Making caches speculation-aware
本文提出CacheSquash机制,通过在推测指令被撤销时立即向缓存层次发送取消信号,阻止错误推测的内存访问改变缓存状态,从而以接近零的性能开销有效防御Spectre攻击。
2025-05-08 cs.AR cs.CR
Speculative Interference Attacks: Breaking Invisible Speculation Schemes
针对推测性执行的最新安全漏洞(例如,Spectre)对处理器设计提出了重大挑战。这个广为人知的漏洞使用推测性执行通过更改缓存状态来获取受害者机密。结果,最近的计算机体系结构研究集中在试图阻止由于推测执行而引起的高速缓存状态的改变的不可见推测机制上。先前的工作已经在以适度的性能成本防止Spectre和其他漏洞方面取得了重大成功。在本文中,我们介绍了投机性干扰攻击,这表明,以前的隐形投机机制并不能完全阻止这些投机为基础的攻击。我们提出两个关键的观察。首先,错误推测的较年轻的指令可以改变较老的、绑定到退休的指令的定时,包括存储器操作。第二,改变存储器操作的定时可以改变该存储器操作相对于其他存储器操作的顺序,从而导致对高速缓存状态的持久改变。使用这些观察,我们证明(在其他攻击变种),秘密信息访问错误推测的指令可以改变绑定到退休负载的顺序。因此,即使存在不可见的推测机制,加载时序的变化也会在缓存中留下秘密相关的变化。我们表明,这个问题是不容易解决的:投机性干扰转换为持久的缓存状态变化的时间变化,和时间通常被忽略了许多基于缓存的防御。我们开发了一个框架来理解攻击,并展示了具体的概念验证攻击无形的投机机制。我们提供的安全定义足以阻止投机性干扰攻击,描述了一个简单的防御机制,具有较高的性能成本,并讨论未来的研究如何提高其性能。
2021-04-23 cs.AR cs.CR
Detecting time-fragmented cache attacks against AES using Performance Monitoring Counters
缓存定时攻击使用多核处理器中的共享缓存作为侧通道来从受害进程提取信息。这些攻击在云基础设施中特别危险,其中部署的对策会导致性能损失和能耗增加方面的附带影响。我们建议使用一个独立的监测(检测器)过程,不断测量选定的性能监测计数器(PMC)检测攻击的存在,以监测受害者进程。只有在出现这种危险情况时才能采取特别反措施。在我们的例子中,受害者进程是AES加密算法,攻击是通过随机加密请求来执行的。我们证明,PMC是一个可行的工具来检测攻击,并在高频率采样PMC是比采样在较低的频率在检测能力,特别是当攻击是碎片化的时间,试图隐藏检测。
2019-04-25 cs.CR
SMaCk: Efficient Instruction Cache Attacks via Self-Modifying Code Conflicts
本文研究自修改代码在x86处理器上引发的指令缓存时间差异,提出利用该差异增强Prime+Probe和Flush+Reload等缓存攻击的新技术,并设计基于硬件性能计数器的动态检测方法来缓解相关威胁。
2025-02-08 cs.AR cs.CR
New Attacks and Defenses for Randomized Caches
最后一级缓存易受基于定时的侧信道攻击的攻击,因为它由攻击者和受害者进程共享,即使它们位于不同的核心上。这些定时攻击使用小冲突组(SCG)驱逐受害者高速缓存行,并且监视高速缓存以观察受害者何时再次使用这些高速缓存行。冲突组是将驱逐目标高速缓存行的高速缓存行的集合。随机化经常被防御用来防止创建SCG。我们引入新的攻击,以证明目前的随机化方案需要一个非常高的刷新率是安全的,平均15%的性能开销,并在最坏的情况下高达50%。接下来,我们提出了一个新的随机化策略,使用间接表,这缓解了这个问题。对高速缓存行的100%进行加密,并用于查找间接表条目。每个间接表条目存储到随机选择的高速缓存集的映射。高速缓存行被放置到这个随机选择的集合中。通过使用驱逐来触发重新随机化,加密密钥的变化速度比CEASER的默认速度快50倍。代替移动高速缓存行,每当对应于iTable条目的高速缓存行被自然逐出时,该机制每次重新随机化一个iTable条目。因此,未命中率并不比基线差多少。我们定量地表明,我们的计划几乎以及一个完全关联的缓存来抵御这些攻击。我们还展示了新的攻击,目标iTable的超额订阅其条目,并定量地表明,我们的计划是弹性的新的攻击数万亿年。我们估计低面积(< 7\%)和功率开销相比,基线包容性的最后一级缓存。最后,我们使用SPECrate 2017和PARSEC 3.0基准测试评估了低性能开销(<4%)。
2019-09-26 cs.AR cs.CR
HybCache: Hybrid Side-Channel-Resilient Caches for Trusted Execution Environments
现代多核处理器共享高速缓存资源,以最大限度地提高高速缓存利用率和性能。然而,这使得缓存容易受到侧信道攻击的攻击,其中共享缓存行为中的定时差异被利用来推断受害者的执行模式的信息,最终泄漏私有信息。这些攻击的根本原因是共享缓存条目并以确定性方式访问它们的进程相互不信任。已经提出了针对高速缓存侧信道攻击的各种防御。然而,它们要么显著降低性能,要么施加不切实际的限制,要么只能击败某些类型的攻击。更重要的是,它们假设整个执行工作负载都需要侧通道弹性缓存,并且不允许仅针对工作负载的安全关键部分选择性地启用缓解。我们提出了一个通用的机制,一个灵活的和软分区的集关联缓存,并提出了一个混合缓存架构,称为HybCache。HybCache可以配置为仅针对隔离执行域选择性地应用侧通道弹性缓存行为,同时为非隔离执行提供常规缓存行为、容量和性能。隔离域可以包括一个或多个进程、代码的特定部分或受信任的执行环境。我们表明,以最小的硬件修改和内核支持,HybCache可以提供侧通道弹性缓存仅用于隔离执行的性能开销为3.5- 5%,而不会产生性能开销的剩余执行工作负载。我们提供了一个基于模拟器和硬件实现的HybCache的性能和面积开销进行评估,并显示它如何减轻典型的基于访问和基于竞争的缓存攻击。
2019-09-20 cs.CR
Volcano: Stateless Cache Side-channel Attack by Exploiting Mesh Interconnect
缓存侧信道攻击会对用户共享CPU的设置造成严重的安全威胁,例如,在云端现有的攻击依赖于感知受害者所做的微体系结构状态更改,并且可以通过结合空间(\eg,Intel CAT)和时间隔离(\eg,时间保护)来使该假设无效。在这项工作中,我们提出了高速缓存侧信道攻击的状态,显示无状态的高速缓存侧信道攻击,不能被击败的空间和时间隔离。该边信道利用了互连拥塞导致的时间差。具体而言,为了完成缓存事务,对于英特尔CPU,缓存行将通过CPU网格互连跨内核传输。尽管如此,网状链路由所有核心共享,并且高速缓存隔离不会隔离流量。攻击者可以生成互连流量来与网状链路上的受害者竞争,希望测量到额外的延迟。攻击者可以利用不同的延迟推断出受害程序的内存访问模式,从而推断出受害程序的敏感数据。基于这一思想,我们实现了Volcano,并针对现有的JDK的RSA实现进行了测试。我们发现受害者进程使用的RSA私钥可以部分恢复。最后,我们提出了几个防御方向,并呼吁安全界的关注。
2021-03-08 cs.CR
Eliminating Timing Side-Channel Leaks using Program Repair
我们提出了一种方法,基于程序分析和转换,用于消除定时侧通道的软件代码,实现安全关键的应用程序。我们的方法将原始程序和一系列秘密变量(例如,密码密钥、安全令牌或密码),并返回转换后的程序作为输出。转换后的程序保证在功能上等同于原始程序,并且没有指令和缓存定时侧通道。具体来说,我们确保执行任何路径所需的CPU周期数与秘密数据无关,并且内存访问的缓存行为(命中和未命中)与秘密数据无关。我们已经在LLVM中实现了我们的方法,并在大量应用程序上验证了其有效性,这些应用程序是总共有19,708行C/C ++代码的加密库。实验结果表明,该方法不仅具有良好的可扩展性,而且能够有效地消除定时边信道。
2018-07-21 cs.CR cs.PL cs.SE
Attack of the Knights: A Non Uniform Cache Side-Channel Attack
针对大型多核分布式末级缓存访问时延因物理距离不同有差异的问题,提出基于距离的新型侧信道攻击,通过多线程等技术在Intel Knights Landing CPU上实现了高带宽低误码率的隐蔽通信及高精度AES密钥提取。
2023-05-31 cs.AR cs.CR
SIMF: Single-Instruction Multiple-Flush Mechanism for Processor Temporal Isolation
微体系结构时序攻击是一种信息泄漏攻击,它利用现代处理器中的分时微体系结构组件,如高速缓存、翻译后备缓冲器(TLB)、分支预测单元(BPU)和推测执行,从受害进程或线程泄漏关键信息。为了减轻这种攻击,操作系统级解决方案广泛使用用于刷新核上状态的机制,因为核上状态对于分区来说太昂贵了。在这些系统中,刷新操作在软件中实现(使用高速缓存维护指令),这严重限制了定时攻击保护的效率。为了弥合这一差距,我们提出了专门的硬件支持,单指令多刷新(SIMF)机制,以刷新核心级状态,其中包括L1缓存,BPU,TLB和寄存器文件。我们通过将其实现为ISA扩展来演示SIMF,即,flushx指令,在标量有序RISC-V处理器中。所得到的处理器原型上Xilinx ZCU 102 FPGA和验证与国家的最先进的seL 4微内核,Linux内核在多核的情况下,和缓存定时攻击。我们的评估结果表明,SIMF显着的冲洗的开销超过两个因素的执行时间,并减少动态指令数的数量级。
2022-04-13 cs.AR cs.CR cs.OS
Lookout for Zombies: Mitigating Flush+Reload Attack on Shared Caches by Monitoring Invalidated Lines
基于操作系统的页面共享是现代系统中常用的优化,可减少内存占用。不幸的是,这样的共享可能会导致Flush+ Hashad缓存攻击,从而间谍定期刷新共享数据的缓存行(使用clflush指令)并重新加载它以推断受害者应用程序的访问模式。目前的建议,以减轻刷新+缓存攻击是不切实际的,因为他们要么禁用页面共享,或需要应用程序重写,或需要操作系统支持,或招致ISA的变化。理想情况下,我们希望在不需要任何操作系统或ISA支持的情况下容忍攻击,同时产生微不足道的性能和存储开销。本文提出了一个关键的观察,当一个缓存线是无效的,由于刷新引起的无效(FCI),无效的线的标签和数据仍然驻留在缓存中,并可以用于检测基于刷新的攻击。我们将由于FCI而无效的线路称为僵尸线路。我们的设计显式地将这些行标记为Zombie,将Zombie行保留在缓存中,并使用Zombie行的命中和未命中来容忍攻击。我们提出了基于僵尸的缓解(ZBM),一个简单的基于硬件的设计,成功地防范攻击,简单地对待僵尸线上的命中失误,以避免任何时间泄漏的攻击者。我们分析了ZBM的鲁棒性使用三个间谍程序:攻击AES的T-表,攻击RSA的平方和乘法,和功能监视器(FW),并表明ZBM成功地抵御这些攻击。我们的解决方案需要的存储空间可以忽略不计(每个缓存行4位),保留了基于操作系统的页面共享,不需要更改操作系统/ISA,并且不会导致良性应用程序的速度减…
2019-06-06 cs.CR
MCU-Wide Timing Side Channels and Their Detection
本文针对无共享缓存或并行特性的微控制器SoC,提出一种新的形式化方法检测SoC级时序侧信道,并在RISC-V Pulpissimo上发现新攻击变体,修复后验证其安全性。
2024-07-18 cs.CR
Your Processor Leaks Information - and There's Nothing You Can Do About It
定时通道是信息流,以事件的相对定时进行编码,绕过系统的保护机制。任何依赖于执行历史并影响后续执行进度的微体系结构状态都可能建立一个定时通道,除非采取明确的步骤关闭它。这些状态包括CPU缓存、TLB、分支预测器和预取器;删除这些通道需要操作系统可以对这些状态进行分区或在安全域的开关上刷新它。我们衡量的能力,这些微架构的功能的基础上,在几代处理器的两个主流ISA,x86和ARM的通道,并调查各自的ISA提供的刷新机制的有效性。我们发现,在所有的处理器,我们研究,至少有一个重要的通道仍然存在。这意味着在当代主流处理器上关闭所有定时通道似乎是不可能的。
2017-09-14 cs.CR
Timing the Transient Execution: A New Side-Channel Attack on Intel CPUs
本文发现 Intel CPU 中 EFLAGS 变化影响后续 Jcc 指令时序的漏洞,提出一种不依赖缓存的新型瞬态执行侧信道攻击,并在 Meltdown 组合攻击中达到 100% 泄露率。
2023-04-21 cs.CR
Yet Another Mirage of Breaking MIRAGE: Debunking Occupancy-based Side-Channel Attacks on Fully Associative Randomized Caches
本文复核 SEC'25 对 MIRAGE 随机化缓存的占用率侧信道攻击,指出其固定随机驱逐种子导致仿真失真;逐次随机化后相关性消失,证明所谓 AES 密钥泄漏并非真实漏洞。
2025-08-31 cs.CR
Certified Side Channels
我们证明了私钥持久化的格式会影响边通道分析(SCA)的安全性。调查了几个广泛部署的软件库,我们调查了它们支持的格式、它们如何解析这些键以及它们做出的运行时决策。我们发现了一个弱点和漏洞的组合,在极端情况下,诱导完全不相交的多精度算术堆栈深处的密码系统级别的密钥,否则似乎在逻辑上等同。利用这些漏洞,我们设计和实现的关键恢复攻击利用信号范围从电磁(EM)的发射,粒度微架构缓存的时间,粗糙的传统挂钟的时间。
2020-04-01 cs.CR
A Statistical Side-Channel Risk Model for Timing Variability in Lattice-Based Post-Quantum Cryptography
Amrita Vishwa Vidyapeetham(阿弥塔维迪亚佩特汉大学);Bal Kalyan Vidhya Mandir(巴尔卡利扬智慧曼迪尔学校)
本文提出了一种统计侧信道风险模型,用于评估格基后量子密码中时序变异的泄漏风险,通过多指标综合评估不同场景下的风险等级。
2025-12-26 cs.CR
Write+Sync: Software Cache Write Covert Channels Exploiting Memory-disk Synchronization
本研究提出利用内存-磁盘同步原语的SYNC+SYNC软件缓存写隐蔽信道攻击,具备纯软件实现、抗现有缓存防护等优势,在多系统跨进程/沙箱场景下实现高速低误码传输,是首个此类高速写隐蔽信道。
2025-01-16 cs.CR
Agent-Assisted Side-Channel Attacks on Non-Prefix KV Cache in RAG
University of Science and Technology of China(中国科学技术大学);University of Hong Kong(香港大学);Nanyang Technological University(南洋理工大学);Guangming Lab(光明实验室)
针对RAG系统中非前缀KV缓存融合的侧信道漏洞,提出SpliceLeak攻击,利用“阶梯波”时序特征提取私有提示长度和语义内容,并设计SpliceDefense防御机制。
2026-06-23 cs.CR
I Know What You Said: Unveiling Hardware Cache Side-Channels in Local Large Language Model Inference
针对本地LLM推理,本文提出利用缓存访问模式和解码时序泄露token值与位置的无特权窃听框架,并在Llama、Falcon和Gemma上实现高相似度文本重建。
2025-06-15 cs.CR
Whose Narrative is it Anyway? A KV Cache Manipulation Attack
本文针对大语言模型KV缓存的安全风险,提出History Swapping块级攻击方法,通过预计算缓存覆盖实现无提示词修改的生成内容劫持,在Qwen3上验证了攻击效果并揭示了KV缓存的结构编码特性。
2025-11-16 cs.AI cs.CR
A Case Study on Covert Channel Establishment via Software Caches in High-Assurance Computing Systems
隐蔽通道可以用于在高保证计算系统的上下文中秘密地将信息从高特权进程传递到低特权进程。在这个案例研究中,我们调查的可能性,通过软件高速缓存的背景下,基于组件的操作系统的框架中的隐蔽通道的建立。虽然基于组件的操作系统通过封装系统服务进程来提供安全性,但是这些进程的完全隔离是不合理的。这种限制实际上证明了我们的概念,一个特定的隐蔽定时通道的基础上文件系统缓存。隐通道的稳定性进行了评估,并提出了一种方法来破坏隐通道传输。虽然这些类型的攻击并不限于高保证计算系统,我们的研究实际上表明,即使是以安全为重点的计算系统与最低限度的可信计算基础是脆弱的这种攻击和谨慎的设计决策是必要的安全操作系统架构。
2015-08-21 cs.CR cs.OS
BandwidthBreach: Unleashing Covert and Side Channels through Cache Bandwidth Exploitation
本文提出 BandwidthBreach,通过操纵 LFB 冲突、预取失败和缓存路径拥塞构建高速隐蔽信道,并结合 Spectre 与 BP Timing 攻击提取 RSA、EdDSA 密钥。
2023-06-03 cs.CR
Efficiently Hardening SGX Enclaves against Memory Access Pattern Attacks via Dynamic Program Partitioning
众所周知,英特尔SGX易受一类利用内存访问模式侧通道的实际攻击,尤其是页面错误攻击和缓存计时攻击。一种有前途的加固方案是将应用程序包装在英特尔TSX支持的硬件事务中,在意外的缓存未命中和中断时将控制权返回给软件,以便可以检测和缓解利用这些微架构事件的现有侧信道攻击。然而,现有的硬化方案仅扩展到小数据计算,典型的工作集小于一次或几次(例如,$8$次)。这项工作解决了英特尔SGX安全区针对内存访问模式侧通道的安全加固方案的数据可扩展性和性能效率。关键的见解是,目标计算中TSX事务的大小至关重要,无论是性能还是安全性。与现有的设计不同,这项工作动态分区的目标计算,扩大交易,同时避免中止,从而降低性能开销和提高侧通道的安全性。我们实现了动态分区方案,并建立了一个C++库,在运行时监控和建模缓存利用率。我们进一步使用该库构建了一个数据分析系统,并实现了各种外部不经意算法。性能评估表明,我们的工作可以有效地增加事务的大小和减少执行时间高达两个数量级相比,国家的最先进的解决方案。
2022-12-27 cs.CR