Blacksmith: Scalable Rowhammering �in the Frequency Domain
Patrick Jattke1 Victor van der Veen2 Pietro Frigo3 Stijn Gunter1 Kaveh Razavi1
1ETH Zurich 2Qualcomm Inc. 3VU Amsterdam
43rd IEEE Symposium on Security & Privacy
May 23-26, 2022, San Francisco, CA
1
Summary
Samsung
Micron
Frequent Item Count Estimation
0
1
0
1
0
1
1
1
BLACKSMITH
100%
100%
2
Background
a DRAM bank
Row buffer
a DRAM chip
3
Background
a bit flipped!
1
1
1
0
a DRAM bank
Row buffer
a DRAM chip
1
0
1
0
1
0
1
0
repeat�hammering
leaking charge
aggressor 1
aggressor 2
victim
4
Rowhammer Attacks Are Practical
Network
ECC memory
Smartphone
Browser
Scenarios
DRAM Types
ECC
5
Methodology
Attack window
64 ms
synchronous
…
7.8 µs
7.8 µs
periodic REFRESH command
6
Methodology
8192 intervals x 166 ACTs
= 1.3 M ACTs in total
Attack window
refresh window (64 ms)
≜ 8192 refresh intervals
refresh interval (7.8 µs)
≈166 activations
REF
REF
REF
REF
REF
REF
REF
REF
REF
REF
7
Methodology
Example: Executing a 6-sided pattern
Aggressor
REF
REF
REF
REF
REF
REF
REF
REF
REF
REF
8
Methodology
Example: Executing a 6-sided pattern
Aggressor
REF
REF
REF
REF
REF
REF
REF
REF
REF
REF
9
Methodology
Example: Executing a 6-sided pattern
REF
REF
REF
REF
REF
REF
REF
REF
REF
REF
Aggressor
10
Methodology
Example: Executing a 6-sided pattern
REF
REF
REF
REF
REF
REF
REF
REF
REF
REF
Aggressor
Round
1
11
Methodology
Example: Executing a 6-sided pattern
REF
REF
REF
REF
REF
REF
REF
REF
REF
REF
Aggressor
Round
1
2
3
4
5
6
7
8
N-7
N-6
N-5
N-4
N-3
N-2
N-1
N
12
Methodology
Example: Executing a 6-sided pattern
REF
REF
REF
REF
REF
REF
REF
REF
REF
REF
Aggressor
Round
1
2
3
4
5
6
7
8
N-7
N-6
N-5
N-4
N-3
N-2
N-1
N
13
Methodology
Sampler
stream of DRAM ACT cmds
add(rD)
Model of a mitigation
ACT(rA)
ACT(rD)
ACT(rD)
ACT(rC)
Normal operation
row |
rD |
... |
...
14
Methodology
Inhibitor
rD
Model of a mitigation
Sampler
add(rD)
stream of DRAM ACT cmds
At REFRESH time
TRR(rD)
ACT(rA)
ACT(rD)
ACT(rD)
ACT(rC)
Normal operation
row |
rD |
... |
...
15
Methodology
Model of a mitigation
Sampler
add(rd)
Inhibitor
rD
stream of DRAM ACT cmds
mm2
ACT(rA)
ACT(rD)
ACT(rD)
ACT(rC)
Normal operation
row |
rd |
... |
...
At REFRESH time
TRR(rD)
16
Methodology
DRAM is becoming more vulnerable
Manufacturing Year
Minimum�Rowhammer
Threshold
DDR4
DDR3
2012
2015
2018
2021
0
50k
100k
150k
17
Methodology
DRAM is becoming more vulnerable
Manufacturing Year
Minimum�Rowhammer
Threshold
DDR4
DDR3
2012
2015
2018
2021
0
50k
100k
150k
DRAM is becoming more vulnerable (lower Rth):�⇒ enables new attack patterns with less activations per aggressor
18
Methodology
Existing Rowhammer patterns
x+2
x+1
x
x-1
x-2
x-3
x-4
x-5
x-6
x-7
x+2
x+1
x
x-1
x-2
x-3
x-4
x-5
x-6
x-7
Aggressor
Direct victim
Indirect victim
Single-sided
Double-sided
4-sided
x+2
x+1
x
x-1
x-2
x-3
x-4
x-5
x-6
x-7
19
Methodology
Existing Rowhammer patterns
x+2
x+1
x
x-1
x-2
x-3
x-4
x-5
x-6
x-7
x+2
x+1
x
x-1
x-2
x-3
x-4
x-5
x-6
x-7
x+2
x+1
x
x-1
x-2
x-3
x-4
x-5
x-6
x-7
Single-sided
Double-sided
4-sided
Access Frequency
Aggressor
Direct victim
Indirect victim
Single-sided
Double-sided
4-sided
20
Methodology
Existing Rowhammer patterns
x+2
x+1
x
x-1
x-2
x-3
x-4
x-5
x-6
x-7
x+2
x+1
x
x-1
x-2
x-3
x-4
x-5
x-6
x-7
x+2
x+1
x
x-1
x-2
x-3
x-4
x-5
x-6
x-7
Single-sided
Double-sided
4-sided
Access Frequency
Aggressor
Direct victim
Indirect victim
Single-sided
Double-sided
4-sided
💡Insight: All existing Rowhammer access patterns �hammer aggressors exclusively uniformly.
21
Methodology
Existing Rowhammer patterns
x+2
x+1
x
x-1
x-2
x-3
x-4
x-5
x-6
x-7
x+2
x+1
x
x-1
x-2
x-3
x-4
x-5
x-6
x-7
x+2
x+1
x
x-1
x-2
x-3
x-4
x-5
x-6
x-7
Single-sided
Double-sided
4-sided
Access Frequency
Aggressor
Direct victim
Indirect victim
Single-sided
Double-sided
4-sided
💡Insight: All existing Rowhammer access patterns �hammer aggressors exclusively uniformly.
Can non-uniformity help to bypass Rowhammer mitigations?
22
Methodology
Exp. 1: n-sided patterns with non-uniformity
Introducing non-uniform aggressor accesses
r1
r3
r5
r7
r9
r11
r13
r1
r3
r5
r7
r9
r11
r1
r3
r5
r7
r9
r11
r1
r3
r5
r7
r9
r11
r15
r13
r15
Round 1
Round 2
Round 3
Round 4
…
random rounds
23
Methodology
Exp. 1: n-sided patterns with non-uniformity
Exp. 2: randomized patterns
Introducing non-uniform aggressor accesses
r1
r3
r5
r7
r9
r11
r13
r1
r3
r5
r7
r9
r11
r1
r3
r5
r7
r9
r11
r1
r3
r5
r7
r9
r11
r15
r13
r15
Round 1
Round 2
Round 3
Round 4
…
random rounds
Round 1
Round 2
Round 3
Round 4
…
random same-bank rows
random round
random pattern location
r1
r3
r1
r3
...
24
Methodology
20 x
10 x
6 x
4 x
Our DRAM Test Devices
Micron
Hynix
Samsung
Unknown�(Kingston)
A
B
C
D
Dec. ‘16
to Jun. ‘20
2132-2666 MHz
4–32
GiB
1-2
DRAM ranks
25
Methodology
Non-Uniformity Results
Module* | n-sided | non-�uniform |
A1 | ✔︎ | ✔︎ |
A2 | ✔︎ | ✔︎ |
A3 | ✔︎ | ✔︎ |
A4 | ✔︎ | ✔︎ |
A6 | ✗ | ✔︎ |
A7 | ✗ | ✔︎ |
A9 | ✔︎ | ✔︎ |
A10 | ✔︎ | ✔︎ |
A11 | ✔︎ | ✔︎ |
A14 | ✗ | ✔︎ |
A16 | ✔︎ | ✔︎ |
A17 | ✔︎ | ✔︎ |
A18 | ✔︎ | ✗ |
B1 | ✔︎ | ✗ |
B2 | ✔︎ | ✗ |
B9 | ✗ | ✔︎ |
C0 | ✔︎ | ✔︎ |
D0 | ✔︎ | ✔︎ |
D1 | ✗ | ✔︎ |
D3 | ✗ | ✔︎ |
| 35% | 42.5% |
*Modules without any bit flips omitted
26
Methodology
Non-Uniformity Results
Module* | n-sided | non-�uniform |
A1 | ✔︎ | ✔︎ |
A2 | ✔︎ | ✔︎ |
A3 | ✔︎ | ✔︎ |
A4 | ✔︎ | ✔︎ |
A6 | ✗ | ✔︎ |
A7 | ✗ | ✔︎ |
A9 | ✔︎ | ✔︎ |
A10 | ✔︎ | ✔︎ |
A11 | ✔︎ | ✔︎ |
A14 | ✗ | ✔︎ |
A16 | ✔︎ | ✔︎ |
A17 | ✔︎ | ✔︎ |
A18 | ✔︎ | ✗ |
B1 | ✔︎ | ✗ |
B2 | ✔︎ | ✗ |
B9 | ✗ | ✔︎ |
C0 | ✔︎ | ✔︎ |
D0 | ✔︎ | ✔︎ |
D1 | ✗ | ✔︎ |
D3 | ✗ | ✔︎ |
| 35% | 42.5% |
*Modules without any bit flips omitted
Modules where NON-UNIFORMITY is �needed to trigger bit flips
27
Methodology
Non-Uniformity Results
Module* | n-sided | non-�uniform |
A1 | ✔︎ | ✔︎ |
A2 | ✔︎ | ✔︎ |
A3 | ✔︎ | ✔︎ |
A4 | ✔︎ | ✔︎ |
A6 | ✗ | ✔︎ |
A7 | ✗ | ✔︎ |
A9 | ✔︎ | ✔︎ |
A10 | ✔︎ | ✔︎ |
A11 | ✔︎ | ✔︎ |
A14 | ✗ | ✔︎ |
A16 | ✔︎ | ✔︎ |
A17 | ✔︎ | ✔︎ |
A18 | ✔︎ | ✗ |
B1 | ✔︎ | ✗ |
B2 | ✔︎ | ✗ |
B9 | ✗ | ✔︎ |
C0 | ✔︎ | ✔︎ |
D0 | ✔︎ | ✔︎ |
D1 | ✗ | ✔︎ |
D3 | ✗ | ✔︎ |
| 35% | 42.5% |
*Modules without any bit flips omitted
Modules where NON-UNIFORMITY is �needed to trigger bit flips
O1. Non-uniform aggressor accesses can lead to effective patterns on DIMMs where previous n-sided patterns could not trigger any bit flips.
28
Methodology
Non-Uniformity Results
Module* | n-sided | non-�uniform |
A1 | ✔︎ | ✔︎ |
A2 | ✔︎ | ✔︎ |
A3 | ✔︎ | ✔︎ |
A4 | ✔︎ | ✔︎ |
A6 | ✗ | ✔︎ |
A7 | ✗ | ✔︎ |
A9 | ✔︎ | ✔︎ |
A10 | ✔︎ | ✔︎ |
A11 | ✔︎ | ✔︎ |
A14 | ✗ | ✔︎ |
A16 | ✔︎ | ✔︎ |
A17 | ✔︎ | ✔︎ |
A18 | ✔︎ | ✗ |
B1 | ✔︎ | ✗ |
B2 | ✔︎ | ✗ |
B9 | ✗ | ✔︎ |
C0 | ✔︎ | ✔︎ |
D0 | ✔︎ | ✔︎ |
D1 | ✗ | ✔︎ |
D3 | ✗ | ✔︎ |
| 35% | 42.5% |
*Modules without any bit flips omitted
Modules where UNIFORMITY is �needed to trigger bit flips
29
Methodology | DIMM A10
When should we hammer an aggressor?
REF
...
O2. Accessing aggressors at the “right” time in a pattern enables�to bypass the mitigation (sampler).
REF
⇒ no bit flips
r1
r3
r1
r3
⇒ no bit flips
⇒ no bit flips
⇒ no bit flips
⇒ no bit flips
⇒ bit flips!
⇒ no bit flips
...
r1
r3
r1
r3
...
r1
r3
r1
r3
...
r1
r3
r1
r3
...
r1
r3
r1
r3
...
r1
r3
r1
r3
...
r1
r3
r1
r3
access distinct random row
30
Methodology | DIMM A10
When should we hammer an aggressor?
...
REF
r1
r3
r1
r3
...
r1
r3
r1
r3
...
r1
r3
r1
r3
...
r1
r3
r1
r3
...
r1
r3
r1
r3
...
r1
r3
r1
r3
...
r1
r3
r1
r3
phase = 0
phase = 1
phase = 2
phase = 3
phase = 4
phase = 5
phase = 6
PHASE
0
1
2
3
4
5
6
7
31
Methodology | DIMM A10
For how long should we hammer an aggressor?
r1
r3
REF
r1
r3
REF
r1
r3
...
REF
...
...
r1
r3
...
...
...
r1
r3
r1
r3
...
...
32
Methodology | DIMM A10
For how long should we hammer an aggressor?
r1
r3
REF
r1
r3
REF
r1
r3
...
REF
r1
r3
...
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
...
r1
r3
...
r1
r3
...
r1
r3
r1
r3
r1
r3
r1
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
...
...
...
⇒ no bit flips
⇒ bit flips!
⇒ more bit flips!
⇒ no bit flips
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r1
r3
r1
r3
r1
r3
⇒ no bit flips
⇒ no bit flips
...
O3. Up to a sweet spot, increasing the hammering intensity leads to more bit flips. Then the number of bit flips drops.
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
...
⇒ no bit flips
...
...
...
33
Methodology | DIMM A10
For how long should we hammer an aggressor?
r1
r3
REF
r1
r3
REF
r1
r3
...
REF
r1
r3
...
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
...
amplitude = 1
amplitude = 2
amplitude = 3
AMPLITUDE
1x
2x
3x
34
Methodology | DIMM B2
Should our patterns be longer than one refresh interval?
r1
r3
REF
REF
r1
r3
REF
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
pattern length �= 2 REF intervals
r1
r3
r1
r3
r1
r3
r1
r3
...
r1
r3
r1
r3
...
...
r1
r3
r1
r3
r1
r3
r1
r3
...
r1
r3
35
Methodology | DIMM B2
Should our patterns be longer than one refresh interval?
r1
r3
REF
REF
r1
r3
...
REF
r1
r3
...
r1
r3
...
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
...
...
...
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
...
...
...
...
r1
r3
r1
r3
...
...
...
...
...
...
r1
r3
r1
r3
r1
r3
r1
r3
...
r1
r3
...
36
Methodology | DIMM B2
Should our patterns be longer than one refresh interval?
O4. Hammering with longer patterns (>1 REF interval) and higher intensities in some intervals can bypass the mitigation more effectively.
r1
r3
REF
REF
r1
r3
...
REF
r1
r3
...
r1
r3
...
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
...
...
...
...
r1
rb
rc
rd
r1
r3
r1
r3
r1
r3
r1
r3
r1
rb
rc
rd
r1
r3
r1
...
r1
r3
r1
r3
...
⇒ no bit flips
...
...
...
...
⇒ no bit flips
⇒ no bit flips
⇒ no bit flips
⇒ bit flips!
...
r1
r3
r1
r3
r1
r3
r1
r3
...
r1
r3
...
⇒ no bit flips
...
...
...
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
...
...
...
⇒ no bit flips
37
Methodology | DIMM B2
Should our patterns be longer than one refresh interval?
r1
r3
REF
REF
r1
r3
...
REF
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
r1
r3
...
r1
rb
rc
rd
r1
r3
r1
r3
r1
r3
r1
r3
r1
rb
rc
rd
r1
r3
r1
...
...
...
...
freq. = 1/2
freq. = 1
freq. = 1/2
FREQUENCY
38
Observations
O1. Non-uniform aggressor accesses can lead to effective patterns on DIMMs where previous n-sided patterns could not trigger any bit flips.
AMPLITUDE
PHASE
How to determine effective parameter values?
O2. Accessing aggressor’s at the “right” time in a pattern enables�them to bypass the mitigation (sampler).
O3. Up to a sweet spot, increasing the hammering intensity leads to more bit flips. Then the number of bit flips drops.
O4. Hammering with longer patterns (>1 REF interval) and higher intensities in some interval can bypass the mitigation more effectively.
FREQUENCY
39
Implementation
generic�large coverage of TRR implementations
scalable�“plug-and-play” for large-scale testing
extensible�adaptable to future mitigations
Our Design Goals
40
Implementation
Blacksmith Rowhammer Fuzzer
Build pattern
Hammer pattern
Check for bit flips
=
?
00101
11001
10101
11101
Randomize parameters
FREQUENCY
PHASE
AMPLITUDE
repeat
1/1
0
22
a1, a2:
1/4
44
37
1/2
117
2
a3, a4:
a5, a6:
…
…
41
Implementation
Pattern Building Algorithm – Example
1/2
0
1
a1
a2
1
a1
a2
2
a1
a2
a3
a4
a1
a2
1/4
0
1
frequency
phase
amplitude
3
a1
a2
a3
a4
a1
a2
a5
a6
1/4
0
1
4
a1
a2
a7
a8
a7
a8
a3
a4
a1
a2
a4
a5
a7
a8
a7
a8
1/2
2
2
5
a1
a2
a6
a7
a8
a9
a9
a10
a9
a10
a3
a4
a1
a2
a4
a5
a6
a7
a8
a9
a9
a10
a9
a10
1/2
2
2
42
Evaluation Results
PC-DDR4: Fuzzing
Module | Blacksmith�#Bit Flips | TRRespass�#Bit Flips |
B0 | 63 | – |
B1 | 506 | – |
B2 | 15 | 5 |
B3 | 111 | – |
B4 | 1,107 | – |
B5 | 14 | – |
B6 | 78 | – |
B7 | 70 | – |
B8 | 258 | – |
B9 | 1,223 | – |
Module | Blacksmith�#Bit Flips | TRRespass�#Bit Flips |
A0 | 82,183 | – |
A1 | 12,134 | 5 |
A2 | 134,702 | 7,404 |
A3 | 1,746 | 114 |
A4 | 5,132 | 22 |
A5 | 113,190 | – |
A6 | 98,425 | 4 |
A7 | 32,090 | – |
A8 | 92,660 | – |
A9 | 4,889 | 1 |
A10 | 3,051 | 505 |
A11 | 3,171 | 38 |
A12 | 43,581 | – |
A13 | 59,721 | – |
A14 | 64,083 | 4 |
A15 | 52,580 | – |
A16 | 99,552 | 1,450 |
A17 | 138,601 | 3,871 |
A18 | 80,601 | 1 |
A19 | 11,599 | – |
Module | Blacksmith�#Bit Flips | TRRespass�#Bit Flips |
C0 | 26 | – |
C1 | 28 | – |
C2 | 2,551 | – |
C3 | 636 | – |
C4 | 769 | – |
C5 | 1,028 | – |
43
Evaluation Results
PC-DDR4: Fuzzing
Module | Blacksmith�#Bit Flips | TRRespass�#Bit Flips |
B0 | 63 | – |
B1 | 506 | – |
B2 | 15 | 5 |
B3 | 111 | – |
B4 | 1,107 | – |
B5 | 14 | – |
B6 | 78 | – |
B7 | 70 | – |
B8 | 258 | – |
B9 | 1,223 | – |
Module | Blacksmith�#Bit Flips | TRRespass�#Bit Flips |
A0 | 82,183 | – |
A1 | 12,134 | 5 |
A2 | 134,702 | 7,404 |
A3 | 1,746 | 114 |
A4 | 5,132 | 22 |
A5 | 113,190 | – |
A6 | 98,425 | 4 |
A7 | 32,090 | – |
A8 | 92,660 | – |
A9 | 4,889 | 1 |
A10 | 3,051 | 505 |
A11 | 3,171 | 38 |
A12 | 43,581 | – |
A13 | 59,721 | – |
A14 | 64,083 | 4 |
A15 | 52,580 | – |
A16 | 99,552 | 1,450 |
A17 | 138,601 | 3,871 |
A18 | 80,601 | 1 |
A19 | 11,599 | – |
Module | Blacksmith�#Bit Flips | TRRespass�#Bit Flips |
C0 | 26 | – |
C1 | 28 | – |
C2 | 2,551 | – |
C3 | 636 | – |
C4 | 769 | – |
C5 | 1,028 | – |
Effective patterns found on 40/40 devices
Effective patterns found on 15/40 devices
44
Evaluation Results
PC-DDR4: Fuzzing
Module | Blacksmith�#Bit Flips | TRRespass�#Bit Flips |
B0 | 63 | – |
B1 | 506 | – |
B2 | 15 | 5 |
B3 | 111 | – |
B4 | 1,107 | – |
B5 | 14 | – |
B6 | 78 | – |
B7 | 70 | – |
B8 | 258 | – |
B9 | 1,223 | – |
Module | Blacksmith�#Bit Flips | TRRespass�#Bit Flips |
A0 | 82,183 | – |
A1 | 12,134 | 5 |
A2 | 134,702 | 7,404 |
A3 | 1,746 | 114 |
A4 | 5,132 | 22 |
A5 | 113,190 | – |
A6 | 98,425 | 4 |
A7 | 32,090 | – |
A8 | 92,660 | – |
A9 | 4,889 | 1 |
A10 | 3,051 | 505 |
A11 | 3,171 | 38 |
A12 | 43,581 | – |
A13 | 59,721 | – |
A14 | 64,083 | 4 |
A15 | 52,580 | – |
A16 | 99,552 | 1,450 |
A17 | 138,601 | 3,871 |
A18 | 80,601 | 1 |
A19 | 11,599 | – |
Module | Blacksmith�#Bit Flips | TRRespass�#Bit Flips |
C0 | 26 | – |
C1 | 28 | – |
C2 | 2,551 | – |
C3 | 636 | – |
C4 | 769 | – |
C5 | 1,028 | – |
Most vulnerable device:�138,601 bit flips
45
Evaluation Results
PC-DDR4: Exploitability
| | | | | |
| | | | | |
PTE Exploit
sudo binary
RSA-2048
3s … 2h 8m
11s … 4h 2m
5m … 38m 35s
46
Evaluation Results
PC-DDR4
47
100 %
of PC-DDR4 DIMMs �are vulnerable�(40 PC-DIMMs)
High number of bit flips facilitates exploitation
DIMMs are weaker �than reported before
100 %
of LPDDR4X chips �are vulnerable�(19 LPDDR4X devices)
47
Conclusion
→ All current TRR mitigations are vulnerable
→ We found bit flips on devices never seen before � from another DRAM manufacturer
pjattke
pjattke@ethz.ch
comsec.ethz.ch/blacksmith
comsec-group/blacksmith
Next talk!
48
49
06.05.2020
All icons used in this presentation are licensed by The Noun Project.
Computer Security Group�
49
49
50
50
Background
51
Background
a DRAM bank
Row buffer
a DRAM chip
52
Background
a bit flipped!
1
1
1
0
a DRAM bank
Row buffer
a DRAM chip
1
0
1
0
1
0
1
0
repeat�hammering
leaking charge
aggressor 1
aggressor 2
victim
53
Rowhammer Attacks Are Practical
Over the network
Across VMs
ECC memory
On smartphones
In the browser
VM1
VM2
Scenarios
DRAM Types
DDRx UDIMMs,�LPDDRx
ECC
54
Motivation
How can we build a tool that allows for thoroughly testing �DRAM devices against Rowhammer?
[1] P. Frigo et al., “TRRespass: Exploiting the Many Sides of Target Row Refresh,” IEEE S&P ‘20
55
Background
Row buffer
rows
56
Background
Row buffer
columns
…
57
Previous Work
reverse engineering
experiment-based
limited insights
not transferable
time-intensive�not scalable
58
Methodology
Our DRAM Test Devices & Test Infrastructure
Evaluation Platform
59
Methodology | DIMM A10
When should we hammer an aggressor?
O2. Accessing aggressors at the “right” time in a pattern enables�them to bypass the mitigation (sampler).
Offsets causing bit flips
60
Methodology | DIMM A10
For how long should we hammer an aggressor?
O3. Up to a sweet spot, increasing the hammering intensity leads to more bit flips. Then the number of bit flips drops.
61
Methodology | DIMM A10
For how long should we hammer an aggressor?
O3. Up to a sweet spot, increasing the hammering intensity leads to more bit flips. Then the number of bit flips drops.
62
Methodology | DIMM A10
For how long should we hammer an aggressor?
O3. Up to a sweet spot, increasing the hammering intensity leads to more bit flips. Then the number of bit flips drops.
63
Methodology | DIMM A10
For how long should we hammer an aggressor?
O3. Up to a sweet spot, increasing the hammering intensity leads to more bit flips. Then the number of bit flips drops.
64
Methodology | DIMM B2
Should our patterns be longer than one refresh interval?
O4. Hammering with longer patterns (>1 REF interval) and higher intensities in some interval can bypass the mitigation more effectively.
65
Evaluation Results
LPDDR4X
: #Effective patterns found in 12 hrs or max(hh:mm), the time needed to find 128 eff. patterns
Effective patterns found on 16/19 devices
66
Evaluation Results
LPDDR4X
Other parameters are needed:
– pattern length: up to 16 tREFI
– amplitude: up to 6 tREFI
Blacksmith found bit flips on all three of them within 2h 52s.
: #Effective patterns found in 12 hrs or max(hh:mm), the time needed to find 128 eff. patterns
Effective patterns found on 16/19 devices
67
Evaluation Results
LPDDR4X
High number of bit flips facilitates exploitation
100 %
of LPDDR4X chips �are vulnerable�(19 LPDDR4X devices)
Chips are weaker than reported before
68
Novel Insights about Mitigations
69
69
Responsible Disclosure
National Cyber Security Centre (NCSC)
70
Pattern Portability
71
Implementation
Pattern Building Algorithm
72