cross-vm side channels and their use to extract private keys yinqian zhang (unc-chapel hill) ari...

Post on 31-Mar-2015

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Cross-VM Side Channels and Their Use to Extract Private Keys

Yinqian Zhang (UNC-Chapel Hill)Ari Juels (RSA Labs)

Michael K. Reiter (UNC-Chapel Hill)Thomas Ristenpart (U Wisconsin-Madison)

Motivation

Security Isolation by Virtualization

Virtualization Layer

Computer Hardware

Attacker

VM

Victim

VM

Crypto Keys

Access-Driven Cache Timing Channel

Virtualization (Xen)

Attacker

VM

Victim

VM

Crypto Keys

Side Channels

An open problem: Are cryptographic side channel attacks possible in virtualization environment?

Related WorkPublication Multi-

Core Virtualization w/o SMT Target

Percival 2005 RSAOsvik et al. 2006 AESNeve et al. 2006 AESAciicmez 2007 RSA

Aciicmez et al. 2010 DSABangerter 2011 AES

Related WorkPublication Multi-

Core Virtualization w/o SMT Target

Percival 2005 RSAOsvik et al. 2006 AESNeve et al. 2006 AESAciicmez 2007 RSA

Ristenpart el al. 2009 loadAciicmez et al. 2010 DSA

Bangerter 2011 AES

Related WorkPublication Multi-

Core Virtualization w/o SMT Target

Percival 2005 RSAOsvik et al. 2006 AESNeve et al. 2006 AESAciicmez 2007 RSA

Ristenpart el al. 2009 loadAciicmez et al. 2010 DSA

Bangerter 2011 AESOur work ElGamal

Outline

Cross-VM Side Channel

Probing

Cache Pattern Classification

Noise Reduction

Code-Path Reassembly

Vectors of cache measurements

Sequences of SVM-classified labels

Fragments of code path

Stage 1 Stage 2

Stage 3 Stage 4

Digress: Prime-Probe Protocol

Time

PROBEPRIME-PROBE IntervalPRIME

Cache Set4-way set associative

L1 I-Cache

Cross-VM Side Channel Probing

Virtualization (Xen)

L1I-Cache

Attacker

VM

Victim

VM

L1I-Cache

L1I-Cache

L1I-Cache

Challenge: Observation Granularity

VictimAttacker

VM/VCPU

30ms 30msTime

VM/VCPU

• W/ SMT: tiny prime-probe intervals

• W/o SMT: gaming schedulersL1

I-Cache

Ideally …

Short intervals

• Use Interrupts to preempt the victim:• Timer interrupts?• Network interrupts?• HPET interrupts?• Inter-Processor interrupts (IPI)!

Time

Inter-Processor Interrupts

Victim

CPU core

AttackerVCPU

Attacker VM

VM/VCPU

IPIVCPU

CPU core

For( ; ; ) { send_IPI(); Delay();}

Virtualization (Xen)

Cross-VM Side Channel Probing

2.5 µs

Time2.5 µs 2.5 µs

Outline

Cross-VM Side Channel

Probing

Cache Pattern Classification

Noise Reduction

Code-Path Reassembly

Vectors of cache measurements

Sequences of SVM-classified labels

Fragments of code path

Stage 1 Stage 2

Stage 3 Stage 4

Square-and-Multiply (libgcrypt)/* y = xe mod N , from libgcrypt*/Modular Exponentiation (x, e, N):

let en … e1 be the bits of ey ← 1for ei in {en …e1}

y ← Square(y) (S)y ← Reduce(y, N) (R)if ei = 1 then

y ← Multi(y, x) (M)y ← Reduce(y, N) (R)

ei = 1 → “SRMR”ei = 0 → “SR”

Cache Pattern ClassificationKey observation: Footprints of different functions are distinct in the I-Cache !• Square(): cache set 1, 3, …, 59• Multi(): cache set 2, 5, …, 60, 61• Reduce(): cache set 2, 3, 4, …, 58

Classification

Square()

Multi()

Reduce()

Support Vector Machine

SVM

Square()

Multi()

Reduce()

Noise: hypervisor context switch

Read more on SVM training

Support Vector Machine

SS SS RRRR MMMM ……

SVM

S RR R

Outline

Cross-VM Side Channel

Probing

Cache Pattern Classification

Noise Reduction

Code-Path Reassembly

Vectors of cache measurements

Sequences of SVM-classified labels

Fragments of code path

Stage 1 Stage 2

Stage 3 Stage 4

Noise Reduction

SS SR RSRR

Square Reduce Multi

MRM ……R

requires robust automated error correction

Hidden Markov Model

MRS

MultiSquare Reduce Unkn

Hidden Markov Model

MRS

MultiSquare Reduce Unkn

SS SR RSRR MRM ……R

Hidden Markov Model

low confidence

Eliminate Non-Crypto Computation

SVM

S RRR MMM ……RR RRSR

Eliminate Non-Crypto Computation

S RRR MMM ……RR RRSRMRS

MultiSquare Reduce Unkn

Eliminate Non-Crypto Computation

• Key Observations

• S:M Ratio should be roughly 2:1 for long enough sequences!

• “MM” signals an error (never two sequential multiply operations)

Virtualization (Xen)

Key Extraction

L1I-Cache

Attacker

VCPU

Victim

VCPU

L1I-Cache

L1I-Cache

L1I-Cache

ReduceSquare

Unkn Unkn Unkn

Reduce Multi Reduce

Square

Start Decryption

Multi-Core Processors

AttackerVCPU

IPIVCPU

VictimVCPU

AnotherVCPU

Dom0VCPU

0100011...

L1I-Cache

L1I-Cache

L1I-Cache

L1I-Cache

Multi-Core Processors

AttackerVCPU

IPIVCPU

VictimVCPU

AnotherVCPU

Dom0VCPU

..#####...

L1I-Cache

L1I-Cache

L1I-Cache

L1I-Cache

Multi-Core Processors

AttackerVCPU

IPIVCPU

VictimVCPU

AnotherVCPU

Dom0VCPU

##10100...

L1I-Cache

L1I-Cache

L1I-Cache

L1I-Cache

From an Attacker’s Perspective

#####1001111010#####0111101011############110101101#####0 1101110############ ###########........

Outline

Cross-VM Side Channel

Probing

Cache Pattern Classification

Noise Reduction

Code-Path Reassembly

Vectors of cache measurements

Sequences of SVM-classified labels

Fragments of code path

Stage 1 Stage 2

Stage 3 Stage 4

Code-Path Reassembly

1001110010

1101011010111101111

11101110

100111*01*1101110No error bit!DNA ASSEMBLY

Outline

Cross-VM Side Channel

Probing

Cache Pattern Classification

Noise Reduction

Code-Path Reassembly

Vectors of cache measurements

Sequences of SVM-classified labels

Fragments of code path

Stage 1 Stage 2

Stage 3 Stage 4

Evaluation• Intel Yorkfield processor– 4 cores, 32KB L1 instruction cache

• Xen + linux + GnuPG + libgcrypt– Xen 4.0– Ubuntu 10.04, kernel version 2.6.32.16– Victim runs GnuPG v.2.0.19 (latest)– libgcrypt 1.5.0 (latest)– ElGamal, 4096 bits

Results

• Work-Conserving Scheduler– 300,000,000 prime-probe results (6 hours)– Over 300 key fragments– Brute force the key in ~9800 guesses

• Non-Work-Conserving Scheduler– 1,900,000,000 prime-probe results (45 hours)– Over 300 key fragments– Brute force the key in ~6600 guesses

Conclusion

• A combination of techniques – IPI + SVM + HMM + Sequence Assembly

• Demonstrate a cross-VM access-driven cache-based side-channel attack– Multi-core processors without SMT– Sufficient fidelity to exfiltrate cryptographic keys

Thank You

• Questions? • Please contact: yinqian@cs.unc.edu

top related