c't 11/2020
S. 70
Titel
Sicherheit von Banking-Apps

Banking-App-Sicherheit

TAN-Verfahren, Banking-Apps und TAN-Apps gibt es zuhauf – oft sogar von ein und derselben Bank. Aber sind die Apps und Verfahren alle sicher und worauf muss man achten?

Von Sylvester Tremmel

TAN-Verfahren

Warum nutzt man überhaupt TANs, reicht ein gutes Passwort nicht?

TANs, also Transaktionsnummern, sind sogenannte Einmalpasswörter. Sie dienen also zur einmaligen Freigabe einer bestimmten Aktion. Die grundsätzliche Idee ist, dass TANs einen zweiten Authentifizierungsfaktor in einer eigenen Kategorie darstellen und Passwörter so ergänzen: Anstatt nur einen Schlüssel zu stehlen oder ein Passwort zu erfahren, müssen Kriminelle zwei verschiedene Faktoren überwinden.

Der erste Faktor gehört meist zur Kategorie „Wissen“, also etwas, das Befugte kennen müssen. In der Regel ist das die – immer gleiche – Onlinebanking-PIN und/oder ein App-Passwort, das der Kunde angeben muss. TANs gehören dagegen zur Kategorie „Besitz“; also etwas, das Befugte haben müssen. Die Kombination von zwei verschiedenen Faktoren erhöht die Sicherheit durchaus, weswegen sie die Zahlungsdiensterichtlinie PSD2 vorschreibt [1].

Die meisten TAN-Apps erlauben auch ein biometrisches Merkmal wie einen Fingerabdruck statt eines App-Passwortes zu nutzen. Biometrische Merkmale zählen nicht zur Kategorie „Wissen“, sondern zu „Inhärenz“ – man muss nichts kennen, man muss einfach die richtige Person sein. Banken sprechen deshalb auch von „Seinsmerkmalen“.

Nachgehakt: Banking-App-Sicherheit

TANs sind Einmalpasswörter, die man kennen muss. Inwiefern belegt das „Besitz“?

Sich TANs zu merken war früher – als Verfahren mit TAN-Listen verbreitet waren – vielleicht theoretisch möglich, aber praktisch wurde das von niemandem erwartet. Es ging stattdessen darum zu belegen, dass man die Liste mit den TANs besitzt. Bei heutzutage verbreiteten Verfahren wie SMS-TANs, App-basierten TANs oder Chip-TANs geht es darum zu belegen, dass man das richtige Handy ­beziehungsweise die Bankkarte besitzt.

Wenn man „Besitz“ auch mit einer Liste auf Papier belegen kann, warum wird dieses Verfahren dann nicht mehr ­genutzt?

Modernere TAN-Verfahren haben einen wichtigen Vorteil gegenüber den älteren Listen mit TANs: Bei ihnen können TANs nicht zweckentfremdet werden. Die TANs auf eine Liste können dazu genutzt werden, Umsätze abzufragen, 1000 Euro zu überweisen oder etwas anderes zu tun. Wozu eine solche TAN genutzt wird, ist ihr nicht anzusehen. Betrüger können daher versuchen TANs zu einem vorgeblich legitimen und harmlosen Zweck abzugreifen und sie benutzen, um andere – bösartige – Aktionen zu autorisieren. Bei App-, Chip- und SMS-TANs kann eine TAN hingegen nur für einen bestimmten Zweck genutzt werden (und dieser wird dem Kunden mitgeteilt). Wenn Sie eine TAN anfordern, um Umsätze anzuzeigen, dann kann diese TAN nur diese Aktion autorisieren. Auch wenn Betrüger die TAN abgreifen, können sie sie nicht nutzen, um zum Beispiel Geld zu überweisen.

Wie funktionieren App-basierte TAN-Verfahren?

Die Banken nennen ihre App-TAN-­Verfahren unterschiedlich (beispielsweise „pushTAN“, „TAN2go“ oder „photoTAN“), aber die meisten arbeiten nach einem von zwei Prinzipien. Entweder werden TANs einfach an ein der Bank bekanntes Handy geschickt. Der Kunde beweist also im Besitz des Handys zu sein, einfach weil er damit die TANs empfängt. Dieses Prinzip gleicht dem von SMS-TANs, nur wird die TAN nicht einfach per SMS versandt, sondern über das Internet an die App des Kunden. Die Sicherheit des Verfahrens steht und fällt mit der Sicherheit der TAN-Übertragung. Apps können die Übertragung über eine ordentlich verschlüsselte und authentifizierte Verbindung abwickeln und haben damit einen Vorteil gegenüber dem SMS-TAN-Verfahren (siehe Frage „Welche Sicherheitsnachteile haben SMS-TANs?“).

Beim anderen verbreiteten App-­TAN-Verfahren wird die TAN dagegen auf dem Smartphone selbst erstellt. Die dazu übermittelten Daten enthalten zwar persönliche Informationen, aber die Sicherheit des Verfahrens hängt nicht von der Geheimhaltung dieser Daten ab. Stattdessen baut sie auf einem Geheimnis auf, das App und Bank kennen. Zu einer Transaktion (deren Kenndaten übertragen werden) generiert die App dann mittels dieses Geheimnisses eine TAN. Die Bank kann die Richtigkeit dieser TAN überprüfen und der Kunde beweist so, dass er im Besitz der App und damit des Geheimnisses ist.

Die Übertragung der Transaktionsdaten geschieht häufig über bunte (oder blinkende) „Barcodes“, die man mit der Handykamera ablichtet. Das Verfahren wird daher oft Foto-TAN genannt. Statt einer App gibt es auch dedizierte Geräte, die solche Codes lesen können. Das Geheimnis, dessen Besitz den Kunden legitimiert, steckt dann im Chip der Bank­karte, die der Kunde dafür in das Lesegerät stecken muss. Daher rührt der Name Chip-TAN für solche Varianten.

TAN-Sicherheit

Sind alle TAN-Verfahren gleich sicher?

Nein, es gibt Verfahren mit echten ­Sicherheitsnachteilen, etwa die mittlerweile ungebräuchlichen TAN-Listen (siehe dritte Frage) oder SMS-TAN-Verfahren (siehe nächste Frage). Auch bei App- und Chip-TAN-Verfahren gibt technisch gesehen Unterschiede. Zum Beispiel ist es prinzipiell nicht optimal, Banking-App und TAN-App auf demselben Smartphone zu nutzen oder gleich beide Funktionen in einer App zu bündeln. Dadurch werden die Faktoren aus den Kategorien „Wissen“ und „Besitz“ gekoppelt und Kriminelle müssen nur eine App beziehungsweise ein Gerät kompromittieren, um ihr Ziel zu erreichen.

Aus dem gleichen Grund haben Chip-TAN-Verfahren einen prinzipiellen Vorteil: Ein Bankkarten-Chip und dediziertes Lesegerät ohne Internetverbindung sind sehr viel schwerer zu kompromittieren als eine App, deren Nutzer eventuell zwielichtige andere Apps auf seinem Handy installiert.

Solche Überlegungen sind aber eher theoretischer Natur: Statt Endgeräte zu kompromittieren, laufen Betrugsversuche häufiger über Social-Engineering-Attacken. Zum Beispiel werden Nutzer dazu verleitet, Überweisungen zu autorisieren, ohne dass sie die IBAN des Empfängers ausreichend überprüft haben. Oder man bringt sie dazu, Zugangsdaten freimütig weiterzugeben – etwa in der Annahme ihr Gegenüber wäre ein Bankmitarbeiter. Technisch lässt sich dagegen wenig machen und es ist daher wichtiger, sorgsam und überlegt mit seinen Bankdaten umzugehen, als die letzte theoretische Schwachstelle im TAN-Verfahren zu umgehen.

Welche Sicherheitsnachteile haben SMS-TANs?

Das Hauptproblem von SMS-TANs ist, dass die Nachricht mit der TAN zu leicht abgefangen werden kann. SMS sind entweder gar nicht oder nur unzureichend verschlüsselt, sodass sie technisch abgegriffen werden können. Außerdem bieten viele Netzanbieter Zweit- oder Ersatz-SIM-Karten, die dann SMS an die gleiche Handynummer empfangen. Die Netzanbieter wollen zwar sicherstellen, dass Unberechtigte keine solchen Karten bekommen können, aber insbesondere in der Vergangenheit gab es hier Probleme – auch weil die Ausgabe von SIM-Karten nicht dazu gedacht war, den Sicherheitsansprüchen von Online-Banking zu genügen.

Außerdem lassen sich SMS auch auf dem Smartphone des Empfängers abgreifen, sofern der Nutzer einer App die entsprechenden Rechte einräumt. Viele Nutzer machen das unüberlegt oder weil eine App die Berechtigung mit scheinbar gutem Grund erbittet. Wer SMS-TANs weiter nutzen will oder muss, sollte sie daher besser nicht auf dem Handy empfangen, mit dem er auch App-Banking betreibt. Idealer­weise gehen die SMS-TANs an ein einfaches altmodisches Handy, das sonst keinem Zweck dient und weder Internetverbindung noch App-Stores besitzt.

Datenschutz

Kann die Kommunikation der Apps belauscht werden?

Die Kommunikation der von uns getesteten Apps haben wir unter An­droid analysiert. Soweit wir sehen konnten, nutzen die Apps ausschließlich transportverschlüsselte Verbindungen und bauten keine Verbindung auf, wenn wir ihnen ­ungültige Zertifikate unterschoben (so­genannte Man-in-the-Middle-Attacke, MITM). Zumindest die Minimalvoraussetzung sicherer Kommunikation erfüllen die Apps damit.

Unterschiede zeigten sich bei MITM-Attacken mit gültigen Zertifikaten. Vorkommen kann dies zum Beispiel in Firmenumfeldern, in denen sich ein ­Proxy-Server – etwa zur Virenprüfung – in transportverschlüsselte Verbindungen einklinkt. Damit das klappt, muss das Handy passend konfiguriert sein, etwa weil es sich um ein Firmenhandy handelt, das die IT-Abteilung so eingestellt hat. Es kam auch schon vor, dass Zertifizierungsstellen irrtümlich gültige Zertifikate an Personen ausstellten, die diese nicht hätten bekommen dürfen. Außerdem besteht die Gefahr, dass staatliche Akteure Zertifizierungsstellen dazu zwingen, ihnen beliebige Zertifikate auszustellen.

Manche Apps, zum Beispiel die der ­Deutschen Bank, weisen den Nutzer beim MITM-Attacken explizit darauf hin, dass etwas mit den Zertifikaten nicht stimmt. Andere zeigen kryptischere ­Fehlermeldungen an oder melden einfach, keine Verbindung zum Internet zu haben.

Manche Apps kommunizierten auch über solche Verbindungen, die dann – zumindest theoretisch – vom Betreiber des Proxy-Servers (beziehungsweise vom Besitzer des Zertifikats) belauscht werden können. Andere Apps akzeptierten solche Verbindungen nicht, weil das Zertifikat zwar gültig, aber eben nicht das der Bank ist. Dieses Vorgehen nennt man Certificate Pinning und Banking-Apps sollten es unserer Meinung nach durchaus umsetzen. Welche (Android-)Apps das tun, können Sie der Tabelle auf Seite 60 entnehmen.

An wen geben die Banking-Apps Daten weiter?

Verglichen mit normalen Apps zeigen sich die Banking- und TAN-Apps erfreulich datensparsam. Ganz ohne Verbindungen zu Drittanbietern kommen manche zwar nicht aus, teilweise handelt es sich dabei aber um relevante Dienstleister wie Analyseplattformen zur Betrugserkennung.

Die Hostinganbieter der Banken können ebenfalls Zugriff auf die Daten haben. Genutzt werden hier globale Größen wie Amazon Web Services oder Microsofts Azure Cloud, ebenso wie lokale Dienstleister, die zur jeweiligen Bankengruppe gehören. Manche Apps kontaktieren auch mehr als einen Hosting-Service. Wo welche Daten bei den Hostern landen, lässt sich von außen kaum beurteilen – schließlich bieten auch Weltkonzerne an, Daten ausschließlich an bestimmten geografischen Orten zu speichern. Theoretisch könnten die Banken die Daten auch verschlüsseln, um sie dem Zugriff der Hoster zu entziehen. Ob das geschieht haben wir nicht untersucht, weil sich von außen kaum beurteilen lässt, ob so eine Verschlüsselung konsequent umgesetzt ist.

Wichtig ist noch, dass wir – zum Zweck der Vergleichbarkeit – den Datenverkehr der Apps bei minimaler Nutzung (und nur unter Android) analysiert haben: App öffnen, Umsätze einsehen, App schließen. Viele Banking-Apps bieten Zusatzfunktionen und eventuell werden Verbindungen zu Drittdienstleistern aufgebaut, sobald diese Funktionen genutzt werden. Eine Suche von Geldautomaten in der Nähe kann zum Beispiel bewirken, dass Kartenmaterial von einem Anbieter wie Google abrufen wird. Der erfährt dadurch ungefähre Positionsdaten. Wer das nicht will oder den Banken nicht traut, greift am besten zu einer Firewall-App [2].

Warum verhindert meine Banking-­App Screenshots?

Die von den Apps angezeigten Daten sind persönlich und teilweise geheim, möglicherweise wollen die Banken ihre Kunden davon abhalten unbedacht Informationen abzulichten (und dann weiterzugeben) oder verhindern, dass eine Malware das tut. Für ersteres spricht, dass sich die Funktion in manchen Banking-Apps ein- und ausschalten lässt. Wirklich effektiv ist so eine Funktion aber nicht, Sie können das Display schließlich auch einfach abfotografieren, sogar ohne mit dem Handy direkt interagieren zu müssen. Wer „schöne“ Screenshots erstellen will, hat (zumindest unter Android) auch die Option, das Handydisplay mit einer Software wie scrcpy auf den Rechner zu holen und dort abzulichten [3].

Die Screenshot-Blockade bietet auch keinen effektiven Schutz vor dem Zugriff durch andere Apps. Im Test konnten wir alle Banking- und TAN-Apps mit der verbreiteten Fernsteuerungssoftware TeamViewer einsehen und kontrollieren – und was TeamViewer kann, kann im Zweifelsfall auch eine bösartige App.

Rooten verboten

Sollte ich Banking-Apps auf einem ­gerooteten Handy nutzen?

Auf einem gerooteten Smartphone ist – zumindest prinzipiell – die Trennung zwischen Apps aufgehoben: Eine App mit Root-Rechten kann andere Apps beliebig manipulieren und auch deren Daten auslesen. Wenn eine böswillige App Root-­Rechte erlangt, kann sie also PINs, TANs und beliebige andere Kontodaten ab­greifen. Praktisch hat auch auf einem gerooteten Smartphone nicht jede App Root-Rechte, sondern nur solche, denen Sie diese Rechte einräumen. Wer verantwortungsvoll mit dieser Funktion umgeht, reißt nicht grundsätzlich Sicherheits­lücken auf. Die – nicht unberechtigte – Befürchtung der Banken ist, dass es ab und an mit dem verantwortungsvollen Umgang hapert.

Die Postbank und einige andere Banken weisen höflich darauf hin, dass sie ­gerootete Handys für keine gute Idee ­halten. Wer will, darf die App aber weiter nutzen und wird nicht gegängelt.
Die TAN-App der Volksbanken und Raiffeisenbanken will auf einem gerooteten Handy nicht laufen. Stattdessen startet sie den Browser, der wohl eine Fehlermeldung anzeigen soll, aber keine ­gültige URL bekommt.

Interessanterweise hat sich keine der von uns untersuchten Banking-Apps einem gerooteten Handy verweigert. Manche blenden allerdings Warnungen ein oder weisen den Nutzer anderweitig auf das potenzielle Sicherheitsproblem hin. Anders sah es bei den TAN-Apps aus, zumindest einige wollten den Dienst auf einem gerooteten Handy verweigern. Dafür müssen sie ein Rooting allerdings erkennen, was sich verhindern lässt. Durch das in [4] beschriebene Vorgehen konnten wir auch diese Apps zumindest in den getesteten Versionen austricksen und auf einem gerooteten Handy nutzen.

Ob Sie sich auf dieses Katz-und-Maus-Spiel aus Erkennen und Verstecken einlassen wollen, sollten Sie sich aber gut überlegen: Banken werden ungern die Haftung für Probleme übernehmen, die auf einem Handy ohne Root-Zugriff nicht hätten auftreten können. (syt@ct.de)

Kommentieren