Heaps'n Leaks: How Heap Snapshots Improve Android Taint Analysis
Zusammenfassung
The assessment of information flows is an essential part of analyzing Android apps, and is frequently supported by static taint analysis. Its precision, however, can suffer from the analysis not being able to precisely determine what elements a pointer can (and cannot) point to. Recent advances in static analysis suggest that incorporating dynamic heap snapshots, taken at one point at runtime, can significantly improve general static analysis. In this paper, we investigate to what extent this also holds for taint analysis, and how various design decisions, such as when and how many snapshots are collected during execution, and how exactly they are used, impact soundness and precision. We have extended FlowDroid to incorporate heap snapshots, yielding our prototype Heapster, and evaluated it on DroidMacroBench, a novel benchmark comprising real-world Android apps that we also make available as an artifact. The results show (1) the use of heap snapshots lowers analysis time and memory consumption while increasing precision; (2) a very good trade-off between precision and recall is achieved by a mixed mode in which the analysis falls back to static points-to relations for objects for which no dynamic data was recorded; and (3) while a single heap snapshot (ideally taken at the end of the execution) suffices to improve performance and precision, a better trade-off can be obtained by using multiple snapshots.
- Vollständige Referenz
- BibTeX
Benz, M., Kristensen, E. K., Luo, L., Borges Jr., N. P., Bodden, E. & Zeller, A.,
(2021).
Heaps'n Leaks: How Heap Snapshots Improve Android Taint Analysis.
In:
Koziolek, A., Schaefer, I. & Seidl, C.
(Hrsg.),
Software Engineering 2021.
Bonn:
Gesellschaft für Informatik e.V..
(S. 23-26).
DOI: 10.18420/SE2021_02
@inproceedings{mci/Benz2021,
author = {Benz, Manuel AND Kristensen, Erik Krogh AND Luo, Linghui AND Borges Jr., Nataniel P. AND Bodden, Eric AND Zeller, Andreas},
title = {Heaps'n Leaks: How Heap Snapshots Improve Android Taint Analysis},
booktitle = {Software Engineering 2021},
year = {2021},
editor = {Koziolek, Anne AND Schaefer, Ina AND Seidl, Christoph} ,
pages = { 23-26 } ,
doi = { 10.18420/SE2021_02 },
publisher = {Gesellschaft für Informatik e.V.},
address = {Bonn}
}
author = {Benz, Manuel AND Kristensen, Erik Krogh AND Luo, Linghui AND Borges Jr., Nataniel P. AND Bodden, Eric AND Zeller, Andreas},
title = {Heaps'n Leaks: How Heap Snapshots Improve Android Taint Analysis},
booktitle = {Software Engineering 2021},
year = {2021},
editor = {Koziolek, Anne AND Schaefer, Ina AND Seidl, Christoph} ,
pages = { 23-26 } ,
doi = { 10.18420/SE2021_02 },
publisher = {Gesellschaft für Informatik e.V.},
address = {Bonn}
}
Sollte hier kein Volltext (PDF) verlinkt sein, dann kann es sein, dass dieser aus verschiedenen Gruenden (z.B. Lizenzen oder Copyright) nur in einer anderen Digital Library verfuegbar ist. Versuchen Sie in diesem Fall einen Zugriff ueber die verlinkte DOI: 10.18420/SE2021_02
Haben Sie fehlerhafte Angaben entdeckt? Sagen Sie uns Bescheid: Feedback abschicken
Mehr Information
DOI: 10.18420/SE2021_02
ISBN: 978-3-88579-704-3
ISSN: 1617-5468
Datum: 2021
Sprache:
(en)
(en)
Typ: Text/ConferencePaper

