0x1A Great Papers in Computer Security - PowerPoint PPT Presentation

About This Presentation
Title:

0x1A Great Papers in Computer Security

Description:

Title: CS 380S - Great Papers in Computer Security Subject: Cold boot attacks Author: Vitaly Shmatikov Last modified by: Dynamism Created Date: 9/7/1997 8:51:32 PM – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 19
Provided by: Vital94
Category:

less

Transcript and Presenter's Notes

Title: 0x1A Great Papers in Computer Security


1
0x1A Great Papers inComputer Security
CS 380S
  • Vitaly Shmatikov

http//www.cs.utexas.edu/shmat/courses/cs380s/
2
J. Alex Halderman et al.Lest We RememberCold
Boot Attacks on Encryption Keys(USENIX Security
2008)
3
Protecting Data on a Laptop
Password
File system
On-the-fly crypto
Disk drivers
4
Common Attack Scenario
Security Assumptions The encryption is strong The
OS protects the key in RAM the attacker might
reboot to circumvent the OS, but since RAM is
volatile, the key will be lost
5
Dynamic RAM Volatility
DRAM cell(capacitor)




0
1
1
0

Write 1
Refresh (read and rewrite) Refresh interval 32
ms
What if we dont refresh?
6
Decay After Cutting Power
5 secs
30 secs
60 secs
300 secs
7
Capturing Residual Data
  • No special equipment needed, but
  • booting OS overwrites large areas of RAM
  • Solution boot a small low-level program to dump
    out memory contents
  • PXE dump (9 KB)
  • EFI dump (10 KB)
  • USB dump (22 KB)
  • What if BIOS clears RAM?
  • Common on systems with error-corrected RAM

8
Slowing Decay By Cooling
-50C
lt 0.2 decay after 1 minute
9
(No Transcript)
10
Even Cooler
-196C
Liquid nitrogen
lt 0.17 decay after 1 hour
Not necessary in practice
11
Dealing with Bit Errors
Some bit errors inevitable, especially without
cooling(increasing with memory density)
12
Correcting Bit Errors in DES
  • Key schedule contains 14 redundant copies of
    each bit from the key

0100000010000100
20 error
0
0000000000000000
13
AES Key Schedule
  • 128-bit key K ? 10 more 128-bit keys for cipher
    rounds

Round 0 key (K)
Core
Round 1 key


Round 10 key
Byte
14
Correcting Bit Errors in AES (1)
  • Key schedule recovered from memory (contains
    errors)

Round 0 key (K)
Core
Round 1 key
1. Slices 4 bytes in Round 0 determine 3 bytes
in Round 1
2. Enumerate 232 possibilities for each 7 byte
slice
3. Eliminate values unlikely to have decayed to
observed bytes (excludes vast majority)
15
Correcting Bit Errors in AES (2)
  • Key schedule recovered from memory (contains
    errors)

Round 0 key (K)
Core
Round 1 key
4. Repeat for each of the 4 slices
5. Combine possible slice values into candidate
keys
6. Test candidates keys by expanding them into
full key schedules compare to recovered memory
16
Finding AES Key Schedules
  • Iterate through each byte of memory
  • Treat following region as an AES key schedule
  • For each word in the candidate schedule
  • Calculate correct value, assuming other bytes
    correct
  • Take Hamming distance to observed value
  • If total distance is low, output the key

17
Demonstrated Attacks
Windows BitLocker
Mac OS FileVault
Linux dm-crypt
Linux LoopAES
TrueCrypt
18
Countermeasures
  • Encrypt key in memory when screen-locked
  • Avoid precomputation
  • Fully encrypted memory
  • Trusted Platform Module (TPM)
  • Read paper for discussion
Write a Comment
User Comments (0)
About PowerShow.com