Eingabe löschen

Kopfbereich

Schnellnavigation

Hauptnavigation

Bachelorarbeit: Verwundbare Android App für Mobile Penetration Testing Training

Sicherheitslücken finden als Training

Die Informatik-Absolventen Benjamin Heusser und Savin Niederer haben als Bachelorarbeit eine E-Banking-App entwickelt und dabei bewusst Schwachstellen integriert. Die App soll Auszubildenden in der IT-Sicherheit zu Trainingszwecken dienen.

Um Softwareingenieure und Security-Tester auszubilden, sind möglichst realitätsnahe Trainingsumgebungen besonders wichtig. Dazu werden verwundbare Softwaresysteme eingesetzt, sprich Systeme mit bewusst integrierten Schwachstellen. Die Auszubildenden müssen diese Sicherheitslücken dann aufspüren. Eine solche realistische App für Trainingszwecke haben Benjamin Heusser und Savin Nieder im Rahmen ihrer Bachelorarbeit entwickelt. Und das aus gutem Grund: «Im Bereich der mobilen Android Apps existieren derzeit noch keine befriedigenden, öffentlich verfügbaren Lösungen für solche Trainings», sagt Dozent Marc Rennhard, der die Arbeit am Institut für angewandte Informationstechnologie (InIT) betreut hat. 

Schwachstellen realistisch verpacken

In einem ersten Schritt haben die beiden Absolventen verschiedene Szenarien aufgestellt, die als Basis für die verwundbare App dienen könnten. «Apps werden heute in vielen Bereichen des täglichen Lebens eingesetzt – vom Messenger bis zum E-Shopping», so Savin Niederer. Der Entscheid fiel schliesslich auf ein E-Banking-Szenario. Benjamin Heusser erklärt warum: «Diese Anwendung ist einerseits weit verbreitet und andererseits bietet sie uns vielfältige Möglichkeiten, die Schwachstellen auf realistische Art und Weise zu verpacken.» Also haben sich die Absolventen im nächsten Schritt daran gemacht, eine Banking-App samt zugehöriger Serverkomponente zu konzipieren und zu programmieren – als verwundbares System wohlgemerkt.

«Wir haben insgesamt über 20 Schwachstellen programmiert.»

Benjamin Heusser

Eine App zum Trainieren

Als Grundlage für die Konzeption der verwundbaren App haben Benjamin Heusser und Savin Niederer eine umfassende Liste von typischen Schwachstellen, die in Android Apps auftreten können, ausgearbeitet. «Auf dieser Basis haben wir anschliessend innerhalb der App und im Rahmen der Kommunikation zwischen App und Serverkomponente insgesamt über 20 Schwachstellen programmiert», so Benjamin Heusser über die Umsetzung. «Beispielsweise haben wir absichtlich die Eingaben des Benutzers nicht korrekt überprüft, was ihm erlaubt, negative Beträge zu überweisen.» Die App selbst bietet den realistischen Funktionsumfang einer E-Banking-App. Sie folgt den Design-Guidelines von Android und wurde für die Android Version 7.x geschrieben. «Wer mit der App trainieren möchte, kann sie sowohl auf physikalischen Geräten als auch auf Emulatoren – also simulierten Android Systemen auf dem Computer – verwenden und analysieren», so Savin Niederer.

Alle Anforderungen erfüllt

Darüber hinaus haben die Absolventen auch eine sogenannte Exploit-App entwickelt. «Mit dieser App lassen sich die Schwachstellen in der Banking-App vereinfacht demonstrieren», erklärt Benjamin Heusser. Zusätzlich haben die beiden Absolventen in ihrer Bachelorarbeit ein separates Lösungskapitel erstellt, in dem sie detailliert beschreiben, wie die Schwachstellen gefunden, ausgenutzt und behoben werden können. «Die App der beiden Absolventen erfüllt alle Anforderungen in Bezug auf Funktionsumfang, Realitätsnähe und integrierte Schwachstellen», so Dozent Marc Rennhard zufrieden. Inzwischen hat die App den ersten Praxistest bereits hinter sich gebracht: Informatik-Studierende im dritten Jahr haben sie im Modul «Software and System Security 2» erfolgreich als Lehrmittel anwenden können.