Published August 16, 2022 | Version 1.0
Software Open

Machine Independent Language formalization and tools

  • 1. KTH Royal Institute of Technology

Description

The Machine Independent Language (MIL) captures microarchitectural features such as out-of-order execution. MIL can be used as a form of abstract microcode language, e.g., as a target language for translating Instruction Set Architecture (ISA) instructions, and for reasoning about microarchitectural features that may cause unwanted information flows, e.g., side channels leaking secret information.


We formalize MIL in the HOL4 theorem prover. The formalization includes the in-order and out-of-order dynamic semantics of MIL, a proof of memory consistency between the two semantics, and a notion of conditional noninterference that rules out trace driven cache-based side channels. We verify functions for executing MIL programs and then refine them to the CakeML language, yielding trustworthy MIL analysis tools both inside and outside HOL4. We devised a semi-automated reasoning strategy for conditional noninterference, which we apply to verify confidentiality of several MIL programs.

Files

report.pdf

Files (573.0 kB)

Name Size Download all
md5:962502353c9e3dfeb6dc6bf699f500ad
230.9 kB Download
md5:20b2d3edb2269a03596e2505b8eab234
342.1 kB Preview Download

Additional details

Related works