[ The Types Forum (announcements only),
     http://lists.seas.upenn.edu/mailman/listinfo/types-announce ]

Dear colleagues,

At AWS re:Invent 2025 in Las Vegas, we announced the AWS Nitro Isolation Engine 
[1, 2, 3], a formally verified enhancement to the AWS Nitro System that 
enforces isolation between virtual machines hosted on AWS's new Graviton5-based 
EC2 instances.

Nitro Isolation Engine represents a significant deployment of mechanized proof 
in production infrastructure, and we therefore wanted to bring this to the 
attention of the formal methods and programming languages communities. This 
work builds directly on decades of advances in interactive theorem proving, 
program verification, and programming languages theory, alongside landmark 
projects—such as, seL4 [4], CertiKOS [5], SeKVM [6], and many others—that were 
inspirations for this work.
What is Nitro Isolation Engine?
Nitro Isolation Engine is a small, trusted computing base written in Rust that 
sits beneath the AWS Nitro Hypervisor, providing a security isolation boundary 
between the hypervisor and guest virtual machines, and between co-tenanted 
guest virtual machines. The Nitro Isolation Engine controls the critical 
hardware features required for isolating customer workloads, primarily control 
of Stage Two translation tables.
The verification effort
Nitro Isolation Engine was designed with verification in mind from the first 
line of code. Nitro Isolation Engine is subject to AWS’s existing rigorous 
engineering practices, including the deployment of property-based-testing and 
lightweight formal methods, for example the Kani bounded model checker for Rust 
[7].

Building atop this foundation, we have specified and verified the correctness 
of Nitro Isolation Engine in Isabelle/HOL [8]. Our model and proofs consist of 
around 260,000 lines of machine-checked models and proofs. Specifically, we 
have proved:

  *   Functional correctness: Nitro Isolation Engine behaves as specified for 
all operations: virtual machine creation, memory mapping, instruction and data 
abort handling, and so on. As corollaries of our total verification style, we 
have also proven memory-safety, termination, and absence of runtime errors, 
providing our modelling assumptions are accurate.
  *   Confidentiality: We prove a noninterference-style property demonstrating 
the confidentiality of guest virtual machine states, formalized as 
indistinguishability preservation up-to permitted flows of declassified 
information out of a guest.
  *   Integrity: The integrity of guest virtual machine state is formalized as 
a safety property, showing that the private state of one virtual machine is 
unaffected by operations modifying another distinct virtual machine.
In addition, we have applied Iris [9] and Verus [10] to prove the correctness 
of the Nitro Isolation Engine’s concurrency primitives, including ticket locks, 
mutexes, and rendezvous barriers.

For functional verification, we defined μRust, a restricted subset of Rust 
expressive enough to write Nitro Isolation Engine but amenable to formal 
reasoning and embedded its semantics into Isabelle/HOL. Specifications are 
written in separation logic, and proofs proceed via weakest precondition 
calculus with custom automation. We have made our verification infrastructure 
open source as the AutoCorrode library [11] for Isabelle/HOL, which may be of 
independent interest.

Regards,
Automated Reasoning Group, AWS

[1]: 
https://urldefense.com/v3/__https://www.aboutamazon.com/news/aws/aws-graviton-5-cpu-amazon-ec2__;!!IBzWLUs!WFMgR7uzNXdIKtLVBjLs6mCoeRMP3C3rJAhx_TLHN3yA1HCiGnp6zqyUxqfQZpcjgN5qkhcXA0nFVJ43vhaV2u6hEobcjHk$
 
[2] : 
https://urldefense.com/v3/__https://www.youtube.com/watch?v=3Gt-30Fm38U__;!!IBzWLUs!WFMgR7uzNXdIKtLVBjLs6mCoeRMP3C3rJAhx_TLHN3yA1HCiGnp6zqyUxqfQZpcjgN5qkhcXA0nFVJ43vhaV2u6hZrhHvVs$
  
https://urldefense.com/v3/__https://www.youtube.com/watch?v=3Gt-30Fm38U__;!!IBzWLUs!WFMgR7uzNXdIKtLVBjLs6mCoeRMP3C3rJAhx_TLHN3yA1HCiGnp6zqyUxqfQZpcjgN5qkhcXA0nFVJ43vhaV2u6hZrhHvVs$
 
<https://urldefense.com/v3/__https://www.youtube.com/watch?v=3Gt-30Fm38U__;!!IBzWLUs!WFMgR7uzNXdIKtLVBjLs6mCoeRMP3C3rJAhx_TLHN3yA1HCiGnp6zqyUxqfQZpcjgN5qkhcXA0nFVJ43vhaV2u6hZrhHvVs$
 >
[3]: 
https://urldefense.com/v3/__https://www.youtube.com/watch?v=b0P55gHhG4g__;!!IBzWLUs!WFMgR7uzNXdIKtLVBjLs6mCoeRMP3C3rJAhx_TLHN3yA1HCiGnp6zqyUxqfQZpcjgN5qkhcXA0nFVJ43vhaV2u6hGGeL7T0$
 
[4]: 
https://urldefense.com/v3/__https://sel4.systems/__;!!IBzWLUs!WFMgR7uzNXdIKtLVBjLs6mCoeRMP3C3rJAhx_TLHN3yA1HCiGnp6zqyUxqfQZpcjgN5qkhcXA0nFVJ43vhaV2u6hu8XQA40$
 
[5]: 
https://urldefense.com/v3/__https://flint.cs.yale.edu/certikos/__;!!IBzWLUs!WFMgR7uzNXdIKtLVBjLs6mCoeRMP3C3rJAhx_TLHN3yA1HCiGnp6zqyUxqfQZpcjgN5qkhcXA0nFVJ43vhaV2u6hEnkH-mA$
 
[6]: 
https://urldefense.com/v3/__https://www.usenix.org/conference/usenixsecurity21/presentation/li-shih-wei__;!!IBzWLUs!WFMgR7uzNXdIKtLVBjLs6mCoeRMP3C3rJAhx_TLHN3yA1HCiGnp6zqyUxqfQZpcjgN5qkhcXA0nFVJ43vhaV2u6hvNoNgSY$
 
[7]: 
https://urldefense.com/v3/__https://github.com/model-checking/kani__;!!IBzWLUs!WFMgR7uzNXdIKtLVBjLs6mCoeRMP3C3rJAhx_TLHN3yA1HCiGnp6zqyUxqfQZpcjgN5qkhcXA0nFVJ43vhaV2u6hoCrbNCI$
 
[8]: 
https://urldefense.com/v3/__https://isabelle.in.tum.de/__;!!IBzWLUs!WFMgR7uzNXdIKtLVBjLs6mCoeRMP3C3rJAhx_TLHN3yA1HCiGnp6zqyUxqfQZpcjgN5qkhcXA0nFVJ43vhaV2u6hrZSjcw8$
 
[9]: 
https://urldefense.com/v3/__https://iris-project.org/__;!!IBzWLUs!WFMgR7uzNXdIKtLVBjLs6mCoeRMP3C3rJAhx_TLHN3yA1HCiGnp6zqyUxqfQZpcjgN5qkhcXA0nFVJ43vhaV2u6hn0WPe4Y$
 
[10]: 
https://urldefense.com/v3/__https://github.com/verus-lang/verus__;!!IBzWLUs!WFMgR7uzNXdIKtLVBjLs6mCoeRMP3C3rJAhx_TLHN3yA1HCiGnp6zqyUxqfQZpcjgN5qkhcXA0nFVJ43vhaV2u6hqnfdyqc$
 
[11]: 
https://urldefense.com/v3/__https://github.com/awslabs/AutoCorrode__;!!IBzWLUs!WFMgR7uzNXdIKtLVBjLs6mCoeRMP3C3rJAhx_TLHN3yA1HCiGnp6zqyUxqfQZpcjgN5qkhcXA0nFVJ43vhaV2u6hzMW76rw$
 


Reply via email to