Il (Completely Automated Public Turing test to tell Computers and Humans Apart), fu originariamente progettato per impedire a bot, malware e intelligenza artificiale (AI) di interagire con una pagina web. Negli anni ’90, questo significava prevenire lo spam bot. Al giorno d’oggi, le organizzazioni lo usano nel tentativo di prevenire attacchi automatizzati più sinistri come il credential stuffing.

Quasi appena è stato introdotto, tuttavia, i criminali informatici hanno sviluppato metodi efficaci per aggirarlo. I bravi ragazzi hanno risposto con “hardened” s ma il risultato rimane lo stesso: il test che tenta di fermare l’automazione viene aggirato con l’automazione.

Ci sono molteplici modi per essere sconfitti. Un metodo comune è quello di utilizzare un servizio di risoluzione, che utilizza manodopera umana a basso costo nei paesi in via di sviluppo per risolvere le immagini. I criminali informatici si abbonano a un servizio per le soluzioni, che si integrano nei loro strumenti di automazione tramite API, popolando le risposte sul sito web di destinazione. Queste imprese losche sono così onnipresenti che molte possono essere trovate con una rapida ricerca su Google, tra cui:

  • Deathby
  • 2
  • Kolotibablo
  • ProTypers
  • Antigate

Questo articolo userà 2 per dimostrare come gli attaccanti integrano la soluzione per orchestrare attacchi di credenziali.

2

Accedendo al sito 2.com, lo spettatore viene accolto con l’immagine sottostante, che chiede se il visitatore vuole 1) lavorare per 2 o 2) acquistare 2 come servizio.

Opzione 1 – Lavorare per 2

Per lavorare per 2, basta registrarsi per un account, fornendo un indirizzo email e un conto PayPal per il deposito dei pagamenti. Durante un test, un account è stato convalidato in pochi minuti.

I nuovi lavoratori devono seguire un corso di formazione una tantum che insegna loro come risolvere rapidamente s. Fornisce anche consigli come quando il caso ha e non ha importanza. Dopo aver completato la formazione con sufficiente accuratezza, il lavoratore può iniziare a guadagnare denaro.

Dopo aver selezionato “Start Work,” il lavoratore viene portato alla schermata dello spazio di lavoro, che è raffigurato sopra. Il lavoratore viene quindi fornito un e richiesto di presentare una soluzione. Una volta risolto correttamente, il denaro viene depositato in una “borsa” elettronica, e il lavoratore può richiedere il pagamento quando vuole. Sembra che non ci sia fine al numero di s che appaiono nello spazio di lavoro, indicando una domanda costante per il servizio.

2 lavoratori sono incentivati a presentare soluzioni corrette, proprio come un autista di Uber è incentivato a fornire un servizio eccellente – le valutazioni dei clienti. I clienti 2 valutano l’accuratezza delle soluzioni che hanno ricevuto. Se la valutazione di un lavoratore 2 scende al di sotto di una certa soglia, sarà cacciato dalla piattaforma. Al contrario, i lavoratori con le valutazioni più alte saranno premiati durante i periodi di bassa domanda, ricevendo la priorità nella distribuzione.

Opzione 2 – 2 come servizio

Per utilizzare 2 come servizio, un cliente (ad es, un aggressore) integra l’API di 2 nel suo attacco per creare una catena di approvvigionamento digitale, alimentando automaticamente i puzzle dal sito di destinazione e ricevendo soluzioni da inserire nel sito di destinazione.

2 fornisce in modo utile script di esempio per generare chiamate API in diversi linguaggi di programmazione, tra cui C#, JavaScript, PHP, Python e altri. Il codice di esempio scritto in Python è stato riprodotto di seguito:

Integrare 2 in un attacco automatizzato

Come potrebbe un attaccante usare 2 in un attacco di credenziali? Il diagramma sottostante mostra come le diverse entità interagiscono in un processo di bypass:

Processo tecnico:

  1. Attacker richiede la fonte dell’iframe e l’URL usato per incorporare l’immagine dal sito di destinazione e la salva localmente
  2. Attacker richiede il token API dal sito 2
  3. Attacker invia il token al servizio 2 usando HTTP POST e riceve un ID, che è un ID numerico attribuito all’immagine che è stata inviata a 2. L’ID è usato nella fase 5 per una richiesta API GET a 2 per recuperare il risolto.
  4. 2 assegna il a un lavoratore che poi lo risolve e invia la soluzione a 2.
  5. Attacker programma uno script per inviare un ping a 2 usando l’ID (ogni 5 secondi fino alla soluzione). 2 poi invia la soluzione. Se la soluzione è ancora in fase di risoluzione, l’attaccante riceve un post da 2 che indica “_NOT_READY” e il programma riprova 5 secondi dopo.
  6. L’attaccante invia una richiesta di login al sito di destinazione con i campi compilati (cioè un set di credenziali da una lista rubata) insieme alla soluzione.
  7. L’attaccante itera questo processo con ogni immagine.

Combinato con framework di test web come Selenium o PhantomJS, un attaccante può sembrare interagire con il sito web di destinazione in modo umano, aggirando efficacemente molte misure di sicurezza esistenti per lanciare un attacco di credenziali.

Monetizzazione &Ecosistema criminale

Con una soluzione così elegante in atto, come appare l’ecosistema finanziario e come fanno le parti a fare soldi?

Monetizzazione: solutore

Lavorare come solutore è tutt’altro che redditizio. Sulla base delle metriche fornite sul sito di 2, è possibile calcolare il seguente payout:

Assumendo che ci vogliono 6 secondi per , un lavoratore può inviare 10 s al minuto o 600 s all’ora. In un giorno di 8 ore sono 4800 s. Sulla base di ciò che è stato guadagnato durante la nostra prova come dipendente per 2 (circa $0,0004 per soluzione), questo equivale a $1,92 al giorno.

Questo è una perdita di tempo per gli individui nei paesi sviluppati, ma per coloro che vivono in luoghi dove pochi dollari al giorno possono andare relativamente lontano, i servizi di risoluzione sono un modo semplice per fare soldi.

Monetizzazione: Attaccante

L’attaccante paga la terza parte, 2, per soluzioni in pacchetti di 1000. Gli aggressori fanno un’offerta per le soluzioni, pagando ovunque tra 1 e 5 dollari per pacchetto.

Molti aggressori usano i servizi di soluzione come una componente di un più grande attacco di credenziali, che giustifica la spesa. Per esempio, supponiamo che un attaccante stia lanciando un attacco per testare un milione di credenziali da Pastebin su un sito bersaglio. In questo scenario, l’attaccante ha bisogno di bypassarne uno con ogni set di credenziali, il che costerebbe circa 1000 dollari. Assumendo un tasso di riutilizzo delle credenziali di successo dell’1,5%, l’attaccante può prendere oltre 15.000 account, che possono essere tutti monetizzati.

Monetizzazione: 2

2 riceve il pagamento dall’attaccante su una base per 1000. Come menzionato sopra, i clienti (cioè gli attaccanti) pagano tra 1 e 5 dollari per 1000 s. I servizi come 2 quindi prendono una parte del prezzo dell’offerta e distribuiscono il resto alla loro forza lavoro umana. Poiché i servizi risolutivi sono usati come soluzione su scala, i profitti si sommano bene. Anche se 2 riceve solo 1 dollaro per ogni 1000 s risolti, guadagna un minimo di 60 centesimi per pacchetto. I proprietari di questi siti sono spesso nei paesi in via di sviluppo, quindi le entrate apparentemente basse sono sostanziali.

Che dire di Invisible re di Google?

A marzo di quest’anno, Google ha rilasciato una versione aggiornata del suo re chiamato “Invisible re”. A differenza di “no re”, che richiedeva a tutti gli utenti di fare clic sul famigerato pulsante “Non sono un robot”, Invisible re permette agli utenti umani noti di passare, mentre serve solo una sfida di immagine re agli utenti sospetti.

Si potrebbe pensare che questo potrebbe bloccare gli attaccanti perché non sarebbero in grado di vedere quando sono stati testati. Eppure, appena un giorno dopo che Google ha introdotto Invisible re, 2 ha scritto un post sul blog su come batterlo.

Il modo in cui Google sa che un utente è umano è se l’utente ha precedentemente visitato la pagina richiesta, che Google determina controllando i cookie del browser. Se lo stesso utente ha iniziato ad usare un nuovo dispositivo o ha recentemente cancellato la sua cache, Google non ha queste informazioni ed è costretto ad emettere una nuova sfida.

Perché un attaccante possa automatizzare un attacco di credenziali usando 2, ha bisogno di garantire una sfida. Quindi, un modo per bypassare Invisible re è quello di aggiungere una linea di codice allo script di attacco che cancella il browser ad ogni richiesta, garantendo un re challenge risolvibile.

La cosa leggermente complicata di Invisible re è che la sfida è nascosta, ma c’è un workaround. Può essere “trovata” usando lo strumento del browser “inspect element”. Quindi l’attaccante può inviare un POST a 2 che include un parametro che dettaglia dove si trova l’elemento nascosto. Una volta che l’attaccante riceve la soluzione da 2, Invisible re può essere sconfitto tramite l’automazione in uno dei due modi:

  1. azione JavaScript che chiama una funzione per fornire il token risolto con il form submit della pagina
  2. modifica del codice HTML direttamente nella pagina web per sostituire uno snippet di codice normale con l’input del token risolto.

Il fatto che Invisible re possa essere aggirato non è perché c’era un difetto fatale nella progettazione del più recente. È che qualsiasi test di Turing inverso è intrinsecamente battibile quando le condizioni di passaggio sono note.

Fino a quando ci saranno le s, ci saranno servizi come 2 perché l’economia gioca così bene nelle mani del criminale. Approfittando del lavoro umano a basso costo si minimizza il costo di fare affari e permette ai criminali informatici di raccogliere profitti che possono spuntare verso l’alto di milioni di dollari su scala. E ci saranno sempre regioni del mondo con costi di manodopera a basso costo, quindi la domanda costante assicura un’offerta costante dalla parte di 2.

Il mondo non ha bisogno di sviluppare un migliore, poiché questo intero approccio ha limiti fondamentali. Invece, dovremmo riconoscere queste limitazioni e implementare difese in cui le condizioni di passaggio sono sconosciute o sono almeno difficili da accertare per gli attaccanti.

Fonti

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

Hunt, Troy. “Rompere con gli umani automatizzati”. Post sul blog. Troy Hunt. Troy Hunt, 22 gennaio 2012. Web.

Motoyama, Marti, Kirill Levchenko, Chris Kanich, e Stefan Savage. Re: s-Comprensione dei servizi di risoluzione in un contesto economico. Proc. of 19th USENIX Security Symposium, Washington DC. Print.

Learn More

Guarda il video, “Learn How Cybercriminals Defeat”

admin

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

lg