compositional verification of security properties for
play

Compositional Verification of Security Properties for Embedded - PowerPoint PPT Presentation

Compositional Verification of Security Properties for Embedded Execution Platforms Christoph Baumann , Oliver Schwarz , Mads Dam KTH Royal Institute of Technology, Stockholm, Sweden RISE.SICS, Kista, Sweden cbaumann@kth.se


  1. Compositional Verification of Security Properties for Embedded Execution Platforms Christoph Baumann ∗ , Oliver Schwarz ⋆ , Mads Dam ∗ ∗ KTH Royal Institute of Technology, Stockholm, Sweden ⋆ RISE.SICS, Kista, Sweden cbaumann@kth.se PROOFS, Taipei, 2017-09-29

  2. Low and High Level System Security Bugs Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 2 / 16

  3. Inter-guest communication (IGC) minimal COTS hypervisor for ARMv8: fixed #guests, fixed memory size cores and devices owned exclusively no device virtualization, except: GIC secure boot loader memory isolation through HW extensions & SMMUs communication only through pre-defined channels Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 3 / 16

  4. Inter-guest communication (IGC) minimal COTS hypervisor for ARMv8: fixed #guests, fixed memory size cores and devices owned exclusively no device virtualization, except: GIC secure boot loader memory isolation through HW extensions & SMMUs communication only through pre-defined channels Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 3 / 16

  5. Inter-guest communication (IGC) minimal COTS hypervisor for ARMv8: fixed #guests, fixed memory size cores and devices owned exclusively no device virtualization, except: GIC secure boot loader memory isolation through HW extensions & SMMUs communication only through pre-defined channels Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 3 / 16

  6. Goal: Bisimulation with Ideal Model R ⇔ ideal model: secure by construction bisimulation relation R : transfer information flow properties verification: focus on arbitrary guest steps here Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 4 / 16

  7. SoCs complex / formal verification expensive Decomposition: utilize HW-specific properties & features compositionality fixed communication channels Abstraction: lots of details irrelevant for security focus on communication hide internal state refine component models later Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 5 / 16

  8. SoCs complex / formal verification expensive Decomposition: utilize HW-specific properties & features compositionality fixed communication channels Abstraction: lots of details irrelevant for security focus on communication hide internal state refine component models later Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 5 / 16

  9. ARMv8 platform model Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 6 / 16

  10. ARMv8 platform model (S)MMU: active?, page table base, current translations, mem requests Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 6 / 16

  11. ARMv8 platform model (S)MMU: active?, page table base, current translations, mem requests Core: execution mode, some hypervisor registers relevant Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 6 / 16

  12. ARMv8 platform model (S)MMU: active?, page table base, current translations, mem requests Core: execution mode, some hypervisor registers relevant Device: mostly uninterpreted, DMA enabled?, track communication Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 6 / 16

  13. ARMv8 platform model (S)MMU: active?, page table base, current translations, mem requests Core: execution mode, some hypervisor registers relevant Device: mostly uninterpreted, DMA enabled?, track communication Memory: flat map of contents, received requests, forwarded I/O Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 6 / 16

  14. ARMv8 platform model (S)MMU: active?, page table base, current translations, mem requests Core: execution mode, some hypervisor registers relevant Device: mostly uninterpreted, DMA enabled?, track communication Memory: flat map of contents, received requests, forwarded I/O GIC: hypervisor-accessed registers, abstract interrupt state Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 6 / 16

  15. ARMv8 platform model (S)MMU: active?, page table base, current translations, mem requests Core: execution mode, some hypervisor registers relevant Device: mostly uninterpreted, DMA enabled?, track communication Memory: flat map of contents, received requests, forwarded I/O GIC: hypervisor-accessed registers, abstract interrupt state hypervisor: fine-grained LTS, communication with GIC Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 6 / 16

  16. Hypervisor LTS: IGC interrupt injection Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 7 / 16

  17. Hypervisor LTS: IGC interrupt injection Inject await cwait iwait deact rcv k C Inject Deact k A c h c e c e A r h r snd d k d c snd c c n C n k v v s s Deact entry inject check dwait snd D e a r c c v t Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 7 / 16

  18. Verification: Platform Invariants Component Constraints & HV configuration ⇒ Invariant Inv : Messages & interrupts: preserve guest separation Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 8 / 16

  19. Verification: Platform Invariants Component Constraints & HV configuration ⇒ Invariant Inv : Messages & interrupts: preserve guest separation Core: HV registers set up correctly, PC-safety in HV mode Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 8 / 16

  20. Verification: Platform Invariants Component Constraints & HV configuration ⇒ Invariant Inv : Messages & interrupts: preserve guest separation Core: HV registers set up correctly, PC-safety in HV mode (S)MMU: active after init, points to right page table Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 8 / 16

  21. Verification: Platform Invariants Component Constraints & HV configuration ⇒ Invariant Inv : Messages & interrupts: preserve guest separation Core: HV registers set up correctly, PC-safety in HV mode (S)MMU: active after init, points to right page table Device: inactive at boot Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 8 / 16

  22. Verification: Platform Invariants Component Constraints & HV configuration ⇒ Invariant Inv : Messages & interrupts: preserve guest separation Core: HV registers set up correctly, PC-safety in HV mode (S)MMU: active after init, points to right page table Device: inactive at boot Memory: correct page tables set up Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 8 / 16

  23. Verification: Platform Invariants Component Constraints & HV configuration ⇒ Invariant Inv : Messages & interrupts: preserve guest separation Core: HV registers set up correctly, PC-safety in HV mode (S)MMU: active after init, points to right page table Device: inactive at boot Memory: correct page tables set up GIC: correct distributor configuration Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 8 / 16

  24. Verification: Ideal Model ideal core: HV invisible / atomic hypercall semantics Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 9 / 16

  25. Verification: Ideal Model ideal core: HV invisible / atomic hypercall semantics buffer for outgoing IGC notification interrupts Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 9 / 16

  26. Verification: Ideal Model ideal core: HV invisible / atomic hypercall semantics buffer for outgoing IGC notification interrupts IGC shared memory duplicated and copied on write Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 9 / 16

  27. Verification: Ideal Model ideal core: HV invisible / atomic hypercall semantics buffer for outgoing IGC notification interrupts IGC shared memory duplicated and copied on write ideal GIC: interrupt separation by construction Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 9 / 16

  28. Verification: Ideal Model ideal core: HV invisible / atomic hypercall semantics buffer for outgoing IGC notification interrupts IGC shared memory duplicated and copied on write ideal GIC: interrupt separation by construction message buffers as placeholders for (S)MMUs Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 9 / 16

  29. Verification: Ideal Model ideal core: HV invisible / atomic hypercall semantics buffer for outgoing IGC notification interrupts IGC shared memory duplicated and copied on write ideal GIC: interrupt separation by construction message buffers as placeholders for (S)MMUs memory: only guest portion, intermediate physical addresses Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 9 / 16

  30. Verification: Bisimulation Theorem ⇓ R R Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 10 / 16

  31. Verification: Bisimulation Theorem ⇓ R R Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 10 / 16

  32. Verification: Bisimulation Theorem ⇑ R R Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 10 / 16

  33. Verification: Bisimulation Theorem ⇑ R R Baumann, Schwarz, Dam Compositional Platform Verification PROOFS 2017 10 / 16

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