Originalbeitrag von Feike Hacquebord, Robert McArdle, Fernando Mercês und David Sancho, Forward Looking Threat Research Team
Seit dem 14. September dieses Jahres ist die Revised Payment Service Directive (PSD2) – auch als Open Banking bekannt –in Kraft. Diese Zahlungsrichtlinie der EU umfasst einen neuen Regelsatz, der die PSD aus dem Jahr 2007 ersetzt. Banken in den USA und Asien haben ebenfalls damit begonnen, ähnliche Anpassungen einzuführen. Open Banking soll Banktransaktionen in der EU kosteneffizienter, einfacher und sicherer machen. Dies beinhaltet, dass Banken ihre Application Programming Interfaces (API) für Unternehmen der Finanztechnologie (FinTech) öffnen, um zusätzliche Dienstleistungen wie Finanzempfehlungen und Zahlungsautomatisierung anzubieten. Bankkunden müssen diesen neuen Unternehmen ausdrücklich ihre Zustimmung für den Zugriff auf ihre jeweiligen Bankdaten geben. Die Sicherheitsforscher von Trend Micro haben ein Whitepaper „The Risks of Open Banking: Are Banks and Their Customer Ready for PSD2“ veröffentlicht, in dem sie untersuchen, inwieweit FinTech-Unternehmen vom Standpunkt der Sicherheit bereit sind für PSD2 und welche neuen Risiken durch die Zahlungsrichtlinie entstehen.
Um Online-Banking sicherer zu gestalten, fordert die PSD2 eine Zweifaktorauthentifizierung und „Dynamic Linking“, wobei ein Authentifizierungscode für jede Transaktion spezifisch für den Betrag und den Empfänger ist. Open Banking gibt die Bankinformationen der Kunden in die Hände von mehreren Parteien weiter, einschließlich neuer FinTech-Startups, die möglicherweise nicht die gleiche Erfahrung bei der Betrugsbekämpfung haben, wie der traditionelle Bankensektor. Damit aber wird zwangsläufig die Angriffsfläche größer. Hier ein paar der vorhandenen Probleme:
- Öffentlich zugängliche APIs von Banken und FinTech-Unternehmen werden die Angriffsfläche erweitern.
- Einige (Alt-) APIs und Websites von Banken und FinTech-Unternehmen haben kritische Kundeninformationen in ihren URLs. Dies entspricht nicht dem Ziel von PSD2, die Sicherheit von Online-Banking zu verbessern.
- Veraltete Techniken zum Teilen von Banking-Daten sind immer noch im Einsatz.
- Einige mobile Apps von Banken und FinTech-Unternehmen verbinden sich auch mit Dritten, wie Werbetreibenden und App Performance-Dienstleistern.
- Viele sichere Protokolle, wie Financial Grade API (FAPI), sind noch in der Entwicklung.
API-Status Quo und Risiken
Noch 2015 waren die europäischen Banken noch nicht sehr weit beim Einsatz von APIs, doch jetzt nutzen immer mehr Banken weltweit APIs für den Datenaustausch.
Vor dem Inkrafttreten von PSD2 fanden wir Sicherheitsprobleme in den APIs einer Reihe von FinTech-Unternehmen und Banken. Eine beträchtliche Anzahl - darunter mindestens zwei Zentralbanken in Europa und eine in Asien - veröffentlichten unbeabsichtigt sensible Informationen wie Authentifizierungsparameter, datenschutzrelevante Infos und Transaktionsdaten in den URLs von APIs und (älteren) Websites.
Das Einfügen sensibler Daten in URLs ist eine schlechte Vorgehensweise, da diese URLs in Log-Dateien oder in den Browser-Verlauf geraten und sogar zwischen verschiedenen Geräten eines Benutzers verwendet werden können. Das Whitepaper enthält eine kleine Stichprobe von Finanzinstituten aus Europa, Asien und den USA, die vertrauliche Informationen gefährden (die Liste wurde zum Schutz ihrer jeweiligen Kunden anonymisiert).
Die Forscher fanden auch ein europäisches FinTech-Unternehmen, das seine API-Dokumentation online veröffentlicht hatte, einschließlich Authentifizierungs-URLs, die die E-Mail-Adresse, das Passwort, die Client-Authentifizierung und die Client-ID des Kunden in der API-URL enthielten.
Riskante Techniken: Screen Scraping
FinTech-Unternehmen nutzen unter anderem eine Technik namens „Screen Scraping” zum Aggregieren von Bankdaten. Dabei wird der HTML-Inhalt einer Banken-Website durch Nachahmung einer Webbrowser-Sitzung mit den Anmeldeinformationen des Kunden analysiert. Damit dies funktioniert, muss der Kunde sein Online-Banking-Passwort an die FinTech-Firma weitergeben, und das ist aus Sicherheitsgründen nicht ratsam.
Da PSD2 eine strenge Authentifizierung vorschreibt, sollte Screen Scraping nicht mehr erlaubt sein und durch OAuth2.0 ersetzt werden. FinTech-Unternehmen gingen gemeinsam gegen diese Bestimmung vor mit dem Argument, dass keine bekannten Vorfälle oder Verstöße im Zusammenhang mit der Technik aufgetreten seien, und dass OAuth nicht benutzerfreundlich sei. Wenige Wochen vor der vom 14. September angeordneten Umsetzung kündigten die Behörden die Verschiebung der vollständigen Umsetzung der technischen Sicherheitsmaßnahmen an, um Drittanbietern mehr Zeit zu geben.
FAPI
Financial Grade API (FAPI) ist ein Protokoll, das auch in hochriskanten Szenarien Sicherheit bieten soll. Sollte beispielsweise ein Angreifer den temporären Zugriffs-Token eines Nutzers einer mobilen App stehlen, so sollte er den Token für den Zugriff auf die Finanzdaten des Opfers nicht einsetzen können. FAPI wird derzeit von der OpenID Foundation und der Open Banking Implementation Entity in Großbritannien entwickelt. FAPI beinhaltet noch Probleme, die noch zu lösen sind, so etwa ernste Sicherheitslücken.
Vorhersehbare Bedrohungen nach der PSD2-Implementierung
Dieses neue Banking-Paradigma mit offenen APIs für den Zugriff auf Bankdaten bringt neue Möglichkeiten für Angreifer mit sich. Nachfolgend einige der Gefahren und Angriffsoberflächen:
- Angriffe auf die APIs: Sie können zu Distributed Denial of Service (DDoS) führen und damit zur Unterbrechung des Banking-Betriebs und von Transaktionen. Ein Hacker kann herausfinden, wie das API-System funktioniert, sobald dieses öffentlich ist und danach überraschende Sicherheitslücken und Möglichkeiten im Backend finden.
- Angriffe auf FinTech-Firmen: Nicht alle FinTech-Firmen werden dasselbe Sicherheitsniveau erreichen und dieselbe Erfahrung mitbringen wie die Banken. Eine schnelle Umfrage unter diesen Startups zeigte, dass sie kleiner sind und weniger Personal für die Sicherheit zur Verfügung haben und daher Angreifer einfacher vorgeben können, eine legitime Bank oder Bankkunde zu sein. Auch deren Server stellen ein ideales Ziel für den Diebstahl von Kundendaten dar.
- Angriffe auf die Nutzer: Alte Social Engineering- und Phishing-Techniken werden häufiger Erfolg bei Endbenutzern haben. Darüber hinaus können die Haftung und der Nachweis der Verantwortung komplizierter werden, sobald eine betrügerische Transaktion stattfindet.
Fazit und Sicherheitsempfehlungen
Während Open Banking bessere Sicherheits- und Geschäftsmöglichkeiten für Kunden, Banken und FinTech-Unternehmen verspricht, werfen die aktuellen Implementierungen aus Sicherheitssicht Bedenken auf. Die widersprüchlichen Ziele der FinTech-Unternehmen, die Innovationen und Dienstleistungen für die Öffentlichkeit vorantreiben wollen, und die der Banken, die versuchen, ihre etablierte Position zu schützen, dürfen die Interessen der Kunden nicht beeinträchtigen.
Trend Micro empfiehlt FinTech-Firmen, sichere Protokolle einzusetzen und die riskanten sowie veralteten Techniken außen vor zu lassen. Auch wenn keine Vorfälle dokumentiert sind, bedeutet dies keineswegs, dass Methoden wie Screen Scraping nicht hochgradig unsicher sind. Auch sollten App-Entwickler sicherstellen, dass ihre Apps und Websites sicher „by Design“ sind und ihre Anwendungen in einer „feindlichen“ oder kompromittierten Umgebung sicher laufen können.
Banken und andere Finanzinstitute sollten ihre aktuellen APIs der Apps überprüfen, denn kritische Informationen und persönliche Kundendaten dürfen in API URL-Pfaden nicht vorhanden sein, anderenfalls sind die getroffenen Sicherheitsmaßnahmen nutzlos.