Domov Bezpečnostní hodinky Černý klobouk: Android postihuje více zranitelností hlavního klíče

Černý klobouk: Android postihuje více zranitelností hlavního klíče

Video: Lion Family 🗝️ The Master Key #2. New Keys | Cartoon for Kids (Listopad 2024)

Video: Lion Family 🗝️ The Master Key #2. New Keys | Cartoon for Kids (Listopad 2024)
Anonim

Všechno to začalo jako žert, vysvětlil Jeff Forristal společnosti Bluebox Security. Tým Bluebox chtěl vytvořit hacknutou verzi aplikace FourSquare, díky níž by to vypadalo, že jste někde podivní, jako Antarktida. Bohužel, Mapy Google odmítly žádosti z vylepšené aplikace. Hledání cesty kolem tohoto problému vedlo tým k slabosti, kterou dabovali „Master Key“. „Toto téma již bylo pokryto, “ řekl Forristall. „Uniklo. Bylo to už několik týdnů. Ale ve skutečnosti existuje více než jeden hlavní klíč, takže tato řeč rostla z jedné chyby na čtyři.“

Forristal vysvětlil, že rozebráním, úpravou a opětovným sestavením aplikace změnili podpis vývojáře. Nový podpis neměl licenci k používání Map Google, proto byl zamítnut. Jejich nový úkol; změnit kód beze změny podpisu.

Forristal prošel podrobnou řadou událostí, ke kterým dojde, když Android ověří podepsanou aplikaci. Každá vrstva ověří předchozí vrstvu, počínaje ověřením, že kódové modely nebyly narušeny, a končí digitálním podpisem balíčku jako celku. Pokusil se zaútočit na systém v každé fázi, většinou bez štěstí.

„Formáty APK, JAR a ZIP jsou v zásadě stejné, “ poznamenal Forristal. "JAR a APK mají jen další komponenty." Jeho konečný úspěch zahrnoval využití formátu ZIP. Když vložil „zlý“ soubor se stejným názvem jako existující platný soubor, ověřovatel se odhlásil z platného souboru, ale „zlý“ soubor byl spuštěn.

Proč? Protože Android používá v ověřovateli a ve skutečném instalátoru jiný kód pro správu souborů ZIP. „Nesrovnalost při analýze souborů ZIP je zdrojem této chyby, “ vysvětlil Forristal. "Ve skutečnosti existuje v databázi kódů Android osm samostatných implementací analýzy souborů ZIP."

Z karantény

„Použil jsem tento trik dobře, “ řekl Forristal. "Teď to vezměte na úžasné." Stejně jako iOS i Android spouští každou aplikaci ve svém vlastním karanténě, takže aplikace nemůže přistupovat ke zdrojům patřícím jiné aplikaci. „Jediný způsob, jak se dostat do karantény, je být podepsán stejným vývojářem, “ vysvětlil. "To umožňuje aktualizace."

„Systém jako celek se hlásí ke stejné představě, “ pokračoval. „Systémová karanténa vynucuje všechny ostatní karantény. Ovládá všechna vaše nastavení. Není to root, ale obsahuje všechna vaše data, aplikace, hesla a nastavení - co zbude? Systém je docela silný.“ Aplikace, které přistupují k systémové karanténě, jsou obvykle podepsány výrobcem platformy. „Potřeboval jsem jen získat aplikaci podepsanou na platformě a udělat malý trik a měl bych mít přístup na systémové úrovni. To je chladnější než mapy FourSquare, “ uzavřel.

Ukazuje se, že VPN třetích stran musí být podepsány na platformě a jako bonus již požadují přístup k systémové karanténě. Forristal zobrazil tři jednoduché příkazy, které použil k vložení svého „zlého“ kódu do VPN třetí strany, a žertoval o „über hackerských nástrojích“. Výsledek? Trojan s plným přístupem na úrovni systému.

Snadné vykořisťování

Hlavní bezpečnostní technik Saurik (Jay Freeman) posunul koncept na další úroveň, vysvětlil Forristal. Jeho nástroj Cydia Impactor pracuje na OSX a Windows a automatizuje využití. „Připojte zařízení, “ řekl Forristal, „zjistí správnou aplikaci, vytvoří ji, přidá příslušný hack, aby získal přístup root a doručí ji. Vydal jsem nějaký drzý malý důkaz koncepčních aplikací, ale je to úžasné."

Forristal poznamenal, že na typu procesoru zařízení nezáleží. Útok není ovlivněn ASLR (Randomization Layout Layout Randomization) nebo DEP (Data Execution Prevention). Vytvořil jednu verzi, která pracuje na čtyřech generacích Androidu, a jedinou skutečnou potřebnou dovedností je znalost Java. „Předložil jsem to pro Black Hat, protože je snadno pochopitelné a využitelné, “ řekl Forristal.

Více hlavních klíčů

Forristal stáhl řadu dalších nedávno objevených chyb, které by mohly být považovány za „hlavní klíče“. Když procházeli kódem pro funkci nazvanou Authenticated Attributes, badatelé Bluebox našli řádek komentovaný a označený „TODO“. V důsledku chybějícího kódu projde ověření bez ohledu na to, jaké změny provedete. Tuto funkci nepoužívá mnoho souborů, poznamenal Forristal. "Pokud jej najdete, můžete zkopírovat a vložit soubor certifikátu a převzít identitu vývojáře. Pokud jste podepsali aplikaci s ověřenými atributy, vaši identitu jste rozdali." Protože tato chyba byla opravena dříve, než to Bluebox ohlásil, nepřijímají úvěr.

Útok „Skrytého trojského koně“ nahlášený čínským vědcem se ukazuje jako jeden z několika možných způsobů, jak využít několik analyzátorů souborů ZIP systému Android. Tyto útoky využívají skutečnosti, že jeden uživatel analyzátoru podepsal celá čísla a druhý používá nepodepsaná celá čísla.

„Nejde ani o nahrazení jednoho souboru, “ nadchl Forristal. „Tento trik můžete použít k tomu, abyste se nakrmili v úplně jiném souboru ZIP. Jeden se ověří, druhý se spustí. Pár triků a útržků v tomto prostoru může ukázat ještě větší sílu tomuto přístupu.“

Přestože malware používající tuto techniku ​​již byl ve volné přírodě vidět, nemělo by být možné získat trojanizovaný soubor, jaký je popsán zde, na Google Play. Pravděpodobně budete v bezpečí, pokud vždy a jen instalujete aplikace, které prošly úřední kontrolou. Chcete-li být v bezpečí, nezapomeňte okamžitě nainstalovat všechny dostupné aktualizace systému Android.

Černý klobouk: Android postihuje více zranitelností hlavního klíče