Schutz vor Online-Betrug

Wie Target das Web-Skimming-Problem löst

Immer wieder hacken Cyberkriminelle Online-Shops, um an die Zahlungsdaten von deren Kunden zu gelangen. Wie können Unternehmen ihre Webseiten vor solchem Web-Skimming schützen? Die Einzelhandelskette Target hat eine Idee.
Von 
CSO | 10. Februar 2022 05:30 Uhr
Die Einzelhandelskette Target hat eine eigene Lösung entwickelt, um ihre Plattform vor Web-Skimming zu schützen.
Die Einzelhandelskette Target hat eine eigene Lösung entwickelt, um ihre Plattform vor Web-Skimming zu schützen.
Foto: JARIRIYAWAT - shutterstock.com

Web-Skimming ist in den vergangenen Jahren zu einer großen Plage für Online-Shops geworden. Die Angriffsmethoden reichen von einfachen Skript-Injektionen in Zahlungsformularen bis hin zu kompromittierten Diensten von Drittanbietern. Target hat für sein Online-Business deshalb nach einer Lösung gesucht, um seine Plattform besser zu schützen. Da es für diese Angriffsvariante bisher noch keine passenden Detection Tools gab, beschlossen zwei IT-Security-Experten des Unternehmens etwas Eigenes zu entwickeln. Nachdem ihre Software drei Jahre auf Target.com getestet wurde, veröffentlichten die Entwickler sie nun als Open-Source-Projekt mit dem Namen Merry Maker.

"Merry Maker simuliert kontinuierlich das Surfen auf unserer Website und testet, ob bösartige Codes vorhanden sind", erklärt der Einzelhandelskonzern in einem Blogeintrag. Das Tool verhalte sich ähnlich wie ein Besucher auf der Website und führe typische Aktionen aus, darunter auch Online-Einkäufe. Es sammele und analysiere dabei jede Menge Informationen, darunter Netzwerkanfragen, JavaScript-Dateien und Browser-Aktivitäten, um festzustellen, ob es irgendwelche unerwünschten Aktivitäten gibt.

Was ist Card-Skimming?

Card-Skimming ist eine Angriffsart, bei der gezielt Kreditkartendaten abgegriffen werden. Dabei handelt es sich um einen Man-in-the-Middle-Angriff, da die Hacker eine manipulative Vorrichtung oder einen Mechanismus an die Stelle setzen, an der eine Transaktion legitimiert wird. In der physischen Welt werden Skimming-Geräte beispielsweise am Kartenschlitz von Geldautomaten oder an Zahlautomaten von Tankstellen angebracht, um die kodierten Daten auf dem Magnetstreifen abzugreifen.

Oft kommen dabei zusätzlich kleine Kameras oder manipulierte Overlay-Tastaturen für die PIN-Eingabe zum Einsatz, um auch an die Geheimnummern zu kommen. Um solche Angriffe zu verhindern, setzen viele Kartenbetreiber auf chipbasierte Karten, die Verschlüsselung und andere Funktionen zur Authentifizierung und Validierung von Transaktionen nutzen.

Web-Skimming und Digital-Skimming-Angriffe folgen einem ähnlichen Prinzip, indem sie einen schädlichen Code verwenden, der in die Bezahlseiten von Online-Shopping-Websites eingeschleust wird. Ziel ist es, die von Benutzern in Formulare eingegebenen Kartendaten und weitere Zahlungsinformationen abzugreifen. Die bösartigen Skimming-Skripte gelangen auf verschiedene Weise auf die Websites, etwa durch die

  • Verwendung schwacher oder gestohlener administrativer Zugangsdaten,

  • das Ausnutzen von Schwachstellen in Webanwendungen, über die Angreifer nicht autorisierten Code auf Webserver hochladen können oder

  • die Kompromittierung von Fourth-Party-Services wie Web-Analytics, deren legitimierten Skripte bereits in die Zahlungsseiten eingebunden sind.

Web-Skimming-Gruppen verwenden ausgeklügelte Techniken, damit ihr Keylogging-Code nicht entdeckt wird. Der Schadcode kann beispielweise stark verschleiert zu bestehenden JavaScript-Dateien hinzugefügt oder in anderen Ressourcen wie den CSS (Cascading Style Sheets) untergebracht sein. Er kann auch in Bildern eingebettet werden oder auf Domänen von Drittanbietern gehostet sein, die ähnliche Namen wie die von legitimen Diensten verwenden. Und er kann über Content Delivery Networks (CDNs) über eine kleine Importfunktion auf die Ziel-Website gelangen.

Client-basierte Erkennung

Website-Betreiber können verschiedene Technologien auf Webservern einsetzen, um die unbefugte Änderung von Skriptdateien zu erkennen. Internetseiten können jedoch komplex sein und dynamisch generierte Codes verwenden, die auf in Datenbanken gespeicherten Informationen basieren und den Nutzern im laufenden Betrieb zur Verfügung gestellt wird. Aus diesem Grund erfordert eine effektive Verteidigungsstrategie auch Scans, die mit Client-seitigen Crawlern durchgeführt werden und den vollständigen gerenderten Code erfassen können, den der Browser eines normalen Benutzers empfangen würde. Das Merry-Maker-Tool von Target basiert auf diesen Erkenntnissen, so die Entwickler.

"Merry Maker wurde entwickelt, um das Verhalten von Benutzern beim Navigieren auf unserer Website zu imitieren: zum Beispiel die Suche nach einem Produkt, das Hinzufügen zum Warenkorb, die Eingabe der Zahlungsdaten oder das Absenden einer Bestellung", erläutern die Target-Entwickler in einem Blog-Post. "Der gesamte Client-seitige Code, der während dieser Schritte aktiviert wird, kann nur in einem echten Browser vollständig ausgeführt werden."

Das Framework der Anwendung besteht aus zwei Komponenten: einem Administrations-Dashboard, in dem die Abwehr Erkennungsregeln definieren und Warnungen überprüfen kann, und dem Client-basierten Scanner, der mit Headless Chrome implementiert ist - einer programmgesteuerten Version des beliebten Google-Browsers. Seit seinem Start im Jahr 2018 habe der Scanner über eine Million Scans durchgeführt, heißt es.

Zur Automatisierung des Headless-Browsers setzt das Tool auf eine Node.js-Komponente namens Puppeteer, die eine API zur Steuerung des Browsers über das DevTools-Protokoll mit Hilfe von in JavaScript geschriebenen Anweisungen bereitstellt. Ergänzend dazu haben die Target-Ingenieure ein Tool namens JS Scope entwickelt, das JavaScript-Anfragen auflistet und die nativen Funktionsaufrufe des Browsers einzeln untersucht.

"JS Scope gibt uns einen besseren Einblick in das Verhalten des Client-seitigen Codes als die statische Analyse", so die Ingenieure. "Jeder Funktionsaufruf, jede Web-Anfrage, jede Antwort, jedes Cookie und andere relevante Aufrufe werden erfasst und in nahezu Echtzeit analysiert."

Der Scanner kann mehrere Erkennungsregeln zu den vom Headless Chrome erfassten Ereignissen und Inhalten in Echtzeit ausführen. Die Software unterstützt YARA-Regeln - einen Mechanismus zur Klassifizierung und Identifizierung von Malware-Samples - und kann öffentlich verfügbare Regelsätze, die von der Verteidigungsseite geschrieben wurden, oder benutzerdefinierte Regeln zur Erkennung bestimmter Datentypen oder Zeichenketten verwenden. Darüber hinaus werden Erkennungsregeln unterstützt, die auf bekannten Indicators of Compromise (IOCs) basieren, wie digitale Skimming-Domänen, die von öffentlichen Listen oder einem Security Intelligence-Anbieter übernommen werden können.

Das Schreiben komplexerer Erkennungsregeln wird auch über Typescript unterstützt, einer von Microsoft entwickelten Programmiersprache, die auf JavaScript aufbaut und dessen Syntax erweitert. Es gibt auch allgemeinere Erkennungsregeln für unbekannte Domänennamen, die einem White-List-Ansatz folgen. Dabei werden Anfragen an Domänen, die nicht auf einer Whitelist stehen, als potenziell verdächtig gekennzeichnet.

Die vom Scanner generierten Warnungen können auf drei Arten empfangen werden: über das Merry Maker-Dashboard; über Kafka, eine quelloffene Event-Streaming-Plattform ; oder über GoAlert, ein weiteres Open-Source-Projekt von Target, das die Planung von Bereitschaftsdiensten, automatische Eskalationen und Benachrichtigungen per SMS oder Sprachanruf unterstützt.

Merry Maker kann als Docker-Container eingesetzt werden. Damit kann es einfach via Cloud-Infrastruktur weltweit deployed werden, um die geografische Vielfalt der realen Benutzer zu imitieren. Einige Skimmer sorgen dafür, dass ihr bösartiger Code nur bei Besuchern aus bestimmten Regionen oder mit bestimmten sprachlich voreingestellten Browsern ausgeführt werden.

Die Erkennung von Skimming muss mit der Entwicklung Schritt halten

Erkennungswerkzeuge und -techniken sind kein Allheilmittel. Sie müssen durch geeignete Präventivmaßnahmen ergänzt werden. Dazu gehören:

  • die Aktualisierung aller Skripte, Add-Ons, Frameworks und Plug-Ins von Drittanbietern, die zu einer Website gehören,

  • statische und dynamische Schwachstellen-Scans,

  • interne und externe Code-Sicherheits-Audits,

  • ordnungsgemäße Verwaltung von Anmeldeinformationen und Zwei-Faktor-Authentifizierung,

  • Entfernung von unnötigem Code von kritischen Seiten wie Zahlungsformularen und Nutzung browserbasierter Sicherheitsmechanismen wie Content Security Policy (CSP) und Subresource Integrity (SRI).

Keiner dieser Mechanismen bietet für sich allein einen perfekten Schutz, aber in Kombination verringern sie die Wahrscheinlichkeit einer Skimmer-Infektion erheblich.

Eine CSP sorgt dafür, dass eine Website den Browsern die vertrauenswürdigen externen Domänennamen mitteilen kann, von denen ausführbare Skripte in ihrem jeweiligen Kontext geladen werden können. Wenn der Browser auf ein Skript stößt, das nicht von einer der in den CSP-Richtlinien aufgeführten Domänen stammt, wird er dieses nicht laden. Diese Methode bietet einen guten Schutz, kann aber auch nicht verhindern, dass ein vertrauenswürdiger Fourth-Party-Service, der auf einer Whitelist auftaucht, kompromittiert ist, so dass die Infektion mit Schadcode dennoch stattfinden kann.

SRI ergänzt CSP, da sie es Websites ermöglicht, einen kryptografischen Hash für die externen Ressourcen anzugeben, die sie zum Beispiel von einem CDN abrufen. So kann der Browser prüfen, ob eine externe Ressource wie etwa ein Skript den angegebenen Hash enthält und sie nicht laden, wenn der Hash-Wert nicht übereinstimmt. Dies soll vor böswilligen Manipulationen an externen Ressourcen schützen. Das Problem mit SRI ist, dass es nicht einfach zu pflegen ist, insbesondere bei sehr großen Websites mit vielen externen Ressourcen und dynamischem Code.

"Es gibt keine einfachen Antworten auf dieses Problem", sagt Chris Carlson, Senior Director Cybersecurity und einer der Entwickler von Merry Maker, gegenüber CSO. "SRI kann eine Herausforderung darstellen, wenn sich ein Unternehmen bei Analytics und Telemetrie stark auf die Ressourcen Dritter verlässt." Für Target sei es ein wichtiger Schritt zur Verbesserung der Website-Sicherheit gewesen, den Teams, die über Inhalte von Drittanbietern entscheiden, die Risiken zu erklären. "Wir haben, wo immer wir konnten, Inhalte von Drittanbietern von unseren sensibleren Seiten entfernt. Jetzt arbeiten wir daran, SRI für First-Party-Skripte zu nutzen", sagt Carlson.

In einer Präsentation auf der Black Hat Europe im vergangenen Jahr stellten Forscher des Sicherheitsunternehmens Cyberpion verschiedene Techniken vor, mit denen sich Skimmer der Client-basierten Erkennung entziehen können. Dazu gehören auch sogenannte skriptlose Injektionen, bei denen ein legitimes Skript eines Drittanbieters den Service einer vierten Partei nutzt, um andere Datenquellen zu speichern, die das Verhalten des Skripts beeinflussen und über Ajax-Anfragen in den Kontext des Skripts geladen werden können. Die Kompromittierung dieser Datenquellen von Viertanbietern kann Kriminellen ebenfalls eine Angriffsmöglichkeit bieten, während der Code des Skripts des Drittanbieters selbst sauber bleibt. Dies ist ein Beispiel für einen Angriff über die digitale Lieferkette, bei denen der Angriff in der Supply Chain weiter nach oben verlagert wird.

"Merry Maker kann Kompromittierungen von First oder Fourth Partys oder eben auch von einer vierten Instanz erkennen, da es den gesamten JavaScript-Code (nicht nur das Original) und den gesamten Netzwerkverkehr auf Indikatoren für bösartige Absichten untersucht", so die Target-Ingenieure gegenüber CSO. "Unabhängig von der Quelle erkennt Merry Maker Indikatoren".

Es gibt jedoch Techniken und sogar Open-Source-Bibliotheken, die die Verwendung von Headless Browsern erkennen und sie von echten aktiven Besuchern unterscheiden können. Skimmer könnten solche Methoden nutzen, um zu vermeiden, dass ihr bösartiger Code angezeigt wird.

"Wie bei vielem im Bereich der Cybersicherheit geht es darum, mit den sich entwickelnden Bedrohungen Schritt zu halten", so die Target-Ingenieure. "Wir haben Gegenmaßnahmen ergriffen, um die Wahrscheinlichkeit zu verringern, dass sich dies auf die Erkennung auswirkt, und glücklicherweise verfügt Puppeteer über eine wachsende Gemeinschaft von Bibliotheken zur Bekämpfung dieser Art von Techniken." (jm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation CSO Online.

Lucian Constantin arbeitet als Korrespondent für den IDG News Service.