SpeechMiner: A Framework for Investigating and Measuring Speculative Execution Vulnerabilities
Yuan Xiao, Yinqian Zhang, Radu Teodorescu
The Ohio State University
SpeechMiner: A Framework for Investigating and Measuring - - PowerPoint PPT Presentation
SpeechMiner: A Framework for Investigating and Measuring Speculative Execution Vulnerabilities Yuan Xiao, Yinqian Zhang, Radu Teodorescu The Ohio State University SPEculative Execution side Channel Hardware (SPEECH) Vulnerabilities Leverage
Yuan Xiao, Yinqian Zhang, Radu Teodorescu
The Ohio State University
2
3
4
5
Instruction (uops) Instruction (uops) Instruction (uops)
…
uops uops uops
…
(out-of-order)
Input: Instruction Sequence Settings: Execution Environment Execution Results: Covert Channel
vulnerabilities on specific hardware
vulnerabilities better
7
8
Enlarge the speculation window Eliminate side-effects of instruction issuing
One or two instructions that will raise an exception when executed Generated from Intel manual’s list of causes of exceptions
Speculatively executed, utilizing covert-channel techniques to measure the speculation windows or the latency of data fetching, etc.
An example * All assembly code follows AT&T syntax.
Exploitability of certain variants are implementation-specific. All tests are done with secret in L1D and TLB entry present.
9
10
TLB entry ready Exception Captured By CPU (P1) Retirement (P2)
11
12
TLB is ready (given the same execution environment).
TLB entry ready P1 P2 Data Available
13
it is available
TLB entry ready P1 P2 Data Available Q: Why does the
Meltdown often capture 0s?
14
15
TLB entry ready P1 P2 Data Available Covert Channel Transmission
16
17
= T(SPEC1) – T’(SPEC2) – T(DELAY)
= T(DATA_FETCHING) – T(P1) = T(SPEC2) – T’(SPEC2)
// Suppressing Primitive [MOV (%RAX), %RAX] // legal [MOV (%RAX), %RAX] // legal … MOVQ (%RAX), %RAX // illegal // Speculation Primitive MOVQ (%RCX), %RCX // measured // Disclosure Gadget [ADD $1, %RCX] [SUB $1, %RCX] … MOVQ (%RBX, %RCX, 1), %RCX Correct data fetched T( T(DATA TA_FETCHI TCHING) 18
19
20
21
memory.
to access the illegal data. (b) Go to step 3.
access latency.
count distribution of reload latency. x-axis: access latency; y-axis: frequency of latency
22
x-axis: access latency; y-axis: frequency of latency * Meltdown-P is the speculative primitive of L1TF.
Speculation Primitive is able to “PREFETCH” L2/L3 data into faster cache to facilitate future attacks.
data into faster cache, probably due to “terminal fault”.
they actually refer to the newly disclosed RIDL-like attacks which leverages LFB whose latency is lower than L1D.
23
Yuan Xiao, Yinqian Zhang, Radu Teodorescu
The Ohio State University