Domov Varnostna ura Črni klobuk: več ranljivosti master key napadov android

Črni klobuk: več ranljivosti master key napadov android

Video: Simple Spyware: Androids Invisible Foreground Services and How to (Ab)use Them (Oktober 2024)

Video: Simple Spyware: Androids Invisible Foreground Services and How to (Ab)use Them (Oktober 2024)
Anonim

Vse se je začelo kot potegavščina, razložil je Jeff Forristal iz Bluebox Security-a. Ekipa Bluebox je želela ustvariti vdrto različico aplikacije FourSquare, zaradi katere bi bilo videti, da ste nekje čudni, kot je Antarktika. Žal, Google Zemljevidi so zavrnili zahteve iz aplikacije, ki je pohajkovala. S prizadevanjem za reševanje te težave je skupina pripeljala do šibkosti, ki so jo poimenovali "Master Key". "Ta tema je že zajeta, " je dejal Forristall. "Leak je puščal. Že nekaj tednov je zunaj. Toda dejansko je več kot en glavni ključ, tako da je ta pogovor zrasel iz enega hrošča v štiri."

Forristal je pojasnil, da so z razstavljanjem, spreminjanjem in ponovnim sestavljanjem aplikacije spremenili njen podpisovalnik. Novega podpisa ni bilo dovoljeno uporabljati Google Maps, zato je bil zavrnjen. Njuno novo iskanje; spremenite kodo brez spreminjanja podpisa.

Forristal se je seznanil s podrobnimi serijami dogodkov, ki se zgodijo, ko Android preveri podpisano aplikacijo. Vsaka plast preveri prejšnjo, začenši s preverjanjem, da kodni modeli niso bili ponarejeni in konča z digitalnim podpisom celotnega paketa. Na vsaki stopnji je skušal napadati sistem, večinoma brez sreče.

"Format APK, JAR in ZIP so v osnovi enaki, " je opozoril Forristal. "JAR in APK imata samo dodatne komponente." Njegov končni uspeh je vključeval uporabo zapisa ZIP. Ko je vstavil "zlo" datoteko z istim imenom kot obstoječo veljavno datoteko, se je preveritelj odjavil na veljavno datoteko, vendar se je zagnala datoteka "zlo".

Zakaj? Ker Android uporablja različno kodo za upravljanje datotek ZIP v preveritelju in v dejanskem namestitvenem programu. "Razlika pri razčlenjevanju datotek ZIP je vir te napake, " je pojasnil Forristal. "Dejansko je v bazi Android koda osem ločenih izvedb za razčlenitev datotek ZIP."

Izven peskovnika

"Ta trik sem uporabil za dobro, " je dejal Forristal. "Zdaj pa si oglejmo to čudovito." Tako kot iOS tudi Android zažene vsako aplikacijo v svojem peskovniku, zato aplikacija ne more dostopati do virov, ki pripadajo drugi aplikaciji. "Edini način v peskovnik je, da ga podpiše isti razvijalec, " je pojasnil. "To je tisto, kar omogoča posodobitve."

"Sistem kot celota se drži istega pojma, " je nadaljeval. "Sistemski peskovnik namesti vse druge peskovne plošče. Nadzira vse vaše nastavitve. Ni root, vendar ima vse vaše podatke, aplikacije, gesla in nastavitve - kaj je še ostalo? Sistem je precej močan." Aplikacije, ki dostopajo do sistemskega peskovnika, običajno podpiše proizvajalec platforme. "Potreboval sem le, da dobim aplikacijo s platformo in naredim svoj majhen trik. Moral bi imeti dostop na sistemski ravni. To je bolj kul kot zemljevidi FourSquare, " je zaključil.

Izkazalo se je, da morajo biti VPN-ji drugih proizvajalcev podpisani na platformi in kot bonus že zahtevajo dostop do sistemskega peskovnika. Forristal je prikazoval tri preproste ukaze, ki jih je uporabil za vstavljanje svoje "hudobne" kode v tretji zasebni VPN in se šalil o "orodjih za hakiranje über." Rezultat? Trojan s polnim dostopom na sistemski ravni.

Enostavno izkoriščanje

Mojster varnostni tehnolog Saurik (Jay Freeman) je koncept dvignil na novo raven, je pojasnil Forristal. Njegovo orodje Cydia Impactor deluje v OSX in Windows in avtomatizira izkoriščanje. "Priključite napravo, " je dejal Forristal, "to ugotovi pravo aplikacijo, jo zgradi, doda ustrezen kramp, da dobite korenski dostop, in ga dostavi. Izdal bi nekaj malega malo dokazljivega koncepta aplikacij, vendar je to super."

Forristal je ugotovil, da vrsta procesorja naprave ni pomembna. Na napad ne vplivata ASLR (Randomization postavitve naslovnega sistema) ali DEP (Preprečevanje izvajanja podatkov). Naredil je eno različico, ki deluje na štirih generacijah Androida, in edino potrebno znanje je znanje Jave. "To sem predložil za Black Hat, ker ga je enostavno razumeti in izkoristiti, " je dejal Forristal.

Več mojstrskih tipk

Forristal je naletel na številne druge nedavno odkrite hrošče, ki bi jih lahko šteli za "glavne ključe". Med pregledovanjem kode za funkcijo z imenom Preverjeni atributi so raziskovalci Blueboxa našli vrstico s komentarjem in označili "TODO." Zaradi manjkajoče kode, ne glede na spremembe, ki jih izvedete, datoteka opravi preverjanje. Forristal opaža veliko datotek, ugotavlja Forristal. "Če ga najdete, lahko kopirate in prilepite potrdilo in prevzamete identiteto razvijalca. Če ste podpisali aplikacijo z overjenimi atributi, ste svojo identiteto odvzeli." Ker so odpravili napako, preden jo je prijavil Bluebox, ne prevzemajo dobroimetja.

Napad "Skritega trojanca", o katerem je poročal kitajski raziskovalec, se izkaže, da je le eden od več možnih načinov za izkoriščanje Androidovih razčlenjevalcev ZIP datotek. Ti napadi izkoristijo dejstvo, da je en uporabnik razčlenjevalcev podpisal cela števila, drugi pa nepodpisana cela števila.

"Ne gre niti za zamenjavo ene datoteke, " je navdušen Forristal. "Ta trik lahko uporabite za hranjenje v popolnoma drugačni datoteki ZIP. Eden se preveri, drugi pa deluje. Nekaj ​​trikov in sitnic v tem prostoru lahko pri tem pristopu pokaže še več moči."

Čeprav je bilo zlonamerno programsko opremo, ki uporablja to tehniko, že opaziti v naravi, trojanske datoteke, kot je opisano tukaj, ne bi smelo dobiti v Googlu Play. Verjetno boste varni, če boste vedno in nameščali samo aplikacije, ki so bile podvržene uradnemu pregledu. Kljub temu pa ne pozabite takoj namestiti vse razpoložljive posodobitve za Android.

Črni klobuk: več ranljivosti master key napadov android