VMSL: A Separation Logic for Mechanised Robust Safety of Virtual Machines Communicating above FF-A


Zongyuan Liu, Sergei Stepanenko, Jean Pichon-Pharabod, Amin Timany, Aslan Askarov, and Lars Birkedal: VMSL: A Separation Logic for Mechanised Robust Safety of Virtual Machines Communicating above FF-A. In PLDI 2023, June 2023. https://doi.org/10.1145/3591279
Journal Paper
Abstract.

Thin hypervisors make it possible to isolate key security components like keychains, fingerprint readers, and digital wallets from the easily-compromised operating system. To work together, virtual machines running on top of the hypervisor can make hypercalls to the hypervisor to share pages between each other in a controlled way. However, the design of such hypercall ABIs remains a delicate balancing task between conflicting needs for expressivity, performance, and security. In particular, it raises the question of what makes the specification of a hypervisor, and of its hypercall ABIs, good enough for the virtual machines. In this paper, we validate the expressivity and security of the design of the hypercall ABIs of Arm's FF-A. We formalise a substantial fragment of FF-A as a machine with a simplified ISA in which hypercalls are steps of the machine. We then develop VMSL, a novel separation logic, which we prove sound with respect to the machine execution model, and use it to reason modularly about virtual machines which communicate through the hypercall ABIs, demonstrating the hypercall ABIs' expressivity. Moreover, we use the logic to prove robust safety of communicating virtual machines, that is, the guarantee that even if some of the virtual machines are compromised and execute unknown code, they cannot break the safety properties of other virtual machines running known code. This demonstrates the intended security guarantees of the hypercall ABIs. All the results in the paper have been formalised in Coq using the Iris framework.

The bibtex source for this publication:
@article{DBLP:journals/pacmpl/LiuSPTAB23,
 author = {Zongyuan Liu and
  Sergei Stepanenko and
  Jean Pichon{-}Pharabod and
  Amin Timany and
  Aslan Askarov and
  Lars Birkedal},
 title = {{VMSL:} {A} Separation Logic for Mechanised Robust Safety of Virtual
  Machines Communicating above {FF-A}},
 journal = {Proc. {ACM} Program. Lang.},
 volume = {7},
 number = {{PLDI}},
 pages = {1438--1462},
 year = {2023},
 url = {https://doi.org/10.1145/3591279},
 doi = {10.1145/3591279},
 timestamp = {Mon, 28 Aug 2023 17:23:09 +0200},
 biburl = {https://dblp.org/rec/journals/pacmpl/LiuSPTAB23.bib},
 bibsource = {dblp computer science bibliography, https://dblp.org}
 }