Abstract
Mobile systems, such as smartphones and tablets, incorporate a
diverse set of I/O devices, such as camera, audio devices, GPU, and
sensors. This in turn results in a large number of diverse and
customized device drivers running in the operating system kernel of
mobile systems. These device drivers contain various bugs and
vulnerabilities, making them a top target for kernel exploits.
Unfortunately, security analysts face important challenges in analyzing
these device drivers in order to find, understand, and patch
vulnerabilities. More specifically, using the state-of-the-art dynamic
analysis techniques such as interactive debugging, fuzzing, and
record-and-replay for analysis of these drivers is difficult,
inefficient, or even completely inaccessible depending on the
analysis.