Casa Vigilant de seguretat Rsac: enginyeria inversa d'una aplicació per a Android en cinc minuts

Rsac: enginyeria inversa d'una aplicació per a Android en cinc minuts

Anonim

Una de les tàctiques més habituals per difondre programari maliciós, o fins i tot només aplicacions dolentes , a Android és el reembalatge d'aplicacions. Durant la presentació de la conferència RSA, Pau Oliva Fora, de viaForensics, va demostrar que es triguen pocs minuts a invertir les aplicacions d'Android per enginyer.

Obtenció de la teva aplicació

El primer pas per reenginyar una aplicació, va dir Fora, va ser aconseguir una aplicació. Tot i que semblen delicats al telèfon, les aplicacions d'Android (o APKs) són només fitxers ZIP amb una nova extensió. A dins hi ha tot el que l’aplicació ha d’executar: des del codi fins a qualsevol mitjà que pugui necessitar.

Hi ha diverses maneres d’obtenir un APK. Si teniu una aplicació que voldríeu invertir en el vostre Android, podeu utilitzar un gestor de fitxers com ASTRO per desar una còpia de seguretat a una targeta SD. També és possible connectar el vostre Android a un ordinador i després utilitzar Android Debugging Bridge per transferir l'aplicació al vostre PC. També podeu utilitzar eines en línia per aspirar APK de Google Play.

Tirant-lo a part

Un cop tingueu un APK per treballar, haureu de convertir-lo en quelcom més útil. Per a això, Fora va presentar dues opcions. Podeu desmuntar l’ objectiu amb una eina com Apktool, que convertirà el fitxer de codi d’aplicació compilat d’APK (Dalvik Executable o DEX) en un llenguatge de muntatge com Smali. O podríeu descompilar , que converteix el DEX en un arxiu Java (JAR) i, a continuació, en Java.

Fora va assenyalar que, a causa que es poden perdre algunes dades en el procés de descompressió, és millor utilitzar un descompilador que es va fer amb Android. Això passa per alt el pas de JAR, convertint DEX directament a Java.

Per a persones que no estiguessin interessades en fer un seguiment de totes aquestes eines per si soles, Fora va suggerir Santoku. Aquesta és una distribució especial de Linux de viaForensics que es carrega prèviament amb totes les eines que necessiteu per separar, modificar i reembalar una aplicació Android. És una potent eina digital forense sobre la qual hem escrit anteriorment.

Inversió ràpida

Si us heu adormit durant els darrers paràgrafs, aquí és on us desperteu. Utilitzant Santoku, Fora va definir una aplicació bàsica per a Android que havia creat i la va separar. A continuació, va examinar el codi per a una determinada línia, el va modificar, el va reembalar, el va signar, va reinstal·lar l’aplicació modificada al seu Android i la va llançar. Tot el procés va trigar menys de cinc minuts.

Ara, el de Fora era un exemple molt senzill. L’aplicació era molt bàsica i no incloïa cap codi ofuscat. Tanmateix, la seva demostració va tenir implicacions poderoses. "Podeu fer-ho per canviar el comportament de qualsevol aplicació Android", va dir Fora, enumerar infinites vides en un joc o funcions de pagament en una aplicació gratuïta com només alguns exemples.

Un exemple més espantós? Només cal que recordi la vostra idea a qualsevol de les aplicacions de clons maliciosos que hem vist. Penseu en això abans de baixar aquell esbós clon de FlappyBird.

Rsac: enginyeria inversa d'una aplicació per a Android en cinc minuts