Einige der meistgenutzten Banking-Apps für iOS, die von weltweit bekannten Banken stammen, enthalten Fehler, die Datendiebstahl und Kontoübernahmen ermöglichen können. Ein Angreifer kann dadurch die Aktionen des Anwenders über eine so genannte Man-in-the-Middle-Attacke überwachen, über Session-Hijacking-Angriffe die Konten des Anwenders übernehmen sowie Speicherprobleme verursachen, die zu Systemabstürzen und Datenlecks führen können. Die Sicherheitslücken können einem Angreifer den Diebstahl von Login-Daten und Zugang zu Online-Banking-Konten ermöglichen.
Ariel Sanchez, ein argentinischer Forscher der Sicherheitsfirma IOActive, hat Tests mit 40 Mobile-Banking-Apps von 60 weltweit bekannten Banken durchgeführt – inklusive Sicherheitsanalysen der Datenübertragungsmechanismen der Apps, ihren Benutzeroberflächen und den Speicherprozessen, aber auch komplizierteren Test, etwa der Compiler und Binaries.
Sanchez hat dabei eine Reihe von potenziell ausnutzbaren Sicherheitslücken entdeckt.
„Jemand mit den passenden Fähigkeiten kann diese Informationen verwenden, um potenzielle Fehler zu finden und nach einiger Forschung einen Exploit oder ein Schadprogramm entwickeln, mit dem die Kunden der Banking-App angegriffen werden können“, so Sanchez. „Man kann sagen, dass dies der erste Schritt für eine potenzielle Bedrohung ist.“
IOActive hat laut eigener Aussage die Sicherheitslücken bereits an die entsprechenden Banken weitergegeben. Sanchez sagt dazu allerdings, dass bisher keine der Banken ihn darüber informiert hätte, dass die Sicherheitslücken geschlossen worden wären.
Sanchez sagte zudem, das größte Problem, das er entdeckt hat und das bei der statischen Analyse des Binärcodes jeder App aufgetaucht ist, seien die hartcodierten Entwicklungsdaten, die im Code zu finden sind. Mit anderen Worten: Einige der bisher nicht benannten angreifbaren Banking-Apps enthalten Teile, die zu klaren Master-Schlüsseln werden können. Diese sollen Entwicklern Zugriff auf die Entwicklungs-Infrastruktur der Apps geben. Leider können diese hartcodierten Informationen aber auch Angreifern den gleichen Zugriff geben.
„Diese Sicherheitslücke kann genutzt werden, um Zugriff auf die Entwicklungs-Infrastruktur der Bank zu bekommen und die App mit Schadprogrammen zu infizieren, was zu einer massenhaften Infizierung bei den Anwendern führen würde“, so Sanchez weiter.
Ein Teil des Problems ist, dass viele der Apps unverschlüsselte Links an die Anwender schicken und/oder die SSL-Zertifikate nicht richtig validieren, wenn eine Verschlüsselung genutzt wird. Sanchez führt das darauf zurück, dass es von den App-Entwicklern einfach übersehen worden ist. Allerdings setzt das die Anwender verschiedenen Man-in-the-Middle-Attacken aus, über die Cyberkriminelle Javascript oder HTML-Code als Teil eines Phishing-Betrugs injizieren können.
Alle von Sanchez aufgedeckten Probleme werden noch gravierender durch die Tatsache, dass 70 Prozent der in der Analyse geprüften Banken nicht einmal eine Zwei-Faktoren-Authentifizierung implementiert haben.
„Sie benötigen nur den Binärcode der App, ein Tool, diesen zu entschlüsseln, und ein Tool, den Code zu disassemblieren“, sagt Sanchez dazu. „Es gibt viele Artikel, die beschreiben, wie der Code dieser Apps entschlüsselt und disassembliert werden kann. Jeder mit etwas Zeit und ohne großes Wissen kann diesen Anleitugen ganz einfach folgen.“
IOActive ist sehr verantwortungsvoll, was jedoch gut und schlecht ist (aber in erster Linie ist es gut). Gut daran ist, dass sie die Namen der betroffenen Banken oder Details zu den Sicherheitslücken nicht veröffentlichen, die Angreifern die Informationen geben könnten, die sie brauchen, um die Anwender anzugreifen. Schlecht ist allerdings, dass auch die Anwender nicht wissen, welche Banken und Apps angreifbar sind, und daher auch nicht wissen, wem und welchen Apps sie vertrauen können.
Natürlich sollten die vorsichtigsten unter uns Mobile-Banking-Apps gar nicht nutzen, bis die Probleme gelöst wurden. Allerdings werden die meisten von uns das einfach nicht tun. In der Zwischenzeit sollten Sie aber zumindest eine Zwei-Faktoren-Authentifizierung verwenden, falls Ihre Bank diese bietet. Davon abgesehen sollten Sie nicht einfach jedem Link in Ihrer Banking-App folgen, sich vor Phishing-Nachrichten hüten und immer ein Auge auf Ihr Bankkonto werfen.