to towards end to to en end tee ve verification with
play

To Towards End-to to-en end TEE Ve Verification with Keystone - PowerPoint PPT Presentation

To Towards End-to to-en end TEE Ve Verification with Keystone Shweta Shinde UC Berkeley TEEs reduce the Trusted Computing Base Web Other Server Apps Operating Enclave Systems RAM Ring 3 10 MLOC OS / Hypervisor CVEs in Linux


  1. To Towards End-to to-en end TEE Ve Verification with Keystone Shweta Shinde UC Berkeley

  2. TEEs reduce the Trusted Computing Base Web Other Server Apps Operating Enclave Systems RAM Ring 3 10 MLOC OS / Hypervisor CVEs in Linux [CVE-DB] Ring 0 - 2 Enclave Memory Hypervisor Trustworthy Trusted Hardware Untrusted 150 KLOC CVEs in Xen [CVE-DB] 2

  3. We strive for lower TCB for TEEs Makes them amenable to verification 3

  4. What is the estimated Keystone TCB? Untrusted U-mode Lower User process Enclave S-mode OS Privilege Keystone Runtime Hypervisor M-mode Security Monitor Root of Trust Higher Around 10 KLoC Trusted 4

  5. Can we do an end-to-end verification of TEEs? Eapp Logic Some Open Challenges Untrusted and enclave APIs • Verify-then-trust model SM, RT, SDK libraries • What is the TCB of this stack? Attestation • What are the specifications of each layer? Secure Boot • Under which threat model do the PMP spec and usage properties hold true? • Can the upper layer verify & trust the RISC-V chip components properties guaranteed by lower layers? SOC design & manufacturing 5

  6. Ongoing Verification Efforts for TEEs 6

  7. Keystone Design Makes Verification Easier • The modular design allows to reduce TCB per use-case • Each component has well-defined APIs and properties by design • Existing components can be independently verified • Benefit from existing verification efforts in the TEE space • Easy to verify new components before integration 7

  8. Keystone Design Makes Verification Easier • Three on-going efforts which demonstrate this: • Extending Trusted Abstract Platform (TAP) to Keystone : Formalization of idealized enclave platforms along with a parameterized adversary • BesFS : Mechanized Proof of a Iago-Safe Filesystem for Enclaves • Friscy : Formal verification PMP implementation and use in the security monitor PMP Implementation & Use Iago-Safe Filesytem API 8

  9. Ef Effort #1 BesFS: Mechanized Proof of a Iago- Safe Filesystem for Enclaves • Iago Attacks: “Manipulate system call return values for arbitrary computation at the malicious kernel’s behest” [ASPLOS’13] Transformation Enclave Original Haven / Scone / Application Application Asylo / Panoply/ Intel SGX SDK / Keystone Syscall Untrusted API API Ad-hoc Checks Benign OS Untrusted OS Best-effort 9

  10. Iago Attacks via the Filesystem API • (A1) File Content Manipulation Maps same page to multiple files/ parts of a file • • (A2) Paths & File Descriptor Mismatch Returns wrong file id, opens wrong file • • (A3) Size Mismatch Under or over write/reads • • (A4) Error Code Manipulation Returns success without doing the operation • Why do we need a verified file system interface? Because checks are incomplete 10

  11. BesFS State Properties • All the file and directory paths are unique, there are no circular paths in the file system • All open file IDs have to be registered in O • All open file IDs have unique entries • No overlaps between addresses & one-to-one mapping from virtual address to content • Current cursor position can only take values between 0 and EOF 11

  12. BesFS Transition Properties 12

  13. BesFS Proof • State Transition Safety . Given a good state S satisfying pre-conditions pre i , then if we execute f i to reach state Sʹ, then Sʹ is always a good state and relation between S and Sʹ is valid according to the transition relation τ i : • Sequential Composition Safety . Given a good initial state S 0 subject to a sequence of transitions τ m1 , . . . , τ mn always produces a good final state S n 13

  14. BesFS Summary of Results • TCB: 3676 LOC Coq, 1.5K LOC in C • Do Proofs Help in Eliminating Bugs? – Seek Specification Bug – Intel SGX SDK Bugs • if pos < size • enclave’s stack is corruption for large sizes – Write Implementation Bug – Error Code Bugs • Variable scope overlaps • 7 distinct functions where error codes were incorrect 14

  15. Effort #2 Extending Trusted Abstract Platform Ef (TAP) to Keystone • Prove secure remote execution for Keystone security monitor • SRE decomposed into separate proofs on integrity, confidentiality, and measurement • Proofs verified under various parameterizations of the adversary 15

  16. Effort #3 FRISCY: Formal Verification of PMP Ef Implementation & Use in the Security Monitor • Goal: Verify the Keystone memory isolation implementation in the SM • Extract the PMP Model from Rocket Chip SOC implementation • Prove PMP properties and use these properties to further check SM implementation SoC Configuration RISC-V RTL FIRRTL for PMP PMPChecker UCLID5 Model 16

  17. A long way to go until all the layers of the TEE are fully verified 17

  18. End-to-end Verified TEE Ecosystem Eapp Logic ü A well-defined adversary model, Untrusted and enclave APIs specifications of each layer, properties expected at the layer interfaces SM, RT, SDK libraries ü Standard way of composing and Attestation customizing components while retaining verification guarantees Secure Boot PMP spec and usage Let’s work together towards RISC-V chip components this grand vision! SOC design & manufacturing 18

  19. Thank You! Shweta Shinde shwetas@berkeley.edu 20

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend