Dynamische Analyse von Android-Apps mit Hilfe des Reverse-Engineering-Toolkits Frida für forensische Untersuchungen

Yassine Abdelouahed

Kurzfassung

Android ist das am weitesten verbreitete Betriebssystem für mobile Geräte und liegt global auf dem ersten Platz. Auf diesen Geräten werden sensible Daten gespeichert. Diese Daten sollen strukturiert aufbereitet, analysiert und ausgewertet werden. Aufgrund des wachsenden Handymarkts werden Android-Applikationen ständig weiterentwickelt und geupdatet. Dies hat zur Folge, dass die führenden kommerziellen forensischen Tools wie Cellebrite mit diesen Veränderungen nicht Schritt halten und diese Daten nicht liefern können. Jedoch muss ein IT-Forensiker diese Daten extrahieren und ggf. dekodieren, um sie klassifizieren zu können. Hier kommen die verschiedenen Reverse-Engineering-Techniken wie statische und dynamische Analyse zum Einsatz. Die statische Analyse des Quellcodes ist in der Regel komplex und liefert unzureichende Ergebnisse. Dagegen hat die dynamische Analyse den Vorteil, dass nur die tatsächlich verwendeten Teile des Programmcodes analysiert werden. In dieser Arbeit wird die dynamische Analyse von Android-Applikationen mit dem Frida-Toolkit behandelt. Es wird gezeigt, wie auf diesem Toolkit aufbauend ein Programm zur Lösung eines bestehenden Problems beim Landeskriminalamt entwickelt wird. Obwohl sich die Analyse in dieser Arbeit auf den Telegram-Messenger konzentriert, kann diese Methodik für alle auf Android basierenden Apps eingesetzt werden.

Schlagwörter: Mobile Forensik, Reverse Engineering, Dynamische Analyse, Frida, Telegram

Abstract

Android is currently the most widespread operating system for mobile devices, and it is currently ranked first globally. Mobile devices are used to store sensitive data, which should be analyzed and evaluated in a structured manner. Due to the exponentially growing mobile phone market, Android applications are constantly being developed and improved upon. As a result, leading commercial forensic tools like Cellebrite are unable to match the pace of these changes and cannot deliver the necessary data. Nevertheless, an IT forensic analyst must be able to extract this data and, if required, decode it in order to be able to classify it. There are various reverse engineering techniques such as static and dynamic analysis that can be used to solve those problems. One of them is the static analysis of the source code, which is usually complex and gives insufficient results. In contrast, dynamic analysis has the advantage that only the parts of the program code that are currently in use are analyzed. This thesis deals with dynamic analysis of Android applications using the Frida Toolkit. In this thesis it will be illustrated how, based on this toolkit, a program that solves an existing problem in LKA can be developed. Although the analysis in this work focuses on Telegram Messenger, the methodology that is used here can be applied on all Android-based apps.

Keywords: Mobile Forensic, Reverse Engineering, Dynamic Analysis, Frida, Telegram