Raziskovalci so pokazali napad z uporabo Toast Message, ki lahko uporabnika socialno oblikuje, da podeli nevarna dovoljenja v sistemu Android.
Android je precej odprta platforma s fantastično skupnostjo razvijalcev. Mnogi od teh razvijalcev bodo ustvarili aplikacije, ROM-e po meri in drugo. Nekatere organizacije se prav tako ukvarjajo s testiranjem varnosti, kot je enota Palo Alto Networks Unit 42. Ta skupina je odkrila ranljivost v sistemu Android Toast Message, ki omogoča napadalec, da ustvari psevdo-prekrivanje, da uporabnika zavede v podelitev nevarnih dovoljenj brez njihovih znanja. To je že določeno v Septembrska varnostna posodobitev in v sistemu Android Oreo, zato bodite prepričani, da niste ranljivi za ta napad, če vaš telefon še vedno prejema mesečne varnostne popravke ali če imate napravo s sistemom Android Oreo.
Vse druge naprave Android so dovzetne na ta napad. To deluje tako, da izkorišča toast obvestila znotraj Androida, da zaobide zahtevo za "risanje na vrhu", tj. dovoljenje za prekrivanje, tako "
Plašč in bodalo"izkoriščanje je delovalo. Raziskovalci so to izkoriščanje uporabili za socialni inženiring uporabnikov, da so njihovi napadalni aplikaciji odobrili storitev dostopnosti, kar jim je omogočilo, da nato preberejo vse vsebine zaslona, ključne vnose itd. na napravi. Nato so uporabili isto metodo, da bi pritegnili uporabnike aplikacije, da bi odobrili skrbniški dostop, pri čemer se sploh niso zavedali dostopa, ki so ga pravkar odobrili. To napadalcu omogoča namestitev aplikacij, nadzor nad napravo in se odpre potencialu izsiljevalske programske opreme.Pojasnjen napad Android Toast Message Overlay
Toda kako dejansko deluje? The razvijalci za dokazom koncepta delil dejansko izvorno kodo svojega napada, ki vsebuje bolj tehnično razlago za ranljivostjo. Vendar bomo na kratko razložili, kako in zakaj ta izkoriščanje deluje.
Najprej morate razmisliti, kaj je sporočilo zdravice. V sistemu Android so prisotni že leta in verjetno ste jih vsak dan videli veliko v svoji napravi. Zdravice so majhna sporočila na dnu zaslona, ki se običajno prikažejo v sivem oblačku z informacijami.
Izkoriščanje uporablja toast sporočilo za ustvarjanje prekrivanja nad zaslonom, ne da bi dejansko zahtevalo ali potrebovalo SYSTEM_ALERT_WINDOW dovoljenje, ki naj bi bilo pogoj za vsako aplikacijo za risanje po vašem zaslonu. Namesto tega potisne prekrivanje skozi obvestilo toast in ustvari gumbe, ki so videti, kot da so namenjeni zakonitemu odobritvi benignega dovoljenje ali sprejemanje nesmiselnega poziva, vendar so dejansko za odobritev dostopa skrbnika naprave ali dostopnosti do aplikacija. Ustvari dva pogleda znotraj prekrivanja toast.
Vse to je mogoče storiti zaradi neuspešnega preverjanja dovoljenj. Sistem Android (varnostna posodobitev pred Oreo in pred septembrom) dejansko ne preverja, kaj se dovaja prek sistema Android Toast Overlay, namesto tega izda dovoljenje brez preverjanja. To je verjetno zato, ker Google ni predvidel možnosti podajanja pogleda skozi prekrivni toast.
Poskus Androida 7.1 pri odpravljanju napada Android Toast Overlay
V Androidu 7.1 je videti, kot da je Google poskušal blokirati to izkoriščanje. Uvedena je bila časovna omejitev za sporočila toast in ustvarjena je bila omejitev: samo 1 sporočilo toast na UID, ID procesa aplikacije. To je bilo enostavno zaobiti z večkratnim ponavljanjem in prikazovanjem več prekrivnih toastov, tako da je uporabniku dana iluzija, da gre za dosleden uporabniški vmesnik. Če zanka ne bi bila ustvarjena, bi po 3,5 sekundah prekrivanje izginilo in uporabnik bi videl, kaj aplikacija dejansko zahteva od uporabnika - dodelitev skrbniških pravic naprave ali pravic dostopnosti.
Posledice uspešnega napada
Skrbnika naprave ali dovoljenja za ljudi s posebnimi potrebami, ko so dodeljena aplikaciji, je mogoče zlahka izkoristiti za številne vrste zlonamernih napadov. S tem izkoriščanjem je mogoče ustvariti izsiljevalsko programsko opremo, zapisovalnike tipk in naprave za brisanje.
Aplikacije ne potrebujejo nobenih dovoljenj za prikaz sporočila toast, čeprav očitno zlonamerna aplikacija še vedno potrebuje BIND_ACCESSIBILITY_SERVICE kot tudi BIND_DEVICE_ADMIN, da lahko učinkovito izkoristi to prekrivno toast napad. Zato je vaša najboljša obramba pred tovrstnim napadom, če vaša naprava še ni zakrpana, pregled dovoljenj, ki jih je aplikacija definirala v svojem AndroidManifestu ob namestitvi. Če namestite aplikacijo in niste prepričani, zakaj ta aplikacija potrebuje storitev dostopnosti ali privilegije skrbnika naprave, jo nemudoma odstranite in se obrnite na razvijalca.
Skrb vzbujajoče je, da je tako preprost del Androida, skromno sporočilo toast, mogoče izkoristiti za socialni inženiring uporabnika, da podeli nevarna dovoljenja. Upamo, da bodo proizvajalci septembrske varnostne popravke uvedli takoj, ko bodo lahko, na napravah, da bi zaščitili milijone tam zunaj, ki bi zlahka padli na takšno izkoriščanje.