Video: Как работает система дополненной реальности HIPER ARGun 200 (Decembris 2024)
Forristal paskaidroja, ka, izjaucot, modificējot un atkārtoti saliekot lietotni, viņi ir mainījuši tās izstrādātāja parakstu. Jaunajam parakstam nebija licences Google Maps lietošanai, tāpēc tas tika noraidīts. Viņu jaunie meklējumi; nomainiet kodu, nemainot parakstu.
Forristal apskatīja detalizētu notikumu sēriju, kas notiek, kad Android verificēja parakstītu lietotni. Katrs slānis verificē iepriekšējo, sākot ar pārbaudi, vai koda modeļi nav tikuši sagrozīti, un beidzot ar paketes digitālo parakstu kopumā. Viņš mēģināja uzbrukt sistēmai katrā posmā, lielākoties bez veiksmes.
"APK, JAR un ZIP formāti būtībā ir vienādi, " atzīmēja Forristal. "JAR un APK ir tikai papildu komponenti." Viņa pēdējie panākumi bija ZIP formāta izmantošana. Kad viņš ievietoja “ļauna” failu ar tādu pašu nosaukumu kā esošam derīgam failam, verificētājs parakstījās uz derīga faila, bet “ļaunais” fails tika palaists.
Kāpēc? Tā kā Android verificētājā un faktiskajā instalētājā izmanto atšķirīgu ZIP failu pārvaldības kodu. "Šīs kļūdas avots ir ZIP failu parsēšanas neatbilstība, " skaidroja Forristal. "Faktiski Android kodu bāzē ir astoņas atsevišķas ZIP failu parsēšanas ieviešanas."
Ārā no smilšu kastes
"Es šo triku izmantoju par labu, " sacīja Forristal. "Tagad pieņemsim to satriecoši." Tāpat kā iOS, arī Android katru lietotni palaiž atsevišķā smilšu kastē, tāpēc lietotne nevar piekļūt citai lietotnei piederošajiem resursiem. "Vienīgais ceļš smilšu kastē ir tā paša izstrādātāja parakstīts, " viņš paskaidroja. "Tas padara atjauninājumus iespējamus."
"Sistēma kopumā atbalsta to pašu priekšstatu, " viņš turpināja. "Sistēmas smilšu kaste piespiež visas pārējās smilšu kastes. Tā kontrolē visus jūsu iestatījumus. Tā nav sakne, bet tajā ir visi jūsu dati, lietotnes, paroles un iestatījumi - kas paliek? Sistēma ir diezgan jaudīga." Lietotnes, kas piekļūst sistēmas smilšu kastei, parasti paraksta platformas izgatavotājs. "Man vienkārši vajadzēja iegūt uz platformas parakstītu lietotni un darīt savu mazo triku, un man vajadzētu būt piekļuvei sistēmas līmenī. Tas ir foršāk nekā FourSquare kartes, " viņš secināja.
Izrādās, ka trešo pušu VPN ir jāparaksta ar platformu, un kā bonusu viņi jau pieprasa piekļuvi sistēmas smilšu kastei. Forristal parādīja trīs vienkāršās komandas, kuras viņš izmantoja, lai ievietotu savu "ļauno" kodu trešās puses VPN, jokojot par "über hakeru rīkiem". Rezultāts? Trojas zirgs ar pilnu piekļuvi sistēmas līmenim.
Vienkārša izmantošana
Galvenais drošības tehnologs Sauriks (Džejs Freemans) pārcēla koncepciju uz nākamo līmeni, skaidroja Forristal. Viņa rīks Cydia Impactor darbojas OSX un Windows un automatizē tā izmantošanu. "Pievienojiet ierīci, " sacīja Forristal, "tā izdomā pareizo lietotni, izveido to, pievieno atbilstošo hack, lai iegūtu piekļuvi saknei, un piegādā to. Es grasos izlaist dažus sierīgus, mazus koncepcijas lietotņu pierādījumus, taču tas ir satriecoši."
Forristal atzīmēja, ka ierīces procesora tipam nav nozīmes. Uzbrukumu neietekmē ASLR (adrešu sistēmas izkārtojuma randomizācija) vai DEP (datu izpildes novēršana). Viņš izveidoja vienu versiju, kas darbojas četrās Android paaudzēs, un vienīgās nepieciešamās prasmes ir zināšanas par Java. "Es iesniedzu to Black Hat, jo to ir viegli saprast un izmantot, " sacīja Forristal.
Vairāk Master Keys
Forristal izsita vairākas citas nesen atklātas kļūdas, kuras varēja uzskatīt par “galvenajām atslēgām”. Pārbaudot funkcijas, ko sauc par autentificētajiem atribūtiem, kodu, Bluebox pētnieki atrada līniju, kuru komentēja un apzīmēja ar “TODO”. Trūkstošā koda rezultātā neatkarīgi no tā, kādas izmaiņas veicat, fails tiek pārbaudīts. Ne daudzi faili izmanto šo funkciju, atzīmēja Forristal. "Ja jūs tādu atrodat, varat nokopēt un ielīmēt sertifikāta failu un pieņemt izstrādātāja identitāti. Ja esat parakstījis lietotni ar autentificētiem atribūtiem, jūs esat atdevis savu identitāti." Tā kā šī kļūda tika novērsta, pirms Bluebox par to ziņoja, viņi neuzņemas kredītu.
Ķīniešu pētnieka paziņotais uzbrukums "Slēptais Trojas zirgs" izrādās tikai viens no vairākiem iespējamiem veidiem, kā izmantot Android vairākus ZIP failu parsētājus. Šajos uzbrukumos tiek izmantots fakts, ka viens analizētāja lietotājs parakstīja veselus skaitļus, bet otrs izmanto neparakstītus veselus skaitļus.
"Nav runa pat par viena faila aizstāšanu, " aizrāvies Forristal. "Varat izmantot šo triku, lai iekļautos pavisam citā ZIP failā. Viens tiek pārbaudīts, otrs tiek izpildīts. Pāris triki un sīkumi šajā telpā var parādīt vēl lielāku jaudu šai pieejai."
Lai arī ļaunprātīga programmatūra, izmantojot šo paņēmienu, jau ir bijusi redzama dabā, nevajadzētu būt iespējai iegūt tādu Trojanizētu failu, kāds aprakstīts šeit, pakalpojumā Google Play. Jūs droši vien būsit drošs, ja vienmēr un tikai instalēsit lietotnes, kas ir izturējušas oficiālu pārbaudi. Tomēr, lai nodrošinātu drošību, noteikti instalējiet visus pieejamos Android atjauninājumus.