Aster: Fixing the Android TEE Ecosystem with Arm CCA
Mark Kuhne, Supraja Sridhara, Andrin Bertschi, Nicolas Dutly, Srdjan Capkun, Shweta Shinde
TL;DR
The AndroidTEE landscape suffers from TrustZone’s overprivilege and insecure interfaces, enabling attacks that compromise Android and security services. The authors propose Aster, a sandboxed service framework that leverages Arm Confidential Computing Architecture to enforce mutual isolation among Android, the Realm World, and Secure World by using two memory views (GPTs) and RMM/Tf coordination. Aster implements SBSs in the Realm World, provides secure interfaces via shared memory and vetted IO, and relies on hardware attestation for SBS validation, achieving containment of compromised SBSes and protected interactions with Android apps. Evaluation on a simulator demonstrates feasibility and compatibility with existing Android services, with acceptable one-time boot overheads and tangible SBS-related costs, suggesting Aster as a practical design space for secure Android TEEs. Overall, Aster reframes the Android TEE security model around sandboxed realm-VM execution with hardware-assisted isolation and attestation, offering a path to stronger, verifiable security for security-sensitive Android services.
Abstract
The Android ecosystem relies on either TrustZone (e.g., OP-TEE, QTEE, Trusty) or trusted hypervisors (pKVM, Gunyah) to isolate security-sensitive services from malicious apps and Android bugs. TrustZone allows any secure world code to access the normal world that runs Android. Similarly, a trusted hypervisor has full access to Android running in one VM and security services in other VMs. In this paper, we motivate the need for mutual isolation, wherein Android, hypervisors, and the secure world are isolated from each other. Then, we propose a sandboxed service abstraction, such that a sandboxed execution cannot access any other sandbox, Android, hypervisor, or secure world memory. We present Aster which achieves these goals while ensuring that sandboxed execution can still communicate with Android to get inputs and provide outputs securely. Our main insight is to leverage the hardware isolation offered by Arm Confidential Computing Architecture (CCA). However, since CCA does not satisfy our sandboxing and mutual isolation requirements, Aster repurposes its hardware enforcement to meet its goals while addressing challenges such as secure interfaces, virtio, and protection against interrupts. We implement Aster to demonstrate its feasibility and assess its compatibility. We take three case studies, including one currently deployed on Android phones and insufficiently secured using a trusted hypervisor, to demonstrate that they can be protected by Aster.
