Presentation is loading. Please wait.

Presentation is loading. Please wait.

TRANSFORMATION HARDWARE SYSTEM ARCHITECTURES SVA Binary translation and emulation Formal methods Hardware support for isolation Dealing with malicious.

Similar presentations


Presentation on theme: "TRANSFORMATION HARDWARE SYSTEM ARCHITECTURES SVA Binary translation and emulation Formal methods Hardware support for isolation Dealing with malicious."— Presentation transcript:

1 TRANSFORMATION HARDWARE SYSTEM ARCHITECTURES SVA Binary translation and emulation Formal methods Hardware support for isolation Dealing with malicious hardware Cryptographic secure computation Data-centric security Secure browser appliance Secure servers WEB-BASED ARCHITECTURES e.g., Enforce properties on a malicious OS e.g., Prevent data exfiltration e.g., Enable complex distributed systems, with resilience to hostile OS’s

2 Mohit Tiwari, UC Berkeley with Krste Asanović, Dawn Song, Petros Maniatis, Prashanth Mohan, Christoforos Papamanthou, Elaine Shi, Emil Stefanov, Nguyen Tran Platform for Private Data

3 The Age of Big Data Plentiful, and Private

4 Rich Applications

5 Privacy breaches Vulnerable software (Un) Intentional Misuse Insider Attacks

6 Ideal: Privacy Preserving Cloud End User Developer privacy evidence privacy policy API App Cloud provider

7 Challenge #1 Untrusted applications own users’ data. End User Developer API Cloud provider

8 Challenge #2 Novice Users

9 PPD: Platform for Private Data End User Developer privacy evidence privacy policy API App PPD Cloud provider App private data vault sealed container

10 Outline of this talk PPD: Platform for Private Data PPD Architecture PPD Prototype and Evaluation

11 PPD Insights Co-design UI and System software – User decisions are intuitive (“share doc with Bob”) – System manages untrusted apps and private data Developer API – Per-user functionality v. Cross-user Optimizations Privacy: Data owners’ access control policy – Apps ‘see’ data only in sealed containers

12 PPD Applications user initiated sharing

13 End-User Hardware with TPM PPD Cloud Provider Untrusted Storage Trusted User Interface Protected Channel ACLs idorw A.taxAAA PPD Architecture: Users

14 Application Container App Untrusted Application End-User Developer Hardware with TPM PPD Cloud Provider PPD Controller and ACL Manager Cleartext data Untrusted Storage Trusted User Interface PPD Architecture: Applications

15 App Untrusted Application End-Users Developers Hardware with TPM PPD Cloud Provider PPD Controller and ACL Manager Dedup, Caching, Replication,… PPD Storage Proxy App Storage Container Integrity check Untrusted Storage Trusted User Interface PPD Architecture: Storage

16 PPD Timeline #1: User attests Client User Client Cloud Server TPM.send(hw id) Attest(code) Trusted PPD Server Response (result) Separation kernel on client checked sitekey Client attested Alice

17 PPD Timeline #2: User launches App User Client Cloud Server Alice Launch trusted UI Authentication Trusted PPD Kernel PPD UI, Control App Container Launch application Trusted Kernel PPD UI, Control App Container App communication

18 User and Developer Interface User creates data – personal by default and decides who to share it with PPD System provides trusted UI to user – User conveys change of ACLs to PPD Developers can request – Application Containers: per-user, per-data-capsule – Storage Containers: per-application, per-system

19 Outline of this talk PPD: Platform for Private Data PPD Architecture PPD Prototype and Evaluation

20 PPD Building Blocks Data capsules – Capsule inferred based on user actions – E.g. “tax documents”, “thanksgiving album” – System assigns ACL as private by default Protected Containers – Linux containers (LXC), Copy-on-write FS (UnionFS). – Stops all explicit communication, except channels. – Hardware side channels, timing leaks out of scope

21 PPD Building Blocks Protected Channels – iptables firewall rules for LXC containers – Encryption, integrity-checking (TLS/SSL for network) – Trusted Channel from User to PPD to change ACLs Storage Proxies – Key-value proxy: put, get, and setACL interface – File-system proxy: fuse-based layer on key-val proxy

22 PPD Building Blocks PPD Controller – manages containers and channels – dynamically creates containers based on user or application requests – assigns iptable rules for all containers Remote Attestation – Intel TXT, TPM v1.2 – attest correct PPD code on untrusted machines

23 PPD Applications Friendshare: online storage with de- duplication (like Dropbox) Git: repository version control server Etherpad: online, collaborative editing (like Google Docs)

24 PPD Prototype TLS Proxy Ether Pad Controller ACL Store K/V ProxyFS Proxy DeDup Secure Block Device Storage Friend Share TPM Chip (Remote Attestation) LXC Containers ACL changes Linux Kernel IPTables Application Layer Storage Layer End Users

25 Writing & Porting Apps for PPD Scripts to install and configure apps in containers Application v. Storage containers – Friendshare Application: Scan directories, chunk files, change ACL Storage: De-duplication – Git, Etherpad Application: entire functionality

26 PPD Application Performance Minimal effect on Friendshare throughput Small Requests: 10 filenames Big Requests: 10KB images

27 PPD Application Performance Minimal effect on Friendshare latency

28 Current and Future Work Applications – medical applications, business data analytics Client-side PPD on Android – light-weight containers and channels on Nexus S Application initiated sharing – differential privacy

29 Related Approaches PPD v. DIFC – PPD does not do fine-grained sharing – Constrained containers: simple, yet most benefits of fine- grained information flow tracking. – Developer API: reduce run-time exceptions PPD v. Capabilities – Can be used to implement containers and channels – Re-write legacy applications PPD v. Android Security – Static, Coarse-grained permissions – User does not own data

30 Summary PPD: New Data-Centric Cloud Platform – user controlled sharing – rich, mostly legacy applications PPD Architecture – untrusted application and storage components PPD Prototype and Evaluation – small performance and porting cost

31 The PPD Team

32 Conclusion End User Developer privacy evidence privacy policy API App PPD Cloud provider

33 Backups

34 PPD Evaluation: Etherpad

35 PPD Evaluation: Git


Download ppt "TRANSFORMATION HARDWARE SYSTEM ARCHITECTURES SVA Binary translation and emulation Formal methods Hardware support for isolation Dealing with malicious."

Similar presentations


Ads by Google