title: Threats and Limitations of an ARM Trustzone-based Rootkit Attacking the Android Binder
Creators: name: Kiefmann, Raphael
Publisher: name: TU Wien
Year: 2024
Subjects: subject: Android Binder; Arm TrustZone; Reverse Engineering; Rootkit

description: Die Arm TrustZone ist eine hardwaregestützte Sicherheitserweiterung in Arm-basierten Prozessoren, die die Systemsicherheit verbessert, indem sie unter anderem das Speichern von sensitiven Daten und die Ausführung von sicherheitskritischem Code in einer secure world erlaubt.Im Vergleich zu einer normal world, können nur vorabbestimmte Akteure auf die Daten und Rechenleistung der secure world zugreifen.Im Jahr 2013, hat ein Forscher Ideen präsentiert, was ein böswilliger Angreifer erreichen könnte, falls die Möglichkeit besteht, ein Rootkit in die Arm TrustZone einzuschleusen.Code in einer secure world hat kompletten Zugriff auf die Ressourcen eines Systems und ein Angreifer könnte dadurch die Integrität eines Systems beschädigen.Nach unserem besten Wissen sind 8 Jahre zwischen der Idee eines Arm TrustZone Rootkits und einer ersten Implementierung vergangen.Die Implementierung hat gezeigt, dass ein Angreifer unter anderem die Möglichkeit hat, heimlich einem Prozess mehr Rechte zu ermöglichen.Diese Diplomarbeit setzt diese Arbeit fort.Im Zuge dieser Arbeit wird der Android Binder attackiert, der zentrale Inter-Prozess Kommunikation Mechanismus von Android.Dieser Mechanismus ist zentral für den Austausch von Daten zwischen Android Applikationen.Der Binder überträgt die sensibelsten Nutzereingaben, wie Passwörter und Bankdaten.Diese Daten mitzuschneiden, führt zu einer schweren Verletzung der Vertraulichkeit, und kann zu Geldverlust, Identitätsdiebstahl oder Erpressung führen.Diese Arbeit beschäftigt sich mit der Implementierung eines Arm TrustZone Rootkits für das Hikey 960 Entwicklungsboard.Der Hikey 960 wird mit Android, einer Linux-Distribution, betrieben.Zusätzlich beleuchtet diese Arbeit die notwendigen Schritte für das Design des Rootkits, Mechanismen zur Erkennung von Linux Kernel Strukturen sowie die Möglichkeiten und Einschränkungen von Arm TrustZone Rootkits.Da die Position von Linux Kernel Strukturen von der Wahl des Compilers und den applizierten Optimierungen abhängt, beschränkt sich die Implementierung auf eine kleine Auswahl von Linux Kerneln.Eine generische Lösung hätten den Rahmen dieser Arbeit gesprengt.
description: The Arm TrustZone is a hardware security extension in Arm-based processors that improves system security by allowing, e.g. to move sensitive data and security-critical computations to the secure world.Compared to the normal world, only a pre-defined set of actors can access data and computing power in a secure world.In 2013, a researcher presented ideas of what a malicious actor could accomplish by deploying a rootkit in the Arm TrustZone.Code in the secure world has access to all of a system's resources, and an attacker could potentially cause complete havoc.To the best of our knowledge, 8 years passed between the initial conception of the idea of an Arm TrustZone-based rootkit and the first implementation of an Arm TrustZone-based rootkit.The proof-of-concept has shown that an attacker would be able to covertly elevate privileges, among other things.This thesis continues this work, attacking a different component:the Android Binder, Android's main mechanism for inter-process communication.This mechanism is central to the data exchange between Android applications.The Binder transceives even the most sensitive data, such as passwords and banking data.Being able to intercept data undermines the confidentiality of user data, allowing to steal money, steal identities, or make users prone to blackmail.This thesis presents a proof-of-concept Arm TrustZone rootkit for the Hikey 960 development board.The Hikey 960 runs on Android, a Linux distribution.Alongside the proof-of-concept, this thesis provides the theory behind the design of such a rootkit, mechanisms to detect Linux kernel structures, such as functions, and a discussion of threats and limitations of Arm TrustZone-based rootkits.Due to the location of Linux kernel structures being dependent on the chosen compiler and selected optimisations, the proof-of-concept targets only a small set of Linux kernels.A generic solution exceeds the scope of this thesis.