Acasă Securitywatch Black hat: vulnerabilitățile cheilor multiple afectează Android

Black hat: vulnerabilitățile cheilor multiple afectează Android

Video: Simple Spyware: Androids Invisible Foreground Services and How to (Ab)use Them (Octombrie 2024)

Video: Simple Spyware: Androids Invisible Foreground Services and How to (Ab)use Them (Octombrie 2024)
Anonim

Totul a început ca o faină, a explicat Jeff Forristal al Bluebox Security. Echipa Bluebox a dorit să creeze o versiune hacked a aplicației FourSquare care să facă să pară că sunteți undeva ciudat, precum Antarctica. Din păcate, Google Maps a respins cererile din aplicația modificată. Urmărirea modalităților în jurul acestei probleme a dus echipa la slăbiciunea pe care au numit-o „cheia principală”. "Acest subiect a fost deja abordat", a spus Forristall. "S-a scurs. A ieșit câteva săptămâni. Dar, de fapt, există mai mult de o cheie principală, așa că această discuție a crescut de la un bug la patru."

Forristal a explicat că, prin dezasamblarea, modificarea și reasamblarea aplicației, au schimbat semnătura dezvoltatorului. Noua semnătură nu a fost autorizată să folosească Google Maps, astfel că a fost respinsă. Noua lor căutare; schimbați codul fără a schimba semnătura.

Forristal a trecut prin seria detaliată de evenimente care au loc atunci când Android verifică o aplicație semnată. Fiecare strat îl verifică pe cel anterior, începând cu verificarea dacă modelele de cod nu au fost modificate și terminând cu o semnătură digitală a pachetului în ansamblu. A încercat să atace sistemul în fiecare etapă, mai ales fără noroc.

"Formate APK, JAR și ZIP sunt practic aceleași", a remarcat Forristal. „JAR și APK au doar componente suplimentare.” Succesul său final a implicat utilizarea modelului ZIP. Când a inserat un fișier „rău” cu același nume ca un fișier valid existent, verificatorul a semnat pe fișierul valid, dar fișierul „rău” a fost lansat.

De ce? Deoarece Android folosește codul de gestionare a fișierelor ZIP diferite în verificator și în instalatorul propriu-zis. „O discrepanță a analizării fișierelor ZIP este sursa acestei erori”, a explicat Forristal. "De fapt, există opt aplicații de analiză a fișierelor ZIP separate în baza codului Android."

Din caseta de nisip

„Am folosit acest truc pentru bine”, a spus Forristal. „Acum să o luăm la minunat”. Ca și iOS, Android rulează fiecare aplicație în propriul său sandbox, astfel încât o aplicație nu poate accesa resurse aparținând altei aplicații. „Singura cale de intrare în cutia de nisip este să fie semnată de același dezvoltator”, a explicat el. „Asta face posibil actualizările”.

"Sistemul în ansamblu, subscrie la aceeași noțiune", a continuat el. "Sandbox-ul sistemului pune în aplicare toate celelalte cutii de nisip. Acesta controlează toate setările. Nu este root, dar are toate datele, aplicațiile, parolele și setările dvs., ceea ce a mai rămas? Sistemul este destul de puternic." Aplicațiile care accesează sandbox-ul sistemului sunt de obicei semnate de către producătorul platformei. "Am avut nevoie doar pentru a obține o aplicație semnată pe platformă și a face micul meu truc și ar trebui să am acces la nivel de sistem. Este mai cool decât hărțile FourSquare", a concluzionat el.

Se dovedește că VPN-urile terțe trebuie să fie semnate de platformă și, ca bonus, solicită deja acces la sandbox-ul sistemului. Forristal a afișat cele trei simple comenzi pe care le-a folosit pentru a insera codul său „rău” într-un VPN al unei terțe părți, glumind despre „instrumentele de hacking”. Rezultatul? Un troian cu acces complet la nivel de sistem.

Exploatare ușoară

Teoreticianul de securitate maestru Saurik (Jay Freeman) a dus conceptul la nivelul următor, a explicat Forristal. Instrumentul său Cydia Impactor rulează pe OSX și Windows și automatizează exploatarea. „Conectați un dispozitiv”, a spus Forristal, „își dă seama de aplicația potrivită, o construiește, adăugați hack-ul adecvat pentru a obține acces root și o livrează. Aveam să eliberez câteva probe înșelătoare pentru aplicațiile concept, dar acest lucru este minunat."

Forristal a menționat că tipul procesorului dispozitivului nu contează. Atacul nu este afectat de ASLR (Adresa Randament de dispunere a sistemului) sau DEP (Prevenirea executării datelor). El a realizat o versiune care funcționează pe patru generații de Android, iar singura abilitate reală necesară este cunoașterea Java. „Am trimis acest lucru pentru Black Hat, deoarece este ușor de înțeles și de exploatat”, a spus Forristal.

Mai multe chei de master

Forristal a dat peste o serie de alte erori descoperite recent, care ar putea fi considerate „chei de master”. Când parcurg codul pentru o caracteristică numită Atribute autentificate, cercetătorii Bluebox au găsit o linie comentată și marcată "TODO". Ca urmare a codului lipsă, indiferent de modificările pe care le faceți fișierul trece verificarea. Nu multe fișiere folosesc această caracteristică, a remarcat Forristal. "Dacă găsiți unul, puteți copia și lipi fișierul certificatului și puteți asuma identitatea dezvoltatorului. Dacă ați semnat o aplicație cu Atribute autentificate, v-ați dat identitatea." Deoarece acest bug a fost remediat înainte ca Bluebox să îl raporteze, nu iau credit.

Atacul „Troian ascuns” raportat de un cercetător chinez se dovedește a fi doar unul dintre mai multe moduri posibile de a exploata mai mulți parseri de fișiere ZIP din Android. Aceste atacuri profită de faptul că un utilizator parser a semnat numere întregi și celălalt folosește numere întregi nesemnate.

„Nici măcar nu este vorba despre înlocuirea unui dosar”, a entuziasmat Forristal. "Puteți utiliza acest truc pentru a vă alimenta într-un fișier ZIP complet diferit. Unul este verificat, celălalt rulează. Câteva trucuri și bucăți în acest spațiu pot arăta și mai multă putere în această abordare."

Deși malware-ul care folosește această tehnică a fost deja văzut în sălbăticie, nu ar trebui să fie posibil să obțineți un fișier trojanizat precum cele descrise aici în Google Play. Probabil veți fi în siguranță dacă instalați întotdeauna și numai aplicații care au trecut controlul oficial. Totuși, pentru a fi în siguranță, asigurați-vă că instalați imediat toate actualizările disponibile Android.

Black hat: vulnerabilitățile cheilor multiple afectează Android