Die Konferenz für
sichere Software- und Webentwicklung
Heidelberg, Print Media Academy, 16.-18. Oktober 2018

heise devSec 2018 » Programm »

// Effektives Reverse Engineering am Beispiel von Android-Applikationen

Obfuskation von Software ist ein gern eingesetztes Verfahren in aktueller Software, um beispielsweise geistiges Eigentum zu schützen. Auf der anderen Seite wird dieses Verfahren oft in maliziöser Software eingesetzt, um das schadhafte Verhalten so lange wie möglich zu verbergen.

Solche Maßnahmen erhöhen zwar generell den Aufwand für eine manuelle oder automatische Analyse, jedoch zeigt dieser Vortrag, wie man mit aktuellen Werkzeugen aus der Forschung in der Lage ist, obfuskierte Programme dennoch und oft binnen weniger Minuten wieder in erheblichem Maße zu deobfuskieren – und dies vollautomatisch. Dies wird am Beispiel von Android-Applikationen erklärt, ist aber auch auf andere Plattformen anwendbar.

Vorkenntnisse
Wissen über Java-Programmierung und Reflection sowie dynamisches Klassenladen wird vorausgesetzt; Kenntnisse in der Android App-Programmierung sind hilfreich.

Lernziele
Teilnehmer werden unterschiedliche Obfuksierungstechniken am Beispiel von Android-Applikationen kennen lernen. Außerdem erfahren sie, welche Flexibilität und welch hohen Automatisierungsgrad gängige Werkzeuge zum Reverse Engineering bieten. Teilnehmer sollen zudem verstehen, dass Obfuskierung das Reverse Engineering generell zwar erschwert, im Lichte aktueller Werkzeuge jedoch oftmals nur marginal, und dass Obfuskierung somit nicht als Security-Maßnahme gesehen werden sollte.

// Siegfried Rasthofer Siegfried Rasthofer

ist Leiter der Abteilung Secure Software Engineering am Fraunhofer-Institut für Sichere Informationstechnologie (Fraunhofer SIT). Er ist der Gründer des Reverse-Engineering-Tools CodeInspect und der TeamSIK-Hacking-Gruppe. Die meisten seiner Forschungen sind auf akademischen Konferenzen sowie auf Industrieveranstaltungen wie DEF CON, BlackHat, HiTB, AVAR oder VirusBulletin veröffentlicht.