Android Internals: The Hacker's View -- Duration: 3 days
----------------------------------------------
Synopsis

This course takes a different approach to Android Internals - that of the adversary. The 3 day intense discussion covers the attack surface of Android: IPC using Binder and sockets, framework services, vendor daemons (in particular, Qualcom & Samsung Exynos) the kernel, and beyond. Through specially designed tools, we tear apart these aspects of Android in detail, looking through open sources - where possible - and reversing - where not.

Target Audience

Experienced Android Researchers. Knowledge of Android Internals, such as from having read Jonathan Levin's books (https://NewAndroidBook.com) is highly recommended.

This course is NOT intended for user mode developers who wish to develop GUI applications or use the Android Java SDKs.

Prerequisites

Solid background in Security. Knowledge of C/C++ vulnerabilities (Buffer Overflows, UaF, and other memory corruptions)

Objectives Exercises

This course allocates time for hands-on practice, and plenty of instructor led demos. The hands-on exercises include:

MODULES
Day 1
1. The Android Architecture & its security - 1-2 hours

Evaluating the Android Architecture, from an attacker's perspective

2. Android Security Architecture, Detailed - 3-4 hours

Android's security is comprised of several layers, with interrelations. These include:

Day 2
3. The Boot Process - 3 hours

System startup and initialization - Walk through the various stages, from boot loader through kernel startup to basic setup of user mode processes. We also describe the modification of the boot loaders, and discuss both rooting ("boot to root") and other compromise vectors of the Boot Process.

4. Android IPC - 5 hours

Android's IPC mechanism is based on Binder, with some UNIX domain sockets on the side. We detail the inner workings of Binder, including:

Exercises include: Debugging and Tracing Binder IPC
Day 3
5. Input as an attack vector - 1 hours

Android has a complex stack to manage various input sources, such as the touch screen, sensors, and external devices. This module traverses that stack, covering each layer in turn:

Exercises include: Injecting Events Monitoring and Capturing Input Events

6. Reversing ART - 1 hour

Since its inception as a "preview" in KitKat (4.4), ART has become the de facto standard for Android's application runtime. It has, however, changed with every version, up to and including 14:

7. Case Studies - various CVEs ( remaining time)

Frequently Asked Questions



------------------------------------------------

 Completed in 0.01s