NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph,...
Transcript of NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph,...
![Page 1: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/1.jpg)
NVCool: When Non-Volatile Caches Meet Cold Boot Attacks
Xiang Pan†, Anys Bacha‡, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
The Ohio State University, Uber†, University of Michigan‡
![Page 2: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/2.jpg)
Non-Volatile Memory is Coming
2NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
• 3D XPoint from Intel and Micron • The Machine from HPE
• Crossbar and Everspin also make and sell NVM products
• Low power, high density, and good scalability make NVM attractive to industry companies
![Page 3: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/3.jpg)
Cold Boot Attack on DRAM
3NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
• Cooling DRAM to a certain low temperature can preserve its data for a short duration of time even without power supply
Halderman et al., Lest We Remember: Cold Boot Attacks on Encryption Keys, citp.princeton.edu/research/memory
• Plug in the frozen DRAM DIMMs to a pre-prepared machine and run key search program to get secret keys
• Successfully conducted on both laptop and mobile computer systems
![Page 4: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/4.jpg)
Cold Boot Attack on NVM
4NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
• Trivial for NVM main memory but we focus on NVM caches
• NVM caches are vulnerable to cold boot attacks in a way SRAM caches are not• A few ms data retention time without power supply at cold temperatures
• Challenges• Caches only store a subset of data• Cache structure (set-associative) is very different
from main memory (page)
• Can we really find secrets from NVM caches?
![Page 5: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/5.jpg)
Outline
• Threat Model• Cache-Aware AES Key Search•Methodology• Attack Analysis• Countermeasure• Conclusions
5NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
![Page 6: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/6.jpg)
Threat Model
6
• Attacker has physical access to the victim device
• Attacker has necessary equipments and knowledge to extract data from CPU caches
NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
![Page 7: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/7.jpg)
Threat Model
7
• What secrets can be found from cache?
• Photos, emails, messages, disk encryption keys, ssh keys…
• Anything stored in cache and useful to attacker
• This work focuses on disk encryption keys as an example
NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
![Page 8: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/8.jpg)
Outline
• Threat Model• Cache-Aware AES Key Search•Methodology• Attack Analysis• Countermeasure• Conclusions
8NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
![Page 9: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/9.jpg)
AES Key Schedule
9NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
• AES key search:• Original key needs to be expanded before encryption/decryption operations
• Current round key is deterministically computed from the previous round key
• Scanning memory image sequentially can find the key if exists
• Challenges in cache-based approach:• Non-contiguous memory space
• Incomplete key schedules
![Page 10: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/10.jpg)
Cache Aware AES Key Search
10
• Non-contiguous memory space
NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
• Incomplete key schedules
![Page 11: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/11.jpg)
Outline
• Threat Model• Cache-Aware AES Key Search•Methodology• Attack Analysis• Countermeasure• Conclusions
11NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
![Page 12: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/12.jpg)
Experimental Methodology
12
Software Configuration
Simulator gem5
OS Ubuntu Trusty 14.04 64-bit
Disk Encryption Module
dm-crypt + LUKS
Encryption Algorithm AES-XTS with 128-bit key
Application SPEC CPU2006
Execution 1B insts to run
1M insts to sample
NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
![Page 13: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/13.jpg)
Outline
• Threat Model• Cache-Aware AES Key Search•Methodology• Attack Analysis• Countermeasure• Conclusions
13NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
![Page 14: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/14.jpg)
Attack Scenarios
14
• Random Attack• Execution can be stopped at any given time to extract secrets from
CPU caches• Due to power failures, disk failures, system crashes…
• Targeted Power-Off Attack• Conduct power-off operation on victim systems and extract secrets
from CPU caches• Can be a normal power-off or a forced power-off
NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
![Page 15: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/15.jpg)
Experiments and Benchmarks
15NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
![Page 16: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/16.jpg)
Random Attack Analysis
16NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
STAvg-NoNEON
STAvg-NEON
MixC-NoNEON
MixC-NEON
MixM-NoNEON
MixM-NEON
MixCM-NoNEON
MixCM-NEON
Pro
bab
ilit
y o
f F
indin
g A
ES
Key
2MB 4MB 8MB 128MB
• Overall probability of finding AES keys in systems with different LLC sizes• Larger caches increase the system vulnerability to random attack• Systems running multi-programs are more vulnerable• NoNEON systems are generally more vulnerable than NEON systems
![Page 17: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/17.jpg)
Random Attack Analysis
17NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
0
1
0 200 400 600 800 1000 0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
Pro
bab
ilit
y o
f F
indin
g A
ES
Key
LL
C O
ver
all
Mis
s-R
ate
Timeline
Probability Miss-Rate
computation-bound: dealII
0
1
0 200 400 600 800 1000 0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
Pro
bab
ilit
y o
f F
indin
g A
ES
Key
LL
C O
ver
all
Mis
s-R
ate
Timeline
Probability Miss-Rate
memory-bound: bzip2
• Two factors:
• Encryption disk accesses
• Cache evictions
![Page 18: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/18.jpg)
Power-Off Attack Analysis
18
• Two modes:• Normal Power-Off:
poweroff (-p)
• Force Power-Off: poweroff -f
NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
![Page 19: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/19.jpg)
Power-Off Attack Analysis
19NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
0
1
0 100 200 300 400 500 600
Pro
bab
ilit
y
128M
B
Timeline
NoNEON NEON
0
1
Pro
bab
ilit
y
8M
B
NoNEON NEON
0
1
Pro
bab
ilit
y
4M
B
NoNEON NEON
0
1
Pro
bab
ilit
y
2M
B
NoNEON NEON
![Page 20: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/20.jpg)
Outline
• Threat Model• Cache-Aware AES Key Search•Methodology• Attack Analysis• Countermeasure• Conclusions
20NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
![Page 21: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/21.jpg)
Software-based Countermeasure
21
• Key idea: marking secret information as uncacheable• Walk through page table at kernel space; mark sensitive pages as uncacheable
NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
• Effectiveness
![Page 22: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/22.jpg)
Performance Analysis
22
• Performance Overhead
NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
0.6 0.7 0.8 0.9
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9
2
calculix
dealII
gamess
gromacs
h264ref
namd
perlbench
povray
sjengspecrandf
specrandi
tontow
rfG
eoMeanC
astarbw
aves
bzip2
cactusAD
M
gccG
emsFD
TD
gobmk
hmm
er
lbmleslie3d
libquantum
mcf
milc
omnetpp
soplex
sphinx3
Xalan
zeusmp
GeoM
eanM
GeoM
ean
mixC
mixM
mixCM
Norm
aliz
ed E
xec
uti
on T
ime
2.16 2.77 2.95 2.42
Computation Bound Memory Bound
Countermeasure-NoNEON Countermeasure-NEON
• NoNEON systems show high performance overhead• NEON systems show less than 3% average performance overhead• Performance optimizations are discussed in the paper
![Page 23: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/23.jpg)
Outline
• Threat Model• Cache-Aware AES Key Search•Methodology• Attack Analysis• Countermeasure• Conclusions
23NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
![Page 24: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/24.jpg)
Conclusions
24NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu
• Non-volatile caches are vulnerable to cold boot attacks
• Two attacks on disk encryption keys are successfully conducted — random attacks and targeted power-off attacks
• A software-based countermeasure that allocates sensitive information into uncacheable memory pages is developed and shown effective
• We hope this work will serve as a starting point for future studies on the security vulnerabilities of NVM caches and their countermeasures
![Page 25: NVCool: When Non-Volatile Caches Meet Cold Boot Attacks · Xiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu •Trivial for NVM main memory but we](https://reader033.fdocuments.net/reader033/viewer/2022050503/5f95930261dc4d0cae6e44b4/html5/thumbnails/25.jpg)
Questions?
Thank you!
25NVCool: When Non-Volatile Caches Meet Cold Boot AttacksXiang Pan, Anys Bacha, Spencer Rudolph, Li Zhou, Yinqian Zhang, and Radu Teodorescu