Hjem Securitywatch Svart hatt: flere sikkerhetsproblemer med hovednøkkel rammer Android

Svart hatt: flere sikkerhetsproblemer med hovednøkkel rammer Android

Video: Evil Nun Escape In | Master Key | Horror Game Android (Oktober 2024)

Video: Evil Nun Escape In | Master Key | Horror Game Android (Oktober 2024)
Anonim

Det hele startet som en prank, forklarte Bluebox Securitys Jeff Forristal. Bluebox-teamet ønsket å lage en hacket versjon av FourSquare-appen som ville få det til å virke som om du er et sted rart, som Antarktis. Akk, Google Maps avviste forespørsler fra den finjusterte appen. Forfølgelse av måter rundt det problemet førte teamet til svakheten de kalte "Master Key". "Dette emnet er allerede dekket, " sa Forristall. "Det lekket. Det har vært ute i noen uker. Men faktisk er det mer enn en hovednøkkel, så denne praten vokste fra en feil til fire."

Forristal forklarte at ved å demontere, endre og sette sammen appen, hadde de endret utviklersignatur. Den nye signaturen hadde ikke lisenser til å bruke Google Maps, så den ble avvist. Deres nye søken; endre koden uten å endre signatur.

Forristal gikk gjennom den detaljerte serien med hendelser som oppstår når Android verifiserer en signert app. Hvert lag verifiserer det forrige, begynner med å bekrefte at kodemodellene ikke har blitt tuklet og slutter med en digital signatur av pakken som helhet. Han prøvde å angripe systemet i alle ledd, stort sett uten hell.

"APK-, JAR- og ZIP-formatene er i utgangspunktet de samme, " bemerket Forristal. "JAR og APK har bare ekstra komponenter." Hans siste suksess innebar å utnytte ZIP-formatet. Da han satte inn en "ond" fil med samme navn som en eksisterende gyldig fil, loggte verifikatoren seg av den gyldige filen, men den "onde" filen ble lansert.

Hvorfor? Fordi Android bruker forskjellige ZIP-filhåndteringskoder i verifikatoren og i det faktiske installasjonsprogrammet. "Et avvik i parsing av ZIP-filer er kilden til denne feilen, " forklarte Forristal. "Det er faktisk åtte separate ZIP-filer som analyserer implementeringer i Android-kodebasen."

Ut av sandkassen

"Jeg brukte dette trikset for godt, " sa Forristal. "La oss ta det til kjempebra." I likhet med iOS kjører Android hver app i sin egen sandkasse, slik at en app ikke får tilgang til ressurser som tilhører en annen app. "Den eneste veien inn i sandkassen er å bli signert av den samme utvikleren, " forklarte han. "Det er det som gjør oppdateringer mulig."

"Systemet som helhet abonnerer på den samme forestillingen, " fortsatte han. "Systemets sandkasse håndhever alle de andre sandkassene. Den kontrollerer alle innstillingene dine. Det er ikke rot, men den har alle dine data, apper, passord og innstillinger - hva er igjen? Systemet er ganske kraftig." Apper som får tilgang til systemets sandkasse er vanligvis signert av plattformprodusenten. "Jeg trengte bare å få en plattformsignert app og gjøre det lille trikset mitt, og jeg skulle ha tilgang på systemnivå. Det er kulere enn FourSquare-kart, " konkluderte han.

Det viser seg at tredjeparts VPN-er må være plattformsignert, og som en bonus ber de allerede om tilgang til systemsandkassen. Forristal viste de tre enkle kommandoene han brukte for å sette inn sin "onde" kode i en tredjeparts VPN, og fleipet om "über hacking tools." Resultatet? En trojan med full tilgang til systemet.

Enkel utnyttelse

Master sikkerhetsteknolog Saurik (Jay Freeman) tok konseptet til neste nivå, forklarte Forristal. Cydia Impactor-verktøyet hans kjører på OSX og Windows og automatiserer utnyttelsen. "Koble til en enhet, " sa Forristal, "den finner ut riktig app, bygger den, legger til passende hack for å få root-tilgang, og leverer den. Jeg skulle gi ut litt ostete lite bevis på konsept-apper, men dette er kjempebra."

Forristal bemerket at enhetens prosessortype ikke betyr noe. Angrepet påvirkes ikke av ASLR (Address System Layout Randomization) eller DEP (Data Execution Prevention). Han laget en versjon som fungerer på fire generasjoner Android, og den eneste virkelige ferdigheten som trengs er kunnskap om Java. "Jeg sendte inn dette for Black Hat fordi det er lett å forstå og utnytte, " sa Forristal.

Flere mastertaster

Forristal løp ned en rekke andre nylig oppdagede feil som kan betraktes som "hovednøkler." Når de gikk gjennom koden for en funksjon som heter Authenticated Attributter, fant forskere fra Bluebox en linje kommentert og merket "TODO." Som et resultat av den manglende koden, uansett hvilke endringer du gjør at filen passerer bekreftelse. Ikke mange filer bruker denne funksjonen, bemerket Forristal. "Hvis du finner en, kan du kopiere og lime inn sertifikatfilen og anta identiteten til utvikleren. Hvis du signerte en app med Autentiserte attributter, har du gitt identiteten din bort." Siden denne feilen ble løst før Bluebox rapporterte den, tar de ikke æren.

"Hidden Trojan" -angrepet rapportert av en kinesisk forsker viser seg å være bare en av flere mulige måter å utnytte Androids flere ZIP-filtolkere. Disse angrepene drar fordel av det faktum at den ene parseren brukerne signerte heltall og den andre bruker ikke signerte heltall.

"Det handler ikke en gang om å erstatte en fil, " begeistret Forristal. "Du kan bruke dette trikset til å mate inn en helt annen ZIP-fil. Den ene blir bekreftet, den andre kjører. Et par triks og småting på dette rommet viser kanskje enda mer kraft til denne tilnærmingen."

Selv om skadelig programvare som bruker denne teknikken allerede har blitt sett i naturen, skal det ikke være mulig å få en trojansk fil som de som er beskrevet her i Google Play. Du vil sannsynligvis være trygg hvis du alltid og bare installerer apper som har bestått offisiell kontroll. For å være sikker, må du sørge for å installere tilgjengelige Android-oppdateringer umiddelbart.

Svart hatt: flere sikkerhetsproblemer med hovednøkkel rammer Android