Privacy Enhancing Technologies Lecture 5 Trusted Computing Elaine







![Whole-system, Load-time attestation IMA [Sailer et. al. ] 8 Whole-system, Load-time attestation IMA [Sailer et. al. ] 8](https://slidetodoc.com/presentation_image_h/99a52a486c834c9e2b32202dbbcb1c87/image-8.jpg)





![Fine-Grained, Run-time Attestation (a. k. a. verified execution) Flicker [Mc. Cune et. al. ] Fine-Grained, Run-time Attestation (a. k. a. verified execution) Flicker [Mc. Cune et. al. ]](https://slidetodoc.com/presentation_image_h/99a52a486c834c9e2b32202dbbcb1c87/image-14.jpg)



![Previous Work: Persistent Security Layers App … [Gold et al. ‘ 84], [Shockley et Previous Work: Persistent Security Layers App … [Gold et al. ‘ 84], [Shockley et](https://slidetodoc.com/presentation_image_h/99a52a486c834c9e2b32202dbbcb1c87/image-18.jpg)
![Flicker Overview: On-Demand Security [IEEE S&P ‘ 07], [Euro. Sys ‘ 08], [ASPLOS ‘ Flicker Overview: On-Demand Security [IEEE S&P ‘ 07], [Euro. Sys ‘ 08], [ASPLOS ‘](https://slidetodoc.com/presentation_image_h/99a52a486c834c9e2b32202dbbcb1c87/image-19.jpg)
![Flicker: An On-Demand Secure Environment [IEEE S&P ‘ 07], [Euro. Sys ‘ 08], [ASPLOS Flicker: An On-Demand Secure Environment [IEEE S&P ‘ 07], [Euro. Sys ‘ 08], [ASPLOS](https://slidetodoc.com/presentation_image_h/99a52a486c834c9e2b32202dbbcb1c87/image-20.jpg)






![Comparison With “Traditional” Attestation [Gasser et al. ‘ 89], [Arbaugh et al. ‘ 97], Comparison With “Traditional” Attestation [Gasser et al. ‘ 89], [Arbaugh et al. ‘ 97],](https://slidetodoc.com/presentation_image_h/99a52a486c834c9e2b32202dbbcb1c87/image-27.jpg)









![Reading list • [Mc. Cune et. al. ] Flicker: Minimal TCB Code Execution • Reading list • [Mc. Cune et. al. ] Flicker: Minimal TCB Code Execution •](https://slidetodoc.com/presentation_image_h/99a52a486c834c9e2b32202dbbcb1c87/image-37.jpg)
- Slides: 37
Privacy Enhancing Technologies Lecture 5 Trusted Computing Elaine Shi 1
Roadmap • Background on Trusted Computing • Whole-system, load-time attestation • Fine-grained, run-time attestation § or verifiable program execution 2
Trusted Computing & TPM 3
Trusted Computing Group • Founded in 1999, evolved since then • Core members – AMD, HP, IBM, Intel, Microsoft, Sun • Who’s Who of product vendors – ARM, Dell, Phoenix, Veri. Sign, RSA, Texas Instruments, Maxtor, Seagate, National Semi, Toshiba, France Telecom, Fujitsu, Adaptec, Philips, Ricoh, Nvidia • http: //www. trustedcomputinggroup. org Adapted from V. Shmatikov 4
Ø What code is running on a remote system? Ø How do you verifiably execute a program on a remote host? • Why do we want to do this? • Applications? 5
Ø What code is running on a remote system? Ø How do you verifiably execute a program on a remote host? • • To establish trust in a remote system To establish a TCB on a remote system 6
Ø What code is running on a remote system? Ø How do you verifiably execute a program on a remote host? • • • SETI@HOME Enterprise network management Platform for private data Secure BGP routing Secure cryptographic setup 7
Whole-system, Load-time attestation IMA [Sailer et. al. ] 8
9
10
11
12
Pros and Cons -Hash may be difficult to verify § Heterogeneous software versions and configs § Proprietary software - System may be compromised at run-time + Load-time attestation can be used to verifiably load a small TCB § whose security can be formally verified 13
Fine-Grained, Run-time Attestation (a. k. a. verified execution) Flicker [Mc. Cune et. al. ] Trust. Visor [Mc. Cune et. al. ] 14
Problem Overview App S … App S OS DMA Devices (Ex: Network, Disk, USB) CPU, RAM, Chipset 15
Problem Overview Adversary Capabilities App … App S • Run arbitrary code with maximum privileges • Subvert devices OS DMA Devices (Ex: Network, Disk, USB) • Perform limited hardware attacks – E. g. , Power cycle the machine – Excludes physically monitoring CPUto-RAM communication CPU, RAM, Chipset 16
Previous Work: Persistent Security Layers App … S App S [Gold et al. ‘ 84], [Shockley et al. ‘ 88], [Karger et al. ‘ 91], [England et al. ‘ 03], [Garfinkel et al. ‘ 03], … OS Virtual Security Machine Kernel Monitor Hardware 17
Previous Work: Persistent Security Layers App … [Gold et al. ‘ 84], [Shockley et al. ‘ 88], [Karger et al. ‘ 91], [England et al. ‘ 03], [Garfinkel et al. ‘ 03], … App Drawbacks: OS 1. Performance reduction 2. Increased attack exposure 3. Additional complexity S Virtual Machine Monitor DMA Devices (Ex: Network, Disk, USB) CPU, RAM, Chipset 18
Flicker Overview: On-Demand Security [IEEE S&P ‘ 07], [Euro. Sys ‘ 08], [ASPLOS ‘ 08] App … App S OS Flicker Hardware 19
Flicker: An On-Demand Secure Environment [IEEE S&P ‘ 07], [Euro. Sys ‘ 08], [ASPLOS ‘ 08] App 1 … App OS • • Full HW access • Full performance • S Insecure Full secrecy Full isolation Minimal trust Minimal complexity Secure Flicker Hardware 20
Secure Context Switching Steps: 1. Request Flicker … App 2. Late Launch App 3. Application Code Execution Allow? 4. Resume OS S ✓ OS Module RAM CPU S Inputs S Outputs ate ch LFlicker n u a LLate S Flicker Launch 21
… App OS Module RAM CPU 22
Must be unforgeable Late Launch Flicker S the log to Alice? How can we convey Must be Inputs tamper-proof Outputs Prevents Additions 23
Hardware-Supported Logging Trusted Platform Module (TPM) • Provides integrity for append-only logs • Can digitally sign logs • Equipped with a certificate of authenticity • Can authenticate that a Late Launch took place Late Launch John Hancock ✓ ✓ Late Launch 24
Late Launch Flicker S Inputs Outputs 25
Attestation random # Trustworthy! ✓ Guarantees freshness Guarantees real TPM John Hancock John. Guarantees Hancock actual TPM logs 26
Comparison With “Traditional” Attestation [Gasser et al. ‘ 89], [Arbaugh et al. ‘ 97], [Sailer et al. ‘ 04], [Marchesini et al. ‘ 04] Traditional Key Insight: BIOS+ Late Launch Bootloader Flicker Fine-Grained. Late Attestations Launch Flicker Fine-Grained Attestations Simplify Verification S OS Input Fine-Grained Attestations Improve Privacy Output Drivers 1…N App 1…N 27
Application: Verifiable Malware Scanning Late Launch App 1 Run Detector Flicker John OS Hancock John Hancock ✓ App 1 … App N OS … App N D Inputs Outputs D Flicker Hardware 28
Additional Applications • Improved SSH password handling • Distributed computing • Protected CA keys 29
Pros and Cons? -Current systems only support one Flicker session at a time §Trust. Visor addresses this - Flicker environment is spartan (by design!) §No system calls, no interrupts - Flicker does not guarantee availability -Flicker is vulnerable to sophisticated HW attacks -Not scalable for frequent requests 30
Additional reading: Trust. Visor • μTPM or “software virtual TPM” – Reduce number of calls to hardware TPM – Multiple applications/VMs share the same hardware TPM – Also in [v. TPM] work • Balance between TCB reduction and scalability 31
Summary • After 8 years the commercial impact of TCG technology has been negligible – Need killer applications (applications in the cloud? ) – Fortunately, there is a vibrant and growing TC research community 32
Challenges • Scalability – New hardware features to reduce virtualization-related overhead – TCB on top of a distributed infrastructure, e. g. , Hadoop or Map. Reduce? • Broader goal – A security/privacy platform allowing programmers to easily develop security/privacy applications? 33
Limitations • Physical attacks – Physical attacks are more difficult to launch, and do not scale • Vulnerabilities in TCB • Side-channel attacks 34
Discussion • Other applications? • Alternative approaches? 35
Homework • What do you think are the major challenges of deploying Trusted Computing/code attestation in the cloud? • What is the pros and cons of persistent trusted layer? (e. g. OS, hypervisor) • What is the pros and cons of on-demand secure environment? 36
Reading list • [Mc. Cune et. al. ] Flicker: Minimal TCB Code Execution • [Jonathan et. al. ] Trust. Visor: Efficient TCB Reduction and Attestation. • [Nuno Santos et. al. ] Policy-Sealed Data: A New Abstraction for Building Trusted Cloud Services • [Parno et. al. ] Memoir: Practical State Continuity for Protected Modules • [Elaine Shi et. al. ] BIND: A Fine-grained Attestation Service for Secure Distributed Systems. • [Stefan Berger et. al. ] v. TPM: Virtualizing the Trusted Platform Module. • [Schiffman et. al. ] Seeding Clouds with Trust Anchors 37