RSAC: povratni inženiring aplikacije za Android v petih minutah

Ena najpogostejših taktik za širjenje zlonamerne programske opreme – ali celo samo slab aplikacije – v sistemu Android prepakiranje aplikacij. Med svojo predstavitvijo na konferenci RSA je Pau Oliva Fora iz preko Forenzike pokazala, da je za obratni inženiring aplikacij za Android potrebnih le nekaj minut.



Pridobivanje vaše aplikacije
Prvi korak k vzvratnemu inženiringu aplikacije, je dejal Fora, je bil, da si pridobite aplikacijo. Čeprav so na vašem telefonu videti gladke, so aplikacije za Android (ali APK-ji) v resnici samo datoteke ZIP z novo razširitvijo. V notranjosti je vse, kar aplikacija potrebuje za zagon – od kode do vseh medijev, ki jih morda potrebuje.

Obstaja več načinov za pridobitev APK-ja. Če imate aplikacijo, ki bi jo radi spremenili v obratni inženiring na svojem Androidu, lahko uporabite upravitelja datotek, kot je ASTRO, da shranite varnostno kopijo na kartico SD. Prav tako je mogoče povezati vaš Android z računalnikom in nato uporabiti Android Debugging Bridge za prenos aplikacije v računalnik. Uporabite lahko tudi spletna orodja za izsesavanje APK-jev iz Googla Play.





Razstavljanje
Ko imate APK za delo, ga boste morali pretvoriti v nekaj bolj uporabnega. Za to je Fora predstavila dve možnosti. Lahko bi razstaviti vaš cilj z orodjem, kot je Apktool, ki bo pretvorilo prevedeno datoteko kode aplikacije (Dalvik Executable ali DEX) v zbirni jezik, kot je Smali. Ali pa bi lahko dekompilirati , ki pretvori DEX v arhiv Java (JAR) in nato v Javo.

Fora je opozoril, da je zaradi tega, ker se lahko nekateri podatki v procesu dekompiliranja izgubijo, bolje uporabiti deprevajalnik, ki je bil narejen z mislijo na Android. To preskoči korak JAR in pretvori DEX neposredno v Javo.



Za ljudi, ki jih ne zanima samostojno iskanje vseh teh orodij, je Fora predlagal Santoku. To je posebna distribucija Linuxa podjetja viaForensics, ki je prednaložena z vsemi orodji, ki jih potrebujete za razstavljanje, spreminjanje in prepakiranje aplikacije za Android. To je močno orodje za digitalno forenziko, o katerem smo pisali v preteklosti.

Hitro vzvratno
Če ste v zadnjih nekaj odstavkih zaspali, se tukaj zbudite. Z uporabo Santokuja je Fora pobral zelo osnovno aplikacijo za Android, ki jo je ustvaril, in jo razstavil. Nato je pobrskal po kodi za določeno vrstico, spremenil kodo, jo prepakirao, podpisal, znova namestil spremenjeno aplikacijo na svoj Android in jo zagnal. Celoten postopek je trajal manj kot pet minut.

Fora je bil zelo preprost primer. Aplikacija je bila zelo osnovna in ni vsebovala zakrite kode. Vendar je njegova demonstracija imela močne posledice. 'To lahko storite, da spremenite obnašanje katere koli aplikacije za Android,' je dejal Fora in kot nekaj primerov navedel neskončna življenja v igri ali plačljive funkcije v brezplačni aplikaciji.

Bolj grozljiv primer? Preprosto se vrnite nazaj na katero koli od teh zlonamerne klonirane aplikacije smo videli. Razmislite o tem, preden prenesete ta skiciran klon FlappyBird.

Priporočena