Smartphone Security 20-00-0615-pr Stephan Heuser Projects Proposals in a Nutshell Rootkit for Android (1/2) Tasks: Setup environment to develop kernel modules for Android Implement known kernel rootkit techniques, e.g., Hide: Processes, kernel modules, network connections Sniff: User credentials, inter App communication, mobile data (SMS, conversations) Anti-Anti-Rookit techniques Required knowledge: Kernel programming C, ARM assembler Rootkit for Android (2/2) Variants: Userland rootkit Kernel rootkit Galaxy S5 kernel rootkit Anti-Rootkit for Android Tasks: Setup environment to develop kernel modules for Android Develop an integrity scanner, i.e., Plausibility of data structure Integrity of code Required knowledge: Kernel programming C, ARM assembler Remote Exploit against iOS 7.1.x Tasks: Setting up debugging infrastructure Understand necessary code/data structures Extend existing PoC exploit: Custom payload Bypass defense strategies (ASLR, NX) Required knowledge: Exploitation techniques Defense strategies Debugging C, ARM assembler Transparent data encryption Extend Android with a mechanism to transparently encrypt/decrypt data If possible, provide an implementation on top of the ASM framework Transparently encrypt / decrypt SMS messages exchanged between two Android emulators based on keys exchanged between contacts Implement a key Exchange mechanism via NFC or QR Codes. 7 Blue Pill / KeyLogger Develop malicious versions of the default Launcher and Keyboard app which are able to hide/re-link installed apps or log the user’s input, respectively Consider how security mechanisms like the “Home” button can be prevented or the user be tricked into “taking this blue pill” 8 Privacy Enhancements Develop Android privacy enhancements based on the Android Security Modules platform Security Modules for different use cases Access Control on individual contacts fields Location sensor information Images taken by the camera Configurable by the user and a central policy distribution point Enforcement is provided by the ASM platform 9 Context-dependent Access Control Develop Context-aware Android privacy enhancements based on the Android Security Modules platform The access control layer’s task is to observe a context parameter and determine, based on given criteria, whether the device is in a sensitive context or not. Integrate with one simple access control enforcement based on ASM (e.g. Contacts) 10 Dynamic Android App Analysis Develop a plugin-based architecture for Android app analysis Use the Android Security Modules Framework to monitor security-critical operations performed by apps Log whenever security-critical operations are performed in human-readable form Develop a user interface for analysts to interpret the logs. Ideally in real-time. 11 Reverse Engineering Environment Test and evaluate state of the art Android (and iOS?) reverse engineering open-source software Describe and select solutions Setup a virtual machine Install the solutions Integrate examples with documentation how to reverse-engineer and modify them 12 TrustZone support for the Android Emulator Extend the Android emulator with support for TrustZone Apply / Backport the QEMU TrustZone support patches to the Android emulator Boot the emulator into the secure world, configure emulated board Boot Android in the normal world Provide a simple mechanism for communication between the insecure and secure world Build a simple TrustZone application which communicates with the secure world (Hello World) ONLY choose this topic if you feel that you are up to the task! 13
© Copyright 2024