Das FinTech-Start-up N26 (früher: Number26) steht erneut in der Kritik. Diesmal geht es um einen Vortrag von Vincent Haupert auf dem 33. Kongress des Chaos Computer Club (CCC), in dem er demonstriert, wie einfach es war, ein beliebiges N26-Konto zu übernehmen und Geld zu transferieren.
Im September hat IT-Sicherheitsforcher Haupert angefangen, sich bei N26 genauer anzuschauen. Anders als klassische Banken, die für die Authentifizierung des Nutzers zwei Geräte oder immerhin noch zwei Apps einfordern, nutzt N26 eine One-App-Authentification. Bedeutet: Ich brauche nicht mehr ein zweites Gerät oder eine seperate App mit seperaten Anmeldedaten, um mir eine Tan generieren zu lassen.
Es gibt bei N26 drei eingebaute „Hürden“:
Neue Stellenangebote
Social – Media Redakteur / Manager / Journalist (m/w/d) Niedersächsischer Fußballverband e.V. in Barsinghausen bei Hannover |
||
Social Media Manager (m/w/d) ViscoTec Pumpen- u. Dosiertechnik GmbH in Töging am Inn |
||
Social Media und Brand Manager (m/w/d NEXTREND GmbH in Flörsheim am Main |
- Anmeldedaten (E-Mail und Passwort)
- Einen vierstelligen Transfer-Code (PIN)
- Ein mit dem Account gepaartes Smartphone
Man kann also, selbst wenn man den Zugang des Nutzers hat, damit erstmal nur wenig anfangen, weil man Zugriff auf sein Smartphone braucht. In seinem Vortrag demonstriert Haupert, wie er sich Schritt für Schritt diese Daten geholt hat – nahezu ohne größere Probleme.
1. Anmeldedaten herausfinden
Zunächst einmal braucht man die Anmeldedaten, also die E-Mail-Adresse eines Nutzers und das zugehörige Passwort. Hier ruft Haupert zwei Möglichkeiten auf:
- Passwort zurücksetzen. Dann benötigt man natürlich Zugriff auf den E-Mail-Account.
- Phishing. Dafür hat sich Haupert die Domain number26.tech gesichert, die ähnlich der von N26 genutzten number26.de ist.
Um die Phishing-Mails nicht blind rauszuschicken, sondern direkt an N26-Kunden, musste Haupert zunächst an deren E-Mail-Adressen kommen. Hier hat er sich eine Funktion von N26 zunutze gemacht, die man auch von WhatsApp und Co. kennt: Um zwischen zwei Nutzern interagieren zu können (bei WhatsApp sind es Chatnachrichten, bei N26 eben Zahlungen zum Kontakt), muss N26 wissen, welche der Kontakte ebenfalls N26 nutzen. Dafür wird das Adressbuch hochgeladen und abgeglichen.
Haupert hat nun die bei einem Hack geleakten 68 Millionen Dropbox-Accounts gegen die API von N26 getestet. Ergebnis: Keine Checks, keine Limits, „N26 geht einfach davon aus, dass ich extrem beliebt bin“. 33.000 der getesteten Accounts sind laut Haupert tatsächlich N26-Kunden. Gleichzeitig bietet der Dropbox-Hack einen hervorragenden Vorwand, um diese Accounts mit der gefaketen numbers26.tech-Domain anzuschreiben und auf einen Passwort-Reset hinzuweisen.
2. Smartphone entkoppeln, PIN zurücksetzen
Als nächstes muss das Smartphone entkoppelt werden, das mit dem N26-Account verknüpft ist. Dafür sind mehrere Stufen nötig:
- Start des Prozesses
- Link in E-Mail anklicken
- Transfer-Code (PIN) eingeben
- MasterCard-ID eingeben (eine von N26 vergebene ID, die auf den zum Konto gehörenden MasterCards gedruckt ist)
- Token per SMS
Grundsätzlich erstmal sehr sicher, denn um ein Smartphone zu entkoppeln, braucht man auf den ersten Blick
- Zugang zum E-Mail-Konto
- den PIN-Code
- die MasterCard
- und die SIM-Karte
Den Link aus der E-Mail holt sich Haupert über die N26-API, die ihn freundlicherweise einfach ausgibt. Gleiches Prozedere bei der MasterCard-ID, die als Prefix bei einer Nutzer-ID gespeichert wird (z.B. 0123456789-987654, wobei alles vor dem Bindestrich der MasterCard-ID entspricht).
Fehlt noch der Transfer-Code. An den kommt Haupert nicht ohne weiteres. Statt sich damit lange aufzuhalten, setzt er ihn einfach zurück. Dafür aber wird nur die MasterCard-ID benötigt (siehe oben). Der Token, der per SMS an das Smartphone herausgeht, besteht aus 5 Ziffern. Macht bei 10⁵ also 100.000 mögliche Kombinationen.
Die Schnittstelle hat keinen Brute-Force-Schutz. Bedeutet: Man kann die Kombinationen einfach durchprobieren (lassen) und wird so in wenigen Minuten ans Ziel kommen. Haupert hat es mit 160 Versuchen pro Sekunde versucht und demonstriert in knapp 20 Sekunden, wie sein Script das N26-Smartphone entkoppelt hat. Das einzige Problem an der Sache ist aus Hackersicht, dass während des Prozesses drei E-Mails plus die SMS an den N26-Kunden gesendet werden und dieser so natürlich zeitnah auf den Hack aufmerksam wird.
N26-Hack: Anruf beim Support
Haupert hat dann gleich noch beim N26-Support angerufen. Die können z.B. die E-Mail-Adresse oder den Namen ändern sowie ebenfalls das Smartphone entkoppeln. Benötigt werden dafür:
- MasterCard-ID
- Kontostand
- Geburtsort
Und jetzt ratet mal, wo man den Geburtsort findet? Richtig, den liefert die API-Ausgabe ebenfalls easy auf dem Silbertablett.
„Aber ich hab da eh kein Geld drauf“
Was ich persönlich wichtig finde, ist, dass Haupert auf den Standardsatz „Aber ich hab ja eh…“ eingeht. In diesem Fall: „Aber ich habe ja eh nur 50 Euro auf meinem N26-Konto“. Soweit richtig, nur dass man bei N26 einen Kreditrahmen von bis zu 2.000 Euro hat, für dessen Beanspruchung man laut Haupert nur das gepaarte Smartphone braucht (siehe oben). So werden aus den 50 Euro schnell mal 2.050 Euro, die man plötzlich in der Kreide steht. (Dazu auch: Wann haftet der Kunde bei Missbrauch des Online-Banking?)
Haupert hat den Vorgang zusammen mit dem CCC an N26 gemeldet, die Fixes haben bis zum 13. Dezember gedauert, inzwischen sollten die Lücken wieder safe sein. Dennoch wirft der Fall wieder eine spannende Sache auf, die Haupert absolut richtig adressiert: Sicherheit darf nicht nur von der PR-Stelle versprochen werden. FinTech-Start-ups quatschen potentielle Kunden ja nahezu nieder mit all den Versprechen, wie sicher alles sei.
Mit Banken verbindet man Vertrauen (ja, …). Junge FinTech-Unternehmen wie N26 müssen sich dieses Vertrauen erst verdienen. Mit solchen Lücken wird das aber erstmal nichts. Immerhin: Laut Haupert habe N26 professionell auf den Hinweis reagiert und ihn sogar eingeladen. Seit Dienstag gibt es zudem ein Bug-Bounty-Programm. Wichtig noch zu wissen: Haupert hat natürlich kein fremdes Konto geknackt, sondern N26 aus rein wissenschaftlicher Perspektive betrachtet. Den Vortrag von Haupert gibt es hier:
Auch interessant: Wie ein Programmierer jedes Facebook-Konto hätte hacken können – und dafür 15.000 Dollar bekam