Hem Securitywatch Svart hatt: flera sårbarheter för huvudnycklar drabbar Android

Svart hatt: flera sårbarheter för huvudnycklar drabbar Android

Video: BLACKHAT: Using Youtube For Affiliate Marketing - (An EASY $350/DAY!!) (September 2024)

Video: BLACKHAT: Using Youtube For Affiliate Marketing - (An EASY $350/DAY!!) (September 2024)
Anonim

Allt började som en prank, förklarade Bluebox Securitys Jeff Forristal. Bluebox-teamet ville skapa en hackad version av FourSquare-appen som skulle göra att det verkar som om du är någonstans udda, som Antarktis. Tyvärr avvisade Google Maps förfrågningar från den tweaked-appen. Att sträva efter vägar runt det problemet ledde teamet till den svaghet de kallade "Master Key". "Detta ämne har redan täckts, " sade Forristall. "Det läckte ut. Det har varit ute i några veckor. Men det finns faktiskt mer än en huvudnyckel, så det här samtalet växte från ett fel till fyra."

Forristal förklarade att genom att demontera, modifiera och återmontera appen hade de ändrat utvecklarens signatur. Den nya signaturen har inte licens för att använda Google Maps, så den avvisades. Deras nya uppdrag; ändra koden utan att ändra signaturen.

Forristal gick igenom den detaljerade serien med händelser som inträffar när Android verifierar en signerad app. Varje lager verifierar det föregående, börjar med att verifiera att kodmodellerna inte har manipulerats och slutar med en digital signatur för paketet som helhet. Han försökte attackera systemet i varje steg, mestadels utan tur.

"APK-, JAR- och ZIP-formaten är i stort sett desamma", konstaterade Forristal. "JAR och APK har bara ytterligare komponenter." Hans sista framgång innebar att utnyttja ZIP-formatet. När han infogade en "ond" fil med samma namn som en befintlig giltig fil, loggades verifieraren av den giltiga filen, men den "onda" filen startades.

Varför? Eftersom Android använder olika ZIP-filhanteringskoder i verifieraren och i själva installationsprogrammet. "En avvikelse av parsing av ZIP-filer är källan till detta fel", förklarade Forristal. "Det finns faktiskt åtta separata implementeringsimplementeringar av ZIP-filer i Android-kodbasen."

Ut ur sandlådan

"Jag använde detta trick för gott", sa Forristal. "Låt oss nu ta det till fantastiskt." Liksom iOS, kör Android varje app i sin egen sandlåda, så en app kan inte komma åt resurser som tillhör en annan app. "Det enda sättet in i sandlådan är att undertecknas av samma utvecklare, " förklarade han. "Det är vad som gör uppdateringar möjliga."

"Systemet som helhet prenumererar på samma uppfattning, " fortsatte han. "Systemets sandlåda tvingar fram alla andra sandlådor. Den styr alla dina inställningar. Den är inte root, men den har alla dina data, appar, lösenord och inställningar - vad finns kvar? Systemet är ganska kraftfullt." Appar som har åtkomst till systemets sandlåda undertecknas vanligtvis av plattformstillverkaren. "Jag behövde bara få en plattformssignerad app och göra mitt lilla trick, och jag borde ha åtkomst till systemnivå. Det är coolare än FourSquare-kartor, " avslutade han.

Det visar sig att tredjeparts VPN måste vara plattformssignerade, och som en bonus begär de redan åtkomst till systemsandlådan. Forristal visade de tre enkla kommandona som han använde för att infoga sin "onda" kod i ett tredjeparts VPN, och skämtade om "über hacking tools." Resultatet? En trojan med full åtkomst på systemnivå.

Enkel exploatering

Master säkerhetsteknolog Saurik (Jay Freeman) tog konceptet till nästa nivå, förklarade Forristal. Hans Cydia Impactor-verktyg körs på OSX och Windows och automatiserar utnyttjandet. "Anslut en enhet", sade Forristal, "den räknar ut den rätta appen, bygger den, lägger till rätt hack för att få root-åtkomst och levererar den. Jag skulle släppa lite ostliknande bevis på konceptappar, men det här är fantastiskt."

Forristal noterade att enhetens processortyp inte spelar någon roll. Attacken påverkas inte av ASLR (Address System Layout Randomization) eller DEP (Data Execution Prevention). Han gjorde en version som fungerar på fyra generationer av Android, och den enda verkliga kompetensen som behövs är kunskap om Java. "Jag skickade in detta för Black Hat eftersom det är lätt att förstå och utnyttja", sa Forristal.

Fler huvudnycklar

Forristal sprang ner ett antal andra nyligen upptäckta buggar som kan betraktas som "huvudnycklar." När de går igenom koden för en funktion som heter Authenticated Attribut hittade Bluebox-forskare en rad som kommenterades och markerade "TODO." Som ett resultat av den saknade koden, oavsett vilka ändringar du gör, gör filen verifiering. Inte många filer använder den här funktionen, noterade Forristal. "Om du hittar en kan du kopiera och klistra in certifikatfilen och anta identiteten för utvecklaren. Om du signerade en app med Autentiserade attribut har du tagit bort din identitet." Eftersom detta fel åtgärdades innan Bluebox rapporterade det tar de inte kredit.

Attacken "Hidden Trojan" som rapporterats av en kinesisk forskare visar sig vara bara ett av flera möjliga sätt att utnyttja Android: s flera ZIP-filtolkare. Dessa attacker utnyttjar det faktum att den ena parseranvändaren signerade heltal och den andra använder osignerade heltal.

"Det handlar inte ens om att byta ut en fil, " entusiastiserade Forristal. "Du kan använda detta trick för att mata in en helt annan ZIP-fil. Den ena verifieras, den andra körs. Ett par tricks och lurar i det här utrymmet kan visa ännu mer kraft till denna strategi."

Även om skadlig programvara som använder denna teknik redan har setts i naturen, borde det inte vara möjligt att få en trojaniserad fil som de som beskrivs här i Google Play. Du kommer förmodligen att vara säker om du alltid och bara installerar appar som har godkänt officiell granskning. För att vara säker, se till att installera alla tillgängliga Android-uppdateringar omedelbart.

Svart hatt: flera sårbarheter för huvudnycklar drabbar Android