Den (Completely Automated Public Turing test to tell Computers and Humans Apart), blev oprindeligt designet til at forhindre robotter, malware og kunstig intelligens (AI) i at interagere med en webside. I 90’erne drejede det sig om at forhindre spam-bots. I dag bruger organisationer den i et forsøg på at forhindre mere uhyggelige automatiserede angreb som f.eks. credential stuffing.

Næsten lige så snart den blev indført, udviklede cyberkriminelle imidlertid effektive metoder til at omgå den. De gode fyre svarede med “hærdede” s, men resultatet er stadig det samme: testen, der forsøger at stoppe automatisering omgås med automatisering.

Der er flere måder kan besejres. En almindelig metode er at bruge en løsningstjeneste, som udnytter billig menneskelig arbejdskraft i udviklingslande til at løse billeder. Cyberkriminelle abonnerer på en tjeneste for løsninger, som strømlines ind i deres automatiseringsværktøjer via API’er og udfylder svarene på målwebstedet. Disse lyssky virksomheder er så allestedsnærværende, at mange kan findes med en hurtig Google-søgning, herunder:

  • Deathby
  • 2
  • Kolotibablo
  • ProTypers
  • Antigate

Denne artikel vil bruge 2 til at demonstrere, hvordan angriberne integrerer løsningen til at orkestrere credential stuffing-angreb.

2

Når man går ind på webstedet 2.com, bliver man mødt med nedenstående billede, hvor man bliver spurgt, om man vil 1) arbejde for 2 eller 2) købe 2 som en tjeneste.

Mulighed 1 – arbejde for 2

For at arbejde for 2 skal man blot oprette en konto og oplyse en e-mailadresse og en PayPal-konto til indbetaling af penge. Under en test blev en konto valideret inden for få minutter.

Nye medarbejdere skal tage et engangskursus, der lærer dem, hvordan de hurtigt kan løse s. Der gives også tips, f.eks. om, hvornår sag gør og ikke gør noget. Når arbejdstageren har gennemført uddannelsen med tilstrækkelig nøjagtighed, kan han/hun begynde at tjene penge.

Når han/hun har valgt “Start Work”, kommer han/hun til skærmen med arbejdsområdet, som er afbildet ovenfor. Arbejderen får derefter en og opfordres til at indsende en løsning. Når den er løst korrekt, indsættes pengene i en elektronisk “pengepung”, og arbejdstageren kan anmode om udbetaling, når han/hun ønsker det. Der er tilsyneladende ingen ende på antallet af s, der vises i arbejdsområdet, hvilket indikerer en konstant efterspørgsel efter tjenesten.

2 arbejdere er motiveret til at indsende korrekte løsninger på samme måde som en Uber-chauffør er motiveret til at yde fremragende service – kundernes vurderinger. 2 kunder vurderer nøjagtigheden af de løsninger, de har modtaget. Hvis en 2-arbejders bedømmelse falder under en vis tærskel, bliver hun smidt ud af platformen. Omvendt vil arbejdere med de højeste vurderinger blive belønnet i perioder med lav efterspørgsel ved at få prioritet i distributionen.

Mulighed 2 – 2 som en tjeneste

For at bruge 2 som en tjeneste skal en kunde (dvs, en angriber) integrerer 2 API’et i sit angreb for at skabe en digital forsyningskæde, der automatisk indsender puslespil fra målstedet og modtager løsninger til input til målstedet.

2 indeholder hjælpsomme eksempler på scripts til at generere API-opkald i forskellige programmeringssprog, herunder C#, JavaScript, PHP, Python og meget mere. Eksempelkoden skrevet i Python er gengivet nedenfor:

Integrering af 2 i et automatiseret angreb

Hvordan ville en angriber bruge 2 i et credential stuffing-angreb? Nedenstående diagram viser, hvordan de forskellige enheder interagerer i en omgåelsesproces:

Teknisk proces:

  1. Angrebsmanden anmoder om iframe-kilden og den URL, der bruges til at indlejre billedet fra målwebstedet, og gemmer det lokalt
  2. Angrebsmanden anmoder om API-token fra 2-webstedet
  3. Angrebsmanden sender det til 2-tjenesten ved hjælp af HTTP POST og modtager et ID, som er et numerisk ID, der tildeles det billede, der blev indsendt til 2. ID’et bruges i trin 5 til en API GET-forespørgsel til 2 for at hente det løste .
  4. 2 tildeler den til en medarbejder, som så løser den og sender løsningen til 2.
  5. Attacker programmerer script til at pinge 2 ved hjælp af ID’et (hvert 5. sekund, indtil den er løst). 2 sender derefter den løste . Hvis løsningen stadig er ved at blive løst, modtager angriberen et indlæg fra 2, der angiver “_NOT_READY”, og programmet forsøger igen 5 sekunder senere.
  6. Angrebsmanden sender en loginanmodning til målwebstedet med felterne udfyldt (dvs. et sæt legitimationsoplysninger fra en stjålen liste) sammen med løsningen.

  7. Angrebsmanden gentager denne proces med hvert billede.

Kombineret med webtestframeworks som Selenium eller PhantomJS kan en angriber se ud til at interagere med målwebstedet på en menneskelignende måde, hvilket effektivt omgår mange eksisterende sikkerhedsforanstaltninger for at iværksætte et credential stuffing-angreb.

Monetisering &Kriminelt økosystem

Med en så elegant løsning på plads, hvordan ser det finansielle økosystem så ud, og hvordan tjener parterne hver især penge?

Monetisering: Solver

At arbejde som solver er langt fra lukrativt. Baseret på de målinger, der er angivet på 2’s hjemmeside, er det muligt at beregne følgende udbetaling:

Hvis det antages, at det tager 6 sekunder pr , kan en arbejder indsende 10 s pr. minut eller 600 s pr. time. På en 8 timers dag er det 4800 s. Baseret på det, der blev tjent under vores prøveperiode som ansat hos 2 (ca. 0,0004 USD pr. løsning), svarer det til 1,92 USD pr. dag.

Dette er spild af tid for personer i udviklede lande, men for dem, der bor i lokaliteter, hvor et par dollars om dagen kan række relativt langt, er løsningstjenester en nem måde at tjene penge på.

Monetatisering: Angriber

Angrebsmanden betaler den tredje part, 2, for løsninger i bundter af 1000. Angriberne byder på løsningerne og betaler et sted mellem 1 og 5 dollars pr. bundt.

Mange angribere bruger -løsningstjenester som en komponent i et større credential stuffing-angreb, hvilket retfærdiggør udgiften. Lad os for eksempel antage, at en angriber iværksætter et angreb for at teste en million legitimationsoplysninger fra Pastebin på et målwebsted. I dette scenarie skal angriberen omgå en med hvert sæt legitimationsoplysninger, hvilket ville koste ca. 1000 dollars. Hvis man antager en succesfuld genbrugsrate for legitimationsoplysninger på 1,5 %, kan angriberen tage over 15.000 konti, som alle kan tjene penge på.

Monetatisering: 2

2 modtager betaling fra angriberen pr. 1000. Som nævnt ovenfor betaler kunderne (dvs. angriberne) mellem 1 og 5 dollars pr. 1000 s. Tjenester som 2 tager derefter en del af budprisen og deler resten ud til deres menneskelige arbejdsstyrke. Da løsningstjenester bruges som en løsning i stor skala, løber overskuddet pænt op. Selv hvis 2 kun modtager 1 USD pr. 1000 løste s, tjener de mindst 60 cent pr. bundt. Ejerne af disse websteder er ofte selv i udviklingslandene, så den tilsyneladende lave indtjening er betydelig.

Hvad med Googles usynlige re?

I marts i år frigav Google en opgraderet version af sin re kaldet “Invisible re”. I modsætning til “no re”, som krævede, at alle brugere skulle klikke på den berygtede “I’m not a Robot”-knap, tillader Invisible re kendte menneskelige brugere at passere igennem, mens der kun serveres en re-billedudfordring til mistænkelige brugere.

Man kunne tro, at dette ville gøre angriberne forvirrede, fordi de ikke ville være i stand til at se, hvornår de blev testet. Alligevel skrev 2, blot en dag efter at Google introducerede Invisible re, et blogindlæg om, hvordan man kan slå den.

Den måde Google ved, at en bruger er et menneske, er, om brugeren tidligere har besøgt den ønskede side, hvilket Google finder ud af ved at kontrollere browserens cookies. Hvis den samme bruger er begyndt at bruge en ny enhed eller for nylig har ryddet sin cache, har Google ikke disse oplysninger og er tvunget til at udstede en ny udfordring.

For at en angriber kan automatisere et credential stuffing-angreb ved hjælp af 2, er han nødt til at garantere en udfordring. En måde at omgå Invisible re på er således at tilføje en kodelinje til angrebsscriptet, der rydder browseren ved hver anmodning, hvilket garanterer en re-udfordring, der kan løses.

Det lidt vanskelige ved Invisible re er, at udfordringen er skjult, men der er en løsning på problemet. Den kan “findes” ved at bruge browserværktøjet “inspect element”. Så angriberen kan sende en POST til 2, der indeholder en parameter, der beskriver, hvor den skjulte er placeret. Når angriberen modtager løsningen fra 2, kan Invisible re besejres via automatisering på en af to måder:

  1. JavaScript-aktion, der kalder en funktion til at levere det løste token med sidens formular submit
  2. HTML-kodeændring direkte på websiden for at erstatte et udsnit af normal kode med det løste token-input.

Den omstændighed, at Invisible re kan omgås, er ikke fordi der var en fatal fejl i designet af den nyere . Det er, at enhver omvendt Turing-test i sagens natur kan overgås, når betingelserne for at bestå er kendt.

Så længe der findes s, vil der være tjenester som 2, fordi økonomien spiller så godt i de kriminelles hænder. Ved at drage fordel af billig menneskelig arbejdskraft minimeres omkostningerne ved at drive forretning og giver cyberkriminelle mulighed for at høste overskud, der kan løbe op i millioner af dollars i stor skala. Og der vil altid være regioner i verden med billige arbejdskraftomkostninger, så den konstante efterspørgsel sikrer et konstant udbud på 2’s side.

Verden behøver ikke at udvikle en bedre , da hele denne tilgang har grundlæggende begrænsninger. I stedet bør vi anerkende disse begrænsninger og implementere forsvar, hvor adgangsbetingelserne er ukendte eller i det mindste vanskelige for angriberne at konstatere.

Kilder

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

Hunt, Troy. “Breaking with Automated Humans.” Blogindlæg. Troy Hunt. Troy Hunt, 22. jan. 2012. Web.

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

Lær mere

Se videoen: “Learn How Cybercriminals Defeat”

admin

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.

lg