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

Recommend


More recommend