Testul (Testul Turing public complet automatizat pentru a distinge între computere și oameni), a fost conceput inițial pentru a împiedica roboții, programele malware și inteligența artificială (AI) să interacționeze cu o pagină web. În anii ’90, acest lucru însemna prevenirea roboților de spam. În zilele noastre, organizațiile îl folosesc în încercarea de a preveni atacuri automate mai sinistre, cum ar fi umplerea credențialelor.
Chiar de îndată ce a fost introdus, totuși, infractorii cibernetici au dezvoltat metode eficiente pentru a-l ocoli. Băieții buni au răspuns cu s „întărite”, dar rezultatul rămâne același: testul care încearcă să oprească automatizarea este ocolit cu ajutorul automatizării.
Există mai multe moduri în care poate fi învins. O metodă obișnuită este utilizarea unui serviciu de rezolvare, care utilizează forță de muncă umană cu costuri reduse din țările în curs de dezvoltare pentru a rezolva imagini. Infractorii cibernetici se abonează la un serviciu pentru soluții, care se strecoară în instrumentele lor de automatizare prin API-uri, populând răspunsurile pe site-ul web țintă. Aceste întreprinderi dubioase sunt atât de omniprezente încât multe dintre ele pot fi găsite cu o căutare rapidă pe Google, inclusiv:
- Deathby
- 2
- Kolotibablo
- ProTypers
- Antigate
Acest articol va folosi 2 pentru a demonstra modul în care atacatorii integrează soluția pentru a orchestra atacuri de umplere a credențialelor.
2
La accesarea site-ului 2.com, vizitatorul este întâmpinat cu imaginea de mai jos, care îl întreabă dacă dorește 1) să lucreze pentru 2 sau 2) să achiziționeze 2 ca serviciu.
Opțiunea 1 – Lucrează pentru 2
Pentru a lucra pentru 2, este suficient să vă înregistrați pentru un cont, furnizând o adresă de e-mail și un cont PayPal pentru depozitele de plată. În timpul unui test, un cont a fost validat în câteva minute.
Noii lucrători trebuie să urmeze un curs de instruire unic care îi învață cum să rezolve rapid s. Acesta oferă, de asemenea, sfaturi, cum ar fi când contează și când nu contează cazul. După ce termină cursul de formare cu suficientă acuratețe, lucrătorul poate începe să câștige bani.
După ce selectează „Start Work”, lucrătorul este dus la ecranul spațiului de lucru, care este ilustrat mai sus. Lucrătorului i se oferă apoi o și i se solicită să trimită o soluție. Odată rezolvată corect, banii sunt depuși într-un „portmoneu” electronic, iar lucrătorul poate solicita plata oricând dorește. Aparent, numărul de s care apar în spațiul de lucru pare să nu aibă sfârșit, ceea ce indică o cerere constantă pentru acest serviciu.
2 lucrătorii sunt stimulați să trimită soluții corecte, la fel cum un șofer Uber este stimulat să ofere servicii excelente – evaluarea clienților. 2 clienți evaluează acuratețea soluțiilor pe care le-au primit. Dacă ratingul unui lucrător 2 scade sub un anumit prag, acesta va fi dat afară de pe platformă. În schimb, lucrătorii cu cele mai mari ratinguri vor fi recompensați în perioadele de cerere scăzută, primind prioritate în distribuție.
Opțiunea 2 – 2 ca serviciu
Pentru a utiliza 2 ca serviciu, un client (de ex, un atacator) integrează 2 API în atacul său pentru a crea un lanț de aprovizionare digital, alimentând automat puzzle-uri de la site-ul țintă și primind soluții de introdus în site-ul țintă.
2 oferă în mod util exemple de scripturi pentru a genera apeluri API în diferite limbaje de programare, inclusiv C#, JavaScript, PHP, Python și altele. Codul de exemplu scris în Python a fost reprodus mai jos:
Integrarea 2 într-un atac automatizat
Cum ar putea un atacator să folosească 2 într-un atac de umplere a credențialelor? Diagrama de mai jos arată modul în care diferitele entități interacționează într-un proces de bypass:
Proces tehnic:
- Atacatorul solicită sursa iframe și URL-ul utilizat pentru a încorpora imaginea de pe site-ul țintă și o salvează local
- Atacatorul solicită token-ul API de pe site-ul 2
- Atacatorul trimite token-ul la serviciul 2 utilizând HTTP POST și primește un ID, care este un ID numeric atribuit cu imaginea care a fost trimisă la 2. ID-ul este utilizat în pasul 5 pentru o solicitare API GET către 2 pentru a prelua imaginea rezolvată.
- 2 atribuie the unui lucrător care o rezolvă și trimite soluția către 2.
- Attacker programează scriptul pentru a trimite un ping către 2 folosind ID-ul (la fiecare 5 secunde până la rezolvare). 2 trimite apoi soluția rezolvată . Dacă soluția este încă în curs de rezolvare, atacatorul primește un mesaj de la 2 care indică „_NOT_READY” și programul încearcă din nou 5 secunde mai târziu.
- Atacatorul trimite o cerere de conectare la site-ul țintă cu câmpurile completate (adică un set de credențiale dintr-o listă furată) împreună cu soluția.
- Atacatorul reia acest proces cu fiecare imagine.
Combinat cu cadre de testare web precum Selenium sau PhantomJS, un atacator poate părea că interacționează cu site-ul țintă într-un mod asemănător cu cel uman, ocolind în mod eficient multe dintre măsurile de securitate existente pentru a lansa un atac de umplere cu credențiale.
Monetizare & Ecosistemul infracțional
Cu o soluție atât de elegantă pusă la punct, cum arată ecosistemul financiar și cum câștigă bani fiecare dintre părți?
Monetizare: rezolvator
Lucrul ca rezolvator este departe de a fi profitabil. Pe baza măsurătorilor furnizate pe site-ul web al 2, este posibil să se calculeze următoarea plată:
Să presupunem că durează 6 secunde pe , un lucrător poate trimite 10 s pe minut sau 600 s pe oră. Într-o zi de 8 ore, asta înseamnă 4800 s. Pe baza a ceea ce s-a câștigat în timpul testului nostru ca angajat pentru 2 (aproximativ 0,0004 dolari pe soluție), acest lucru echivalează cu 1,92 dolari pe zi.
Aceasta este o pierdere de timp pentru persoanele din țările dezvoltate, dar pentru cei care locuiesc în localități unde câțiva dolari pe zi pot merge relativ departe, serviciile de rezolvare sunt o modalitate ușoară de a face bani.
Monetizare: Atacatorul
Aatacatorul plătește terțul, 2, pentru soluții în pachete de 1000. Atacatorii licitează pentru soluții, plătind între 1 și 5 dolari pe pachet.
Mulți atacatori folosesc -serviciile de rezolvare ca o componentă a unui atac mai mare de umplutură de credențiale, ceea ce justifică cheltuielile. De exemplu, să presupunem că un atacator lansează un atac pentru a testa un milion de acreditări din Pastebin pe un site țintă. În acest scenariu, atacatorul trebuie să ocolească unul cu fiecare set de acreditări, ceea ce ar costa aproximativ 1000 de dolari. Presupunând o rată de reușită de reutilizare a credențialelor de 1,5%, atacatorul poate prelua peste 15.000 de conturi, care pot fi toate monetizate.
Monetizare: 2
2 primește plata de la atacator la fiecare 1000. După cum s-a menționat mai sus, clienții (adică atacatorii) plătesc între 1 și 5 dolari la 1000 s. Serviciile precum 2 iau apoi o parte din prețul ofertei și distribuie restul forței lor de muncă umane. Având în vedere că serviciile de rezolvare sunt utilizate ca soluție la scară largă, profiturile se adună frumos. Chiar dacă 2 primește doar 1 dolar pentru fiecare 1 000 s rezolvate, ei obțin un profit minim de 60 de cenți pe pachet. Proprietarii acestor site-uri se află adesea ei înșiși în țările în curs de dezvoltare, astfel încât veniturile aparent mici sunt substanțiale.
Ce se întâmplă cu re invizibil al Google?
În luna martie a acestui an, Google a lansat o versiune îmbunătățită a re-ului său numită „re invizibil”. Spre deosebire de „no re”, care cerea tuturor utilizatorilor să facă clic pe infamul buton „I’m not a Robot” (Nu sunt un robot), Invisible re permite utilizatorilor umani cunoscuți să treacă, în timp ce servește o provocare de imagine re doar utilizatorilor suspecți.
Ați putea crede că acest lucru i-ar pune în dificultate pe atacatori, deoarece aceștia nu ar putea vedea când sunt testați. Cu toate acestea, la doar o zi după ce Google a introdus Re invizibilă, 2 a scris o postare pe blog despre cum să o învingă.
Modul în care Google știe că un utilizator este un om este dacă utilizatorul a vizitat anterior pagina solicitată, lucru pe care Google îl determină prin verificarea cookie-urilor din browser. Dacă același utilizator a început să folosească un dispozitiv nou sau și-a șters recent memoria cache, Google nu are aceste informații și este forțat să emită o nouă provocare.
Pentru ca un atacator să automatizeze un atac de umplere a credențialelor folosind 2, el trebuie să garanteze o provocare. Astfel, o modalitate de a ocoli Invisible re este de a adăuga o linie de cod la scriptul de atac care șterge browserul la fiecare solicitare, garantând o re provocare rezolvabilă.
Ceea ce este ușor complicat la Invisible re este că provocarea este ascunsă, dar există o soluție de rezolvare. The poate fi „găsită” prin utilizarea instrumentului de browser „inspect element”. Așadar, atacatorul poate trimite un POST la 2 care să includă un parametru care să detalieze unde este localizată cea ascunsă. Odată ce atacatorul primește soluția de la 2, Invisible re poate fi învins prin automatizare într-unul din cele două moduri:
- Acțiune JavaScript care apelează o funcție pentru a furniza tokenul rezolvat cu formularul de trimitere a paginii
- Modificare de cod HTML direct în pagina web pentru a înlocui un fragment de cod normal cu intrarea tokenului rezolvat.
Faptul că Invisible re poate fi ocolit nu se datorează faptului că a existat un defect fatal în designul celor mai noi versiuni . Este faptul că orice test Turing inversat este în mod inerent bătut atunci când condițiile de trecere sunt cunoscute.
Atâta timp cât există s, vor exista servicii ca 2, deoarece economia joacă atât de bine în mâinile infractorilor. Faptul că profită de forța de muncă umană cu costuri reduse reduce la minimum costurile afacerii și le permite infractorilor cibernetici să culeagă profituri care pot depăși milioane de dolari la scară largă. Și vor exista întotdeauna regiuni ale lumii cu costuri ieftine ale forței de muncă, astfel încât cererea constantă asigură o ofertă constantă din partea lui 2.
Nu este nevoie ca lumea să dezvolte o mai bună , deoarece întreaga abordare are limitări fundamentale. În schimb, ar trebui să recunoaștem aceste limitări și să implementăm apărări în care condițiile de trecere sunt necunoscute sau sunt cel puțin greu de stabilit de către atacatori.
Surse
Holmes, Tamara E. „Prepaid Card and Gift Card Statistics”. CreditCards.com. Creditcards.com, 01 dec. 2015. Web.
Hunt, Troy. „Breaking with Automated Humans” („Breaking with Automated Humans”). Postare pe blog. Troy Hunt. Troy Hunt, 22 ian. 2012. Web.
Motoyama, Marti, Kirill Levchenko, Chris Kanich și Stefan Savage. Re: s-Understanding -solving Services in an Economic Context. Proc. of 19th USENIX Security Symposium, Washington DC. Print.
Învățați mai mult
Vizionați videoclipul, „Learn How Cybercriminals Defeat”
.