Login | Register

Emulating Android Device Drivers via Replicated Execution Context

Title:

Emulating Android Device Drivers via Replicated Execution Context

Le Blanc, Alex (2023) Emulating Android Device Drivers via Replicated Execution Context. Masters thesis, Concordia University.

[thumbnail of LeBlanc_MASc_S2024.pdf]
Text (application/pdf)
LeBlanc_MASc_S2024.pdf - Accepted Version
Restricted to Repository staff only until 31 December 2024.
Available under License Spectrum Terms of Access.
812kB

Abstract

The Android operating system is characterized by the many variants of its kernel, each variant being specific to the manufacturer and the hardware it is running on. At scale, this makes emulating these kernels highly challenging, as existing emulators implement only a handful of hardware boards, and extending them is impractical due to the plethora of devices in existence today. Inability to emulate Android kernels means that dynamic analysis, which can be very effective in finding security vulnerabilities, is only possible on the device itself. This not only makes such analysis more expensive, as one needs to purchase physical copies of the device, but it also limits its usefulness, as some techniques require fine-grained monitoring of the internal state, which can only be achieved in an emulated environment.

In this thesis, we present LiLi, a framework that allows security analysts to emulate selected bug-prone parts of an Android kernel. This limits the number of hardware peripherals that we need to deal with, and also allows for a more targeted analysis. It takes advantage of the fact that the Android OS is based on Linux, whose default configuration is supported by existing emulators. LiLi executes a modified stock Linux kernel within an emulator, wraps and injects the Android kernel under test into the same memory space, connects the two kernels, and successfully redirects execution to any portion of the Android kernel, while providing it a valid execution context.

We evaluate our approach by further extending LiLi with coverage-based fuzzing and testing 57 Android device drivers from ten different Android kernels, from a total of four vendors. For 40\% of the drivers, LiLi is able to successfully restore a valid execution context and enable correct emulation. Using LiLi, we were able to discover 4 zero-day vulnerabilities (2 of which are high-severity) which were confirmed by the Google security team and were awarded bounties totaling 6,000 USD.

Divisions:Concordia University > Gina Cody School of Engineering and Computer Science > Concordia Institute for Information Systems Engineering
Item Type:Thesis (Masters)
Authors:Le Blanc, Alex
Institution:Concordia University
Degree Name:M.A. Sc.
Program:Information Systems Security
Date:28 November 2023
Thesis Supervisor(s):Pustogarov, Ivan
ID Code:993286
Deposited By: Alex Le Blanc
Deposited On:05 Jun 2024 16:17
Last Modified:05 Jun 2024 16:17
All items in Spectrum are protected by copyright, with all rights reserved. The use of items is governed by Spectrum's terms of access.

Repository Staff Only: item control page

Downloads per month over past year

Research related to the current document (at the CORE website)
- Research related to the current document (at the CORE website)
Back to top Back to top