Jump to content
Nemessis

[Teorie] Distributed Denial of Car traffic [DDoCT]

Recommended Posts

Distributed Denial of Car Traffic (DDoCT)

Stiu. Pare o idee venita din filmele de actiune in care un super hacker controleaza semafoarele si indicatoarele de trafic. Dar in ziua de azi este nevoie de mult mai putin pentru a provoca ambuteiaje intr-un anumit perimetru. Cel putin teoretic. Teoria de mai jos este extrem de succinta si nu se bazeaza pe un studiu aprofundat, ci pe modul in care am vazut cu ochiul liber felul in care functioneaza anumite aplicatii. O dezbatere a teoriei cu argumente pro si contra este mai mult decat binevenita pentru ca si eu sunt curios daca este posibil un atac de acest fel.

In noua era tehnologica, in care telefonul mobil este un computer puternic, cu multiple facilitati puse la dispozitia utilizatorilor, au aparut destule aplicatii si site-uri folosite cu sfintenie de un numar urias de persoane. Chiar si un social engineer incepator stie ca cele mai bune rezultate se obtin in cazul unui numar foarte mare de potentiale victime. Este mult mai usor sa iti atingi scopul dorit cand te poti folosi de comportamentul unui grup foarte mare de persoane, in comparatie cu un numar foarte mic de potentiale victime. Si cum poti gasi in zilele noastre un grup urias de potentiale victime daca nu prin exploatarea celor mai folosite aplicatii mobile?

Sa dam drept prim exemplu aplicatia Star Taxi, pentru ca de la functionalitatea acesteia mi-a venit pentru prima data ideea de DDoCT. O sa explic succint pentru cei care au trait intr-o grota pana acum ce face aplicatia Star Taxi.

Star Taxi este o aplicatie pentru Android si iOS ce le permite utilizatorilor sa dea comenzi de taxi fara a mai suna la dispecerat. Aplicatia detecteaza pozitia clientului cu ajutorul coordonatelor GPS (un feature destul de buggy inca), trimite informatia mai departe catre taximetristii ce folosesc la randul lor aplicatia, iar acestia din urma pot accepta sau refuza comanda (la fel si clientul poate accepta sau refuza un anumit taximetrist care a raspuns la comanda).

Ideea de DDoCT mi-a venit testand intr-o seara aplicatia Fake GPS in combinatie cu aplicatia Star Taxi. Am vrut sa vad cate taxiuri pot chema simultan in acelasi loc folosind emulatorul Blue Stacks, aplicatia Fake GPS si cea Star Taxi. In aproximativ 10 minute am strans in acelasi loc, pe o straduta ingusta, 6 taxiuri. Toti au primit prin intermediul aplicatiei acelasi mesaj, in care spuneam ca vin cu o persoana in varsta care merge mai greu. Este un detaliu care ii face pe taximetristi sa astepte ceva mai mult pana vine clientul la masina. Datorita infrastructurii proaste si a locurilor de parcare inexistente ce ii obliga pe soferi sa parcheze pe trotuare, toti taximetristii isi asteptau clientii fix in mijlocul strazii, la o distanta de cativa metri unul fata de celalalt. Sincer sa fiu ma asteptam ca taximetristii sa se prinda repede ca e o gluma si sa plece. Dar toti au ramas cuminti in masinile lor asteptand clientul. Nu mai putea iesi sau intra efectiv nimeni de acolo cu masina fara a ii pune pe toti taximetristii sa faca manevre pentru a iesi in bulevard si sa elibereze strada.

Nu pare a fi mare lucru si mare deranj. Pana la urma, ca urmare a unui asemenea atac in maxim doua minute strada se va elibera, taximetristii vor intra la banuieli cand vor vedea si alte taxiuri ca s-au adunat in acelasi loc s.a.m.d.. Dar a fost doar un mic test facut mai degraba ca o farsa a unui om prea plictisit.

Insa mi-am dat seama de curand ca pentru rezultate mult mai bune exista Waze. Aplicatia minune care le permite participantilor in trafic sa se alerteze reciproc cand in trafic exista un accident, politie, gropi, lucrari si ambuteiaje. Iar acum voi discuta despre o simpla teorie, netestata, dar care "pe foaie" ar trebui sa dea rezultatele dorite, macar intr-o mica masura.

Un feature extrem de folositor al Waze este sa stabilesti o destinatie pe care GPS-ul aplicatiei o va calcula si te va avertiza ce zone sunt prea aglomerate si ce traseu este indicat sa folosesti pentru a ajunge mai rapid in punctul dorit. Efectiv aplicatia calculeaza numarul utilizatorilor Waze aflati in trafic, calculeaza si viteza cu care se deplaseaza automobilele acestora, iar apoi transmite informatia mai departe catre toti participantii in trafic. GPS-ul calculeaza cele mai rapide rute tinand cont si de toate aceste date primite de la toti utilizatorii Waze participanti in trafic. Iar de aici incepe distractia. Cel putin teoretic.

Daca pe un singur bulevard apar 200 de utilizatori care stationeaza cu aplicatia pornita, cifrele se dau peste cap, iar rutele cele mai rapide se schimba. De ce? Pentru ca aplicatia detecteaza un ambuteiaj. Daca se mai trimit si informatii cu accident grav + politie, GPS-ul aplicatiei va transmite utilizatorilor Waze sa foloseasca o ruta ocolitoare. Ce inseamna asta? Ca o mare parte din utilizatorii aplicatiei vor ocoli zona si vor inunda efectiv toate celelalte artere provocand ambuteiaje cat se poate de reale.

Bun. Si ce inseamna asta totusi? Cum se poate face acest lucru si care ar fi pana la urma rezultatele?

Nu va ganditi ca trebuie sa aveti 200 de telefoane cu Waze pornit care sa trimita in acelasi timp datele false catre serverul principal. Waze poate fi rulat prin emulatoare (sau poate ca este posibil sa fie el insusi emulat), la fel si locatia prin GPS. Cine ar putea beneficia de un blocaj al unei artere principale ar investi in a creea un emulator Waze care sa lucreze cot la cot cu un emulator GPS. Nu ai nevoie decat sa pozitionezi toate instantele Waze emulate in acelasi perimetru, eventual cu ajutorul Fake GPS-ului incorporat sa dai iluzia ca masinile se misca cate un metru din cand in cand si sa transmiti + confirmi ca in acea zona s-a petrecut un accident grav si ca este si politia prezenta. O schita rapida a meniului acestui emulator ar cuprinde: "numarul de masini emulate", "trimite notificare accident", "trimite notificare politie", "confirma accident", "confirma politie" si eventual sa poti adauga comentarii la toate "pericolele" de pe acea ruta.

Desigur ca intregul atac depinde de anumiti factori:

1. Numarul de participanti in trafic ce folosesc aplicatia in acel moment si numarul celor care aleg sa urmeze rutele indicate de Waze. Participantii la trafic care nu sunt din Bucuresti cu siguranta vor alege indicatiile date de Waze.

2. Zona in care setezi emulatorul sa provoace ambuteiajul fals.

3. Rutele alternative de langa zona atacului.

4. Ora la care pornesti atacul.

5. Mentinerea constanta a unui numar de Waze-uri false mult mai mare decat al utilizatorilor reali ce vor folosi rutele alternative.

6. Vizibilitatea pe care o au soferii pe artera pe care se presupune ca are loc ambuteiajul. Degeaba aplicatia anunta ambuteiaj daca vor vedea cu ochiul liber ca se circula bine.

6. Modul in care Waze previne un asemenea atac, sau felul in care calculeaza ambuteiajele (vorbim de teorie aici si exista sansa sa fie implementate deja masuri de prevenire a unor asemenea atacuri).

Daca este posibil sa se intample asa ceva cine ar face un asemenea lucru si de ce?

Probabil ca fiecare dintre noi s-ar gandi din start ca ar fi amuzant sa poti dirija o parte din trafic si sa le provoci nervi oamenilor. Insa daca stam sa ne gandim mai mult la consecintele unei asemenea metode de atac si cine ar investi bani in asemenea software, raspunsurile ne pot provoca fiori reci pe sira spinarii. Un ambuteiaj provocat simultan in anumite zone critice de acces catre puncte de mare interes va impiedica fortele de ordine, pompierii, masinile de salvare sa ajunga la timp in cazul unui dezastru sau atac. Practic, daca un astfel de atac DDoCT se va intampla si va functiona, nimeni nu isi va da seama ca vinovat a fost un feature al unei simple aplicatii de smartphone. Waze este inca in crestere in Romania. Va mai trece probabil o perioada pana cand va ajunge la numarul de utilizatori constanti din alte tari. Daca la noi in tara riscurile unor atacuri hibrid de acest fel sunt minime, pe alte meleaguri orice este posibil.

Daca cineva acolo sus, din casa Big Brother, va citi aceasta teorie si i se va parea cat de cat plauzibila, ar trebui sa ceara acces la informatiile celor mai folosite aplicatii de acest fel si sa afle daca un asemenea atac ar avea sanse de reusita sau este deja stopat de modul in care functioneaza aplicatiile. Daca statisticile private ale companiilor ce au dezvoltat asemenea aplicatii arata ca un procent mare de utilizatori urmeaza cu sfintenie (in orase), rutele date de GPS, atunci exista un risc demn de luat in seama. Iar daca eu m-am gandit la asta cu siguranta s-au mai gandit sau se vor mai gandi si altii.

Sper sa vina cineva cu completari la teoria mea. Poate printre voi exista persoane ce au analizat amanuntit Waze sau aplicatii asemanatoare si ne poate da informatii care sa confirme sau sa infirme posibilitatea unui asemenea atac.

  • Upvote 1

Share this post


Link to post
Share on other sites

faza cu taxiurile imi venise si mie :) banuiesc ca cu wireshark poti sa vezi unde se trimit datele .... si banuiesc ca poti face mai multe

Share this post


Link to post
Share on other sites

recunosc ca si eu ca si necuratul m-am gandit la aplicatiile de chemat taxiuri insa la waze nu m-am gandit.

par a fi foarte multe lucruri de care sa depinda reusita unui astfel de atac. o sa rumeg un pic subiectul si poate revin cu un edit.

Share this post


Link to post
Share on other sites

depinde nu am avut timp sa inspectez chestia asta dar de exemplu la olx poti sa faci un script pe post care sa posteze automat data catre serverele lor .... deci banuiesc ca e o mare poarta de deschidere pentru spam de exemplu

Share this post


Link to post
Share on other sites
depinde nu am avut timp sa inspectez chestia asta dar de exemplu la olx poti sa faci un script pe post care sa posteze automat data catre serverele lor .... deci banuiesc ca e o mare poarta de deschidere pentru spam de exemplu

nu vad legatura cu discutia...

Share this post


Link to post
Share on other sites

M-am gandit ca se mai pot folosi si in alte scopuri mai mult legale de cat spargerea unei banci , gen daca ai prieten care e taximetrist, trimiti toate taxiurile (sau majoritatea care folosesc aceea aplicatie) in alta parte -> bani, sau cum a spus un baiat mai sus, wireshark si iei tu comenzile :)) . Daca vrei sa te duci la tara, la mare, s.a.m.d si vrei sa iti fie liber drumu, bagi acciedente, radare si tot ce vrei :) .

Nu e prea greu de facut asa ceva pentru cineva experimentat, ex: laptop + emulator de android + verifici ce date se transmit, daca se transmite imei sau orice alt cod pentru confirmare unica a dispozitivului, le schimbi tot timpul si trimiti in interval de 2-5 minute date cu locatia a "200" de dispozitive.

Imaginatia e limita , se pot face mult mai multe :D .

@Nemessis , nu iti redeschizi blogul ?

Edited by Kalashnikov.

Share this post


Link to post
Share on other sites

@Nemessis ca si mijloc de prevenire ar fi relativ facila verificarea atat a coordonatelor GPS cat si a adresei IP de pe care se transmit datele. Aceasta ar preveni atacurile in diferite orase(de exemplu din Timisoara, in Bucuresti), insa se poate ocoli folosind, de exemplu, un cont cu acces RDP din orasul respectiv. Acum pentru a creste numarul de utilizatori trebuie sa stim care este identificatorul folosit de bluestacks(care poate fi un cont de facebook/gmail sau adresa MAC a telefonului). Daca este un set de parametri modificabili din user space(la nivelul kernel-ului de android ma refer) atunci putem pur si simplu crea un numar de cont-uri care servesc ca si identificatori pentru a ne loga ulterior si pentru a "creste" numarul de utilizatori in trafic. Nu stiu cum interpreteaza out Waze lipsa unei conexiuni(dupa cat timp respectivul utilizator nu mai face parte din tradfic) dar sunt motivat sa cred ca exista un timeout de cel putin cateva minute. Deci, mai formal:

-- t_out este timpul dupa care Waze considera ca un utilizator nu mai este activ

-- t_in este timpul de autentificare catre reteaua Waze

-- t_chg este timpul necesar pentru ca noi sa schimbam identificatorul

atunci numarul maxim de utilizatori care pot fi emulati la un moment dat(simultan):

este n = t_out / (t_in + t_chg )

Sau altfel spus cati utilizatori isi pot schimba id-ul si se pot loga in fereastra de timp t_out. Practic, cu cat t_out este mai mare cu atat putem emula mai multi utilizatori. Acesta este maximul per emulator. Acum intrebarile la care trebuie sa gasim raspunsul sunt: care sunt respectivele valori? Cate emulatoare(de exemplu VBox + Win XP + BlueStacks + Waze + Fake GPS) putem rula pe o statie? Cum ne putem ascunde urmele(proxy-urile nu sunt suficiente)?

Share this post


Link to post
Share on other sites

Sau adaugam radare false pe o ruta si automat incetinim traficul -> ambuteiaj in orele de varf, prinzi multe semafoarte, etc.Neceista multi useri care sa-ti dea upvote-uri.

Poti sa faci soferii sa cedeze nervos, le spamezi serverul cu puncte random din 10 in 10 secunde, neatentia poate sa duca la accidente.

Sunt servicii care fac livrari de pizza si am impresia ca daca nu vine in x minute poti sa ceri daune, spamezi strada ta cu comenzi si iei mancarea moca.

Poti sa ceri multe taxiuri la o ambasada si o sa se panicheze tipii.

Se pot face multe chestii de la bank robberies pana la curse.

Share this post


Link to post
Share on other sites

Salutare tuturor.

E o discu?ie pur teoretic? sau chiar vre?i s? o pune?i în practic?? Sper c? e doar pur teoretic?.

(1) E înc? posibil (cred) de?i s-au f?cut schimb?ri care s-ar putea s? nu se mai poat? a?a u?or... vezi (2)

(2) S-a mai f?cut (google it) - Israeli Students Spoof Waze App With Fake Traffic Jam | Popular Science

(3) M? ocup de Waze din 2010, dar nu sunt angajat sau ceva.

(4) Conteaz? ?i rangul unui user. Deci vor trebui crescu?i userii. Înc? se mai pot crea useri f?r? nr de telefon folosind o aplica?ie de WM sau mai veche de android.

(5) Bo?ii mei care au ajutat la popularizarea waze în România nu au crescut deloc în rang dând doar mul?umiri rapoartelor pentru a le prelungi via?a (TTL) de la 15 minute cum era cândva la 3 ore maxim (TTL max a unui event). Cine este spoofy? Sistemul automat de mul?umire a rapoartelor | Waze România

... acum TTL e default 1 or?.

(6) WazeBotRo - e un feed, nu un user

(7) Utilizatori activi în România... sau pe o zon? la un moment dat. E o referin?? destul de greu de precizat... s? zicem în jur de 150.000 useri care folosesc waze cel pu?in o dat? pe s?pt?mân?. Mult mai mul?i care folosesc mai rar sau au doar instalat aplica?ia cândva în ultimii ani. Mai vezi din când în când wazeri baby care s-au al?turat waze acum 2-3 ani...

(8) Utilizatori concuren?i într-o zon?? Poate e mai interesant... vezi statistici: Statistici Wazeri în Romania ?i Bucure?ti - Waze România Waze.ro e site-ul meu, al comunit??ii, nu e al Waze sau Google.

Numai bine :)

Share this post


Link to post
Share on other sites

Ha @spookyx. Stiam eu ca cineva o sa se gandeasca la treaba asta, dar nu ma asteptasem sa fie deja pusa in practica. Sunt curios ce rezultate a avut omul in real life.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...