Programmanalysen ermöglichen es uns festzustellen, ob ein Programm bestimmte Eigenschaften erfüllt. Zum Beispiel können sie genutzt werden, um zu prüfen, ob private Daten auf unseren Smartphones sicher bzw. nicht öffentlich einsehbar oder manipulierbar durch potenzielle Angreifer sind. Um sich auf Analysen verlassen zu können, müssen diese so effektiv und effizient wie möglich sein. Jedoch wurde teilweise schon bewiesen, dass die Konstruktion einer perfekten Analyse unentscheidbar ist. Daher wird die Konstruktion von effektiven und effizienten Programmanalysen seit Jahrzehnten stetig weiter erforscht.In dieser Arbeit präsentieren wir einen Ansatz (kooperative Analyse), mittels dessen existierende Analysen kombiniert werden können, um ihre komplementären Eigenschaften vorteilhaft zusammenzubringen. Außerdem präsentieren wir einen weiteren Ansatz, der es uns erlaubt (kooperative) Analysen automatisch zu evaluieren. Wir setzen beide Ansätze vielfältig im Bereich der Android Taint-Analyse ein.Letztendlich konnte aufgezeigt werden, dass das Zusammenbringen unterschiedlicher Lösungsansätze für diverse Analyseherausforderungen in kooperativen Analysen zu Verbesserungen gegenüber modernsten Programmanalyseansätzen führen kann. Zudem konnten diese Verbesserungen automatisch und reproduzierbar gemessen werden.
Bibliographic Metadata
- TitleCooperative Android App analysis / Felix Pauck ; advisors Prof. Dr. Heike Wehrheim, Prof. Dr. Eric Bodden
- Author
- Participants
- Published
- Description1 Online-Ressource (181 Seiten) : Diagramme
- Institutional NoteUniversität Paderborn, Dissertation, 2023
- AnnotationTag der Verteidigung: 24.03.2023
- Defended on2023-03-24
- LanguageEnglish
- Document TypesDissertation (PhD)
- URN
- DOI
- Social MediaShare
- Reference
- IIIF
Program analyses allow us to assess whether a program fulfills certain properties. For instance, they can be used to check whether private data on our smartphones is secure - not visible to the public or manipulable by potential adversaries. To rely on analyses, they must be as effective and efficient as possible. However, the construction of a perfect analysis has partially been proven to be undecidable. Therefore, the construction of effective and efficient program analyses has actively been researched for decades.In this thesis we present an approach (cooperative analysis) to combine existing analyses such that their complementary effects can be brought together beneficially. We further propose an approach that allows us to evaluate analyses (cooperative or not) automatically. We widely applied both approaches in the area of Android taint analysis.Finally, the thesis reveals that bringing together various solution approaches for different analysis challenges in cooperative analyses may lead to improvements over state-of-the-art standalone approaches. Furthermore, it is shown that these improvements can be measured automatically and in a reproducible fashion.
- The PDF-Document has been downloaded 43 times.