Um des Geldes willen: Suche und Ausnutzung von Schwachstellen in mobilen Zahlungsterminals



Kartenzahlungen werden immer beliebter. Mobile Zahlungsterminals (mPOS-Terminals) tragen zur Entwicklung dieses Trends bei und verringern die Markteintrittsbarrieren für kleine Unternehmen und Privatunternehmer. Darüber hinaus können unter bestimmten Bedingungen in vielen Ländern (einschließlich Russland) noch Operationen mit dem Magnetstreifen durchgeführt werden. Jede neue Runde des technologischen Fortschritts bedroht das Zahlungsökosystem. Welche Sicherheitsprobleme können den Zugang zum Kartenzahlungsmarkt erleichtern? Und was riskieren wir, wenn wir uns weiterhin auf alte Kartentechnologien verlassen, insbesondere auf den Magnetstreifen?

In den letzten Jahren hat die Anzahl der Operationen mit mPOS-Terminals erheblich zugenommen. Der intensive Wettbewerb zwischen mPOS-Anbietern hat es extrem einfach gemacht, ein solches Zahlungsterminal zu erhalten. Die Vertragsunterzeichnung dauert weniger als fünf Minuten, und die mPOS-Terminals selbst werden häufig kostenlos zur Verfügung gestellt. Jetzt sind sie überall zu sehen. Wie normale POS-Terminals sind sie das letzte Glied in der Zahlungsinfrastruktur. Dies macht sie interessant und für Angreifer leicht zugänglich.

Studienbereich


Wir haben die Produkte führender Anbieter von mPOS-Terminals bewertet: PayPal, Square, iZettle und SumUp. Einige von ihnen bieten Dienstleistungen in mehreren Regionen der Welt an. Wir haben versucht, Zugang zu Diensten in verschiedenen Regionen zu erhalten, in denen dies möglich war, da der Zahlungsprozess, die Anwendungen und Geräte sowie die Sicherheitseinstellungen je nach Standort unterschiedlich sind.

Der LieferantHerstellerTerminalRegion
PlatzPlatzKontaktloses Terminal
Karten und Karten mit dem Square Chip (S8)
Die USA
PlatzPlatzAnschluss für Magnetkarten
Quadrat (S4)
Die USA
PlatzPlatzTerminal für kontaktlose Karten und Karten mit dem Square Chip (S8)Europa
PlatzPlatzQuadratischer Magnetkartenanschluss (S4)Europa
PlatzMiura-SystemeMiura M010Die USA
Zusammenfassung(nicht öffentlich)AIR1 E001Europa
iZettleDatenYRWCRONEEuropa
PaypalMiura-SystemeMiura M010Europa

Hersteller und Lieferanten von mPOS-Terminals




MPOS-Terminals

Wir haben eine Sicherheitsanalyse von Geräten in fünf Kategorien durchgeführt:

  • Kommunikation zwischen dem Telefon und dem Zahlungssystemserver;
  • Kommunikation zwischen dem Telefon und dem mPOS-Terminal;
  • Mechanismen des physischen Schutzes des mPOS-Terminals;
  • mobile App;
  • zusätzliche Faktoren, die die Sicherheit beeinträchtigen, insbesondere die Überprüfung während der Registrierung.




Die Hauptforschungsbereiche

Zahlungsvorgang


Wir haben Angriffsmethoden und Sicherheitsaspekte bei Kartenzahlungen gründlich untersucht. Von uns entdeckte Sicherheitslücken gefährden die Hauptfunktionalität des mPOS-Terminals.

Der Hauptunterschied zwischen mPOS und herkömmlichen POS-Terminals besteht darin, dass der Verkäufer nicht direkt mit der übernehmenden Bank verbunden ist. Stattdessen fungieren mPOS-Anbieter als Zahlungsaggregatoren, die eine Transaktionsgebühr erheben. Solche Zahlungsdienste können nicht immer das Sicherheitsniveau garantieren, das die erwerbende Bank bietet. MPOS-Anbieter minimieren Sicherheitsrisiken auf ihre eigene Weise und verlagern häufig die Verantwortung für Betrug auf die übernehmende Bank. Es ist wichtig zu verstehen, dass solche Zahlungsaggregatoren tatsächlich selbst Verkäufer sind, die mit der erwerbenden Bank interagieren.



Der Zahlungsvorgang über das mPOS-Terminal

Kartenzahlungsrisiken


Es gibt verschiedene Methoden für Kartenzahlungen. Sie hängen vom Zahlungssystem, dem Emittenten und dem Ausstellungsland ab. Während der Transaktion sendet die Karte eine Liste der unterstützten Karteninhaberverifizierungsmethoden (CVM), in der die unterstützten Methoden und ihre Priorität beschrieben werden. CVM regelt auch, was passieren soll, wenn die ausgewählte Methode nicht funktioniert. Das Terminal speichert die Konfigurationsdatei, in der auch die unterstützten Überprüfungsmethoden beschrieben werden. Das Terminal vergleicht diese beiden Dateien und versucht, die Transaktion mit der Methode der ersten Priorität auszuführen. Die Prioritätsmethode sollte ein hohes Maß an Garantie dafür bieten, dass der Karteninhaber während der Operation anwesend war.

Einige Arten von Zahlungen sind offensichtlich sicherer als andere. Die Zahlung per Karte mit einem Chip und durch Eingabe eines PIN-Codes gilt als die sicherste Methode, da ein hohes Maß an Garantie dafür besteht, dass der Vorgang vom Karteninhaber genehmigt wurde. Der Magnetstreifen wird als weniger sichere Technologie angesehen, da ein Angreifer den Magnetstreifen und die darauf gespeicherten Track2-Daten leicht klonen und die Signatur des Karteninhabers fälschen kann. Operationen, die unter Verwendung des Magnetstreifens durchgeführt werden, geben kein Vertrauen, dass der Karteninhaber tatsächlich während der Transaktion anwesend war. Im Gegensatz zu Kartentransaktionen, die den EMV-Standard unterstützen, finden Transaktionen mit dem Magnetstreifen ohne Kryptogramm statt. Dies bedeutet, dass solche Vorgänge die Integrität und Authentizität der Transaktion während ihrer Ausführung nicht gewährleisten.

Übernahme des EMV-Standards


Weltweit werden immer mehr Zahlungen nach dem EMV-Standard (Europay, Mastercard, Visa) ausgeführt, dh mit Chipkarten. Die Übernahme des Standards ist jedoch in einigen Regionen langsamer als in anderen. In den USA machen EMV- Transaktionen weniger als die Hälfte aller Transaktionen aus . Die meisten Operationen werden immer noch mit einem Magnetstreifen ausgeführt. In Europa werden etwa 90% aller Operationen gemäß dem EMV-Standard durchgeführt .

Forschungsergebnisse


Manipulieren des Geräts: Senden beliebiger Befehle


Ein Angreifer kann über Bluetooth eine Verbindung zum Gerät herstellen und beliebige Vorgänge ausführen. Dazu benötigt er Informationen zu den auf dem Gerät ausgeführten Bluetooth-Diensten sowie die entsprechenden Eigenschaften und Funktionen. Diese Informationen können vor dem Angriff mithilfe von Reverse Engineering abgerufen werden. Ein Angreifer benötigt nur Zugriff auf ein mPOS-Terminal, ein Telefon, das die Ereignisprotokollierung der Host-Controller-Schnittstelle (HCI) unterstützt, und eine mobile Anwendung. Durch die Registrierung von HCI-Ereignissen versucht der Angreifer, Informationen über die Hauptfunktionen des mPOS-Terminals abzurufen. Zu diesem Zweck führt er Testoperationen mit verschiedenen Zahlungsmethoden durch und vergleicht die Ergebnisse. Wenn die erforderlichen Informationen empfangen wurden, analysiert der Angreifer, der Wireshark verwendet, die Kommunikation zwischen dem Telefon und dem mPOS-Terminal. Mit diesen Informationen sowie den Daten der mobilen Anwendung können Sie Funktionen mit ihren Befehlen und Kennungen vergleichen. Abbildung 5 zeigt die Meldung „Karte einlegen (wischen)“ auf dem Display des mPOS-Terminals.



Die Meldung "Karte einlegen (wischen)" wird an das Display gesendet

Wenn die Karte nicht richtig eingesetzt ist, erscheint auf dem Display die Fehlermeldung „Bitte nehmen Sie die Karte“. Im HCI-Protokoll sehen wir, welche UUID für die Anzeige des Textes verantwortlich ist, und ein Beispiel für die gesendeten Daten.



Die Meldung „Bitte holen Sie die Karte ab“ auf dem Display des mPOS-Terminals



Das erste Bluetooth-Paket ist für das Senden der Nachricht "Bitte holen Sie die Karte ab" verantwortlich.



Das zweite Bluetooth-Paket ist für das Senden der Nachricht „Bitte holen Sie die Karte ab“ verantwortlich (die Nachricht ist aufgrund der geringen maximalen Größe eines Bluetooth Low Energy-Pakets in zwei Pakete unterteilt).

Die folgende Abbildung zeigt, dass der an das mPOS-Terminal gesendete Wert aus fünf Teilen besteht. Es enthält ein Präfix, das die Kennung des Befehls, den Wert des Zählers der gesendeten Befehle und die Größe der Nutzdaten, den Haupttext in Form von ASCII-Zeichen sowie den Postfix, den Wert der Prüfsumme und das letzte Byte enthält.



Elemente der beiden Pakete, die für das Senden der Nachricht "Bitte holen Sie die Karte ab" verantwortlich sind.

Im folgenden Beispiel verwendet das Terminal Bluetooth Classic, um mit dem Telefon zu kommunizieren. Wir sehen die Meldung "Karte einlegen (wischen)", die an das Terminal-Display gesendet wird.



Die Meldung „Karte einlegen (wischen)“ auf dem Display des mPOS-Terminals



Bluetooth-Paket (im Wireshark-Fenster), das für das Senden der Meldung „Karte einlegen (wischen)“ an das Display des mPOS-Terminals verantwortlich ist

Die folgende Abbildung zeigt, dass diese Daten aus drei Teilen bestehen: Präfix, Nachricht und Prüfsumme. Das Präfix enthält auch den Zähler, die Befehls-ID und die Nutzlastgröße. Die Nachricht enthält den Wert "Karte einlegen (wischen)" in der ASCII-Codierung. Prüfsumme ist das XOR aller Bytes der Nachricht.



Elemente des Pakets, das für das Senden der Nachricht "Karte einlegen (durchziehen)" verantwortlich ist

Mit diesen Informationen können Sie einen beliebigen Befehl erstellen und an die Anzeige des mPOS-Terminals senden. Drei der von uns getesteten Geräte erwiesen sich als anfällig für diesen Angriffsvektor.

Der LieferantHerstellerLeserRegion
Zusammenfassung(nicht öffentlich)AIR1 E001Europa
iZettleDatenYRWCRONEEuropa
PlatzPlatzPlatz (S8)Die USA

Liste der Terminals, die für das Senden beliebiger Befehle anfällig sind. Obwohl der Square (S8) -Leser keine Anzeige hat, kann ein Angreifer andere beliebige Befehle senden.

Dieser Angriffsvektor kann in Verbindung mit der Ausnutzung anderer Schwachstellen verwendet werden, um dem Client weniger sichere Arten von Vorgängen wie Magnetstreifen anzubieten. Dieses Szenario ist in den Abbildungen 14–16 beschrieben. Darüber hinaus kann ein Angreifer eine Nachricht "Zahlung abgelehnt" senden, um den Karteninhaber zu zwingen, mehrere Transaktionen durchzuführen.



Der Karteninhaber versucht, eine Karte einzulegen



Die an das Terminal-Display gesendete Meldung „Bitte ziehen Sie eine Karte“ zwingt den Karteninhaber, den Magnetstreifen zu verwenden



Die Operation war erfolgreich - für die Operation mit dem Magnetstreifen müssen Sie eine Unterschrift hinterlassen.

Gefälschte Menge


Es gibt verschiedene Möglichkeiten, den Datenverkehr zwischen dem mPOS-Terminal und dem Zahlungssystemserver abzufangen. Wir haben bereits eines davon beschrieben: Aufzeichnen von HCI-Ereignissen auf einem Mobiltelefon und Analysieren der Ergebnisse. Dazu müssen Sie den Entwickler aktivieren (Android Developer Mode). Ein Angreifer kann andere Wege einschlagen, z. B. das Abfangen von HTTPS-Verkehr zwischen einer mobilen Anwendung und einem Zahlungssystemserver. Dies ist möglich, da der Zahlungssystemserver in den meisten Fällen Befehle generiert und an das mPOS-Terminal sendet. Um die mobile Anwendung vor dem Abfangen von HTTPS zu schützen, verwenden alle Anbieter der von uns getesteten Terminals SSL-Pinning.

Die folgende Abbildung zeigt ein Beispiel für eine initialisierte Zahlung, die mit zwei verschiedenen Methoden abgefangen wurde. Wir konnten den HTTPS-Verkehr mithilfe des Man-in-the-Middle-Angriffs abfangen und haben den Debugging-Modus aktiviert. Der Betrag der Transaktion wird unverschlüsselt angegeben. Der Wert 0100 entspricht £ 1,00.



Initialisierte Zahlung über das mPOS-Terminal

Nachdem wir den HTTPS-Verkehr abgefangen haben, können wir den Transaktionsbetrag ändern. Dann müssen Sie die Prüfsumme neu berechnen. Danach können wir den geänderten Wert des Betrags an den Server des Zahlungssystems senden, um die Transaktion zu bestätigen. Wir haben fünf Terminals gefunden, die bei Magnetstreifenoperationen anfällig für Mengenänderungen sind.

Der LieferantHerstellerLeserRegion
ZusammenfassungAIR1 E001Europa
iZettleDatenYRWCRONEEuropa
PlatzMiuraMiura M010Die USA
MiuraMiura M010Die USA
Paypal
PlatzPlatzPlatzUSA / Europa
Magnetstreifenleser (S4)

mPOS-Terminals, die für die Fälschung von Beträgen anfällig sind

Ein skrupelloser Verkäufer kann einen Karteninhaber dazu verleiten, eine Transaktion für einen viel größeren Betrag zu bestätigen. Während des Vorgangs zeigt der Verkäufer einen Betrag auf dem Display des Lesegeräts an, gleichzeitig wird ein größerer Betrag zur Bestätigung an den mPOS-Terminalanbieter gesendet. Dieser Angriff ist in der folgenden Abbildung dargestellt.



Links: Der an den Zahlungssystemserver gesendete Betrag (£ 1,23). Rechts: der Betrag, den der Karteninhaber sieht (1 £)

Diese Sicherheitsanfälligkeit betrifft Terminals, die Magnetstreifenoperationen unterstützen. Während des Betriebs sendet das Terminal nur verschlüsselte Track2-Daten. Der Betrieb selbst ist nicht zertifiziert. Dieser Angriffsvektor funktioniert nicht, wenn die Operation gemäß dem EMV-Standard ausgeführt wird, da bei solchen Operationen Informationen über die Menge im Kryptogramm gespeichert werden. Kontaktlose PayPass- und payWave-Zahlungen, die Legacy-Modi unterstützen (PayPass MAGSTRIPE und PayWave MSD), bieten diese Schutzstufe nicht, da die Betragsinformationen auch nicht durch ein Kryptogramm geschützt sind.

Um das Ausmaß des Problems zu verstehen, genügt es, daran zu erinnern, dass weniger als 50% der Transaktionen in den USA gemäß dem EMV-Standard ausgeführt werden. Darüber hinaus sind die Grenzwerte für eine Operation unter Verwendung des von unseren Dienstleistern in Europa und den USA verifizierten Magnetstreifens unglaublich hoch und betragen 50.000 € bzw. 50.000 €.

Dieser Angriff kann verhindert werden, indem die kryptografische Kontrolle der Integrität der Betrags- und Währungsfelder verwendet und der Betrag und die Währung des Vorgangs auf dem Lesegerät mit dem vom Dienstanbieter bestätigten Betrag verglichen werden. Es ist wichtig zu beachten, dass der PCI DSS-Standard (aktuelle Version 3.2.1), der die Speicherung, Verarbeitung und Übertragung von Kartendaten regelt, solche Überprüfungen bei Operationen mit dem Magnetstreifen nicht erfordert. Eine Operation erfordert nur die Übertragung von Track2-Daten.

Remote-Codeausführung


Zwei der von uns getesteten Terminals erwiesen sich als anfällig für die Ausführung von Remotecode. Durch die Ausnutzung dieser Sicherheitsanfälligkeit erhält ein Angreifer vollen Zugriff auf das Betriebssystem des Terminals. Nachdem der Angreifer vollen Zugriff auf das Betriebssystem erhalten hat, kann er Track2-Daten vor der Verschlüsselung abfangen oder den unverschlüsselten Modus (zum Senden eines Befehls) auf der Terminaltastatur aktivieren, um den PIN-Code abzufangen.

Der LieferantHerstellerLeserRegion
PlatzMiuraMiura M010Die USA
PaypalMiuraMiura M010Die USA

Liste der Terminals, die für die Remotecodeausführung anfällig sind



Nyan Cat Video auf dem Miura M010 Terminal Display. Durch die Remotecodeausführung erhält ein Angreifer vollen Zugriff auf das Betriebssystem des Terminals

Physischer Schutz


Die physischen Sicherheitsmechanismen der meisten mPOS-Terminals sind ziemlich zuverlässig. Der quadratische (S4) Magnetkartenleser garantiert nicht das Maß an Sicherheit und technologischer Raffinesse, das für kontaktlose Kartenleser und Chipkartenleser charakteristisch ist. Dies sollte jedoch eine Standardgeräteanforderung sein, die dem Verkäufer kostenlos zur Verfügung gestellt wird. Die verbleibenden Terminals bieten ein angemessenes Maß an physischem Schutz, Unterstützungsmechanismen zur Verhinderung von Manipulationen und andere Maßnahmen zur Verhinderung des Hackens von Hardware.

Manipulationsschutzmechanismen


Manipulationssichere Systeme verhindern das Öffnen des Terminals mit einem Bohrer und anderen Werkzeugen. Wenn Sie versuchen, die Unterbrechungen zu öffnen, funktioniert das Gerät nicht mehr. Darüber hinaus arbeiten die meisten Leser nach proprietären Standards. Ohne Zugriff auf die Dokumentation des Entwicklers ist es unmöglich, wertvolle Informationen durch physisches Öffnen des Geräts zu erhalten.



IZettle YRWCRONE Innengerät



IZettle YRWCRONE Manipulationserkennungssystem

Fazit


Wir haben festgestellt, dass mehr als die Hälfte der mPOS-Terminals anfällig für Angriffe ist, während sich im Allgemeinen alle von uns analysierten mPOS-Terminalanbieter als anfällig herausstellten. Wir haben zahlreiche schwerwiegende Sicherheitsprobleme festgestellt, insbesondere Schwachstellen bei der Ausführung beliebiger Befehle, der Fälschung von Summen und der Ausführung von Remotecode.
Hardware-Terminal-Schutzmechanismen sind in den meisten Fällen zuverlässig und entwickelt. Andere Aspekte, wie z. B. die mobile Anwendung und das Registrierungsverfahren, sind jedoch viel weniger geschützt.

Entwickler von mPOS-Terminals legen Wert auf die einfache Registrierung und Verwendung von Geräten. Dies sind Schlüsselelemente des Geschäftsmodells, es wird jedoch nicht berücksichtigt, dass der Abbau von Eintrittsbarrieren in den Kartenzahlungsmarkt mit einer erheblichen Erhöhung der Sicherheit einhergehen sollte. Es besteht kein Zweifel, dass Verkäuferbetrug ein ernstes Problem für mPOS-Terminalanbieter bleiben wird. Es muss ein seriöser Sicherheitsansatz entwickelt werden, einschließlich der Überprüfung während der Registrierung und der strengen Überwachung der Zahlungen.



Autoren : Lee-Ann Galloway, Timur Yunusov, Artem Ivachev, Mark Kearney, Alexey Stennikov | Positive Technologien

Source: https://habr.com/ru/post/de436952/


All Articles