Android & iOS: Sicheres Mobile-Banking am Smartphone

1. Sicher und datenschutzfreundlichMobile-Banking

Von unterwegs auf das eigene Bankkonto zugreifen, eine dringende Rechnung überweisen oder einfach nur den Kontostand im Blick behalten. Mit Banking-Apps auf dem Smartphone ist das schon seit Jahren möglich. Sicherheits- und Datenschutzbedenken werden dabei gerne beiseite geschoben – es ist eben so schön bequem von überall und jederzeit seine Bankgeschäfte tätigen zu können.

Im vorliegenden Beitrag möchte ich aufzeigen, wie Online- bzw. Mobile-Banking am Smartphone, unter der Berücksichtigung von Vorsichtsmaßnahmen, auf Android und iOS sicher und datenschutzfreundlich gelingen kann. Der Clou: Mit einer Multibanking-App werden wir Konten von mehreren Banken einbinden und im Blick behalten.

Googlefreie Geräte

Auch Anwender, die ein googlefreies Android wie GrapheneOS oder LineageOS nutzen, also bewusst auf die Google Play Services verzichten, können das Gezeigte umsetzen. Eine Einschränkung gibt es dennoch: Euer Gerät darf nicht gerootet sein. Bei LineageOS bedeutet das: Root für Apps via SuperSu oder Magisk darf nicht installiert sein.

2. Mobile-Banking: Fragen und Antworten

Vorab möchte ich auf wichtige Fragen eingehen, die einem begegnen, wenn man sich mit dem Thema Online- bzw. Mobile-Banking beschäftigt. Wer sich lieber direkt der Umsetzung widmen möchte, kann direkt zu Kapitel 3 springen.

Online-Banking

Der Kuketz-Blog ist spendenfinanziert!

Unabhängig. Kritisch. Informativ. Praxisnah. Verständlich.

Die Arbeit von kuketz-blog.de wird vollständig durch Spenden unserer Leserschaft finanziert. Sei Teil unserer Community und unterstütze unsere Arbeit mit einer Spende.

Mitmachen ➡

Frage [1]: Was ist sicherer: Online-Banking am PC oder per Smartphone?

Eine eindeutige Antwort auf diese Frage gibt es nicht, da dies von vielen verschiedenen Faktoren beeinflusst wird. Allgemein gilt: Die Sicherheitsarchitektur von mobilen Systemen wie Android und iOS ist herkömmlichen Desktop-Systemen überlegen, bei denen Nutzer in der Regel die Möglichkeit haben, tief ins System einzugreifen. Nicht selten installieren sich (unbedarfte) Nutzer dann Schadsoftware, die die erhöhten Rechte ausnutzen. Auf Android und iOS werden Apps in einem eigenen isolierten Bereich (Sandbox) ausgeführt und damit (vollständig) vom System getrennt. Erst die sogenannten Berechtigungen (bspw. Kamera, Kalender etc.) ermöglichen den beschränkten Zugriff auf bestimmte Informationen/Schnittstellen des Systems bzw. der Nutzerdaten. Mobile Systeme haben also oftmals ein höheres Sicherheitsniveau als der (heimische) PC oder das Laptop.

Frage [2]: Wird der Sicherheitsvorteil von Banking-Apps nicht ausgehebelt, wenn die Überweisung und Freigabe über dasselbe Gerät erfolgen?

Ja, das ist korrekt. Erfolgt die Überweisung sowie die Freigabe auf demselben Gerät, wird das Prinzip der Zwei-Faktor-Authentifizierung (2FA) unterlaufen bzw. gefährlich abgeschwächt. Der Sicherheitsgewinn beim Online-Banking wird ja gerade dadurch erreicht, dass man zwei voneinander getrennte Geräte (Faktoren) benutzt, weil einer der beiden Faktoren grundsätzlich als kompromittiert angesehen werden kann. Es ist also immer sicherer, zwei Geräte zu nutzen, um eine Überweisung zu legitimieren. Denn auch auf mobilen Endgeräten gibt es keine perfekte Sicherheit. Gelingt es einer Schadsoftware, sich im System einzunisten und das Rechtesystem bzw. das Sandbox-Modell zu umgehen, kann es Banking- sowie TAN-App manipulieren. Es ist daher empfehlenswert ein sicheres TAN-Verfahren zu verwenden.

Frage [3]: Was wäre denn ein sicheres TAN-Verfahren?

Zu den sicheren TAN-Verfahren zählt bspw. chipTAN, bei dem die Bankkarte (Girokarte, Maestro-Card, V-Pay-Karte etc.) in einen externen TAN-Generator gesteckt wird, der anschließend eine TAN generiert, die nur wenige Minuten für den aktuellen Auftrag gültig ist. Der Überweisungsvorgang wird dabei auf dem mobilen Endgerät eingeleitet – die Legitimierung erfolgt im Anschluss allerdings nicht direkt auf dem Gerät selbst, sondern über den externen TAN-Generator. Obwohl der Sicherheitsvorteil dieser Variante unbestreitbar ist, bewerben Banken weiterhin (App-)Lösungen (bspw. SecureGo), bei denen sowohl die Überweisung als auch die Legitimierung über dasselbe Gerät erfolgt. Diese Kombination wird dann oftmals noch als

höchster Schutz gegen Missbrauch

bezeichnet. Als Nutzer tut man gut daran, solche Marketing-Aussagen zu hinterfragen. Vielmehr gilt es, einige Regeln zu beachten, um einen Angriff/Kompromittierung des Geräts zu minimieren.

Frage [4]: Wie kann ich das Risiko für mich und mein Endgerät möglichst niedrig halten?

Die wohl wichtigste Regel lautet: Sicher­heits­aktualisierungen für das System bzw. die installierten Apps zeitnah einspielen. Das gelingt natürlich nur, wenn der Hersteller das Smartphone mit Aktualisierungen versorgt. Gerade im Android-Universum ist dies oftmals ein Problem – bei Apple bekommen die Nutzer in der Regel bis zu fünf Jahre (Sicherheits-)Aktualisierungen für ihr System. Ein Ausweg für Android-Nutzer kann das Aufspielen eines Custom-ROMs sein. Daneben gibt es noch weitere Tipps bzw. Regeln zu beachten:

  • Bezugsquelle [Android & iOS]: Die Bezugsquelle für Apps sollten ausschließlich vertrauenswürdige App-Stores (Google Play Store, Apple App Store, F-Droid) sein. Im Grunde genommen kann jeder einen Store eröffnen und dort seine Apps anbieten/vermarkten. Dabei ist in vielen Fällen ungeklärt, wer hinter dem Angebot steckt oder welche Prüfmethoden verwendet werden, bevor eine App im Store erscheint.
  • Dubiose Quellen vermeiden [Android]: Installiert keine Apps/APKs über Links, die euch jemand zusendet. Gerade als Laie ist der Download von Webseiten/Fremdquellen tabu. Es gilt nach wie vor: Als Bezugsquelle für Apps ausschließlich vertrauenswürdige App-Stores verwenden.
  • Genau hinschauen [Android & iOS]: Gerade im Google Play Store tummeln sich unglaublich viele Apps. Trotz der Anstrengungen von Google ist auch mal die ein oder andere Schadsoftware dabei. Es ist daher empfehlenswert, genau hinzuschauen und nicht jede App zu installieren. Insgesamt ist die Gefahr, sich über den Google- bzw. Apple-App-Store eine Schadsoftware einzufangen, als äußerst gering zu bewerten.

Abgesehen von der Systemsicherheit, sollte man auch beim Überweisungsvorgang skeptisch sein und alle Informationen genau prüfen.

Virenscanner-Apps

Die Installation einer Virenscanner-App ist übrigens überflüssig. Die Sicherheitsarchitektur von Android/iOS schränkt die Funktionsweise von Virenscanner-Apps stark ein und macht sie im Grunde nutzlos. Schlimmer: Die vermeintlichen Sicherheits-Apps sind Datenschleudern.

Frage [5]: Was muss ich bei einer Überweisung beachten?

Sobald eine Überweisung erfolgt, muss man unbedingt prüfen, ob der Betrag und die Empfänger-IBAN übereinstimmt. Beim chipTAN-Verfahren (und weiteren TAN-Verfahren) wird sowohl der Betrag als auch die Ziel-IBAN auf dem externen Lesegerät angezeigt und müssen bestätigt werden. Erst danach wird eine TAN generiert, um den Überweisungsvorgang zu legitimieren. Wer hier gut aufpasst, kann das Risiko einer Manipulation erheblich reduzieren.

Frage [6]: Sind Banking-Apps wirklich sicher?

Nein, absolute Sicherheit kann und wird es niemals geben. Vor ein paar Jahren wäre die Antwort auf diese Frage aber vermutlich eindeutiger ausgefallen – da hatten Banking-Apps mit erheblichen Sicherheitsproblemen zu kämpfen:

Die meisten dieser Probleme/Schwachstellen sind mittlerweile behoben und Banking-Apps haben sich verbessert. Das bedeutet aber nicht zwangsläufig, dass man jeder Banking-App vertrauen kann. Gerade Banken bzw. Anbieter, die ihre Apps mit Tracking- bzw. Analytik-Bibliotheken geradezu vollstopfen, begehen sicherheitstechnisch Harakiri. Mit jedem Einbau von Fremdcode bzw. externen Tracker-Bibliotheken/-SDKs steigt die Komplexität der App. Damit geht nicht nur ein Risiko für die Sicherheit einher, sondern zwangsläufig auch eine nicht zu beherrschende Intransparenz der Datenverarbeitung. Als App-Entwickler muss ich dem Anbieter der Tracker-Bibliotheken/-SDKs also vertrauen. Welche Daten diese Module allerdings sammeln und an die Drittanbieter übermitteln, das wissen teilweise nicht einmal die App-Entwickler selbst, die diese Module in ihre Apps integrieren. Im Beitrag »Wie Tracking in Apps die Sicherheit und den Datenschutz unnötig gefährdet« ist das ausführlich dargestellt.

Banken wie N26 sollte man also nicht nur aufgrund ihres Umganges mit den eigenen Mitarbeitern meiden, sondern insbesondere auch im Interesse der eigenen Sicherheit und Datenschutz. Die App N26 Mobile Banking (Version 3,73) hat insgesamt 11 Tracker integriert – in einer App, die sicherheitskritische Vorgänge ausführt und sensible personenbezogene Daten verarbeitet, ist das schlichtweg vollkommen inakzeptabel.

Frage [7]: Was tun, wenn meine Bank kein chipTAN-Verfahren wie SmartTAN plus, chipTAN-QR oder Smart-TAN photo über ein externes Lesegerät unterstützt?

Die meisten Banken unterstützen mindestens ein chipTAN-Verfahren. Sie funktionieren alle in Kombination mit einem externen Lesegerät und eurer Bankkarte (Girokarte, Maestro-Card, V-Pay-Karte etc.). Von den Banken werden allerdings überwiegend App-Lösungen wie bspw. SecureGo beworben, bei dem Banking-App und TAN-App (meist) auf demselben Gerät installiert sind. Das bedeutet: Man muss sich aktiv informieren und prüfen, welche TAN-Verfahren eine Bank anbietet. Häufig ist die Anschaffung eines externen Lesegeräts (für chipTAN) mit Kosten verbunden – nur selten bekommt man ein solches Lesegerät von der Bank gestellt. Die Kosten für ein Lesegerät variieren, bewegen sich aber meist im Rahmen um die 15 €. Üblicherweise empfehlen bzw. vertreiben die Banken die passenden Lesegeräte selbst.

3. Multibanking-App: Sparkasse Ihre mobile Filiale

Banking-Apps ermöglichen von unterwegs einen Blick auf den Kontostand und die Durchführung einer Überweisung. Häufig hat man jedoch Konten bei unterschiedlichen Banken und muss dann mit mehreren Apps hantieren – das ist lästig. Insbesondere dann, wenn man einen Gesamtüberblick der finanziellen Verhältnisse haben möchte. Doch es gibt eine Lösung: Multibanking-Apps. Diese ermöglichen Konten mehrerer Banken einzubinden. Eine dieser Multibanking-Apps kommt von der Sparkasse und nennt sich »Sparkasse Ihre mobile Filiale«. Die App ist sowohl für Android (Google Play Store) als auch iOS (App Store) verfügbar. Ein (Giro-)Konto bei der Sparkasse ist keine Voraussetzung für die Nutzung der App. Bis auf ein paar Ausnahmen (Commerzbank, Targobank, BMW Bank, Volkswagen Bank, Santander Bank, Bank of Scotland) werden die meisten Banken unterstützt. Sofern eure Bank den Online-Banking-Standard HBCI bzw. den Nachfolger FinTS unterstützt, habt ihr gute Chancen, dass die Einbindung der Konten funktioniert.

3.1 App-Auswahl

Im Rahmen des vorliegenden Beitrags habe ich etliche Banking-Apps getestet. Dazu zählen unter anderem die folgenden Multibanking-Apps:

  • MyBanking Classic (Atruvia AG)
  • StarMoney Banking + Kontenübersicht (Star Finanz)
  • Finanzblick Online-Banking (Buhl Data)
  • Outbank 360 (Outbank)
  • TEO (Comeco)
  • […]

Manche dieser Apps bauen keine direkte Verbindung zur Bank auf, sondern gehen einen Umweg über den Anbieter. Dabei speichern sie dann bspw. die Online-Banking-Zugangsdaten (Username/VR-Netkey und Passwort/PIN) und die abgerufenen Kontoinformationen auf den eigenen Servern. Das halte ich für fragwürdig, unnötig und ist ein vermeidbares Sicherheitsrisiko. Letztendlich hat die »Sparkasse Ihre mobile Filiale« die Nase vorn. Das liegt insbesondere an den folgenden Punkten:

  • Tracking/Analyse: Die Android-App (Version 5.14.0) hat drei Tracker von Google integriert. Die Tracker werden allerdings nicht standardmäßig mit Daten beliefert (wie bei den meisten anderen Apps), sondern man wird gefragt und kann dann einer Übermittlung zustimmen (Opt-In). Von Haus aus registriert sich die App lediglich bei Firebase Cloud Messaging (Google), um Push-Nachrichten empfangen zu können. Auf diesen Punkt werde ich später nochmal eingehen, da insbesondere Nutzer von googlefreien Geräten diese Verbindungen ebenfalls nicht benötigen und unterdrücken können.
  • Datensendeverhalten: Während der Inbetriebnahme und Nutzung kontaktiert die App die folgenden Server/Gegenstellen:
    • Google (android.clients.google.com): Für die Registrierung bzw. den Empfang von Push-Nachrichten.
    • Star Finanz (services.starfinanz.de): Bei der Einbindung von Konten wird eine Verbindung zum Service-Backend von Star Finanz initiiert, auf dem geprüft wird, ob die Bank/das Geldinstitut mit der App kompatibel ist. Star Finanz hat die App für die Sparkasse(n) entwickelt.
    • Bank: Die Einbindung eines Kontos erfolgt anschließend direkt über das Backend bzw. die Server der gewählten Bank. Das bedeutet: Die Online-Banking-Zugangsdaten werden direkt zwischen der App und eurer Bank ausgetauscht – auf einen Mittelsmann wird verzichtet. Auch während des Betriebs nimmt die App ausschließlich zum Server der entsprechenden Banken Kontakt auf, von denen Konten eingebunden sind.
  • Googlefreie Geräte: Die Sparkassen-App ist auf googlefreien Geräten wie GrapheneOS oder LineageOS lauffähig. Eine Fehlermeldung erscheint nicht. Allerdings sind die Funktionen etwas eingeschränkt. Push-Benachrichtigungen über Kontobewegungen funktionieren aufgrund der fehlenden Google Play Services genauso wenig wie das Einlesen von Rechnungen oder QR-Codes (Girocode) über die Kamera.

Finanztest

Finanztest hat in der Ausgabe 02/2022 (Multi­banking-Apps für alle Konten) übrigens ebenfalls Multibanking-Apps geprüft und kommt zu einem ähnlichen Ergebnis. Auch dort schneidet die Sparkassen-App insgesamt am besten ab.

3.2 Was benötigen wir?

Für ein (möglichst) sicheres Mobile-Banking sollten folgende Voraussetzungen erfüllt sein:

  • Bank: Wir benötigen eine Bank, die ein chipTAN-Verfahren wie SmartTan plus oder Smart-TAN photo via externen TAN-Generator unterstützt.
  • chipTAN-Lesegerät: Die Bankkarte (Girokarte, Maestro-Card, V-Pay-Karte etc.) wird in einen externen TAN-Generator / Lesegerät gesteckt und eine TAN generiert, die nur wenige Minuten für den aktuellen Auftrag gültig ist. Eure Bank bietet meist ein passendes Lesegerät an.
  • Aktuelles System: Sowohl das mobile System (Android, iOS) als auch die Banking-App sollte auf aktuellem Stand sein bzw. alle Sicherheitsupdates eingespielt haben.
  • Banking-App: Die Sparkassen-App ist zwar weder quelloffen (Open-Source) noch kommt sie ohne Tracker aus. Insgesamt bietet sie allerdings ein gutes Gesamtpaket, das eine sichere und datenschutzfreundliche Nutzung ermöglicht.
  • Gesunder Menschenverstand: Auch wenn alle eben genannten Voraussetzungen erfüllt sind, solltet ihr stets skeptisch sein und immer prüfen, ob der Betrag und die Empfänger-IBAN bei einer Überweisung übereinstimmen.

3.3 Installation

Sowohl unter Android (Google Play Store) als auch unter iOS (App Store) erfolgt die Installation jeweils über die offiziellen App-Stores.

Nutzer von googlefreien Geräten können sich die Sparkassen-App über den Aurora Store herunterladen. Dabei ist wichtig zu erwähnen: Die Quelle bzw. Bezugsquelle für die Sparkassen-App ist und bleibt der Play Store. Der Aurora Store ist also kein eigener App Store, sondern lediglich eine App, die den Download bzw. die Installation von Apps aus dem Play Store ermöglicht.

Sparkassen-App

3.4 Einrichtung

Nach dem ersten Start erfolgt die Einrichtung mit einem Tipp auf Ich habe bereits ein Konto. Direkt danach erscheint ein Hinweisfenster mit dem Titel »Helfen Sie uns dabei die App zu verbessern«. Aus Datenschutzgründen wird der Dialog mit Ablehnen beendet.

Zunächst wird ein sicheres Passwort festgelegt, das ihr euch nicht merken müsst, wenn ihr einen Passwort-Manager verwendet. Anschließend könnt ihr festlegen, ob die Anmeldung bei der Sparkassen-App über das soeben vergebene Passwort oder Biometrie (Fingerabdruck) erfolgen soll.

Im Anschluss erscheint eine Eingabemaske, bei der Bankname, BLZ oder BIC angegeben werden kann. Tragt dort die entsprechenden Informationen eurer Bank ein. Es folgt eine Eingabemaske für die Benutzerkennung und die Online-Banking-PIN. Bei Bedarf könnt ihr die PIN in der App hinterlegen (PIN speichern), damit ihr sie nicht jedes Mal neu eingeben müsst. Als letzten Schritt müsst ihr noch festlegen, welches TAN-Verfahren ihr verwenden wollt. Wählt hier (sofern es eure Bank anbietet) entweder chipTAN * oder Smart-TAN * – die Legitimierung der Überweisung erfolgt dann im Idealfall über ein externes Lesegerät in Kombination mit eurer Bankkarte (Girokarte, Maestro-Card, V-Pay-Karte etc.).

Als Beispiel die Triodos Bank:

  • Institutsauswahl: Triodos Bank – Niederlassung Deutschland (50031000)
  • Benutzerkennung: XYZ
  • Online-Banking-PIN: super_sicher
  • Auswahl Freigabeverfahren: Smart-TAN photo

Danach erfolgt ein initialer Login bei der Bank und ihr könnt festlegen, welche Konten eingebunden werden sollen. Nur das Girokonto oder vielleicht auch das Tagesgeldkonto/Depot?

Weitere Konten einbinden

Über den Button Bearbeiten -> Neues Konto einrichten könnt ihr weitere Konten von anderen Banken hinzufügen.

Danach ist die Einrichtung abgeschlossen und ihr könnt eure Konten sortieren und auch entscheiden, welche Konten für die Anzeige des Gesamtsaldos berücksichtigt werden sollen.

3.5 Eine Überweisung ausführen

Nachfolgend möchte ich demonstrieren, wie eine Überweisung erfolgt bzw. was dabei zu beachten ist. Dazu nutze ich eine Girokarte der BBBank und ein externes Sma@rt-TAN photo Lesegerät:

Sm@rt-TAN photo

Zum Initiieren eines Überweisungsvorgangs wird in der Gesamtansicht zunächst das Konto ausgewählt, von dem aus die Überweisung erfolgen soll. Anschließend wählt man aus dem Menü (unterer Rand) die Auswahl Überweisen. Es öffnet sich eine neue Ansicht mit dem Titel »Überweisung«, in dem nun alle erforderlichen Angaben einzugeben sind:

  • Name
  • IBAN
  • Betrag
  • (Optional) Verwendungszweck

Nach Eingabe aller Informationen wird der Button Senden angetippt. In der Sparkassen-App erscheint dann folgender Dialog:

photoTAN-Code

Dieses Muster bzw. Farbcode wird nun mit dem externen Sm@rt-TAN photo Lesegerät eingescannt bzw. eingelesen. Dazu wird die Girokarte einfach in das Lesegerät gesteckt und die Kamera des Lesegeräts so positioniert, dass es das Muster einlesen kann. Anschließend erscheint auf dem Display des Lesegeräts zunächst Überweisung SEPA/EU – das ist korrekt. Es handelt sich um eine SEPA-Überweisung im EU-Raum. Nach einer Bestätigung erscheinen weitere Informationen – nämlich die Empfänger-IBAN und der zu überweisende Betrag:

IBAN

Diese Angaben gilt es nun genau auf eine Übereinstimmung zu prüfen. Das bedeutet: Ist sowohl die Empfänger-IBAN als auch der Betrag identisch mit den Angaben, die in der Sparkassen-App gemacht wurden? Sofern die Angaben korrekt sind, kann der Vorgang mit OK bestätigt werden. Der TAN-Generator errechnet nun unter Einbeziehung der entschlüsselten Transaktionsdaten im Chip der Girokarte eine TAN. Diese TAN ist auftragsbezogen und nur für wenige Minuten gültig. Die generierte TAN wird anschließend auf dem Display des TAN-Generators angezeigt und muss zum Abschluss der Transaktion in die Sparkassen-App übertragen werden:

TAN-Freigabe

Nach Eingabe und Bestätigung der TAN ist die Legitimierung der Überweisung abgeschlossen und wird von der Bank bearbeitet. Alle Schritte nochmal kurz zusammengefasst:

  • Der Überweisungsvorgang wird innerhalb der Sparkassen-App gestartet
  • Nach Eingabe alle erforderlichen Daten (Empfänger, IBAN, Betrag) erfolgt die Anzeige eines farbigen Musters
  • Die Girokarte wird in das externe Sm@rt-TAN photo Lesegerät gesteckt
  • Anschließend wird das farbige Muster von der Kamera des TAN-Lesegeräts erfasst
  • Auf dem Display des TAN-Generators muss kontrolliert werden, ob sowohl die Empfänger-IBAN als auch der Betrag identisch mit den Angaben in der Sparkassen-App sind
  • Der TAN-Generator errechnet nun unter Einbeziehung der entschlüsselten Transaktionsdaten im Chip der Girokarte eine TAN und zeigt diese auf dem Display an
  • Diese TAN muss zum Abschluss des Überweisungsvorgangs in die Sparkassen-App übertragen werden

4. Wissenswertes (für Nerds und Interessierte)

4.1 Datensendeverhalten

Bei den meisten geprüften Banking-Apps ist das Datensendeverhalten als problematisch zu bewerten. Bereits beim Start werden Tracker ungefragt mit Daten beliefert. Das ist nicht nur ein Verstoß gegen das Telekommunikation-Telemedien-Datenschutz-Gesetz (TTDSG), weil dabei meist auf Informationen zugegriffen wird, die auf dem Smartphone gespeichert sind, sondern auch im Hinblick auf die Datenschutz-Grundverordnung (DSGVO) problematisch.

Auch das Datensendeverhalten der Sparkassen-App ist nicht einwandfrei – unmittelbar nach dem Start wird die Gegenstelle android.clients.google.com angefragt, um sich am Firebase-Cloud Messaging-Dienst (Google) zu registrieren, damit Push-Nachrichten empfangen werden können. Für Puristen bzw. Nutzer von googlefreien Geräten ist dieser Verbindungsaufbau nicht erforderlich und kann via NetGuard blockiert werden. Für meine Konten (Triodos Bank, PSD Bank und ING) lasse ich daher nur zwei Verbindungen der Sparkasssen-App zu – mehr ist nach der Einrichtung der Konten nicht notwendig:

NetGuard Sparkassen-App

Übrigens ist es gar nicht so einfach, das Datensendeverhalten von Banking-Apps zu prüfen. Die meisten Hersteller implementieren Root-Erkennungen, die mein gerootetes Testgerät erkennen und sofort nach dem Start der App den Dienst quittieren. Bei der Sparkassen-App kann die Root-Erkennung mit einem Frida-Hook umgangen werden. Die Root-Erkennung ist im Package de.idnow.sdk in der Klasse Util_Jailbreaking zu finden:

public static boolean isDeviceRooted() {
   return checkRootMethod1() || checkRootMethod2() || checkRootMethod3() || checkRootMethod4();
}

Eine weitere Herausforderung ist das Umgehen von TLS-Certificate-Pinning. Für die Verbindung zu services.starfinanz.de nutzt die Sparkassen-App bspw. Cert-Pinning. Auch hier ist Frida und Objection hilfreich, um diesen Schutzmechanismus auszuhebeln, damit das Datensendeverhalten geprüft werden kann.

Keine Sicherheitslücke

Das Umgehen der Root-Erkennung bzw. Certificate-Pinnings dient ausschließlich der Überprüfung des Datensendeverhaltens. Ohne diese Schritte wäre eine Analyse nicht möglich. Es handelt sich dabei lediglich um eine lokale Veränderung/Modifikation auf dem Testgerät, die keinen Einfluss auf irgendwelche personenbezogenen Daten bzw. die Sicherheit Dritter hat.

4.2 Fehlende Google Play Services

Mehr und mehr Nutzer entscheiden sich für die Nutzung von googlefreien Geräten bzw. die Nutzung von Custom-ROMs. Angesichts der Datensammelwut von Google bzw. der eingebauten Überwachungswanze Google Play Services eine weise Entscheidung. Die fehlenden Google Play Services stellen in der Praxis jedoch hin und wieder ein Problem dar. Die meisten Apps funktionieren zwar meist problemlos ohne Play Services, allerdings tauchen dann immer mal wieder Hinweisfenster über das Nichtvorhandensein der Play Services auf und/oder der App-Funktionsumfang ist eingeschränkt.

Die Sparkassen-App zählt zu jenen Apps, die zwar ohne Fehler bzw. Hinweisfenster funktionieren, allerdings ist sie im Funktionsumfang etwas eingeschränkt: Push-Benachrichtigungen über Kontobewegungen funktionieren aufgrund der fehlenden Google Play Services genauso wenig wie das Einlesen von Rechnungen oder QR-Codes (Girocode) über die Kamera.

Es gibt aber auch Lösungen, die es ermöglichen, die Funktionalität der Play Services nachzurüsten, ohne dabei gleich die Datenhoheit über sein Android-Gerät zu verlieren:

  • microG: microG ist eine quelloffene Implementierung von Google-Diensten wie bspw. den Google Play Services. Im Gegensatz zu den Play Services hat microG bspw. kein Werbe- oder Standort-Tracking integriert. In einer Tabelle sind alle Funktionen erfasst, die microG implementiert. Die Systemvoraussetzungen und auch die Installation sind ausführlich im microG-Wiki beschrieben.
  • GrapheneOS: Das googlefreie Custom-ROM GrapheneOS bietet seinen Nutzern ein Sandboxed Google Play an. Bei dieser Lösung werden die Google Play Services als herkömmliche Apps installiert, die im Gegensatz zu Systemapps keinen privilegierten Zugriff auf alle Informationen haben. Wie jede andere App können die Sandboxed Play Services nicht auf Daten anderer Apps zugreifen und müssen die ausdrückliche Zustimmung des Nutzers einholen, um bspw. Zugriff auf Profildaten oder die Standardberechtigungen zu erhalten. Nach der Installation sind die Play Services nur innerhalb eines bestimmten Benutzer- oder Arbeitsprofils verfügbar. Das bedeutet: Nur Apps, die auch innerhalb desselben Profils installiert sind, können die Play Services nutzen.

4.3 Root-Problematik & Sicherheitsupdates [unter Android]

Die meisten Banking-Apps prüfen unmittelbar nach dem Start, ob das Android-System gerootet ist, und verweigern anschließend den Dienst. Banken stufen gerootete Android-Geräte pauschal als Sicherheitsrisiko ein, weil der Nutzer dann wie bei einem Desktop-System die Möglichkeit hat, tief ins System einzugreifen. Die Sicherheitsarchitektur (Sandbox-Modell) von Android kann durch Root-Zugriff und schadhafte Apps bzw. Erweiterungen unterlaufen werden, was sich letztendlich auf alle Apps bzw. auf dem Gerät befindliche Daten negativ auswirken kann. Aus dieser Perspektive betrachtet ist es nachvollziehbar, weshalb Banking-Apps den Dienst auf gerooteten Geräten verweigern. Aus meiner Sicht ist diese Beschränkung zu kurzsichtig bzw. nicht konsequent genug.

Ich kenne aktuell keine Banking-App, die den Stand der (System-)Sicherheitsupdates berücksichtigt. Auch wenn das Sandbox-Modell die Banking-App vor einer Kompromittierung gut abschottet, wird die Sicherheit noch durch weitere Faktoren beeinflusst. Ein entscheidender Faktor hierbei sind (kritische) Sicherheitslücken in Android, die es einem Angreifer ermöglichen, die Kontrolle über das Gerät zu erlangen, den Nutzer auszuspionieren und unbemerkt Daten abfließen zu lassen. In regelmäßigen Abständen werden in Android schwerwiegende Sicherheitslücken identifiziert. Dies kann sich, ebenso wie der Root-Zugriff, negativ auf das Online-Banking bzw. die auf dem Gerät befindlichen Daten auswirken. Insofern wäre es konsequent und richtig den Stand der (System-)Sicherheitsupdates ebenfalls zu berücksichtigen. So könnte man bei veralteten Android-Versionen bspw. dafür sorgen, dass eine Überweisung nur über ein externes chipTAN-Lesegerät erfolgen kann. Das würde das Risiko bzw. die Gefahr für den Nutzer erheblich reduzieren, da die meisten Nutzer die Freigabe der Überweisung über ein und dasselbe Gerät abwickeln. Wie bereits aufgezeigt, wird dabei das Prinzip der Zwei-Faktor-Authentifizierung (2FA) unterlaufen bzw. gefährlich abgeschwächt. Der Sicherheitsgewinn beim Online-Banking wird ja gerade dadurch erreicht, dass man zwei voneinander getrennte Geräte (Faktoren) benutzt, weil einer der beiden Faktoren grundsätzlich als kompromittiert angesehen werden kann.

Zusammengefasst bedeutet das:

  • Gerootete Geräte können ein Sicherheitsrisiko für Banken bzw. den Nutzer darstellen
  • Geräte, die keine aktuellen Sicherheitsupdates installiert haben, stellen ein Sicherheitsrisiko für Banken bzw. den Nutzer dar

Insofern wäre es von den Banken konsequent, wenn Banking-Apps, auf veralteten Geräten, den Dienst verweigern bzw. zumindest den Funktionsumfang einschränken würden. So könnte man bspw. die Überweisungsmöglichkeit vollständig deaktivieren oder nur dann ermöglichen, wenn ein sicheres TAN-Verfahren eingesetzt wird. Das können bzw. wollen Banken ihren Kunden allerdings vermutlich nicht zumuten, weil dann ein Großteil der Mobile-Banking-Kunden die App nicht starten könnten oder nur einen eingeschränkten Funktionsumfang zur Verfügung hätten.

Den Stand der (System-)Sicherheitsupdates kann übrigens jeder selbst prüfen. Öffnet dazu die Einstellungen -> Über das Telefon -> Android-Version:

Android-Security

Sicherheitsupdates konsequent einspielen

Wie wahrscheinlich das Ausnutzen einer Sicherheitslücke/Schwachstelle in der Praxis ist, lässt sich oftmals schwer beurteilen. Fakt ist: Das Einspielen von (Sicherheits-)Updates kann das Risiko reduzieren, dass jemand über ein kompromittiertes System eure Konten ausspioniert. Mit dem Verzicht auf unsichere TAN-Verfahren (bei dem die Legitimierung auf ein und demselben Gerät erfolgt) könnt ihr überdies sicherstellen, dass niemand Überweisungen ausführt bzw. in eurer Abwesenheit legitimiert.

5. Fazit

Der vorliegende Beitrag zeigt: Mobile-Banking geht auch sicher und datenschutzfreundlich, wenn man eine entsprechende Banking-App einsetzt, das chipTAN-Verfahren verwendet und einige Tipps/Rahmenbedingungen beachtet. Für die meisten Anwender dürfte diese Kombination sicherer sein, als Online-Banking über den (heimischen) PC bzw. Notebook durchzuführen. Die Sicherheitsarchitektur (Sandbox-Modell) von Android und iOS ist einem herkömmlichen Windows-System überlegen, bei dem Nutzer in der Regel die Möglichkeit haben, tief ins System einzugreifen. Mit allen Vor- und Nachteilen – insbesonders für die Schadsoftware.

Sofern man auf Mobile-Banking lieber verzichten möchte, ist Online-Banking am PC/Notebook weiterhin möglich. Empfehlenswert ist hier die Kombination bestehend aus einem Linux-Live-System und dem chipTAN-Verfahren. Näher beschrieben im Beitrag: Online-Banking: Aber sicher – Das chipTAN-Verfahren.

Bildquellen:

Credit Card: xnimrodx from www.flaticon.com is licensed by CC 3.0 BY
Online-Banking: C. Pfohlmann

Über den Autor | Kuketz

Mike Kuketz

In meiner freiberuflichen Tätigkeit als Pentester / Sicherheitsforscher (Kuketz IT-Security) schlüpfe ich in die Rolle eines »Hackers« und suche nach Schwachstellen in IT-Systemen, Webanwendungen und Apps (Android, iOS). Des Weiteren bin ich Lehrbeauftragter für IT-Sicherheit an der Dualen Hochschule Karlsruhe, sensibilisiere Menschen in Workshops und Schulungen für Sicherheit und Datenschutz und bin unter anderem auch als Autor für die Computerzeitschrift c’t tätig.

Der Kuketz-Blog bzw. meine Person ist regelmäßig in den Medien (heise online, Spiegel Online, Süddeutsche Zeitung etc.) präsent.

Mehr Erfahren ➡

SpendeUnterstützen

Die Arbeit von kuketz-blog.de wird zu 100% durch Spenden unserer Leserinnen und Leser finanziert. Werde Teil dieser Community und unterstütze auch du unsere Arbeit mit deiner Spende.

Folge dem Blog

Wenn du über aktuelle Beiträge informiert werden möchtest, hast du verschiedene Möglichkeiten, dem Blog zu folgen:

Bleib aktuell ➡


Diskussion

8 Ergänzungen zu “Android & iOS: Sicheres Mobile-Banking am Smartphone”

  1. Comment Avatar Anonymous sagt:

    Danke für diesen Artikel, lieber Mike!

    Momentan können Kunden, die von ihrer Bank wissentlich zum unsichereren AppTAN-Verfahren genötigt werden, zu einer konkurrierenden Bank wechseln, die das sicherere ChipTAN-Verfahren anbietet.

    Da gleichzeitig die Abschaffung der, für das ChipTAN-Verfahren benötigte, Girocard (ehemals EC-Karte) forciert wird, könnte diese Wechselmöglichkeit für Kunden demnächst entfallen (Hintergrund).

    Welche Möglichkeit der Authentifizierung mit zwei tatsächlich voneinander getrennten Faktoren bleibt Kunden dann noch?

    • Comment Avatar Mike Kuketz sagt:

      Wie von dir geschrieben: Aktuell ist ein Wechsel zu Banken möglich, die das chipTAN-Verfahren verwenden.

      Ob und wie sich das irgendwann ändert, bleibt abzuwarten. Aktuell kann die Frage niemand beantworten.

    • Comment Avatar Anonymous sagt:

      Das Wegfallen der Girocard ist kein Problem. Hier in Österreich gibt es bereits seit ca. 2 Jahren keine Maestro-Karten mehr. Auf den neuen, von Mastercard ausgegebenen Karten, funktioniert das ChipTAN (hierzulande cardTAN genannt) ebenfalls.

      Insofern ist der Wegfall der Maestro-Karten kein Grund zur Sorge. Mit sehr hoher Wahrscheinlichkeit wird man ChipTAN auch weiterhin mit den neuen Karten nutzen können.

      Erst wenn Bankkarten generell abgeschafft werden und beispielsweise alles über Apple Pay etc. läuft, wird es kritisch. Aber solange Plastikkarten in irgendeiner Form existieren, mach ich mir diesbezüglich keine Gedanken.

  2. Comment Avatar Jörg sagt:

    Vielen Dank Mike, für diese gute Darstellung und die aufgezeigten Lösungswege, mit einer halbwegs sicheren Umgebung Online-Banking zu nutzen.

    Ich habe mir dazu auch schon viele Gedanken gemacht und bin schließlich bei einem Raspberry-Pi i.V.m. dem chipTAN-Verfahren hängen geblieben. Das dafür installierte Betriebssystem bleibt auf einer SD-Karte und wird ausschließlich für das Online-Banking (und natürlich die OS-Updates) benutzt. Dieses System ist schlank und immer aktuell.

    Für weitere Einsatzzwecke des Pi verwende ich jeweils eine andere SD-Karte und habe damit sozusagen immer einen ganzen anderen, unabhängigen PC ohne die Sicherheit beim Online-Banking zu vernachlässigen.

  3. Comment Avatar spar|fin|dig : Jan Tietje sagt:

    Danke für den ausführlichen und lesenswerten Artikel. Überweisung und Freigabe kann auch mit „pushTan“ über zwei verschiedene Geräte laufen: ich gebe auf dem Tablet erfasste Aufträge auf dem Mobiltelefon frei und umgekehrt. Für mich ist das der passende Kompromiss zwischen Bequemlichkeit und Sicherheit.

    • Comment Avatar TeomaHK sagt:

      Halli Hallo spar|fin|dig. Irgendwie erschließt sich mir der Gedanke der Sicherheit bei deiner Beschreibung nicht.

      Überweisung und Freigabe kann auch mit „pushTan“ über zwei verschiedene Geräte laufen: ich gebe auf dem Tablet erfasste Aufträge auf dem Mobiltelefon frei und umgekehrt.

      Damit befindet sich meinem Verständnis nach auf beiden Geräten die App für das PushTAN-Verfahren. Somit ist die 2FA aus meiner Sicht wieder ausgehebelt.

      Die Bank, welche ich benutze, erlaubt für das PushTAN-Verfahren nur 1 physisches Gerät für die Registrierung der damit verbundenen App. Es liegt also in der Entscheidung des Kunden, auf welchem Gerät dieser die PushTAN-App installiert. Die App für das Online-Banking kann auf mehreren Geräten gleichzeitig installiert und benutzt werden.

      Ich benutze grundsätzlich für das Online-Banking über die App nur mein persönliches Smartphone und für die Freigabe meiner Aufträge ein zweites Gerät, welches sich immer zuhause befindet.

  4. Comment Avatar Bastian Seehaus sagt:

    Die Firma Reiner SCT hat sogar einen BlueTooth-ChipTan-Leser im Angebot. Dazu gibt es auch eine App kostenlos dazu. Laut TrackerControl hat die keine Tracker-Libs drin und es wird auch kein Traffic zu den üblichen Verdächtigen erkannt.

    Mit diesem Kartenleser ist es echt ein Kinderspiel. Die Überweisungsdaten werden auf dem Gerät angezeigt und die TAN dann auf Knopfdruck übermittelt. Diese externe Kontrollinstanz erhöht sogar den Komfort.

  5. Comment Avatar Tom das G sagt:

    Hallo Mike! Erstmal ein großes Dankeschön für Deinen sehr ausführlichen Artikel.

    Dann ein Hinweis auf eine leider sehr fragwürdige Entscheidung der Postbank, die ich hier einfach mal bekannt machen wollte. Nachdem ich dort über viele Jahre das ChipTAN-Verfahren nutzen konnte (mit einem günstigen Gerät von ReinerSCT) wird die Postbank dieses Verfahren im Mai 2022 komplett abschaffen. Zum Einsatz kommt dann nur noch die BestSign-App. Ich finde das ziemlich bedenklich, ob es aber ausreicht, nach fast 40 Jahren die Bank zu wechseln, weiß ich ehrlich gesagt noch nicht …

HilfeWenn du konkrete Fragen hast oder Hilfe benötigst, sind das offizielle Forum oder der Chat geeignete Anlaufstellen, um dein Anliegen zu diskutieren. Per E-Mail beantworte ich grundsätzlich keine (Support-)Anfragen – dazu fehlt mir einfach die Zeit. Kuketz-Forum

Abschließender Hinweis

Blog-Beiträge erheben nicht den Anspruch auf ständige Aktualität und Richtigkeit wie Lexikoneinträge (z.B. Wikipedia), sondern beziehen sich wie Zeitungsartikel auf den Informationsstand zum Zeitpunkt des Redaktionsschlusses.

Kritik, Anregungen oder Korrekturvorschläge zu den Beiträgen nehme ich gerne per E-Mail entgegen.