NanoZone: Scalable, Efficient, and Secure Memory Protection for Arm CCA
Arm Confidential Compute Architecture (CCA) provides hardware primitives for confidential computing, but its standard CVM-based deployment model still isolates software only at the VM granularity. This leaves two critical gaps: the guest OS remains in the Trusted Computing Base, and applications lack any intra-process isolation boundary, exposing secrets to vulnerabilities such as Heartbleed. While intra-address-space isolation offers a theoretical solution, realizing it under an adversarial OS faces a fundamental scalability-efficiency trade-off: existing hardware primitives are either strictly limited in domain capacity or incur prohibitive privileged-switching latency. To bridge this gap, we propose NanoZone, a novel isolation architecture built on Arm CCA primitives. Rather than extending the realm-world software stack, NanoZone protects normal-world processes and enforces fine-grained intra-process isolation from a minimal root-world monitor. NanoZone unifies the speed of user-space permission switching with the capacity of physical address space isolation to achieve effectively unlimited domain scalability. To mask the latency of privileged transitions, it employs a locality-aware scheduling policy that maximizes execution residency within the fast user-level tier. To defeat an adversarial OS, NanoZone anchors its root of trust in the root world, offloading critical isolation enforcement away from the untrusted kernel. Against intra-process adversaries, it further leverages hardware-assisted Code-Pointer Integrity (CPI) to prevent domain-switching abuse. We prototyped NanoZone on Arm's official emulator and on physical hardware. Evaluation on real-world server applications shows that, compared to process-level isolation systems, our fine-grained protection preserves about 95% of their throughput.