Video: Pangwasak ng panghigop ng kapangyarihan tutorial (Nobyembre 2024)
Ipinaliwanag ni Forristal na sa pamamagitan ng pag-disassembling, pagbabago, at muling pagsasama ng app, binago nila ang lagda ng developer nito. Ang bagong lagda ay hindi lisensyado na gumamit ng Google Maps, kaya tinanggihan ito. Ang kanilang bagong paghahanap; palitan ang code nang hindi binabago ang pirma.
Ang forristal ay naglalakad sa detalyadong serye ng mga kaganapan na nangyayari kapag pinatunayan ng Android ang isang naka-sign app. Ang bawat layer ay nagpapatunay sa nakaraang isa, nagsisimula sa pagpapatunay na ang mga modelo ng code ay hindi pa na-tampered at nagtatapos sa isang digital na pirma ng package sa kabuuan. Sinubukan niya ang pag-atake sa system sa bawat yugto, halos walang swerte.
"Ang mga format ng APK, JAR, at ZIP ay karaniwang pareho, " ang nabanggit na Forristal. "Ang JAR at APK ay mayroon lamang mga karagdagang sangkap." Ang kanyang pangwakas na tagumpay ay kasangkot sa paggamit ng ZIP format. Kapag nagpasok siya ng isang "masamang" file na may parehong pangalan bilang isang umiiral na wastong file, ang verifier ay naka-sign off sa wastong file, ngunit inilunsad ang "masamang" file.
Bakit? Dahil ang Android ay gumagamit ng iba't ibang ZIP file management code sa verifier at sa aktwal na installer. "Ang isang pagkakaiba-iba ng ZIP file parsing ay ang mapagkukunan ng error na ito, " paliwanag ng Forristal. "Sa katunayan, mayroong walong magkahiwalay na pagpapatupad ng pag-parse ng file ng ZIP sa base ng code ng Android."
Palabas ng Sandbox
"Ginamit ko ang trick na ito para sa mabuti, " sabi ni Forristal. "Ngayon ay dalhin natin ito sa kasindak-sindak." Tulad ng iOS, pinapatakbo ng Android ang bawat app sa sarili nitong sandbox, kaya hindi mai-access ng isang app ang mga mapagkukunan na kabilang sa isa pang app. "Ang tanging paraan sa sandbox ay mai-sign sa pamamagitan ng parehong developer, " paliwanag niya. "Iyon ang ginagawang posible sa pag-update."
"Ang system sa kabuuan, nag-subscribe sa parehong paniwala, " patuloy niya. "Ang system sandbox ay nagpapatupad ng lahat ng iba pang mga sandbox. Kinokontrol nito ang lahat ng iyong mga setting. Hindi ito ugat, ngunit mayroon itong lahat ng iyong data, apps, password, at mga setting - kung ano ang natira? Ang System ay medyo malakas." Ang mga application na nag-access sa sandbox ng system ay karaniwang nilagdaan ng gumagawa ng platform. "Kailangan ko lang kumuha ng app na naka-sign platform at gawin ang aking maliit na trick, at dapat kong magkaroon ng access sa antas ng system. Mas cool ito kaysa sa mga mapa ng FourSquare, " pagtatapos niya.
Ito ay lumiliko na ang mga third-party na VPN ay kailangang naka-sign platform, at bilang isang bonus hiniling na nila ang pag-access sa sandbox ng system. Ipinakita ng Forristal ang tatlong simpleng utos na ginamit niya upang ipasok ang kanyang "masamang" code sa isang third-party VPN, na nagbibiro tungkol sa "mga tool sa pag-hack ng über." Ang resulta? Isang Trojan na may buong pag-access sa antas ng system.
Madaling Pag-expire
Kinuha ng master security technologist na si Saurik (Jay Freeman) ang konsepto sa susunod na antas, ipinaliwanag ni Forristal. Ang kanyang tool na Cydia Impactor ay tumatakbo sa OSX at Windows at automates ang pagsasamantala. "Ikonekta ang isang aparato, " sabi ng Forristal, "binubuo nito ang tamang app, itinatayo ito, idinagdag ang naaangkop na hack upang makakuha ng pag-access sa ugat, at ihahatid ito. Ako ay pinakawalan ang ilang mga cheesy maliit na patunay ng mga konsepto ng konsepto, ngunit ito ay kahanga-hanga. "
Nabanggit ni Forristal na hindi mahalaga ang uri ng processor ng aparato. Ang pag-atake ay hindi apektado ng ASLR (Address System Layout Randomization) o DEP (Pag-iwas sa Data Exemption). Gumawa siya ng isang bersyon na gumagana sa apat na henerasyon ng Android, at ang tanging tunay na kasanayan na kinakailangan ay ang kaalaman ng Java. "Isinumite ko ito para sa Black Hat dahil madaling maunawaan at pagsamantalahan, " sabi ni Forristal.
Marami pang Master Keys
Forristal ran down ng isang bilang ng iba pang mga kamakailan-lamang natuklasan mga bug na maaaring isaalang-alang "master key." Kapag dumaan sa code para sa isang tampok na tinatawag na Authenticated Attributo, natagpuan ng mga mananaliksik ng Bluebox ang isang linya na nagkomento at minarkahan ang "TODO." Bilang isang resulta ng nawawalang code, kahit ano pa ang mga pagbabago na gagawin mo ang pag-verify ng file ay nagpapatunay. Hindi maraming mga file ang gumagamit ng tampok na ito, ang nabanggit na Forristal. "Kung nakakita ka ng isa, maaari mong kopyahin at i-paste ang file ng sertipiko at ipalagay ang pagkakakilanlan ng nag-develop. Kung nag-sign ka ng isang app gamit ang Authenticated Attribut, naibigay mo ang iyong pagkakakilanlan." Habang naayos ang bug na ito bago iniulat ito ng Bluebox, hindi sila kumuha ng kredito.
Ang "Nakatagong Trojan" na pag-atake na iniulat ng isang mananaliksik na Tsino ay lumiliko na isa lamang sa maraming posibleng paraan upang pagsamantalahan ang maramihang mga ZIP file na pares ng Android. Sinasamantala ng mga pag-atake na ito na ang isang gumagamit ng parehong naka-sign integer at ang iba pang mga gumagamit ay hindi naka -ignign na integer.
"Ito ay hindi kahit na tungkol sa pagpapalit ng isang file, " nakulong ang Forristal. "Maaari mong gamitin ang lansihin na ito upang pakainin sa isang ganap na naiibang ZIP file. Ang isang makakakuha ng napatunayan, ang iba pang tumatakbo. Ang ilang mga trick at tidbits sa puwang na ito ay maaaring magpakita ng higit pang lakas sa pamamaraang ito."
Bagaman ang malware na gamit ang pamamaraan na ito ay nakita na sa ligaw, hindi dapat posible na makakuha ng isang file na Trojan na tulad ng mga inilarawan dito sa Google Play. Marahil ay magiging ligtas ka kung palagi ka at mag-install lamang ng mga app na naipasa ang opisyal na pagsusuri. Gayunpaman, upang maging ligtas, siguraduhing i-install kaagad ang anumang magagamit na mga update sa Android.