Der (Completely Automated Public Turing test to tell Computers and Humans Apart) wurde ursprünglich entwickelt, um Bots, Malware und künstliche Intelligenz (AI) daran zu hindern, mit einer Webseite zu interagieren. In den 90er Jahren bedeutete dies, Spam-Bots zu verhindern. Heutzutage versuchen Unternehmen damit, unheimlichere automatisierte Angriffe wie das Ausfüllen von Anmeldeinformationen zu verhindern.

Sobald es jedoch eingeführt wurde, entwickelten Cyberkriminelle effektive Methoden, um es zu umgehen. Die Guten reagierten mit „gehärteten“ Tests, aber das Ergebnis bleibt dasselbe: Der Test, der versucht, die Automatisierung zu stoppen, wird mit Automatisierung umgangen.

Es gibt mehrere Möglichkeiten, ihn zu umgehen. Eine gängige Methode ist die Nutzung eines Lösungsdienstes, der kostengünstige menschliche Arbeitskräfte in Entwicklungsländern einsetzt, um Bilder zu lösen. Cyberkriminelle abonnieren einen Dienst für Lösungen, die über APIs in ihre Automatisierungstools einfließen und die Antworten auf der Zielwebsite einblenden. Diese zwielichtigen Unternehmen sind so allgegenwärtig, dass viele von ihnen mit einer schnellen Google-Suche gefunden werden können, darunter:

  • Deathby
  • 2
  • Kolotibablo
  • ProTypers
  • Antigate

In diesem Artikel wird anhand von 2 demonstriert, wie Angreifer die Lösung integrieren, um Credential Stuffing-Angriffe zu orchestrieren.

2

Beim Aufrufen der Website 2.com wird der Besucher mit dem nachstehenden Bild begrüßt und gefragt, ob er 1) für 2 arbeiten oder 2) 2 als Dienstleistung erwerben möchte.

Option 1 – Für 2 arbeiten

Um für 2 zu arbeiten, muss man sich lediglich für ein Konto registrieren und dabei eine E-Mail-Adresse und ein PayPal-Konto für Zahlungseinzahlungen angeben. Bei einem Test wurde ein Konto innerhalb von Minuten validiert.

Neue Mitarbeiter müssen eine einmalige Schulung absolvieren, in der sie lernen, wie sie s schnell lösen können, und Tipps erhalten, wann ein Fall wichtig ist und wann nicht. Nachdem der Arbeiter die Schulung mit ausreichender Genauigkeit absolviert hat, kann er anfangen, Geld zu verdienen.

Nachdem er „Arbeit beginnen“ ausgewählt hat, wird der Arbeiter zum Arbeitsbereich-Bildschirm geführt, der oben abgebildet ist. Der Arbeiter wird dann aufgefordert, eine Lösung einzureichen. Bei korrekter Lösung wird das Geld in eine elektronische „Geldbörse“ eingezahlt, und der Arbeitnehmer kann jederzeit eine Auszahlung beantragen. Die Zahl der s, die im Arbeitsbereich erscheinen, scheint kein Ende zu nehmen, was auf eine ständige Nachfrage nach dem Dienst hinweist.

2 Arbeiter haben einen Anreiz, korrekte Lösungen einzureichen, ähnlich wie ein Uber-Fahrer einen Anreiz hat, exzellenten Service zu bieten – Kundenbewertungen. 2 Kunden bewerten die Richtigkeit der Lösungen, die sie erhalten haben. Wenn die Bewertung eines 2-Mitarbeiters unter einen bestimmten Schwellenwert fällt, wird er von der Plattform geworfen. Umgekehrt werden die Arbeiter mit den höchsten Bewertungen in Zeiten geringer Nachfrage belohnt, indem sie bei der Verteilung bevorzugt werden.

Option 2 – 2 als Service

Um 2 als Service zu nutzen, integriert ein Kunde (d.h., ein Angreifer) integriert die 2-API in seinen Angriff, um eine digitale Lieferkette zu erstellen, indem er automatisch Rätsel von der Zielsite einspeist und Lösungen erhält, die er in die Zielsite eingibt.

2 stellt hilfreiche Beispielskripte zur Verfügung, um API-Aufrufe in verschiedenen Programmiersprachen zu generieren, darunter C#, JavaScript, PHP, Python und mehr. Der in Python geschriebene Beispielcode ist im Folgenden wiedergegeben:

Einbindung von 2 in einen automatisierten Angriff

Wie würde ein Angreifer 2 in einem Credential Stuffing-Angriff verwenden? Das folgende Diagramm zeigt, wie die verschiedenen Einheiten in einem Bypass-Prozess zusammenwirken:

Technischer Prozess:

  1. Der Angreifer fordert die iframe-Quelle und die URL, die zum Einbetten des Bildes verwendet wird, von der Zielseite an und speichert sie lokal
  2. Der Angreifer fordert ein API-Token von der Website von 2 an
  3. Der Angreifer sendet das Token per HTTP POST an den Dienst von 2 und erhält eine ID, bei der es sich um eine numerische ID handelt, die dem Bild zugeordnet ist, das an 2 übermittelt wurde. Die ID wird in Schritt 5 für eine API-GET-Anfrage an 2 verwendet, um das gelöste Bild abzurufen.
  4. 2 weist das Bild einem Arbeiter zu, der es dann löst und die Lösung an 2 sendet.
  5. Der Angreifer programmiert ein Skript, um 2 mit der ID anzupingen (alle 5 Sekunden, bis es gelöst ist). 2 sendet dann die Lösung. Wenn die Lösung noch in Bearbeitung ist, erhält der Angreifer eine Nachricht von 2 mit dem Hinweis „_NOT_READY“, und das Programm versucht es 5 Sekunden später erneut.
  6. Angreifer sendet eine Login-Anfrage an die Zielseite mit den ausgefüllten Feldern (d.h. eine Reihe von Anmeldedaten aus einer gestohlenen Liste) zusammen mit der Lösung.
  7. Angreifer wiederholt diesen Prozess mit jedem Bild.

In Kombination mit Web-Testing-Frameworks wie Selenium oder PhantomJS kann ein Angreifer den Anschein erwecken, mit der Ziel-Website auf menschenähnliche Weise zu interagieren, und so viele bestehende Sicherheitsmaßnahmen effektiv umgehen, um einen Credential Stuffing-Angriff zu starten.

Monetarisierung & Kriminelles Ökosystem

Wie sieht das finanzielle Ökosystem bei einer solch eleganten Lösung aus, und wie verdienen die einzelnen Parteien Geld?

Monetarisierung: Solver

Die Arbeit als Solver ist alles andere als lukrativ. Anhand der Angaben auf der Website von 2 lässt sich folgende Auszahlung berechnen:

Angenommen, es dauert 6 Sekunden pro , kann ein Arbeiter 10 Sekunden pro Minute oder 600 Sekunden pro Stunde einreichen. Bei einem 8-Stunden-Tag sind das 4800 Sekunden. Ausgehend von dem, was wir während unseres Tests als Angestellter für 2 Personen verdient haben (etwa 0,0004 Dollar pro Lösung), entspricht das 1,92 Dollar pro Tag.

Für Menschen in entwickelten Ländern ist das eine Zeitverschwendung, aber für diejenigen, die in Gegenden leben, in denen ein paar Dollar pro Tag relativ weit reichen, sind Lösungsdienste eine einfache Möglichkeit, Geld zu verdienen.

Monetarisierung: Angreifer

Der Angreifer bezahlt die dritte Partei, 2, für Lösungen in Bündeln von 1000. Die Angreifer bieten auf die Lösungen und zahlen zwischen 1 und 5 Dollar pro Paket.

Viele Angreifer nutzen Lösungsdienste als Bestandteil eines größeren Credential Stuffing-Angriffs, was die Kosten rechtfertigt. Nehmen wir zum Beispiel an, ein Angreifer startet einen Angriff, um eine Million Anmeldeinformationen von Pastebin auf einer Zielseite zu testen. In diesem Szenario muss der Angreifer mit jedem Satz von Anmeldeinformationen eine umgehen, was etwa 1000 US-Dollar kosten würde. Geht man von einer Wiederverwendungsrate von 1,5 % aus, kann der Angreifer über 15.000 Konten übernehmen, die alle zu Geld gemacht werden können.

Monetarisierung: 2

2 erhält vom Angreifer eine Zahlung pro 1000. Wie bereits erwähnt, zahlen die Kunden (d.h. die Angreifer) zwischen 1 und 5 $ pro 1000 s. Dienste wie 2 nehmen dann einen Teil des Angebotspreises und verteilen den Rest an ihre menschlichen Arbeitskräfte. Da Lösungsdienste als Lösung in großem Maßstab eingesetzt werden, summieren sich die Gewinne ganz schön. Selbst wenn 2 nur 1 $ pro 1000 gelöste Aufgaben erhält, macht das einen Gewinn von mindestens 60 Cent pro Paket. Die Besitzer dieser Websites befinden sich oft selbst in Entwicklungsländern, so dass die scheinbar geringen Einnahmen beträchtlich sind.

Was ist mit Googles „Invisible re“?

Im März dieses Jahres veröffentlichte Google eine verbesserte Version seines „re“ mit dem Namen „Invisible re“. Im Gegensatz zu „no re“, bei dem alle Nutzer auf die berüchtigte „Ich bin kein Roboter“-Schaltfläche klicken mussten, erlaubt „Invisible re“ bekannten menschlichen Nutzern den Durchgang, während verdächtigen Nutzern nur eine „re“-Bildabfrage angezeigt wird.

Man könnte meinen, dass dies Angreifern einen Strich durch die Rechnung machen würde, da sie nicht sehen können, wann sie getestet werden. Doch nur einen Tag nach der Einführung von Invisible re schrieb Google 2 einen Blog-Beitrag darüber, wie man es überlisten kann.

Google weiß, dass es sich bei einem Nutzer um einen Menschen handelt, wenn dieser die angeforderte Seite bereits zuvor besucht hat, was Google durch Überprüfung der Browser-Cookies feststellt. Wenn derselbe Nutzer ein neues Gerät verwendet oder kürzlich seinen Cache geleert hat, verfügt Google nicht über diese Informationen und ist gezwungen, eine neue Anfrage zu stellen.

Damit ein Angreifer einen Angriff zum Ausfüllen von Anmeldeinformationen mit 2 automatisieren kann, muss er eine Anfrage garantieren. Eine Möglichkeit, Invisible re zu umgehen, besteht also darin, dem Angriffsskript eine Codezeile hinzuzufügen, die den Browser bei jeder Anfrage löscht und so eine lösbare re challenge garantiert.

Das etwas Tückische an Invisible re ist, dass die challenge versteckt ist, aber es gibt einen Workaround. Sie kann mit Hilfe des Browser-Tools „Element inspizieren“ „gefunden“ werden. Der Angreifer kann also eine POST an 2 senden, die einen Parameter enthält, der angibt, wo sich das versteckte Element befindet. Sobald der Angreifer die Lösung von 2 erhält, kann Invisible re auf zwei Arten automatisiert umgangen werden:

  1. JavaScript-Aktion, die eine Funktion aufruft, um das gelöste Token mit dem Submit-Formular der Seite zu übermitteln
  2. HTML-Code-Änderung direkt auf der Webseite, um einen Ausschnitt des normalen Codes durch die Eingabe des gelösten Tokens zu ersetzen.

Die Tatsache, dass Invisible re umgangen werden kann, liegt nicht daran, dass es einen fatalen Fehler im Design der neueren Version gibt. Es liegt daran, dass jeder umgekehrte Turing-Test von Natur aus umgangen werden kann, wenn die Bedingungen für das Bestehen bekannt sind.

Solange es s gibt, wird es Dienste wie 2 geben, weil die Wirtschaft den Kriminellen so gut in die Hände spielt. Die Ausnutzung der Vorteile kostengünstiger menschlicher Arbeitskräfte minimiert die Kosten für die Geschäftstätigkeit und ermöglicht es Cyberkriminellen, Gewinne zu erzielen, die im großen Maßstab in die Millionenhöhe gehen können. Und es wird immer Regionen auf der Welt geben, in denen Arbeitskräfte billig sind, so dass die konstante Nachfrage für ein konstantes Angebot auf der Seite von 2 sorgt.

Die Welt braucht keine bessere Lösung zu entwickeln, da dieser gesamte Ansatz grundlegende Grenzen hat. Stattdessen sollten wir diese Einschränkungen anerkennen und Verteidigungsmaßnahmen implementieren, bei denen die Passierbedingungen unbekannt oder zumindest für Angreifer schwer zu ermitteln sind.

Quellen

Holmes, Tamara E. „Prepaid Card and Gift Card Statistics.“ CreditCards.com. Creditcards.com, 01 Dec. 2015. Web.

Hunt, Troy. „Breaking with Automated Humans.“ Blog Post. Troy Hunt. Troy Hunt, 22 Jan. 2012. Web.

Motoyama, Marti, Kirill Levchenko, Chris Kanich, und Stefan Savage. Re: s-Understanding -solving Services in an Economic Context. Proc. of 19th USENIX Security Symposium, Washington DC. Print.

Learn More

Watch the video, „Learn How Cybercriminals Defeat“

admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

lg