A static-partitioning separation kernel for AArch64/EL2, built so that its claims can be checked rather than believed.
The capstone of the metal build: the isolation thesis, live, composing the proven arcs into
non-interference. A control domain (dom0) spawns a no-net vault holding an un-forgeable secret and
a disposable (a CoW overlay on the shared RO template). The vault is a live modeled domain that
owns its secret but is not scheduled (only the disposable executes); its secret provably cannot reach the
disposable, and the disposable is destroyed clean leaving the vault + template pristine. “The audit IS the
arc” — the deliverable is docs/AUDIT-3-NON-INTERFERENCE.md, witnessed by this scenario. hv-core/
hv-hal untouched (this composes; no new isolation mechanism).
dom0 destroys the disposable through the proven teardown
(revoke_grants_to + free_all) — clean shell afterward, and a reborn disposable inherits no
reach to the vault (a p2m_link of the secret is refused Unauthorized).Not a new isolation mechanism — the scenario and the audit:
Hypervisor::dispatch (setup_thesis_model).V4ULTSEC is a FORBIDDEN_MARKER (it reaches the console only if the probe read it).finish_thesis_test): HV-side and exhaustive over the model’s ⇝
seams — no grant reaching either domain (any_grant_to), no event channel (no_evtchn_between), no
foreign page-table link (has_foreign_link_into), no control edge (controls) — ¬(vault ⇝ disposable).¬(b ⇝ a) ⟹ obs(a) unchanged) gives the conclusion. The headline (the disposable can’t read
the secret) is the confidentiality dual, demonstrated empirically; scoped honestly in Audit #3.| witness | marker |
|---|---|
| the disposable’s authorized write works; its probe read nothing | thesis: disposable wrote+read its own frame … obtained nothing |
| non-interference (empirical) | thesis non-interference OK: … probe of the vault secret -> translation fault |
| channel enumeration (exhaustive → Tier-D) | thesis channel enumeration: no grant, no event channel, no shared page-table link, no control edge … |
| reborn inherits nothing | thesis reborn OK: a reborn disposable could NOT link the vault's secret |
| the whole thesis | THESIS TEST PASSED — the vault's secret never reached the disposable … |
| the secret never crosses | FORBIDDEN_MARKERS absent: V4ULTSEC |
GuestMemory; the
disposable cannot guess or reach it). No dependency on real Linux — the thesis survives the
kernel-gated 5e capstone, which was the whole reason Linux was sequenced last.Hypervisor.