Forskere har demonstrert et angrep ved å bruke en Toast-melding som sosialt kan utvikle en bruker til å gi farlige tillatelser på Android.
Android er en ganske åpen plattform med et fantastisk utviklerfellesskap. Mange av disse utviklerne vil lage apper, tilpassede ROM-er og mer. Noen organisasjoner driver også med sikkerhetstesting, for eksempel Palo Alto Networks Unit 42. Denne gruppen har oppdaget en sårbarhet i Android Toast Message-systemet, som gjør det mulig angriper for å lage et pseudo-overlegg for å lure brukeren til å gi farlige tillatelser uten deres kunnskap. Dette er allerede fikset i Sikkerhetsoppdatering i september og i Android Oreo, så vær trygg på at hvis telefonen din fortsatt mottar månedlige sikkerhetsoppdateringer, eller du har en enhet på Android Oreo, er du ikke sårbar for dette angrepet.
Alle andre Android-enheter er følsomme til dette angrepet. Måten dette fungerer på er at den utnytter toast-varslinger innen Android for å omgå kravet om "trekning på toppen" dvs. overleggstillatelse, som er hvordan "
Kappe og dolk"utnyttelsen fungerte. Forskerne brukte denne utnyttelsen til å sosialt konstruere brukere til å gi tilgjengelighetstjenesten til deres angripende applikasjon, slik at de deretter kunne lese alt skjerminnhold, nøkkelinndata, etc. på enheten. De brukte deretter samme metode for å lokke applikasjonsbrukerne til å gi administratortilgang, mens de var helt uvitende om tilgangen de nettopp ga. Dette lar angriperen installere apper, overvåke enheten, og åpner også for potensialet for løsepengeprogramvare.Android Toast Message Overlay Attack Forklart
Men hvordan fungerer det egentlig? De utviklere bak proof of concept delte selve kildekoden til angrepet deres, som inneholder en mer teknisk forklaring bak sårbarheten. Men vi skal kort forklare hvordan og hvorfor denne utnyttelsen fungerer.
Først må du vurdere hva en skålmelding er. De har eksistert på Android i mange år nå, og du har sannsynligvis sett mange av dem på enheten din hver eneste dag. Toasts er små meldinger nederst på skjermen som vanligvis vises i en grå boble med en del informasjon.
Utnyttelsen bruker toast-meldingen til å lage et overlegg over skjermen uten å faktisk be om eller trenge det SYSTEM_ALERT_WINDOW tillatelse, som er ment å være et krav for at enhver applikasjon skal tegne over skjermen din. I stedet skyver den overlegget gjennom en toast-varsling, og skaper knapper som ser ut som de er for legitimt å gi en godartet tillatelse eller aksept av en meningsløs forespørsel, men er faktisk for å gi enhetsadministrator eller tilgjengelighetstilgang til applikasjon. Det skaper to visninger på innsiden av et toast-overlegg.
Alt dette kan gjøres på grunn av en mislykket tillatelsessjekk. Android-systemet (før-Oreo og før-september sikkerhetsoppdatering) sjekker faktisk ikke hva som mates gjennom Android Toast Overlay-systemet, i stedet gir tillatelsen uten å sjekke. Dette er sannsynligvis fordi Google ikke forutså muligheten for å mate en visning gjennom et toast-overlegg.
Android 7.1s forsøk på å fikse Android Toast Overlay-angrepet
I Android 7.1 ser det ut til at Google prøvde å blokkere denne utnyttelsen. Det ble innført et tidsavbrudd for toast-meldinger og en begrensning opprettet: bare 1 toast-melding per UID, en apps prosess-ID. Dette ble enkelt omgått ved gjentatte ganger å sløyfe og vise flere toast-overlegg i stedet, slik at brukeren får en illusjon om at det er et konsistent brukergrensesnitt. Hvis en sløyfe ikke ble opprettet, ville overlegget forsvinne etter 3,5 sekunder, og brukeren ville se hva appen faktisk ber brukeren om å gjøre - gi enhetens administrator- eller tilgjengelighetsrettigheter.
Konsekvenser av et vellykket angrep
Enhetsadministratoren eller tilgangstillatelsene, når de gis til en applikasjon, kan enkelt utnyttes til mange typer ondsinnede angrep. Ransomware, keyloggere og enhetsviskere kan alle opprettes ved å bruke denne utnyttelsen.
Apper trenger ingen tillatelser for å vise en toast-melding, men det er åpenbart fortsatt den ondsinnede applikasjonen trenger BIND_ACCESSIBILITY_SERVICE samt BIND_DEVICE_ADMIN for å få effektiv bruk av dette toastoverlegget angrep. Derfor er din beste forsvarslinje mot denne typen angrep hvis enheten din ennå ikke er lappet, å undersøke tillatelsene som en applikasjon har definert i AndroidManifesten når den installeres. Hvis du installerer en app og du ikke er sikker på hvorfor den appen trenger en tilgjengelighetstjeneste eller enhetsadministratorrettigheter, må du umiddelbart avinstallere den og kontakte utvikleren.
Det er bekymringsfullt at en så enkel del av Android, den ydmyke toast-meldingen, kan utnyttes til sosialt å utvikle en bruker til å gi farlige tillatelser. Vi håper at produsentene ruller ut sikkerhetsoppdateringene fra september så snart de kan til enheter for å beskytte millionene der ute som lett kan falle for en slik utnyttelse.