首页> 外文会议>IEEE Symposium on Security and Privacy >Spectre Attacks: Exploiting Speculative Execution
【24h】

Spectre Attacks: Exploiting Speculative Execution

机译:幽灵攻击:利用投机执行

获取原文

摘要

Modern processors use branch prediction and speculative execution to maximize performance. For example, if the destination of a branch depends on a memory value that is in the process of being read, CPUs will try to guess the destination and attempt to execute ahead. When the memory value finally arrives, the CPU either discards or commits the speculative computation. Speculative logic is unfaithful in how it executes, can access the victim's memory and registers, and can perform operations with measurable side effects. Spectre attacks involve inducing a victim to speculatively perform operations that would not occur during correct program execution and which leak the victim's confidential information via a side channel to the adversary. This paper describes practical attacks that combine methodology from side channel attacks, fault attacks, and return-oriented programming that can read arbitrary memory from the victim's process. More broadly, the paper shows that speculative execution implementations violate the security assumptions underpinning numerous software security mechanisms, including operating system process separation, containerization, just-in-time (JIT) compilation, and countermeasures to cache timing and side-channel attacks. These attacks represent a serious threat to actual systems since vulnerable speculative execution capabilities are found in microprocessors from Intel, AMD, and ARM that are used in billions of devices. While makeshift processor-specific countermeasures are possible in some cases, sound solutions will require fixes to processor designs as well as updates to instruction set architectures (ISAs) to give hardware architects and software developers a common understanding as to what computation state CPU implementations are (and are not) permitted to leak.
机译:现代处理器使用分支预测和投机执行来最大限度地提高性能。例如,如果分支的目的地取决于正在读取的过程中的存储器值,则CPU将尝试猜测目的地并尝试执行前方。当存储器值最终到达时,CPU要么丢弃或提交推测性计算。投机性逻辑在其执行方式方面是不忠的,可以访问受害者的内存和寄存器,并可以使用可测量的副作用执行操作。幽灵攻击涉及诱导受害者,以推测在正确的程序执行期间不会发生的操作,并通过侧频向对手泄漏受害者的机密信息。本文介绍了从侧信机攻击,故障攻击和返回面向返回的编程中组合方法的实际攻击,这些方法可以从受害者的过程中读取任意内存。更广泛地,本文显示了推测执行实现违反了支持许多软件安全机制的安全假设,包括操作系统进程分离,容器化,即时(JIT)编译和缓存定时和侧通道攻击的对策。这些攻击代表了对实际系统的严重威胁,因为易受攻击的投机执行能力在来自英特尔,AMD和数十亿设备中使用的手臂中的微处理器中找到。虽然在某些情况下,临时处理器特定的对策可能需要修复处理器设计以及指令集架构(ISAS)的更新,以提供硬件架构师和软件开发人员对哪些计算状态CPU实现的常见了解(并且没有)允许泄漏。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号