Výskumníci demonštrovali útok pomocou Toast Message, ktorý môže spoločensky pripraviť používateľa na udelenie nebezpečných povolení pre Android.
Android je celkom otvorená platforma s fantastickou komunitou vývojárov. Mnohí z týchto vývojárov vytvoria aplikácie, vlastné ROM a ďalšie. Niektoré organizácie sa tiež zapájajú do testovania bezpečnosti, ako napríklad Palo Alto Networks Unit 42. Táto skupina objavila zraniteľnosť v systéme Android Toast Message, ktorá umožňuje útočníkovi, aby vytvoril pseudo-prekrytie, aby oklamal používateľa, aby udelil nebezpečné povolenia bez jeho povolenia vedomosti. Toto je už opravené v Septembrová bezpečnostná aktualizácia a v systéme Android Oreo, takže si môžete byť istí, že ak váš telefón stále dostáva mesačné bezpečnostné záplaty alebo máte zariadenie so systémom Android Oreo, nie ste zraniteľní voči tomuto útoku.
Všetky ostatné zariadenia so systémom Android sú náchylné k tomuto útoku. Funguje to tak, že využíva upozornenia na toast v systéme Android, aby obišiel požiadavku na „kreslenie navrch“, tj. povolenie na prekrytie, čo je spôsob, akým
Plášť a dýka„vykorisťovanie fungovalo. Výskumníci použili tento exploit na sociálne inžinierstvo používateľov, aby poskytli službu dostupnosti ich útočiacej aplikácii, čo im umožnilo čítať celý obsah obrazovky, kľúčové vstupy atď. na zariadení. Potom použili rovnakú metódu, aby nalákali používateľov aplikácie, aby udelili správcovský prístup, pričom si vôbec neuvedomovali prístup, ktorý práve udelili. To umožňuje útočníkovi inštalovať aplikácie, monitorovať zariadenie a tiež otvára potenciál ransomvéru.Android Toast Message Overlay Attack Explained
Ale ako to vlastne funguje? The vývojárov stojacich za proof of concept zdieľali skutočný zdrojový kód svojho útoku, ktorý obsahuje technickejšie vysvetlenie tejto zraniteľnosti. Stručne si však vysvetlíme, ako a prečo tento exploit funguje.
Najprv musíte zvážiť, čo je toastová správa. V systéme Android existujú už roky a pravdepodobne ste ich na svojom zariadení videli každý deň. Toasty sú malé správy v spodnej časti obrazovky, ktoré sa zvyčajne zobrazujú v sivej bubline s určitou informáciou.
Využitie používa toastovú správu na vytvorenie prekrytia cez obrazovku bez toho, aby to skutočne vyžadovalo alebo potrebovalo SYSTEM_ALERT_WINDOW povolenie, ktoré by malo byť požiadavkou akejkoľvek aplikácie na kreslenie cez vašu obrazovku. Namiesto toho posúva prekrytie prostredníctvom oznámenia o prípitku, čím vytvára tlačidlá, ktoré vyzerajú, ako by boli na legitímne udelenie benígneho povolenie alebo prijatie nezmyselnej výzvy, ale v skutočnosti slúžia na udelenie prístupu správcu zariadenia alebo prístupnosti k aplikácie. Vytvára dva pohľady vo vnútri prekrytia toastu.
To všetko je možné vykonať v dôsledku neúspešnej kontroly povolení. Systém Android (aktualizácia zabezpečenia pred Oreo a pred septembrom) v skutočnosti nekontroluje, čo sa dodáva cez systém Android Toast Overlay, namiesto toho udeľuje povolenie bez kontroly. Je to pravdepodobne preto, že spoločnosť Google nepredpokladala možnosť zobrazenia zobrazenia prostredníctvom prekrytia hrianok.
Pokus systému Android 7.1 o opravu útoku prekrytia Android Toast
V systéme Android 7.1 sa zdá, že Google sa pokúsil zablokovať tento exploit. Bol zavedený časový limit pre toastové správy a vytvorilo sa obmedzenie: iba 1 toastová správa na UID, ID procesu aplikácie. To sa dalo ľahko obísť opakovaným opakovaním a zobrazovaním viacerých prekrytí toastov, takže používateľovi vzniká ilúzia, že ide o konzistentné používateľské rozhranie. Ak by sa slučka nevytvorila, po 3,5 sekundách by prekrytie zmizlo a používateľ by videl, čo aplikácia v skutočnosti od používateľa požaduje – udeliť správcovi zariadenia alebo práva na prístupnosť.
Dôsledky úspešného útoku
Povolenia správcu zariadenia alebo prístupnosti, ak sú aplikácii udelené, sa dajú ľahko zneužiť na mnohé druhy škodlivých útokov. Pomocou tohto exploitu je možné vytvoriť ransomvér, keyloggery a stierače zariadení.
Aplikácie nepotrebujú žiadne oprávnenia, aby mohli zobraziť toastovú správu, aj keď je evidentne stále škodlivá aplikácia potrebuje BIND_ACCESSIBILITY_SERVICE, ako aj BIND_DEVICE_ADMIN, aby bolo možné efektívne využiť toto prekrytie toastu útok. Najlepšou líniou obrany proti tomuto druhu útoku, ak vaše zariadenie ešte nie je opravené, je preskúmať povolenia, ktoré aplikácia definovala vo svojom AndroidManifeste pri jej inštalácii. Ak si nainštalujete aplikáciu a nie ste si istí, prečo táto aplikácia potrebuje Službu dostupnosti alebo oprávnenia správcu zariadenia, okamžite ju odinštalujte a kontaktujte vývojára.
Je znepokojujúce, že taká jednoduchá časť Androidu, skromná toastová správa, môže byť zneužitá na sociálne inžinierstvo používateľa na udelenie nebezpečných povolení. Dúfame, že výrobcovia zavedú septembrové bezpečnostné záplaty na zariadenia čo najskôr, aby ochránili milióny ľudí, ktorí by mohli ľahko napadnúť takéto zneužitie.