Video: Simple Spyware: Androids Invisible Foreground Services and How to (Ab)use Them (November 2024)
Forristal vysvetlil, že demontážou, úpravou a opätovnou zostavou aplikácie zmenili podpis vývojára. Nový podpis nemal licenciu na používanie Máp Google, preto bol zamietnutý. Ich nové hľadanie; zmeniť kód bez zmeny podpisu.
Spoločnosť Forristal prešla podrobnými sériami udalostí, ktoré sa vyskytnú, keď systém Android overí podpísanú aplikáciu. Každá vrstva overuje predchádzajúcu vrstvu, počínajúc overením, či sa kódové modely nezmenili a končí digitálnym podpisom balíka ako celku. Pokúsil sa útočiť na systém v každej fáze, väčšinou bez šťastia.
„Formáty APK, JAR a ZIP sú v podstate rovnaké, “ poznamenal Forristal. „JAR a APK majú iba ďalšie komponenty.“ Jeho posledným úspechom bolo využitie formátu ZIP. Keď vložil „zlý“ súbor s rovnakým názvom ako existujúci platný súbor, overovateľ sa odhlásil z platného súboru, ale spustil sa „zlý“ súbor.
Prečo? Pretože Android používa odlišný kód na správu súborov ZIP vo verifikátore a v skutočnom inštalátorovi. „Rozpor v analýze súborov ZIP je zdrojom tejto chyby, “ vysvetlil Forristal. „V skutočnosti existuje v databáze kódov Android osem samostatných implementácií na analýzu súborov ZIP.“
Z pieskoviska
„Tento trik som použil dobre, “ povedal Forristal. "Teraz si to vezmime na úžasné." Rovnako ako v systéme iOS, aj v systéme Android sa každá aplikácia spúšťa vo vlastnom karanténe, takže aplikácia nemôže získať prístup k zdrojom patriacim inej aplikácii. „Jediný spôsob, ako sa dostať do karantény, je podpísať ten istý vývojár, “ vysvetlil. „To umožňuje aktualizáciu.“
„Systém ako celok súhlasí s rovnakou predstavou, “ pokračoval. „Systémová karanténa vynucuje všetky ostatné karantény. Ovláda všetky vaše nastavenia. Nie je to root, ale obsahuje všetky vaše údaje, aplikácie, heslá a nastavenia - čo zostáva? Systém je dosť silný.“ Aplikácie, ktoré majú prístup do systémovej karantény, sú zvyčajne podpísané výrobcom platformy. „Potreboval som iba aplikáciu podpísanú pre platformu a urobiť môj malý trik a mal by som mať prístup na úrovni systému. To je chladnejšie ako mapy FourSquare, “ uzavrel.
Ukazuje sa, že VPN tretích strán musia byť podpísané na platforme a ako bonus už požadujú prístup do systémovej karantény. Forristal zobrazil tri jednoduché príkazy, ktoré použil na vloženie svojho „zlého“ kódu do siete VPN tretích strán a žartoval o „über hackerských nástrojoch“. Výsledok? Trójsky kôň s plným prístupom na úrovni systému.
Ľahké využitie
Hlavný bezpečnostný technológ Saurik (Jay Freeman) posunul koncepciu na ďalšiu úroveň, vysvetlil Forristal. Jeho nástroj Cydia Impactor pracuje na OSX a Windows a automatizuje využitie. „Pripojte zariadenie, “ povedal Forristal, „zistí správnu aplikáciu, zostaví ju, pridá vhodný hack na získanie prístupu root a doručí ju. Vydal som niekoľko drzých ukážok koncepčných aplikácií, ale je to úžasné."
Forristal poznamenal, že na type procesora zariadenia nezáleží. Útok nie je ovplyvnený ASLR (Randomization Layout Layout Randomization) alebo DEP (Prevention Execution Prevention). Vytvoril jednu verziu, ktorá pracuje na štyroch generáciách systému Android, a jediná potrebná zručnosť je znalosť jazyka Java. „Predložil som to pre Black Hat, pretože je ľahké ho pochopiť a zneužiť, “ povedal Forristal.
Viac majstrovských kľúčov
Forristal spustil niekoľko ďalších nedávno objavených chýb, ktoré by mohli byť považované za „hlavné kľúče“. Pri prehliadaní kódu funkcie s názvom Overené atribúty našli vedci Bluebox riadok komentovaný a označený „TODO“. V dôsledku chýbajúceho kódu prechádza overenie bez ohľadu na to, aké zmeny vykonáte. Túto funkciu používa veľa súborov, poznamenal Forristal. „Ak ho nájdete, môžete skopírovať a prilepiť súbor certifikátu a prevziať identitu vývojára. Ak ste podpísali aplikáciu s overenými atribútmi, svoju identitu ste rozdali.“ Keďže táto chyba bola opravená skôr, ako ju hlásil Bluebox, neberú si kredit.
Útok „Skrytý trójsky kôň“, ktorý uviedol čínsky vedecký pracovník, sa ukázal byť iba jedným z niekoľkých spôsobov, ako využiť niekoľko analyzátorov súborov ZIP v systéme Android. Tieto útoky využívajú skutočnosť, že jeden užívateľ syntaktického analyzátora podpísal celé čísla a druhý používa celé čísla bez znamienka.
„Nejde ani o nahradenie jedného súboru, “ nadchol Forristal. „Tento trik môžete použiť na kŕmenie v úplne inom súbore ZIP. Jeden sa overí, druhý sa spustí. Pár trikov a útržkov v tomto priestore môže ukázať ešte viac sily tomuto prístupu.“
Aj keď malvér, ktorý používa túto techniku, už bol vo voľnej prírode, do služby Google Play by nemalo byť možné získať trójsky kôň, ako sú tu opísané súbory. Pravdepodobne budete v bezpečí, ak vždy a len inštalujete aplikácie, ktoré prešli úradnou kontrolou. Ak chcete byť v bezpečí, nezabudnite okamžite nainštalovať všetky dostupné aktualizácie systému Android.