De (Completely Automated Public Turing test to tell Computers and Humans Apart), werd oorspronkelijk ontworpen om te voorkomen dat bots, malware en kunstmatige intelligentie (AI) interactie zouden hebben met een webpagina. In de jaren 90 betekende dit het voorkomen van spam bots. Tegenwoordig gebruiken organisaties het om meer sinistere geautomatiseerde aanvallen te voorkomen, zoals credential stuffing.

Nagenoeg direct na de introductie ontwikkelden cybercriminelen echter effectieve methoden om het te omzeilen. De good guys reageerden met “hardened” s, maar het resultaat blijft hetzelfde: de test die automatisering probeert tegen te houden, wordt omzeild met automatisering.

Er zijn meerdere manieren waarop de test kan worden verslagen. Een veelgebruikte methode is het gebruik van een oplosdienst, die gebruik maakt van goedkope menselijke arbeid in ontwikkelingslanden om afbeeldingen op te lossen. Cybercriminelen abonneren zich op een dienst voor oplossingen, die ze via API’s in hun automatiseringstools stroomlijnen en de antwoorden op de doelwebsite plaatsen. Deze louche ondernemingen zijn zo alomtegenwoordig dat velen kunnen worden gevonden met een snelle Google-zoekopdracht, waaronder:

  • Deathby
  • 2
  • Kolotibablo
  • ProTypers
  • Antigate

Dit artikel zal 2 gebruiken om te demonstreren hoe aanvallers de oplossing integreren om credential stuffing-aanvallen te orkestreren.

2

Bij het openen van de site 2.com wordt de kijker begroet met de onderstaande afbeelding, met de vraag of de bezoeker 1) voor 2 wil werken of 2) 2 als dienst wil afnemen.

Optie 1 – Werken voor 2

Om voor 2 te werken, hoeft men zich alleen maar te registreren voor een account, waarbij een e-mailadres en PayPal-account moeten worden opgegeven voor de betaling van de aanbetalingen. Tijdens een test werd een account binnen enkele minuten gevalideerd.

Nieuwe werknemers moeten een eenmalige training volgen die hen leert hoe ze snel s kunnen oplossen. Er worden ook tips gegeven, zoals wanneer zaak wel en zaak niet van belang is. Nadat de werknemer de training met voldoende nauwkeurigheid heeft voltooid, kan hij geld gaan verdienen.

Na het selecteren van “Werk beginnen”, wordt de werknemer naar het werkruimtescherm gebracht, dat hierboven is afgebeeld. De werknemer krijgt dan een en gevraagd om een oplossing in te dienen. Eenmaal correct opgelost, wordt geld gestort in een elektronische “portemonnee,” en de werknemer kan om uitbetaling vragen wanneer hij maar wil. Er lijkt geen einde te komen aan het aantal s dat in de werkruimte verschijnt, wat wijst op een gestage vraag naar de dienst.

2 werknemers worden gestimuleerd om correcte oplossingen in te dienen, net zoals een Uber-chauffeur wordt gestimuleerd om een uitstekende service te verlenen – beoordelingen van klanten. 2 klanten beoordelen de nauwkeurigheid van de oplossingen die ze hebben ontvangen. Als de beoordeling van een 2-werker onder een bepaalde drempel komt, wordt deze van het platform getrapt. Omgekeerd worden werkers met de hoogste ratings beloond in tijden van weinig vraag door voorrang te krijgen bij de distributie.

Optie 2 – 2 als een dienst

Om 2 als een dienst te gebruiken, integreert een klant (d.w.z., een aanvaller) integreert de 2 API in haar aanval om een digitale toeleveringsketen te creëren, automatisch puzzels van de doelsite te voeden en oplossingen te ontvangen om in de doelsite in te voeren.

2 biedt behulpzaam voorbeeldscripts om API-aanroepen te genereren in verschillende programmeertalen, waaronder C #, JavaScript, PHP, Python, en meer. De voorbeeldcode die in Python is geschreven, is hieronder weergegeven:

Integratie van 2 in een geautomatiseerde aanval

Hoe zou een aanvaller 2 gebruiken in een credential stuffing-aanval? Het onderstaande diagram laat zien hoe de verschillende entiteiten samenwerken in een omzeilingsproces:

Technisch proces:

  1. Aanvaller vraagt de iframe-bron en URL op die worden gebruikt om de afbeelding van de doelsite in te sluiten en slaat deze lokaal op
  2. Aanvaller vraagt API-token van 2 website
  3. Aanvaller stuurt de naar de 2 service met behulp van HTTP POST en ontvangt een ID, dat is een numerieke ID die wordt toegeschreven aan de afbeelding die bij 2 is ingediend. De ID wordt gebruikt in stap 5 voor een API GET verzoek aan 2 om de opgeloste afbeelding op te halen.
  4. 2 wijst de afbeelding toe aan een werker die het oplost en de oplossing naar 2 stuurt.
  5. Attacker programmeert script om 2 te pingen met de ID (elke 5 seconden tot het opgelost is). 2 stuurt dan de opgeloste oplossing. Als de oplossing nog steeds wordt opgelost, ontvangt de aanvaller een bericht van 2 met de melding “_NOT_READY” en probeert het programma het 5 seconden later opnieuw.
  6. Aanvaller stuurt een login verzoek naar de doelsite met de ingevulde velden (d.w.z. een set referenties van een gestolen lijst) samen met de oplossing.
  7. Aanvaller itereert over dit proces met elke afbeelding.

In combinatie met webtestframeworks als Selenium of PhantomJS kan een aanvaller op een menselijke manier met de doelwebsite lijken te communiceren, waardoor veel bestaande beveiligingsmaatregelen worden omzeild en een credential stuffing-aanval kan worden uitgevoerd.

Monetization & Criminal Ecosystem

With such an elegant solution in place, what does the financial ecosystem look like, and how do the parties each make money?

Monetization: solver

Working as a solver is far from lucrative. Op basis van de statistieken op de website van 2, is het mogelijk om de volgende uitbetaling te berekenen:

Aannemende dat het 6 seconden per , een werknemer kan indienen 10 s per minuut of 600 s per uur. In een 8-urige dag is dat 4800 s. Gebaseerd op wat werd verdiend tijdens onze proef als werknemer voor 2 (ruwweg $ 0,0004 per oplossing), komt dit neer op $ 1,92 per dag.

Dit is een verspilling van tijd voor individuen in ontwikkelde landen, maar voor degenen die leven in locaties waar een paar dollar per dag relatief ver kan gaan, zijn oplosdiensten een gemakkelijke manier om geld te verdienen.

Monetization: Aanvaller

De aanvaller betaalt de derde partij, 2, voor oplossingen in bundels van 1000. Aanvallers bieden op de oplossingen, en betalen ergens tussen de $1 en $5 per bundel.

Veel aanvallers gebruiken -oplossende diensten als onderdeel van een grotere credential stuffing aanval, wat de kosten rechtvaardigt. Stel bijvoorbeeld dat een aanvaller een aanval uitvoert om een miljoen referenties van Pastebin op een doelsite te testen. In dit scenario moet de aanvaller er één omzeilen met elke set referenties, wat ruwweg $1000 zou kosten. Uitgaande van 1,5% succesvol hergebruik van referenties, kan de aanvaller meer dan 15.000 accounts overnemen, die allemaal te gelde kunnen worden gemaakt.

Monetization: 2

2 ontvangt betaling van de aanvaller op een per 1000 basis. Zoals hierboven vermeld, betalen klanten (d.w.z. aanvallers) tussen $1 en $5 per 1000 s. Diensten zoals 2 nemen dan een deel van de biedprijs en delen de rest uit aan hun menselijke arbeidskrachten. Aangezien oplos-diensten worden gebruikt als een oplossing op schaal, loopt de winst aardig op. Zelfs als 2 maar $1 per 1000 opgeloste s ontvangt, verdienen ze minimaal 60 cent per bundel. De eigenaren van deze sites zijn vaak zelf in ontwikkelingslanden, dus de ogenschijnlijk lage inkomsten zijn substantieel.

Hoe zit het met Google’s Invisible re?

In maart van dit jaar, Google bracht een verbeterde versie van zijn re genaamd “Invisible re.” In tegenstelling tot “geen re,” waarbij alle gebruikers op de beruchte “I’m not a Robot” -knop moesten klikken, laat Invisible re bekende menselijke gebruikers passeren terwijl het alleen een re image challenge serveert aan verdachte gebruikers.

Je zou kunnen denken dat dit aanvallers zou stumpen omdat ze niet in staat zouden zijn om te zien wanneer ze werden getest. Toch, slechts één dag nadat Google Invisible re introduceerde, schreef 2 een blogpost over hoe het te verslaan.

De manier waarop Google weet dat een gebruiker een mens is, is als de gebruiker de opgevraagde pagina eerder heeft bezocht, wat Google bepaalt door de cookies van de browser te controleren. Als dezelfde gebruiker een nieuw apparaat is gaan gebruiken of onlangs zijn cache heeft leeggemaakt, heeft Google die informatie niet en is het gedwongen een nieuwe uitdaging uit te geven.

Om een aanval op credential stuffing met behulp van 2 te kunnen automatiseren, moet een aanvaller een uitdaging garanderen. Een manier om onzichtbare re te omzeilen is dus om een regel code aan het aanvalsscript toe te voegen die de browser bij elk verzoek leegmaakt, zodat een oplosbare re challenge gegarandeerd is.

Het lastige van onzichtbare re is dat de uitdaging verborgen is, maar er is een workaround. Het kan worden “gevonden” met behulp van de “inspect element” browser tool. Dus de aanvaller kan een POST sturen naar 2 die een parameter bevat die aangeeft waar de hidden zich bevindt. Zodra de aanvaller de oplossing van 2 ontvangt, kan Invisible re via automatisering op een van de volgende twee manieren worden verslagen:

  1. JavaScript actie die een functie aanroept om het opgeloste token te leveren met het pagina formulier submit
  2. HTML code wijziging direct in de webpagina om een snippet van normale code te vervangen door de opgeloste token input.

Het feit dat Invisible re kan worden omzeild is niet omdat er een fatale fout zat in het ontwerp van de nieuwere . Het is dat elke omgekeerde Turing test inherent verslaanbaar is als de pasvoorwaarden bekend zijn.

Zolang er s zijn, zullen er diensten als 2 zijn, omdat de economie zo goed in de handen van de crimineel speelt. Profiteren van lage kosten menselijke arbeid minimaliseert de kosten van het zakendoen en stelt cybercriminelen in staat om winsten te oogsten die kunnen tikken tot miljoenen dollars op schaal. En er zullen altijd regio’s in de wereld zijn met goedkope arbeidskosten, dus de constante vraag zorgt voor een constant aanbod aan 2’s kant.

De wereld hoeft geen betere te ontwikkelen, omdat deze hele aanpak fundamentele beperkingen heeft. In plaats daarvan moeten we die beperkingen erkennen en verdedigingen implementeren waarbij de pasvoorwaarden onbekend zijn of op zijn minst moeilijk door aanvallers te achterhalen zijn.

Bronnen

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

Hunt, Troy. “Breken met geautomatiseerde mensen.” Blog post. Troy Hunt. Troy Hunt, 22 jan. 2012. Web.

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

Learn More

Bekijk de video, “Learn How Cybercriminals Defeat”

admin

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.

lg