32C3: Sparkassen-App für pushTAN-Verfahren wieder gehackt

Posted on Posted in 32C3 - CCC Event 2015, Hacker News, SecConf
Die Banken preisen das pushTAN-Verfahren als sicher an. Dabei ist es hochgefährlich, Onlinebanking mit zwei Apps auf demselbenSmartphone zu verwenden.

Die Sparkasse wirbt für ihr Onlinebanking mit dem push-TAN-Verfahren weiterhin auf ihrer Homepage: “Denn der entscheidende Vorteil der pushTAN ist, dass Sie keine weiteren Zusatzgeräte brauchen.” Was die Sparkasse als Vorteil preist, ist nach Ansicht von Sicherheitsexperten aber der entscheidende Nachteil, mit dem sich eine angebliche Zwei-Faktor-Authentifizierung aushebeln lässt. Auf dem 32C3 erläuterte der Erlanger Student Vincent Haupert am Montag, wie er das pushTAN-System der Sparkasse hackte. Zum wiederholten Male.

Bereits im vergangenen Oktober hatte Haupert gezeigt, wie sich das Verfahren der Sparkasse überlisten lässt. Dieses basiert auf einer App für das eigentliche Onlinebanking sowie einer weiteren App für das TAN-Verfahren. Die Apps sind so eng verzahnt, dass sich die TAN direkt auf die Banking-App übertragen lässt. Haupert entschied sich dafür, die Transaktion zu manipulieren. Weitere Angriffsszenarien hätten beispielsweise darin bestanden, die S-pushTAN-App mitsamt ihren Daten zu klonen. Ein Reverse-Engineering der Transaktionsprotokolle sei ebenfalls möglich. Mit Hauperts Methode wird den App-Nutzern die von ihnen gewünschte Transaktion vorgegaukelt, während im Hintergrund ein anderer Betrag auf ein vom Betrüger angegebenes Konto überwiesen wird.

Root-Erkennung leicht zu umgehen

Haupert realisierte seinen Angriff als Modul für das Instrumentations-Framework Xposed. Mit einem solchen Framework können Android-Nutzer tief in das System ihrer Geräte eingreifen, ohne ein neues ROM installieren zu müssen. Es ermöglicht zudem, beliebigen Java-Code zu instrumentalisieren.

Die pushTAN-App verfügte zwar über einige Sicherheitsmerkmale des norwegischen Anbieters Promon wie Root-Erkennung, Anti-Debugging, Device-Fingerprintung und Anti-Hooking. So soll die App eigentlich beendet werden, wenn sie mit Root-Rechten betrieben wird. Das Java-Callback für die Überprüfung auf ein gerootetes Gerät konnte von den Forschern aber instrumentalisiert und abgebrochen werden. “Es hat mich gewundert, dass es so einfach war”, sagte Haupert. Nachdem er zusammen mit seinem Kollegen Tilo Müller das Verfahren publik gemacht hatte, behauptete der Deutsche Sparkassen- und Giroverband (DSGV): “Die beschriebenen unter Laborbedingungen durchgeführten Manipulationen betreffen veraltete Versionsstände der S-pushTAN-App.” In der neuen Version sei Angriffsverfahren nicht mehr möglich.

Auch nachgebesserte App lässt sich austricksen

Auf dem 32C3 zeigte Haupert nun, dass diese Behauptung nicht stimmt. Zwar habe die Sparkasse durchaus nachgebessert, räumte er ein. So gebe es nun keine Java-Callbacks mehr, sondern die App stürze ab, wenn das Gerät gerootet ist. Zudem könne die Root-Erkennung nicht mehr trivial deaktiviert werden. Ebenfalls würden nun bekannte Hooking-Frameworks wie das von Haupert verwendete Xposed erkannt.

Aber auch diese Sicherheitsmerkmale ließen sich austricksen. So funktioniert die Root-Erkennung in der App, indem im Datei-System nach bestimmten Inhalten gesucht wird, die für “su” charakteristisch sind, wie beispielsweise“/system/bin/su”. Nachdem Haupert diese Dateien umbenannt hatte, funktioniert die S-pushTAN-App wieder. Die eigentliche App für das Onlinebanking erkennt aber weiterhin die erweiterten Rechte und gibt einen entsprechenden Hinweis. Allerdings wirkt sich das nicht auf die Funktionen aus.

Um die Xposed-Erkennung zu umgehen, musste Haupert ebenfalls einige Dateien umbenennen und zusätzlich das Programm neu kompilieren, um daraus die Zeichenkette Xposed zu eliminieren. Nach diesen Änderungen konnte er wieder eine Transaktion manipulieren. Was er mit einem Video den versammelten Hackern vorführte.

Bankenaufsicht fordert Einsatz von zwei Geräten

Hauperts Fazit: App-basierte TAN-Verfahren seien “konzeptionell schwach”. Die Schutzmechanismen der pushTAN-App hätten zwar zugenommen, doch es handele sich dabei “um ein Katz-und-Maus-Spiel, das die Sparkasse am Ende immer verlieren wird”. Die Rooting-Erkennung bringe der Sparkasse hauptsächlich verärgerte Nutzer ein, statt gegen echte Angriffe zu schützen. Zudem sei ein gerootetest Gerät nicht unbedingt eine Voraussetzung für einen solchen Angriff.

Die Frage stellt sich jedoch, warum die Apps für Onlinebanking und die TAN-Generierung überhaupt auf einem Gerät installiert werden dürfen. So heißt es in einem FAQ-Papier der Bundesanstalt für Finanzdienstleistungsaufsicht (BaFin) von Ende Oktober zu den Mindestanforderungen an Online-Banking inzwischen:“Allerdings muss das App-basierte Sicherungsverfahren und das tatsächliche Online-Banking unabhängig voneinander – also über verschiedene Geräte (i.S.v. verschiedene Kanäle) – erfolgen.” Schon im August 2015, also noch vor der ersten Veröffentlichung Hauperts, hieß es im BaFin-Journal: “Die TAN sollte auf keinen Fall auf demselben Smartphone generiert werden, auf dem das Online-Banking stattfindet. Hat ein Betrüger das Smartphone gehackt, so kann er dadurch auf beide Verfahren zugreifen.”

Vor dem Hintergrund dieser trivialen Erkenntnisse ist es verwunderlich, dass die Banken immer noch mit diesem Verfahren werben. Haupert selbst räumte ein, dass er durchaus Bankgeschäfte per Smartphone tätigt. Allerdings nutzt er keine pushTAN-App, sondern das Chip-TAN-Verfahren. Das sei noch einigermaßen sicher.

Quelle: Golem.de

Facebooktwittergoogle_plus