Speculator:A Tool to Analyze Speculative Execution Attacks and Mitigations

Speculator是一款创新工具,用于评估推测执行攻击和缓解措施。通过性能计数器,该工具揭示代码片段在推测执行中的微体系结构行为,支持在Intel和AMD CPU上分析并发攻击。文章介绍了推测执行的步骤、攻击范围,以及Speculator如何通过性能计数器监测微体系结构变化,验证防御策略有效性。此外,Speculator可用于跨平台和跨供应商一致性测试,并提供代码生成和操作工具,帮助研究人员深入理解推测执行行为。
摘要由CSDN通过智能技术生成

Speculator: A Tool to Analyze Speculative Execution Attacks and Mitigations

  1. 摘要:

    • 现状:新的推测执行攻击基本上每个月都会出现新的,同时仍旧存在很多未被发现的微体系结构攻击
    • Speculator:一个新的工具,用于审查新的微体系结构攻击和相应的缓解方法(GDB of speculative execution)
    • 通过利用一些可被观察到的性能计数器,speculator可以了解代码片段或者复杂攻击常见在推测执行过程中的微体系结构行为
  2. 介绍:

    • 目前推测式攻击和防御的需求:
      • 为了开发新的攻击,通常会需要分析调试一些PoC代码的片段,此时就需要一个类似于推测执行攻击的工具,能够直接检查微体系结构状态的变化,从而判断攻击是否成功
      • 当测试防御策略的有效性时,目前的选择是执行攻击的PoC代码或者选择相信一些提供的CPU flags或者内核配置。此时也需要一个更细粒度的工具能够检查微体系结构状态的变化,从而判断防御策略的有效性
    • 推测执行攻击的步骤
      • 准备侧信道:执行一些操作用于增加攻击成功的机会。例如对于prime-and-probe的攻击,需要实现刷新cache。
      • 准备侧信道攻击:执行一些代码,引导受害者进行推测执行
      • 开始推测执行:CPU执行一条指令,并且该指令的输出将会决定下一条指令的执行,例如条件分支。
      • 推测执行,通过侧信道发送数据:推测执行某些指令,修改微体系结构状态(侧信道)
      • 通过侧信道接收数据:CPU执行某些指令,将微体系结构状态的变化转换为数据。
    • 推测执行攻击可以跨域的特权边界:
      • kernel vs. user-mode code
      • hardware enclave(SGX) vs. user-mode or kernel-mode code
      • sandboxed code in the same process, (JavaScript JIT code)
      • processes-to-process boundary
      • remote node to local node boundary
    • Speculator:通过性能计数器记录或者推断微体系结构行为,支持增量分析(在代码片段(code snippet)上的微体系结构状态的演化),在Intel和AMD cpu上运行,支持并发执行(在SMT环境中两个线程的交互)
    • 文章工作:
      • 提出了一种基于性能计数器的方法和工具,speculator,用于分析攻击和缓解策略
      • 利用speculator验证了RAS的大小,嵌套的推测执行的有效性,推测执行不会跨越系统调用,clflush在推测执行过
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值