SPECTECTOR: Principled Detection of Speculative Information Flows
自从幽灵出现以来,已经提出并部署了一些对策。然而,严格推理它们的有效性需要一个定义良好的安全概念来抵御投机性执行攻击,这一点到目前为止一直缺失。在本文中,(1)我们提出了投机不干扰,第一语义概念的安全性,防止投机执行攻击,(2)我们开发SPECTECTOR,一个算法的基础上,符号执行自动证明投机不干扰,或检测违规。我们在一个工具中实现了SPECTECTOR,我们用它来检测主要编译器放置SPECTRE对策的方式中的细微泄漏和优化机会。一个可扩展性分析表明,检查投机性的非干扰并没有表现出根本的瓶颈超出那些继承的符号执行。
2019-07-24 cs.CR
Spectre Attacks: Exploiting Speculative Execution
现代处理器使用分支预测和推测执行来最大化性能。例如,如果分支的目的地取决于正在读取的内存值,CPU将尝试猜测目的地并尝试提前执行。当内存值最终到达时,CPU要么放弃,要么提交推测计算。推测逻辑在执行时是不忠实的,可以访问受害者的内存和寄存器,并且可以执行具有可测量副作用的操作。Spectre攻击涉及诱导受害者推测性地执行在正确的程序执行期间不会发生的操作,并且通过侧通道将受害者的机密信息泄露给对手。本文介绍了实际的攻击,结合方法从侧信道攻击,故障攻击,并返回导向的编程,可以读取任意内存从受害者的进程。更广泛地说,该文件表明,投机性执行的实现违反了安全假设的基础上的许多软件安全机制,包括操作系统的进程分离,静态分析,容器化,即时(JIT)编译,并采取对策,高速缓存定时/侧信道攻击。这些攻击对实际系统构成了严重威胁,因为在数十亿设备中使用的英特尔、AMD和ARM的微处理器中发现了易受攻击的推测执行功能。虽然在某些情况下可以采取临时的特定于处理器的对策,但合理的解决方案将需要修复处理器设计以及更新指令集架构(ISA),以便让硬件架构师和软件开发人员对CPU实现允许(和不允许)泄漏的计算状态达成共识。
2018-01-03 cs.CR
ret2spec: Speculative Execution Using Return Stack Buffers
推测性执行是一种优化技术,十多年来一直是CPU的一部分。它预测分支指令的结果和目标,以避免停止执行管道。然而,直到最近,推测性代码执行的安全含义还没有被研究。在本文中,我们研究了一种特殊类型的分支预测器,负责预测返回地址。据我们所知,我们是第一个研究返回地址预测器及其对现代软件安全性的影响的人。在我们的工作中,我们将展示如何返回堆栈缓冲区(RSBs),返回地址预测器的核心单元,可以用来触发误推测。基于这些知识,我们提出了两种新的攻击变种,使用RSBs,使攻击者具有与文件中的Spectre攻击类似的能力。我们展示了本地攻击者如何在进程间获得任意推测性代码执行,例如,泄露其他用户在共享系统上输入的密码。我们的评估表明,最近在操作系统中部署的Spectre对策也可以覆盖这种基于RSB的跨进程攻击。然而,我们证明,攻击者可以触发错误推测在JIT环境中,以泄漏任意内存内容的浏览器进程。使用JIT编译的代码在沙箱内存区域之外读取仍然可以达到平均80%的准确率。
2018-08-20 cs.CR
Revizor: Testing Black-box CPUs against Speculation Contracts
Spectre和Meltdown等推测性漏洞会暴露推测性执行状态,可利用这些漏洞通过侧通道跨安全域泄漏信息。这些漏洞通常会在很长一段时间内未被发现,因为我们缺乏系统测试CPU的工具来发现它们。在本文中,我们提出了一种方法来自动检测商业黑盒CPU的微架构信息泄漏。我们建立在投机合同,我们聘请指定的CPU的微体系结构状态上的程序执行允许的副作用。我们提出了一个基于模型的关系测试(MRT)技术,以经验评估CPU符合这些规范。我们在一个名为Revizor的测试框架中实现MRT,并在真正的Intel x86 CPU上展示其有效性。Revizor会自动检测一组丰富的合同的违规行为,或指出它们的存在。我们发现的一个亮点是,Revizor成功地自动浮出了Spectre,MDS和LVI,以及几个以前未知的变体。
2022-02-08 cs.AR cs.CR
Detecting speculative leaks with compositional semantics
CISPA Helmholtz Center for Information Security(CISPA赫尔姆霍兹信息安全中心);University of Trento(特伦托大学);IMDEA Software Institute(IMDEA软件研究所);Azure Research, Microsoft(微软Azure研究);Saarland University(萨尔兰大学);Amazon(亚马逊)
本文提出基于组合语义的框架,用于检测推测执行引入的信息流并分析软件防御。通过引入推测非干扰(SNI)理论,结合SMT求解器开发Spectector工具,有效检测漏洞并验证程序安全性。
2026-03-31 cs.CR
Towards Reinforcement Learning for Exploration of Speculative Execution Vulnerabilities
UT Austin(德克萨斯大学奥斯汀分校);Virginia Tech(弗吉尼亚理工大学);Cornell(康奈尔大学)
本文提出了SpecRL框架,利用强化学习自动寻找后硅(黑盒)微处理器中的推测执行漏洞,以减少传统方法所需的大量人工劳动和对硬件的深度依赖。
2025-04-03 cs.AI cs.CR
SPEECHMINER: A Framework for Investigating and Measuring Speculative Execution Vulnerabilities
SPEECH漏洞导致了臭名昭著的Meltdown、Spectre和L1终端故障(L1TF)攻击。虽然许多研究报告了SPEECH漏洞的不同变体,但它们仍然没有得到很好的理解。这主要是由于缺乏关于微处理器实现细节的信息,这些细节影响各种微架构事件的时序和顺序。此外,到目前为止,还没有系统的方法来定量衡量商品加工商的SPEECH漏洞。本文介绍了SPEECHMINER,一个软件框架,探索和测量SPEECH漏洞的自动化方式。SPEECHMINER凭经验建立了一个新的两相故障处理模型和SPEECH漏洞的可利用性和推测窗口之间的联系。它可以在同一个软件框架下测试一个全面的异常触发指令列表,该框架利用隐蔽通道技术和差分测试来获得对微体系结构状态变化的可见性。我们在9种不同的处理器类型上评估了SPEECHMINER,检查了21个潜在的漏洞变体,确认了各种已知的攻击,并确定了几个新的变体。
2019-12-09 cs.CR
Speculative Buffer Overflows: Attacks and Defenses
利用推测执行的实际攻击可以通过微架构侧通道泄漏机密信息。最近演示的Spectre攻击利用推测性加载来规避访问检查以读取内存驻留的秘密,使用缓存定时或其他隐蔽通信通道将其传输给攻击者。我们介绍了Spectre1.1,这是一个新的Spectre-v1变体,它利用推测性存储来创建推测性缓冲区溢出。与经典的缓冲区溢出非常相似,推测性越界存储可以修改数据和代码指针。数据值攻击可以直接或通过重定向控制流绕过某些Spectre-v1缓解措施。控制流攻击允许任意推测性代码执行,这可以绕过栅栏指令和所有其他软件缓解以前的推测性执行攻击。构建可用于构建替代攻击有效载荷的面向返回的编程(ROP)小工具很容易。我们还介绍了Spectre1.2:在不强制执行读/写保护的CPU上,推测性存储可以覆盖只读数据和代码指针,以突破沙箱。我们强调了这些漏洞带来的新风险,讨论了可能的软件缓解措施,并概述了可以作为硬件防御的微架构机制。我们尚未评估我们提出的软件和硬件缓解措施的性能影响。我们仅详细描述了突出的漏洞特征和其他假设攻击场景,以指导硬件和软件供应商进行威胁分析和缓解。我们建议用户参考更用户友好的供应商建议,以缓解投机性缓冲区溢出或可用的补丁。
2018-07-10 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
Restricting Control Flow During Speculative Execution with Venkman
侧信道攻击(诸如Spectre)利用推测性执行来窃取应用秘密,对现代计算系统构成重大威胁。虽然程序转换可以减轻一些Spectre攻击,但更高级的攻击可以推测性地转移控制流以绕过这些保护指令,从而使现有的防御变得无用。在本文中,我们提出了Venkman:一个系统,采用程序转换,以完全挫败Spectre攻击,毒药条目的分支目标缓冲区(BTB)和返回堆栈缓冲区(RSB)。Venkman转换代码,使控制流传输的所有有效目标在虚拟地址空间中具有相同的对齐;它进一步转换所有分支,以确保添加到BTB和RSB的所有条目都正确对齐。通过这种方式转换所有代码,Venkman确保在任何需要Spectre防御的程序中,所有控制流传输(包括推测性传输)都不会跳过Venkman添加到代码段中的保护性指令,以减轻Spectre攻击。与现有的防御不同,Venkman不会减少BTB和RSB的共享,也不会刷新这些结构,允许程序之间的安全共享和重用,同时保持对Spectre攻击的强大保护。我们在IBM POWER8机器上构建了Venkman的原型。我们对SPEC基准测试和选定应用程序的评估表明,Venkman将执行时间平均增加到3.47 $\times$,并将代码大小平均增加到1.94 $\times$,以确保执行围栏来减轻Spectre攻击。我们的评估还表明,使用Venkman构建的抗Spectre软件故障隔离(SF…
2019-03-26 cs.CR
Cats vs. Spectre: An Axiomatic Approach to Modeling Speculative Execution Attacks
Spectre家族的投机执行攻击需要重新思考安全的形式化方法。基于操作推测语义的方法已经在寻找易受攻击的代码和验证防御方面取得了初步进展。然而,随着每一次新的攻击,必须集成到底层语义中的微体系结构细节的数量也会增加。我们提出了一种替代的,轻量级的和公理化的方法来指定投机语义,依赖于内存模型的并发性的见解。我们使用CAT建模语言的内存一致性,指定执行模型,捕捉投机控制流,存储到加载转发,预测存储转发,和内存排序机器清除。我们提出了一个有界的模型检验框架参数化我们的投机CAT模型和评估其实现对国家的art.Due的公理化的方法,我们的模型可以迅速扩展,使我们的框架,以检测新类型的攻击,并验证对他们的防御。
2021-12-11 cs.CR cs.PL
Timing the Transient Execution: A New Side-Channel Attack on Intel CPUs
本文发现 Intel CPU 中 EFLAGS 变化影响后续 Jcc 指令时序的漏洞,提出一种不依赖缓存的新型瞬态执行侧信道攻击,并在 Meltdown 组合攻击中达到 100% 泄露率。
2023-04-21 cs.CR
SMoTherSpectre: exploiting speculative execution through port contention
Spectre、Meltdown和相关攻击已经证明,内核、虚拟机管理程序、可信执行环境和浏览器很容易通过微架构弱点泄露信息。然而,目前尚不清楚其他应用程序,特别是那些不加载攻击者提供的代码的应用程序可能会受到多大程度的影响。目前还不清楚这些攻击在多大程度上依赖于基于缓存的侧通道。我们介绍SMoTherSpectre,一个投机性的代码重用攻击,利用端口争用同时多线程处理器(SMoTher)作为一个侧通道,从受害者进程泄漏信息。SMoTher是一个细粒度的侧通道,它基于单个牺牲指令检测争用。为了发现现实世界的小工具,我们描述了一种方法,并建立一个工具,定位SmoTher-gadgets在流行的图书馆。在对glibc的评估中,我们发现了数百个可以用来泄露信息的小工具。最后,我们展示了对OpenSSH服务器的概念验证攻击,创建用于确定四个主机密钥位的预言机,以及对使用OpenSSL库执行加密的应用程序的攻击,创建一个可以通过libcrypto和glibc中的小工具区分一点明文的预言机。
2019-09-26 cs.CR
TikTag: Breaking ARM's Memory Tagging Extension with Speculative Execution
本文提出 TikTag 推测执行攻击,可从任意地址泄露 ARM MTE 标记并绕过 Chrome 与 Linux 内核的相关防御,4秒内成功率超95%,并给出缓解机制。
2024-06-13 cs.CR
An abstract semantics of speculative execution for reasoning about security vulnerabilities
由于诸如乱序执行等现代微体系结构特征的复杂性,关于软件的正确性和安全性的推理变得越来越困难。一类名为Spectre的安全漏洞利用了投机性的副作用,乱序执行于2018年公布,此后引起了广泛关注。在本文中,我们正式的投机执行及其副作用的意图,让投机的推理抽象在程序级别,限制暴露于特定的处理器或低级别的语义。为此,我们编码和暴露的投机执行明确的程序设计语言,而不是仅仅在操作语义,因此,投机执行的影响被捕获的重新定义的含义的条件语句,并引入新的语言结构,模型瞬态执行的替代分支。我们在系统的全局状态中添加了一个抽象缓存,并推导出一些通用的细化规则,这些规则暴露了由于推测性负载而产生的缓存副作用。这个扩展的基础是一个基于指令级并行的语义模型。这些规则被编码在一个模拟工具中,我们用它来分析Spectre攻击的抽象规范和易受攻击的代码片段。
2020-03-10 cs.CR cs.LO cs.PL
SoK: Hardware Defenses Against Speculative Execution Attacks
推测执行攻击利用现代计算机处理器中的推测和乱序执行特征来访问秘密数据或执行不应该被执行的代码。秘密信息可以通过隐蔽渠道泄露。虽然可以在现有硬件上安装软件补丁以缓解问题,但这些解决方案可能会带来很大的性能开销。计算机体系结构团体正在广泛研究硬件缓解。它具有保持软件兼容性的好处,并且比软件解决方案的性能开销小得多。本文提出了一个系统化的硬件防御推测执行攻击,已提出。我们发现,投机执行攻击包括6个关键的攻击步骤。我们提出了防御策略,其中每一个都可以防止关键攻击步骤的发生,从而防止攻击成功。然后,我们总结了20个硬件防御和降低开销的功能,已经提出。我们表明,每一个防御建议可以归类为我们的防御策略之一,这也解释了为什么它可以挫败成功的攻击。我们讨论了防御的范围,它们的性能开销,以及可以进行的安全性能权衡。
2023-01-09 cs.AR cs.CR
SgxPectre Attacks: Stealing Intel Secrets from SGX Enclaves via Speculative Execution
本文介绍了SgxPectre攻击,利用最近披露的CPU漏洞来破坏SGX安全区的机密性和完整性。特别地,我们表明,当飞地代码的分支预测可以受到飞地外部的程序的影响时,飞地程序的控制流可以被临时改变以执行导致可观察到的高速缓存状态变化的指令。观察到这种变化的攻击者可以了解安全区内存或其内部寄存器中的秘密,从而完全击败SGX提供的机密性保证。为了证明我们的SgxPectre攻击的实用性,我们系统地探讨了分支目标注入的可能攻击向量,在飞地的投机执行过程中赢得竞争条件的方法,以及自动搜索发动攻击所需的代码模式的技术。我们的研究表明,任何飞地程序都可能容易受到SgxPectre攻击,因为所需的代码模式在大多数SGX运行时(例如,英特尔SGX SDK、Rust-SGX和Graphene-SGX)。最重要的是,我们已经应用了SgxPectre攻击来从英特尔签名的引用飞地中窃取密封密钥和证明密钥。密封密钥可用于解密安全区外部的密封存储并伪造有效的密封数据;证明密钥可用于伪造证明签名。由于这些原因,SgxPectre攻击实际上击败了SGX的安全保护。本文还系统地评估了英特尔现有的对抗SgxPectre攻击的措施,并讨论了安全影响。
2018-06-03 cs.CR
Transient Execution of Non-Canonical Accesses
近年来,微体系结构的安全性成为人们关注的焦点,证明了现代CPU容易受到几类微体系结构攻击。这些攻击绕过了CPU提供的基本隔离原语:进程隔离、内存权限、访问检查等。尽管如此,大多数研究都集中在In-tel CPU上,只有少数例外。因此,在其他CPU中几乎没有发现可移植能力,这导致了对它们对某些类型的微体系结构攻击的免疫力的猜测。在本文中,我们提供了一个黑箱分析这些未开发的领域之一。也就是说,我们研究了AMD CPU的缺陷,这可能会导致一个瞬时内存劫持攻击。与标称免疫力相反,我们发现AMD Zen系列CPU表现出与Meltdown/MDS相似的瞬态ex-tune模式。我们对利用可能性的分析表明,与In-tel CPU相比,AMD的设计决策确实限制了可利用范围,但可能会使用它们来放大其他微架构攻击。
2021-08-24 cs.AR cs.CR
Janus: Compiler-Based Defense Against Transient Execution Attacks Using ARM Hardware Primitives
Institute of Information Engineering, CAS(中国科学院信息工程研究所)
Janus通过整合推测执行与控制流依赖性,利用ARM的PA和BTI特性,提供对Spectre等临时执行攻击的防御,同时保持低性能开销。
2026-05-11 cs.CR
Automatic Detection of Speculative Execution Combinations
现代处理器采用不同的预测机制来推测不同种类的指令。攻击者可以同时利用这些预测机制,以触发有关投机性访问数据的泄漏。因此,对这种投机性泄漏的合理推理需要考虑到所有潜在的投机机制。不幸的是,现有的正式模型只支持推理固定的,硬编码的推测机制,没有简单的支持,以扩展所述推理到新的机制。在本文中,我们开发了一个框架,推理组成的投机语义,捕捉投机由于不同的机制,并实现它的一部分,斯佩克特验证工具。我们实现了新的语义推测存储和返回指令,并结合它们的语义推测分支。我们的框架产生推测语义,用于推测通过构造而安全的那些指令的任何组合,即,我们免费获得这些安全保障。在Spectector中实现我们的新语义,让我们验证现有的代码库容易受到Spectre v1,Spectre v4和Spectre v5漏洞的影响,以及只容易受到其组合的新片段。
2022-09-02 cs.CR cs.PL
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
SpecBox: A Label-Based Transparent Speculation Scheme Against Transient Execution Attacks
推测执行技术已经成为现代处理器提高指令级并行的基石。然而,最近的研究表明,这种技术可以被攻击者利用,通过瞬态执行攻击(如Spectre)泄漏秘密数据。针对这一问题提出了多种防御措施,但都面临着各种挑战:(1)跟踪指令流水线中的数据流可以全面解决这一问题,但可能会导致流水线停顿并带来较高的性能开销;(2)使攻击者无法感知推测执行的副作用,但通常需要额外的存储组件和复杂的数据移动操作。在本文中,我们提出了一个基于标签的透明投机计划称为SpecBox。它动态地划分缓存系统以隔离推测数据和非推测数据,这可以防止瞬态执行被后续执行观察到。此外,它使用线程所有权信号量来防止跨核访问推测性数据。此外,SpecBox还增强了缓存系统中抵御瞬时执行攻击的辅助组件,如硬件预取器。安全性分析表明SpecBox是安全的,性能评估表明SpecBox在SPEC CPU 2006和PARSEC-3.0基准测试中的性能开销很小。
2021-07-18 cs.AR cs.CR
SafeBet: Secure, Simple, and Fast Speculative Execution
针对Spectre攻击下现有推测执行安全方案性能损失大、硬件复杂的问题,提出基于访问提交历史判断安全性的SafeBet方案,采用SMACT表管控访问,以极小硬件开销实现接近无防护基线的性能。
2023-06-13 cs.AR cs.CR
MuonTrap: Preventing Cross-Domain Spectre-Like Attacks by Capturing Speculative State
2018年1月Spectre投机执行攻击的披露留下了一个严重的漏洞,系统仍在努力解决如何修补的问题。目前存在的解决方案往往覆盖不完整,性能差,或者具有导致应用程序域中断的非常不受欢迎的边缘情况。MuonTrap允许处理器继续推测,避免性能的显著降低,而不会影响安全性。相反,我们通过将推测性高速缓存访问的结果放置到一个小的、快速的L0过滤器高速缓存中,来防止基于推测性执行的任何状态的传播,该过滤器高速缓存与高速缓存层次结构的其余部分是非包容性的、非排他性的。这将隔离系统中无法在威胁域发生任何变化时快速清除的所有部分。MuonTrap使用这些推测性过滤器缓存,这些缓存在上下文和保护域切换时被清除,以及对缓存一致性协议和预取器的一系列扩展。这使得系统不受Spectre跨域信息泄漏的影响,也不受基于推测执行的许多类似攻击的影响,对性能的影响很小,对CPU设计的改变也很少。
2020-04-28 cs.AR cs.CR
New Models for Understanding and Reasoning about Speculative Execution Attacks
Spectre和Meltdown攻击及其变种利用硬件性能优化功能导致安全漏洞。秘密信息通过隐蔽或侧面渠道获得和泄露。新的攻击变种不断出现,我们没有系统的方法来捕捉这些攻击的关键特征,并评估它们成功或失败的原因。在本文中,我们提供了一个新的攻击图模型推理的投机执行攻击。我们的攻击模型为有序依赖图,并证明了两个节点之间的竞争条件可以发生,如果有一个失踪的依赖边缘之间。我们定义了一个新的概念,“安全依赖”之间的资源访问和其先前的授权操作。我们发现,一个失踪的安全依赖相当于授权和访问之间的竞争条件,这是投机执行攻击的根本原因。我们展示了我们的攻击图如何对Spectre和Meltdown攻击进行建模的详细示例,并且可以推广到迄今为止发布的所有攻击变体。该攻击模型对于识别新的攻击和概括防御策略也非常有用。我们确定了几种防御策略与不同的性能安全权衡。我们表明,到目前为止提出的防御都适合我们的防御策略之一。我们还解释了如何攻击图可以构建,并指出这是有前途的工具设计师未来的工作。
2020-12-22 cs.AR cs.CR
Lost and Found in Speculation: Hybrid Speculative Vulnerability Detection
针对处理器推测执行易受微架构攻击的问题,提出结合硬件模糊测试与信息流追踪的流片前验证方法Specure,无需黄金模型即可检测漏洞,还提出泄露路径覆盖指标,在RISC-V BOOM处理器上发现新漏洞,搜索和已知漏洞检测速度均大幅提升。
2024-10-29 cs.AR 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
SpecFuzz: Bringing Spectre-type vulnerabilities to the surface
SpecFuzz是第一个能够动态测试推测执行漏洞的工具(例如,Spectre)。关键是推测暴露的新概念:程序被仪表化以通过强制执行可能由于误预测而触发的代码路径来模拟软件中的推测执行,从而使推测性存储器访问对完整性检查器可见(例如,地址Sanitizer)。与传统的模糊技术相结合,推测暴露能够比最先进的静态分析器更精确地识别潜在的漏洞。我们用于检测Spectre V1漏洞的原型成功识别了Spectre V1的所有已知变体,并降低了评估应用程序的缓解开销,在足够的测试覆盖率下,将检测分支的数量减少了77%。
2020-03-10 cs.CR
SNIP: Speculative Execution and Non-Interference Preservation for Compiler Transformations
本文提出基于新模拟关系的证明方法,在推测语义下保持编译器变换的非干扰,发现并自动修复了寄存器分配中的未知安全缺陷,并在 libsodium 上验证。
2024-11-21 cs.CR cs.PL
Bypassing memory safety mechanisms through speculative control flow hijacks
在过去的几十年中,内存损坏漏洞的流行导致了许多防御措施,如堆栈金丝雀,控制流完整性(CFI)和内存安全语言。这些防御可以防止整个类别的漏洞,并有助于提高程序的安全状态。在本文中,我们表明,内存损坏防御可以绕过使用投机执行攻击。我们研究了Go中的堆栈保护器,CFI和边界检查的情况,演示了在何种条件下它们可以通过一种形式的投机控制流劫持绕过,依赖于控制流数据的投机或架构重写。通过将受害者的推测控制流重定向到访问秘密数据并充当侧通道发送的小工具,信息被泄露。我们还首次证明,这可以通过将多个小工具拼接在一起来实现,这是一种投机性的面向回报的编程攻击。我们讨论并实施软件缓解措施,显示出中等的性能影响。
2021-04-19 cs.CR
Random and Safe Cache Architecture to Defeat Cache Timing Attacks
本文提出随机且安全的缓存架构(RaS),通过填充安全缓存行并解除推测执行后的填充限制,以低开销抵御所有缓存时序攻击。
2024-04-22 cs.AR cs.CR
Leaking Secrets through Modern Branch Predictor in the Speculative World
利用推测的瞬时执行攻击已经在计算机系统中引起了重大关注。通常,利用分支预测器来触发瞬态执行攻击中的误推测。在这项工作中,我们展示了一类新的投机为基础的攻击目标的分支预测单元(BPU)。我们发现,条件分支的投机性解析(即,在嵌套推测中)改变现代处理器中的模式历史表(PHT)的状态,这些状态在随后压缩相应的分支之后不会恢复。这种特性使得攻击者可以利用BPU作为瞬时执行攻击的秘密传输介质。为了评估发现的漏洞,我们构建了一个新的攻击框架BranchSpectre,通过观察推测性的PHT更新(以隐蔽和侧通道的形式)来实现意外秘密的泄露。我们进一步研究了基于历史的预测器中的PHT碰撞机制以及Intel处理器中的分支预测模式转换。基于这样的知识,我们实现了超高速隐蔽通道(BranchSpectre-cc)以及两个侧通道(即,BranchSpectre-v1和BranchSpectre-v2),其仅依赖于BPU用于推测域中的误推测触发和秘密推断。值得注意的是,BranchSpectre侧通道可以利用比Spectre攻击中使用的更简单的代码模式。我们提出了一个广泛的BranchSpectre代码小工具分析一组流行的现实世界的应用程序代码库,然后在OpenSSL上演示现实世界的侧信道攻击。评估结果表明,大量的更广泛的存在和更高的利用BranchSpectre代码模式在现实世界的软件。最后,我们讨论了几…
2021-10-29 cs.AR cs.CR
Detecting speculative data flow vulnerabilities using weakest precondition reasoning
本文提出了一种基于最弱前置条件推理的方法,用于检测推测执行中的数据流漏洞Spectre-STL和Spectre-PSF,并在litmus tests上验证了其有效性。
2025-04-27 cs.CR cs.LO
Selectively Delaying Instructions to Prevent Microarchitectural Replay Attacks
MicroScope和一般的微体系结构重放攻击利用推测执行的特性,将受害者应用程序的执行困在无限循环中,使攻击者能够通过无限期地执行来放大侧信道攻击。由于重放的性质,它可以用于有效地攻击安全关键的可信执行环境(安全飞地),即使在侧信道攻击将不可能的条件下。与此同时,与投机性侧信道攻击不同,MicroScope可用于放大正确的执行路径,使许多现有的投机性侧信道防御无效。在这项工作中,我们概括了MicroScope之外的微架构重放攻击,并提出了一种有效的防御方法。我们观察到,这种攻击依赖于所谓的“重放句柄”的重复挤压,导致侧通道的指令必须驻留在相同的重排序缓冲区窗口的句柄。我们提出了延迟挤压,跟踪压扁指令,并防止他们被推测重放句柄重放技术。我们的评估表明,有可能实现完全的安全性,对微架构重放攻击非常温和的硬件要求,同时仍然保持97%的不安全的基线性能。
2021-03-19 cs.AR cs.CR
SPOILER-GUARD: Gating Latency Effects of Memory Accesses through Randomized Dependency Prediction
Indian Institute of Technology Madras(印度马德拉斯理工学院)
SPOILER-GUARD通过随机化依赖预测来门控内存访问延迟,降低推测错误率并提升性能。
2026-01-29 cs.CR
Comprehensive Kernel Safety in the Spectre Era: Mitigations and Performance Evaluation (Extended Version)
本文放宽了 Abadi 等人关于地址空间布局随机化的假设,证明其在内存分离系统中仍具安全保障,并针对 Spectre 时代的侧信道与推测执行威胁提出三种内核安全强制执行机制,在 Linux 内核上完成性能评估。
2025-04-11 cs.CR
Certified Speculative Execution for Untrusted AI Agents
School of Engineering, Institute of Science Tokyo, Japan(东京科学大学工学院);College of Control Science and Engineering, Zhejiang University, China(浙江大学控制科学与工程学院);Department of Electrical and Computer Engineering, National University of Singapore, Singapore(新加坡国立大学电气与计算机工程系)
提出证书门控前缀接受(CGPA)方法,通过可信验证器、保形校准值边界和求解器延迟机制,实现安全、遗憾和速度的解耦,将不可信AI代理的违规率降至零。
2026-07-01 cs.CR cs.LG
Specognitor: Identifying Spectre Vulnerabilities via Prediction-Aware Symbolic Execution
Spectre攻击利用推测性执行来泄露敏感信息。在过去的几年中,已经提出了一些静态侧通道检测器来检测存在推测执行的高速缓存泄漏。然而,这些技术要么忽略了分支预测机制,检测静态的预定义模式,这是不适合检测新的模式,或导致假阴性。在本文中,我们说明了预测不可知的最先进的方法的弱点。我们提出了Specognitor,一种新的预测感知符号执行引擎,健全地探索程序路径和检测微妙的幽灵变体1和变体2漏洞。我们提出了一个动态模式检测机制,以考虑现有的和未来的漏洞。我们的实验结果表明Specognitor在分析真实世界的密码程序w.r.t.不同的处理器家族。
2022-11-24 cs.AR cs.CR cs.SC
Automatic and Incremental Repair for Speculative Information Leaks
提出首个基于模型检测的框架CureSpec,通过形式化攻击者模型自动检测并修复程序在侧信道和推测执行下的信息泄露,插入缓解措施确保代码可证明安全,并提供可独立检查的安全证书。
2023-05-17 cs.CR cs.LO
A Survey of Security Concerns and Countermeasures in Modern Micro-architectures with Transient Execution
本文综述了现代CPU中利用推测执行和乱序执行共享硬件资源的瞬态微架构攻击,系统分析了攻击机制与变体分类,并梳理了当前最先进的防御对策。
2023-05-25 cs.AR cs.CR
SPECWANDS: An Efficient Priority-based Scheduler Against Speculation Contention Attacks
本文提出SPECWANDS调度方案,通过三种基于优先级的调度策略防御易失型瞬态执行攻击中的竞争隐蔽信道,在保留推测执行和资源共享性能优势的同时,显著优于现有方案。
2023-04-16 cs.AR cs.CR
Pre-cache: A Microarchitectural Solution to prevent Meltdown and Spectre
本文提出了一种基于微架构的解决方案,用于防止Meltdown和Spectre攻击,通过防止被冲刷的指令暴露数据到缓存,同时保持高性能。
2025-11-21 cs.AR cs.CR