Stagelopen en afstuderen bij Securify.

Ontwikkel een tool om geautomatiseerd functies in een Android app (APK) te hooken

Inleiding:

In ‘black-box’ beveiligingsonderzoeken van Android apps is Securify regelmatig genoodzaakt om verschillende functies binnen de App te hooken. Bijvoorbeeld om specifieke security controls uit te schakelen (patchen) of om specifieke operaties te detecteren en loggen. Denk hierbij aan het opslaan, versturen of versleutelen van gegevens.

In de huidige workflow wordt een APK handmatig uitgepakt en worden de individuele class-bestanden omgezet naar leesbare code (decompiling). Vervolgens worden de benodigde functies gepatcht en wordt er een nieuwe app (APK) van de gepatchte code gemaakt.

Opdrachtomschrijving:

Ontwikkel een tool die geautomatiseerd een APK kan decompileren, kan hooken/patchen op specifieke punten om deze vervolgens weer weg te schrijven naar een nieuwe werkende app (APK).

Onderzoeksvraag:

Wat zijn de voor- en nadelen van het geautomatiseerd patchen van Android APKs?

Eisen/wensen (werkwijze):

1.   Voer een korte literatuurstudie en interviews uit om een beeld te krijgen van de huidige situatie en bestaande oplossingen.
2.   Schrijf een simpele app en maak gebruik van het Xposed framework voor het maken van hooks.
3.   Beschrijf en ontwikkel een parser die functies in een APK kan patchen en hier weer een werkende APK van maakt.
4.   Integreer dit proces zover mogelijk in de huidige workflow en beschrijf de bevindingen en uitkomsten van jouw ervaring.

Keywords: Android App Security, reverse engineering, decompiling, Method Hooking

Work with us →