Casa Vigilant de seguretat Barret negre: múltiples vulnerabilitats de la clau mestra afecten Android

Barret negre: múltiples vulnerabilitats de la clau mestra afecten Android

Vídeo: Simple Spyware: Androids Invisible Foreground Services and How to (Ab)use Them (De novembre 2024)

Vídeo: Simple Spyware: Androids Invisible Foreground Services and How to (Ab)use Them (De novembre 2024)
Anonim

Tot va començar com una broma, va explicar Jeff Forristal de Bluebox Security. L’equip de Bluebox volia crear una versió piratada de l’aplicació FourSquare que faria semblar que esteu en algun lloc estrany, com l’Antàrtida. Per desgràcia, Google Maps va rebutjar les sol·licituds de l’aplicació ajustada. Seguir formes d’aquest problema va portar a l’equip a la debilitat que van anomenar “Key Master”. "Aquest tema ja s'ha tractat", va dir Forristall. "Es va filtrar. Ha estat poques setmanes. Però en realitat hi ha més d'una clau mestra, així que aquesta conversa va passar d'un error a quatre."

Forristal va explicar que, desmuntant, modificant i tornant a muntar l'aplicació, havien canviat la signatura del seu desenvolupador. La nova signatura no tenia llicència per utilitzar Google Maps, per la qual cosa va ser rebutjada. La seva nova recerca; canviar el codi sense canviar la signatura.

Forristal va recórrer la sèrie detallada d'esdeveniments que es produeixen quan Android verifica una aplicació signada. Cada capa verifica l’anterior, començant per verificar que els models de codi no s’han manipulat i acabant amb una signatura digital del paquet en general. Va intentar atacar el sistema en totes les fases, sobretot sense sort.

"Els formats APK, JAR i ZIP són bàsicament els mateixos", va assenyalar Forristal. "JAR i APK només tenen components addicionals." El seu èxit final va consistir en aprofitar el format ZIP. Quan va inserir un fitxer "malvat" amb el mateix nom que un fitxer vàlid existent, el verificador es va signar al fitxer vàlid, però el fitxer "malvat" es va iniciar.

Per què? Perquè Android utilitza diferents codis de gestió de fitxers ZIP al verificador i a l'instal·lador real. "Una discrepància de l'anàlisi del fitxer ZIP és la font d'aquest error", va explicar Forristal. "De fet, hi ha vuit implementacions per analitzar fitxers ZIP separats a la base de codis d'Android."

Sortida de la Sandbox

"He fet servir aquest truc per bé", va dir Forristal. "Ara, anem a impressionant." Igual que iOS, Android executa cada aplicació al seu propi sandbox, de manera que una aplicació no pot accedir a recursos que pertanyin a una altra aplicació. "L'única manera d'entrar a la caixa de sorra és signar-la pel mateix desenvolupador", va explicar. "Això és el que fa possibles les actualitzacions."

"El sistema en conjunt subscriu la mateixa noció", va continuar. "El sandbox del sistema fa complir la resta de caixa de sorra. Controla tota la vostra configuració. No és root, però té totes les vostres dades, aplicacions, contrasenyes i configuració. Què queda? El sistema és força potent." Les aplicacions que accedeixen a la caixa de sorra del sistema les signen generalment el fabricant de plataformes. "Només necessitava obtenir una aplicació signada per la plataforma i fer el meu petit truc, i hauria de tenir accés a nivell de sistema. És més bonic que els mapes de FourSquare", va concloure.

Resulta que les VPN de tercers han d’estar signades per la plataforma i, com a bonus, ja demanen l’accés a la caixa de sorra del sistema. Forristal va mostrar les tres senzilles ordres que utilitzava per inserir el seu codi "malvat" en una VPN de tercers, fent broma sobre "eines de pirateria informatives". El resultat? Un troià amb accés complet a nivell de sistema.

Explotació fàcil

El mestre tecnòleg de seguretat Saurik (Jay Freeman) va portar el concepte al següent nivell, va explicar Forristal. La seva eina Cydia Impactor funciona amb OSX i Windows i automatitza l'explotació. "Connecta un dispositiu", va dir Forristal, "es descriu l'aplicació adequada, la crea, afegir el hack apropiat per obtenir accés root i el lliura. Vaig publicar una mica de prova enganyosa de les aplicacions conceptuals, però això és impressionant."

Forristal va assenyalar que el tipus de processador del dispositiu no importa. L’atac no es veu afectat per ASLR (Adreça de la distribució del sistema d’adreces) o DEP (prevenció d’execució de dades). Va fer una versió que funciona en quatre generacions d’Android, i l’única habilitat real necessària és el coneixement de Java. "Vaig presentar-ho a Black Hat perquè és fàcil d'entendre i explotar", va dir Forristal.

Més claus mestres

Forristal va derrubar diversos errors recentment descoberts que podrien considerar-se "claus mestres". En examinar el codi d'una funció anomenada Atributs autenticats, els investigadors de Bluebox van trobar una línia comentada i marcada com a "TODO". Com a resultat del codi que falta, no importa quins canvis feu que el fitxer passi la verificació. No hi ha molts fitxers que utilitzen aquesta característica, ha destacat Forristal. "Si en trobeu, podeu copiar i enganxar el fitxer de certificat i assumir la identitat del desenvolupador. Si heu signat una aplicació amb Atributs autenticats, heu lliurat la vostra identitat." Com que aquest error s'ha corregit abans que Bluebox l'informés, no passen per crèdit.

L'atac "Troia amagada" denunciat per un investigador xinès resulta ser només una de les diverses maneres possibles d'explotar els diversos analitzadors de fitxers ZIP d'Android. Aquests atacs aprofiten que un usuari analitzador va signar nombres enters i l'altre utilitza nombres enters sense signar.

"Ni tan sols es tracta de substituir un fitxer", va entusiasmar Forristal. "Podeu utilitzar aquest truc per alimentar-vos en un fitxer ZIP completament diferent. Un es verifica, l'altre s'executa. Un parell de trucs i ordenacions en aquest espai poden mostrar encara més poder per a aquest plantejament."

Tot i que el programari maliciós que utilitza aquesta tècnica ja s'ha vist en estat salvatge, no hauria de ser possible obtenir un fitxer trojanitzat com el que es descriu a Google Play. Probablement estareu segurs si només instal·leu aplicacions que hagin revisat oficialment. No obstant això, per estar segur, assegureu-vos d’instal·lar les actualitzacions disponibles Android immediatament.

Barret negre: múltiples vulnerabilitats de la clau mestra afecten Android