Spectre attacks exploiting speculative execution pdf

Is there more technical information about meltdown and spectre. Exploiting speculative execution meltdown spectre via javascript the critical vulnerabilities found in intel and other cpus represent a significant security risk. Controlflow attacks enable arbitrary speculative code execution, which can bypass fence instructions and all other software mitigations for previous speculative execution attacks. Speculative execution spectre and meltdown is a chip attempting to predict the future in order to improve the system performance which involves multiple logical branches, it will start working. These attacks are able to exploit the shared state of the processor between a victim processthread and a malicious. Controlflow attacks enable arbitrary speculative code execution, which can bypass fence instructions and all other software mitigations for previous speculativeexecution attacks. This work tackles a highly evasive class of microarchitectural attacks called spectre 57 that leaks information by exploiting side effects of speculative execution through cachebased side channels. Introduction to microarchitecture as implementation of architecture in order vs.

These vulnerabilities are a perfect example of attacks that are essentially invisible to the operating system as they dont involve any operating system call, but can be detected when monitoring patterns and. Dec 02, 2019 speculator is also able to study attacks where an attacker process leaks through speculative execution secret information from a victim. Access ifstatement multiple times correctly predict ifto fallthrough 2. Outoforder execution in microarchitectures caches, virtual memory, and side channel analysis branch prediction and speculative execution. When the memory value finally arrives, the cpu either discards or commits the speculative computation. Exploiting speculative execution paul kocher1, jann horn2, anders fogh3, daniel genkin4, daniel gruss5, werner haas6, mike hamburg7, moritz lipp5, stefan mangard5, thomas prescher6, michael schwarz5, yuval yarom8 1 independent. Apr 17, 2018 the recentlydisclosed spectre vulnerability broadly affects modern highspeed microprocessors.

A community for technical news and discussion of information security and closely related topics. Paul kocher, who codiscovered and named the attack, will explore how spectre works, its short and longterm security implications, the tradeoffs and limitations of available mitigation options, and lessons learned from its discovery and embargo process. Classifying, replicating and mitigating spectre attacks on a speculating riscv microarchitecture gonzalez, abraham 1st year graduate student. Understand spectres impact on realworld systems and technology roadmaps. Speculative execution an overview sciencedirect topics. Heres what intel, apple, microsoft, others are doing about it. Transient execution cpu vulnerabilities are vulnerabilities in a computer system in which a speculative execution optimization implemented in a microprocessor is exploited to leak secret data to an unauthorized party. Paul kocher1, daniel genkin2, daniel gruss3, werner haas4, mike hamburg5, moritz lipp3, stefan mangard3, thomas prescher4, michael schwarz3, yuval yarom6 1 independent 2 university of pennsylvania and university of maryland 3 graz university of technology 4 cyberus technology. It is likely that software exploiting either meltdown or spectre will gather secrets as an intermediate step of a longer attack chain e. The recent spectre attacks exploit speculative execution.

One example has the attacker speculatively executing data tap code that illegally accesses the secret and. Spectre attacks involve inducing a victim to speculatively perform operations that would not occur during correct program execution and which leak the victims confidential information via a side. This exploit, coupled with a sidechannel attack, can lead to the exposure and theft of critical secret information from a victim system. Exploiting speculativ e execution paul kocher 1, jann horn 2, anders fogh 3, daniel genkin 4, daniel gruss 5, w erner haas 6, mike hamburg 7, moritz lipp 5. Google data61 independent graz university of technology rambus cyberus technology g data advanced analytics. Exploiting speculative execution meltdownspectre via javascript the critical vulnerabilities found in intel and other cpus represent a significant security risk. For example, if a processor prevents speculative execution of instructions in user processes from accessing kernel memory, the attack will still work. As it is not easy to fix, it will haunt us for quite some time. If an operation such as a branch cannot yet be performed because some earlier slow operation such as a memory read has not yet completed, a microprocessor may attempt to predict the result of the earlier operation and execute the later operation speculatively. Yes, there is an academic paper and a blog post about meltdown, and an academic paper about spectre. Paul kocher1, daniel genkin2, daniel gruss3, werner haas4, mike hamburg5, moritz lipp3, stefan mangard3, thomas prescher4, michael schwarz3, yuval yarom6 1 independent 2 university of pennsylvania and university of maryland 3 graz university of technology 4 cyberus technology 5 rambus, cryptography research division. Daniel gruss and jon masters talk about softwarebased microarchitectural attacks. On most processors, the speculative execution resulting from a branch misprediction may leave observable side effects that may reveal private data to attackers. Detection of the meltdown and spectre vulnerabilities check.

They also examine how it might be possible to detect spectre attacks by recording speculative branch execution leaks. 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. As discussion of the spectre and meltdown flaws continues to dominate the tech news cycle, there has been repeated reference to a specific feature of highend cpus. Exploiting speculative execution paul kocher1, jann horn2, anders fogh3, daniel genkin4, daniel gruss5, werner haas6, mike hamburg7, mortiz lipp5. Spectre attacks exploiting speculative execution rsa conference. The attacks rely on the ability to misguide speculative execution, generally by exploiting the branch prediction structures, to execute a vulnerable code sequence speculatively. In this paper, we show a new class of microarchitectural attacks which we call spectre attacks. Information security services, news, files, tools, exploits, advisories and whitepapers. Spectre attacks only assume that speculatively executed instructions can read from memory that the victim process could access normally, without triggering a page fault or exception. Exploiting speculative execution in this paper, we show a new class of microarchitectural attacks which we call spectre attacks.

The name is based on the root cause, speculative execution. Replicating and mitigating spectre attacks on an open. Invisispec reduces the execution slowdown to only 21%. Today its the turn of spectre of course, which shares some of the same foundations but is a different attack, not mitigated by kaiser. In this paper, we introduce a new spectreclass attack that we call spectrersb.

Second, speculative code that makes any change to microarchitectural statee. Exploiting speculative execution posted jan 4, 2018 authored by yuval yarom, michael schwarz, mike hamburg, moritz lipp, paul kocher, werner haas, thomas prescher, stefan mangard, daniel gruss, daniel genkin. The classic example is spectre that gave its name to this kind of sidechannel attack, but since january 2018 many different vulnerabilities have been identified. At a high level, spectre attacks trick the processor into speculatively executing instructions sequences that should not have executed during correct program execution. When the memory value finally arrives, the cpu either discards or commits the speculative. Using fences to defend against futuristic attacks slows down execution by 208%. Modern processors use branch prediction and speculative execution to maximize performance.

Apr 12, 2020 daniel gruss and jon masters talk about softwarebased microarchitectural attacks. Spectres name comes from speculative execution but also derives from the fact that it will be much trickier to stop while patches are starting to become available, other attacks in the same. This tool has allowed us to verify and study different microarchitectural behaviors like nested speculative execution, various speculation window sizes and more. Meltdown is distinct from spectre attacks in two main ways. The recent spectre attacks exploit speculative execution, a pervasively used feature of modern microprocessors, to allow the ex. For example, if the destination of a branch depends on a memory value that is in the process of being read, cpus will try guess the destination and attempt to execute ahead. This attack allows a program to access the memory, and thus also the secrets, of other programs and. This exploit, coupled with a sidechannel attack, can lead to the exposure and theft of critical secret. Meltdown and spectre exploit critical vulnerabilities in modern processors. Daniel genkin electrical engineering and computer science. By exploiting the speculative execution of modern processors, spectre attack can trick the system into executing instructions that are not supposed to be executed given the current system state 22. Spectre is a vulnerability that affects modern microprocessors that perform branch prediction.

Spectre attacks slows down execution by 74% relative to a conventional, insecure processor. Speculative execution is an optimization technique where a computer system performs some task that may not be needed. For example, if the pattern of memory accesses performed by such speculative execution. Spectre attacks involve inducing a victim to speculatively perform operations that would not occur during correct program execution and which leak the victims. Finally, we write an attacker program that exploits the cpus speculative execution feature. A defense against cache timing attacks in speculative. Exploiting speculative execution meltdownspectre via. In this variant of spectre attacks, the attacker mistrains the cpus branch predictor into mispredicting the direction of a branch, causing the cpu to temporarily violate program semantics by executing code that would not have been executed. Work is done before it is known whether it is actually needed, so as to prevent a delay that would have to be incurred by doing the work after it is known that it is needed. Paul kocher, who codiscovered and named the attack, will explore how spectre works, its short and longterm security implications.

Spectres name comes from speculative execution but also derives from the fact that it will be much trickier to stop while patches are starting to become available, other attacks in. Instead, it relies on the observation that when an instruction causes a trap, following instructions that were executed outoforder are aborted. A related problem is the spectre vulnerability, which is roughly that speculation interacts in nasty ways with software. Hiding malware in speculative execution victim process 1 attacker trains branch predictor. Spectre attacks involve inducing a victim to speculatively perform operations that would not occur during correct program execution and which leak the victims confidential information via a side channel to the adversary. Spectre attacks exploiting speculative execution rsa. Paul kocher 1, daniel genkin 2, daniel gruss 3, werner haas 4, mike hamburg 5, moritz lipp 3, stefan mangard 3, thomas prescher 4, michael schwarz 3, yuval yarom 6. Meltdown is distinct from the spectre attacks 40 in several ways, notably that. Closure under reversal of languages over infinite alphabets in international computer science symposium in russia csr 2018 daniel genkin, yuval ishai, mor weiss, how to construct a leakageresilient stateless trusted party, in theory of cryptography conference tcc 2017. Meltdown, spectre, and other attacks overview todays lecture will cover the following. Modern computers are highly parallel devices, composed of components with very different performance characteristics. By exploiting misspeculated execution, an attacker can exercise code paths that are normally not reachable, circumventing software invariants. As we show, this incorrect speculative execution allows an attacker to.

It is easy to construct returnorientedprogramming rop gadgets. Exploiting speculative execution maverick johnathan academia. Exploiting speculative execution paul kocher 1, daniel genkin 2, daniel gruss 3, werner haas 4, mike hamburg 5, moritz lipp 3, stefan mangard 3, thomas prescher 4, michael schwarz 3, yuval yarom 6 1 independent 2 university of pennsylvania and university of maryland 3 graz university of technology. Paul kocher, jann horn, anders fogh, daniel genkin, daniel gruss, werner haas, mike haburg, moritz lipp, stefan mangard, thomas prescher, michael schwartz and yuval yarom. Because the flaw is so low level, the usual protections that web developers are used to dont apply. Additionally, it is evident that spectre and meltdown also exhibit anomalies in the flow of speculative and outoforder execution. Speculator is also able to study attacks where an attacker process leaks through speculative execution secret information from a victim.

Swarup bhunia, mark tehranipoor, in hardware security, 2019. Abstractspectre attacks and their many subsequent variants are a new vulnerability class affecting modern cpus. First, unlike spectre, meltdown does not use branch prediction for achieving speculative execution. Outoforder execution in microarchitectures caches, virtual memory, and side channel analysis. Replicating and mitigating spectre attacks on an open source riscv microarchitecture. In particular, rather than exploiting the branch predictor unit, spectrersb. The recent spectre attacks exploit speculative execution, a pervasively used feature of modern microprocessors, to allow the exfiltration of sensitive data across protection boundaries. Meltdown 27 is a related microarchitectural attack which exploits outoforder execution in order to leak the targets physical memory.

For example, if the destination of a branch depends on a memory value that is in the process of being read, cpus will try guess the destination and attempt to. The recentlydisclosed spectre vulnerability broadly affects modern highspeed microprocessors. Paul kocher1, jann horn2, anders fogh3, daniel genkin4, daniel gruss5. Detection of the meltdown and spectre vulnerabilities. These attacks not only exploit unintended side effects due to speculation, but have the ability to deliberately. Jan 03, 2018 modern processors use branch prediction and speculative execution to maximize performance.