Exploring Branch Predictors for Constructing Transient Execution Trojans

本文探讨了如何利用处理器的分支预测器构造暂态执行木马,这些木马能在不被现有安全检查检测到的情况下,隐藏在正常软件中。研究集中在Spectre v2攻击上,分析了其利用BTB(Branch Target Buffer)进行推测执行的机制。通过发现新的分支冲突触发技术,论文提出了三种类型的暂态木马,并展示了它们的隐蔽性和实用性。此外,还讨论了当前防御策略的局限性,并提出了改进方法以提高木马的激活率。
摘要由CSDN通过智能技术生成

Exploring Branch Predictors for Constructing Transient Execution Trojans(木马)

1. 摘要:
  • 针对于幽灵攻击,工业界迅速采取了一系列软件和硬件上的缓解措施,其中微码补丁最为流行和受信任(microcode patch)
  • 问题:现有的防护策略仍旧存在被攻击的漏洞
  • 论文工作:
    • 提出了暂态木马(transient trojans),即一种软件模块会在暂态执行模式中隐藏自身的恶意活动。这些木马看起来完全正常,能够通过静态/动态的分析检查,但是在被触发后能够获取隐私数据
    • 论文根据推荐的缓解技术对当今系统中存在的攻击面进行了详细的分析,以构建这些暂态木马
    • 论文对一些最新的x86-64处理器中的转移预测器进行了逆向工程,以发现以前未知的可能的攻击方法。根据这些发现,论文构造了三种类型的暂态木马,并证明了他们的隐身性和使用性
2. 介绍:
  • 暂态执行攻击,包括meltdown和spectre,能够利用处理器中的一些性能优化策略,例如转移预测,迫使受害者程序通过在一些微体系结构中留下可被检测的踪迹来泄露隐私数据。这些攻击能够违反内存安全的最基本原则,包括用户-内核隔离。

  • 已有的抵御暂态执行攻击的策略:

    • 串行化指令
    • 避免危险代码序列
    • 刷新硬件数据结构
    • 限制推测执行(safespec,invisiSpec)
    • 禁止微体系结构的隐蔽信道
    • 硬件制造商Intel&AMD使用一系列的微码更新来应对攻击,但是会产生明显的性能下降
  • 论文工作:提出暂态木马,能够隐藏在暂态执行模式下的恶意功能的软件模块

    • 对处理器中的转移预测器进行逆向工程,发现了一些新的分支冲突触发技术(branch collision triggering technologies)(间接转移预测)。这些技术是的轻便(portable,可移指)的,独立的木马能够包含在敏感的软件中,例如恶意的开源代码中
    • 构建软件模块,将所有攻击组件封装在一个进程中
  • 暂态木马中的在暂态执行模式下的恶意功能并不会在软件代码中引起注意,并且能够通过严格的安全检查,例如:

    • 符号执行

    • 污点分析,taint analysis( Dytan: a generic dynamic taint analysis framework )

    • 模型检查

    • 传统的检查软件后门的策略:

      • Backdoor detection system using artificial neural network and genetic algorithm
      • Towards reducing the attack surface of software backdoors.
      • Firmalice-Automatic Detection of Authentication Bypass Vulnerabilities in Binary Firmware
      • HumIDIFy: a tool for hidden functionality detection in frmware.
      • Static detection of application backdoors
    • 已有的幽灵检测工具:

      • oo7: Low-overhead Defense against Spectre attacks via Program Analysis
      • SPECTECTOR: Principled Detection of Speculative Information Flows.
      • Detecting Spectre vulnerability exploits with static analysis
      • LWN.net: Finding Spectre vulnerabilities with smatch
  • 论文认为,当今几乎所有CPU中普遍存在的暂态执行很自然的适合隐藏恶意代码,因为它提供的执行模式对于现有的二进制和源码分析技术来说是完全不可见的

  • 论文贡献:

    • 论文对BPU进行了逆向工程研究,发现了负责间接转移预测的机制和操纵方式。基于这些发现,论文依赖于不同的BPU异常,构造了三种类型的木马
    • 论文提出了一种基于前期BPU访问的新的分支指令冲突机制。该机制允许攻击者构建木马,并且可以避免被检测到。其次该机制允许创建小型,便携的木马
    • 论文提出
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值