0x1A Great Papers in Computer Security

Slides:



Advertisements
Similar presentations
Microsoft ® Official Course First Look Clinic Overview of Windows 8 By Ragowo Riantory, S.Kom, MCP.
Advertisements

Rambling on the Private Data Security
Computer Organization and Architecture
Security Through the Lens of Failure J. Alex Halderman.
White-Box Cryptography
Cryptography and Network Security Chapter 5 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography and Network Security Chapter 5
Section 3.2: Operating Systems Security
CS 483 – SD SECTION BY DR. DANIYAL ALGHAZZAWI (7) AUTHENTICATION.
Cryptography and Network Security
AES clear a replacement for DES was needed
Lest We Remember Cold-Boot Attacks Against Disk Encryption J. Alex Halderman, Seth D. Schoen, Nadia Heninger, William Clarkson, William Paul, Joseph A.
Cryptography and Network Security Chapter 5. Chapter 5 –Advanced Encryption Standard "It seems very simple." "It is very simple. But if you don't know.
IT Systems Memory EN230-1 Justin Champion C208 –
Dr. Lo’ai Tawalbeh 2007 Chapter 5: Advanced Encryption Standard (AES) Dr. Lo’ai Tawalbeh New York Institute of Technology (NYIT) Jordan’s Campus.
CS1104-8Memory1 CS1104: Computer Organisation Lecture 8: Memory
File System and Full Volume Encryption Sachin Patel CSE 590TU 3/9/2006.
Presented By Peter Matthews
Physical Memory By Gregory Marshall. MEMORY HIERARCHY.
Session 4 Windows Platform Dina Alkhoudari. Learning Objectives Configure disk quotas Repairing and Defragmenting Set permissions to files and folders.
Chapter 5 Advanced Encryption Standard. Origins clear a replacement for DES was needed –have theoretical attacks that can break it –have demonstrated.
1 University of Palestine Information Security Principles ITGD 2202 Ms. Eman Alajrami 2 nd Semester
Chapter 5 –Advanced Encryption Standard "It seems very simple." "It is very simple. But if you don't know what the key is it's virtually indecipherable."
Redundant Array of Inexpensive Disks aka Redundant Array of Independent Disks (RAID) Modified from CCT slides.
Kenichi Kourai (Kyushu Institute of Technology) Takuya Nagata (Kyushu Institute of Technology) A Secure Framework for Monitoring Operating Systems Using.
TEJ3M Teacher: Ms. Luce Name: Alex H. Date: February 18th 2010
CS 1308 Computer Literacy and the Internet. Introduction  Von Neumann computer  “Naked machine”  Hardware without any helpful user-oriented features.
SECURITY Research Data Management. Research Data Management Security Laptops go missing very regularly; Intel’s study in 2012 surveying 329 private and.
9/17/15UB Fall 2015 CSE565: S. Upadhyaya Lec 6.1 CSE565: Computer Security Lecture 6 Advanced Encryption Standard Shambhu Upadhyaya Computer Science &
Protecting Data on Smartphones and Tablets from Memory Attacks
Memory and stuff.. le well drawn pyramid Features Name Volatile Mutable Accessibility Description Data is lost quickly after powering down Data can be.
Chapter 3.2: Operating Systems Security 1. The Boot Sequence The action of loading an operating system into memory from a powered-off state is known as.
Password authentication Basic idea –User has a secret password –System checks password to authenticate user Issues –How is password stored? –How does system.
Memory The CPU in the computer fetches data and instructions from memory to process. This type of memory is called primary memory and it is the only memory.
+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization.
Side-Channel Attacks Vitaly Shmatikov CS Acoustic Information in Typing uDifferent keystrokes make different sounds Different locations on the supporting.
Exploiting Cache-Timing in AES: Attacks and Countermeasures Ivo Pooters March 17, 2008 Seminar Information Security Technology.
CNIT 124: Advanced Ethical Hacking Ch 9: Password Attacks.
Information Security – Theory vs
Advanced Encryption Standard Dr. Shengli Liu Tel: (O) Cryptography and Information Security Lab. Dept. of Computer.
© GCSE Computing Computing Hardware Starter. Creating a spreadsheet to demonstrate the size of memory. 1 byte = 1 character or about 1 pixel of information.
DATA & COMPUTER SECURITY (CSNB414) MODULE 3 MODERN SYMMETRIC ENCRYPTION.
Trusted Computing and the Trusted Platform Module Bruce Maggs (with some slides from Bryan Parno)
Error-Detecting and Error-Correcting Codes
Project: Simulated Encrypted File System (SEFS) Omar Chowdhury Fall 2015CS526: Information Security1.
Operating Systems Security 1. The Boot Sequence The action of loading an operating system into memory from a powered-off state is known as booting or.
Slide 1 Vitaly Shmatikov CS 378 Stream Ciphers. slide 2 Stream Ciphers uRemember one-time pad? Ciphertext(Key,Message)=Message  Key Key must be a random.
Types of RAM (Random Access Memory) Information Technology.
Windows Vista Configuration MCTS : NTFS Security Features and File Sharing.
UNM Encryption Services in Development
Presented by Kartik Patel
Trusted Computing and the Trusted Platform Module
Types of RAM (Random Access Memory)
Outline What does the OS protect? Authentication for operating systems
Lest We Remember: Cold-Boot Attacks on Encryption Keys
Outline What does the OS protect? Authentication for operating systems
STRONGBOX: CONFIDENTIALITY, INTEGRITY, AND PERFORMANCE USING STREAM CIPHERS FOR FULL-DISK ENCRYPTION Bernard Dickens III.
Memory chips Memory chips have two main properties that determine their application, storage capacity (size) and access time(speed). A memory chip contains.
תרגול 9 – Windows Security
Computer Architecture & Operations I
Booting Up 15-Nov-18 boot.ppt.
Hiding Information, Encryption, and Bypasses
2.C Memory GCSE Computing Langley Park School for Boys.
TPM, UEFI, Trusted Boot, Secure Boot
The bios.
Cryptography and Network Security Chapter 5 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
“Encryption threatens to lead all of us to a very dark place.”
What is an operating system An operating system is the most important software that runs on a computer. It manages the computer's memory and processes,
Presentation transcript:

0x1A Great Papers in Computer Security CS 380S 0x1A Great Papers in Computer Security Vitaly Shmatikov http://www.cs.utexas.edu/~shmat/courses/cs380s/

J. Alex Halderman et al. Lest We Remember: Cold Boot Attacks on Encryption Keys (USENIX Security 2008)

Protecting Data on a Laptop Password: ******** File system On-the-fly crypto Disk drivers

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…

Dynamic RAM Volatility DRAM cell (capacitor) 1 1 Write “1” Refresh (read and rewrite) Refresh interval ≈ 32 ms What if we don’t refresh?

Decay After Cutting Power Point: @ 5sec virtually no data lost Decay occurs gradually as time goes on Even after 5 minutes, some data still visible (pause) (Note: Black and white bars due to wiring of the chip—for some cells, absence of charge=0, others 1) 5 secs 30 secs 60 secs 300 secs

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

Slowing Decay By Cooling Point: - Will decay too quickly to move at room temperature, but cooling the chips dramatically slows the decay We tested a very simple cooling technique So-called “canned air”, sprayed upside down, cools to -50 C, yielding very low decay even after 1 minute without power -50°C < 0.2% decay after 1 minute

Point: If we keep the RAM cool, we can remove it from the computer for minutes without significant decay This is cheap, practical way to move the RAM from one computer to another without losing much data

Even Cooler -196°C Liquid nitrogen < 0.17% decay after 1 hour Point: To test limits, also experimented with LN2: -196C Only .17% decay after 1 hour Data could remain intact for days at this temp Transition: Instead of cooling, another way to deal with bit errors in encryption keys is to use error correction. Not necessary in practice

Dealing with Bit Errors Some bit errors inevitable, especially without cooling (increasing with memory density) Given corrupted K’, find K: Brute-force search over low Hamming distance to K’ e.g. 256-bit key with 10% error: > 256 guesses (too slow!) Naïve Approach Most programs store precomputed derivatives of K (e.g. key schedules) These derivatives contain redundancy; we can treat them as error correcting codes Insight Point: Some bit errors will occur, especially if the attacker can’t use cooling We developed algorithms to correct errors in recovered keys For the attacker, these are complementary to cooling, and can be used in parallel Naïve way to think about this problem: given corrupted key K’ with a few bit errors, find original K Naïve approach is brute-force search, but this is very slow in typical use We had an insight: Most programs we’re interested in don’t just store K, they store pre-computed derivatives of K, such as key schedules, to improve performance Unlike the original key, these derivatives often contain structure and redundancy – we realized we could treat them as error correcting codes to fix errors in the key more quickly This was an unexpected performance-security tradeoff Attacker has memory image, where corrupted key K’ is found NAÏVE: If error rate is low: brute-force is reasonable. As error rate increases, hamming search gets exponentially harder In Slide Transition: Wouldn’t it be great if attacker had multiple copies of they key K. It would be trivial to build majority voting scheme to determine correct bits of key K Example: Suppose we have 10 copies of the key K. Each decays independently. If bits decay in unidirectional manner (all 1->0) and if over half of the copies have a 1 in bit position 3, then with very high likelihood the bit in position 3 is in fact 1. Insight: Practical implementations of Disk Encryption schemes give us something similar. SWITCH TO VIEW INSIGHTS Turns out encryption schemes in practice stores a pre- computed derivative, expanded version of the key, that speeds computation. An example with a block cipher is a key schedule. Key Schedules: not copies, but pre-computed derivatives, can be used as a special ECC Code New Tradeoff: Performance by using key schedule vs. security of having this much information exposed Transition: Example of key schedule: AES

Correcting Bit Errors in DES Key schedule contains ~14 redundant copies of each bit from the key 0100000010000100 ~20% error 0000000000000000

128-bit key K  10 more 128-bit keys for cipher rounds 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

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)

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

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 Point: Instead of treating each region as possible key, we look for key schedule. Find blocks that satisfy (or almost satisfy combinatorial properties) If hamming distance from valid key schedule is low enough, output as possible schedule Transition: We’ve discussed a few distinct concepts, lets put this all together.

Demonstrated Attacks Windows BitLocker Mac OS FileVault Linux dm-crypt Point: Weimplemented proof of concept attacks BitLocker (built into Vista) FileVault (built into Leopard) dm-crypt, loopaes,trucrypt are OSS Transition: As further proof of cold-boot attack, we created fully automated attack on Vista’s BitLocker. Linux LoopAES TrueCrypt

Countermeasures Encrypt key in memory when screen-locked Avoid precomputation Fully encrypted memory Trusted Platform Module (TPM) Read paper for discussion Point: There is no perfect solution All commercially available countermeasure has a drawback Transition: I will discuss a few of the most promising countermeasures