Hjem Securitywatch Sort hat: Flere sårbarheder i masternøglen rammer Android

Sort hat: Flere sårbarheder i masternøglen rammer Android

Video: Lion Family 🗝️ The Master Key #2. New Keys | Cartoon for Kids (Oktober 2024)

Video: Lion Family 🗝️ The Master Key #2. New Keys | Cartoon for Kids (Oktober 2024)
Anonim

Det hele startede som en prank, forklarede Bluebox Securitys Jeff Forristal. Bluebox-teamet ønskede at oprette en hacket version af FourSquare-appen, der ville få det til at virke som om du er et sted underligt, ligesom Antarktis. Desværre afviste Google Maps anmodninger fra den justerede app. Forfølgelse af måder omkring dette problem førte holdet til den svaghed, de kaldte "Master Key". "Dette emne er allerede blevet dækket, " sagde Forristall. "Det lækkede. Det har været ude i et par uger. Men faktisk er der mere end en masternøgle, så denne tale voksede fra en bug til fire."

Forristal forklarede, at de ved at adskille, ændre og samle appen igen havde ændret dens udviklersignatur. Den nye signatur var ikke licenseret til at bruge Google Maps, så den blev afvist. Deres nye søgen; ændre koden uden at ændre signaturen.

Forristal gik gennem den detaljerede række af begivenheder, der opstår, når Android verificerer en underskrevet app. Hvert lag verificerer det foregående, startende med at kontrollere, at kodemodellerne ikke er blevet manipuleret og slutter med en digital signatur af pakken som helhed. Han prøvede at angribe systemet på alle trin, mest uden held.

"APK-, JAR- og ZIP-formaterne er stort set de samme, " bemærkede Forristal. "JAR og APK har bare yderligere komponenter." Hans sidste succes involverede at udnytte ZIP-formatet. Da han indsatte en "ond" fil med samme navn som en eksisterende gyldig fil, loggede verifikatoren sig ud på den gyldige fil, men den "onde" fil blev lanceret.

Hvorfor? Fordi Android bruger forskellige ZIP-filhåndteringskoder i verifikatoren og i det faktiske installationsprogram. "En uoverensstemmelse med parsing af ZIP-filer er kilden til denne fejl, " forklarede Forristal. "Der er faktisk otte separate ZIP-filperspektionsimplementeringer i Android-kodebasen."

Ud af sandkassen

"Jeg brugte dette trick for godt, " sagde Forristal. "Lad os nu tage det til fantastisk." Ligesom iOS kører Android hver app i sin egen sandkasse, så en app kan ikke få adgang til ressourcer, der tilhører en anden app. "Den eneste vej ind i sandkassen er at blive underskrevet af den samme udvikler, " forklarede han. "Det er det, der gør opdateringer mulige."

"Systemet som helhed abonnerer på den samme opfattelse, " fortsatte han. "Systemets sandkasse håndhæver alle de andre sandkasser. Det kontrollerer alle dine indstillinger. Det er ikke rod, men det har alle dine data, apps, adgangskoder og indstillinger - hvad er der tilbage? Systemet er temmelig magtfuldt." Apps, der får adgang til systemsandkassen, er typisk underskrevet af platformmakeren. "Jeg havde bare brug for at få en platformsigneret app og gøre mit lille trick, og jeg skulle have adgang til systemniveau. Det er køligere end FourSquare-kort, " konkluderede han.

Det viser sig, at tredjeparts VPN'er skal være platformsigneret, og som en bonus anmoder de allerede om adgang til systemsandkassen. Forristal viste de tre enkle kommandoer, han brugte til at indsætte sin "onde" kode i en tredjeparts VPN, idet han spøgede med "über hacking-værktøjer." Resultatet? En trojan med fuld adgang til systemet.

Nem udnyttelse

Master sikkerhedsteknolog Saurik (Jay Freeman) tog konceptet til det næste niveau, forklarede Forristal. Hans Cydia Impactor-værktøj kører på OSX og Windows og automatiserer udnyttelsen. "Tilslut en enhed, " sagde Forristal, "den finder ud af den rigtige app, bygger den, tilføjer den passende hack for at få root-adgang og leverer den. Jeg ville frigive noget osteagtigt lille bevis for koncept-apps, men dette er fantastisk."

Forristal bemærkede, at enhedens processor-type ikke betyder noget. Angrebet påvirkes ikke af ASLR (Adressesystemlayout-randomisering) eller DEP (Data Execution Prevention). Han lavede en version, der fungerer på fire generationer af Android, og den eneste virkelige nødvendige færdighed er viden om Java. "Jeg sendte dette til Black Hat, fordi det er let at forstå og udnytte, " sagde Forristal.

Flere mastertaster

Forristal løb ned ad en række andre nyligt opdagede bugs, der kunne betragtes som "mastertaster". Når de gennemgår koden for en funktion kaldet Autentificerede attributter, fandt Bluebox-forskere en linje kommenteret og markeret "TODO." Som et resultat af den manglende kode, uanset hvilke ændringer du foretager filen godkendes verifikation. Ikke mange filer bruger denne funktion, bemærket Forristal. "Hvis du finder en, kan du kopiere og indsætte certifikatfilen og antage identiteten af ​​udvikleren. Hvis du underskrev en app med godkendte attributter, har du givet din identitet væk." Da denne fejl blev rettet, før Bluebox rapporterede det, tager de ikke kredit.

"Skjult trojanske" -angreb rapporteret af en kinesisk forsker viser sig at være blot en af ​​flere mulige måder at udnytte Android's flere ZIP-filpartere. Disse angreb drager fordel af det faktum, at den ene parser-brugere underskrev heltal og den anden bruger ikke-signerede heltal.

"Det handler ikke engang om at udskifte en fil, " begejstrede Forristal. "Du kan bruge dette trick til at fodre i en helt anden ZIP-fil. Den ene bliver verificeret, den anden kører. Et par tricks og småting i dette rum viser måske endnu mere kraft til denne tilgang."

Selvom malware, der bruger denne teknik, allerede er set i naturen, burde det ikke være muligt at få en trojaniseret fil som dem, der er beskrevet her i Google Play. Du vil sandsynligvis være sikker, hvis du altid og kun installerer apps, der har bestået officiel kontrol. For at være sikker skal du dog altid installere alle tilgængelige Android-opdateringer.

Sort hat: Flere sårbarheder i masternøglen rammer Android