Privacy Enhancing Technologies Lecture 5 Trusted Computing Elaine

  • Slides: 37
Download presentation
Privacy Enhancing Technologies Lecture 5 Trusted Computing Elaine Shi 1

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

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 & TPM 3

Trusted Computing Group • Founded in 1999, evolved since then • Core members –

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

Ø 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

Ø 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

Ø 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

Whole-system, Load-time attestation IMA [Sailer et. al. ] 8

9

9

10

10

11

11

12

12

Pros and Cons -Hash may be difficult to verify § Heterogeneous software versions and

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. ]

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)

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

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. ‘

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

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 ‘

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

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.

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

… App OS Module RAM CPU 22

Must be unforgeable Late Launch Flicker S the log to Alice? How can we

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

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

Late Launch Flicker S Inputs Outputs 25

Attestation random # Trustworthy! ✓ Guarantees freshness Guarantees real TPM John Hancock John. Guarantees

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],

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

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

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.

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

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

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

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

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

Discussion • Other applications? • Alternative approaches? 35

Homework • What do you think are the major challenges of deploying Trusted Computing/code

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 •

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