Not To Be Trusted - A Fiasco in Android TEEs
We present novel insights into the current state of TEE security on Android focusing on two widespread issues: missing TA rollback protection and a type confusion bug arising from the GlobalPlatform TEE Internal Core API specification. Our results demonstrate that these issues are so widespread that on most devices, attackers with code execution at N-EL1 (kernel) have a buffet of n-days to choose from to achieve code execution at S-EL0 (TA).
Further, we demonstrate how these issues can be weaponized to fully compromise an Android device. We discuss how we exploit CVE-2023-32835, a type confusion bug in the keyinstall TA, on a fully updated Xiaomi Redmi Note 11. While the keyinstall TA shipped in the newest firmware version is not vulnerable anymore, the vulnerability remains triggerable due to missing rollback protections.
To further demonstrate how powerful code execution as a TA is, we'll exploit a vulnerability in the BeanPod TEE (used on Xiaomi Mediatek SoCs), to achieve code execution at S-EL3. Full privilege escalations in the TEE are rarely seen on stage, and we are targeting the BeanPod TEE which is based on the Fiasco micro kernel. This target has never been publicly exploited, to the best of our knowledge.
Our work empowers security researchers by demonstrating how to regain control over vendor-locked TEEs, enabling deeper analysis of critical security mechanisms like mobile payments, DRM, and biometric authentication.
Speakers of this event
0ddc0de
Marcel's current research focus is mobile security with a special interest in Android TEEs and fuzzing. He regularly presents his academic work at industry-facing conferences like blackalps and hardwear.io, and gives trainings on mobile TEEs. Outside of work, Marcel enjoys solving CTF challenges and captured flags with FAUST, Shellphish, p0lygl0ts, and the 0rganizers.
- Not To Be Trusted - A Fiasco in Android TEEs
gannimo
gannimo has been around for a while, focusing on exploring the limits of mitigations and fuzzing diverse software stacks from embedded systems to browsers. Check out his homepage for more: https://nebelwelt.net
Philipp
Doktorand an der EPFL.
- Not To Be Trusted - A Fiasco in Android TEEs