Context-aware System Service Call-oriented Symbolic Execution of Android Framework with Application to Exploit Generation
Android Framework is a layer of software that exists in every Android system managing resources of all Android apps. A vulnerability in Android Framework can lead to severe hacks, such as destroying user data and leaking private information. With tens of millions of Android devices unpatched due to...
Gespeichert in:
Hauptverfasser: | , , , , , , , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Android Framework is a layer of software that exists in every Android system
managing resources of all Android apps. A vulnerability in Android Framework
can lead to severe hacks, such as destroying user data and leaking private
information. With tens of millions of Android devices unpatched due to Android
fragmentation, vulnerabilities in Android Framework certainly attract attackers
to exploit them. So far, enormous manual effort is needed to craft such
exploits. To our knowledge, no research has been done on automatic generation
of exploits that take advantage of Android Framework vulnerabilities. We make a
first step towards this goal by applying symbolic execution of Android
Framework to finding bugs and generating exploits. Several challenges have been
raised by the task. (1) The information of an app flows to Android Framework in
multiple intricate steps, making it difficult to identify symbolic inputs. (2)
Android Framework has a complex initialization phase, which exacerbates the
state space explosion problem. (3) A straightforward design that builds the
symbolic executor as a layer inside the Android system will not work well: not
only does the implementation have to ensure the compatibility with the Android
system, but it needs to be maintained whenever Android gets updated. We present
novel ideas and techniques to resolve the challenges, and have built the first
system for symbolic execution of Android Framework. It fundamentally changes
the state of the art in exploit generation on the Android system, and has been
applied to constructing new techniques for finding vulnerabilities. |
---|---|
DOI: | 10.48550/arxiv.1611.00837 |