Forskere har demonstreret et angreb ved hjælp af en Toast Message, som socialt kan udvikle en bruger til at give farlige tilladelser på Android.
Android er en ret åben platform med et fantastisk udviklerfællesskab. Mange af disse udviklere vil skabe apps, brugerdefinerede ROM'er og mere. Nogle organisationer engagerer sig også i sikkerhedstest, såsom Palo Alto Networks Unit 42. Denne gruppe har opdaget en sårbarhed i Android Toast Message-systemet, som tillader angriber til at skabe et pseudo-overlay for at narre brugeren til at give farlige tilladelser uden deres viden. Dette er allerede fast i september sikkerhedsopdatering og i Android Oreo, så vær sikker på, at hvis din telefon stadig modtager månedlige sikkerhedsrettelser, eller du har en enhed på Android Oreo, er du ikke sårbar over for dette angreb.
Alle andre Android-enheder er modtagelige til dette angreb. Måden dette fungerer på er, at den udnytter toast-notifikationer inden for Android til at omgå kravet om "draw on top" dvs. overlejringstilladelse, hvilket er hvordan "
Kappe og Dolk"udnyttelsen virkede. Forskerne brugte denne udnyttelse til socialt at udvikle brugere til at give tilgængelighedstjenesten til deres angribende applikation, så de derefter kunne læse alt skærmindhold, nøgleinput osv. på enheden. De brugte derefter den samme metode til at lokke applikationsbrugerne til at give administratoradgang, alt imens de var fuldstændig uvidende om den adgang, de lige har givet. Dette giver angriberen mulighed for at installere apps, overvåge enheden og åbner også for potentialet for ransomware.Android Toast Message Overlay Angreb forklaret
Men hvordan fungerer det egentlig? Det udviklere bag proof of concept delte den faktiske kildekode for deres angreb, som indeholder en mere teknisk forklaring bag sårbarheden. Men vi vil kort forklare, hvordan og hvorfor denne udnyttelse fungerer.
Først skal du overveje, hvad en toast-besked er. De har eksisteret på Android i årevis nu, og du har sikkert set masser af dem på din enhed hver eneste dag. Toasts er små beskeder nederst på skærmen, der normalt vises i en grå boble med et stykke information.
Udnyttelsen bruger toast-meddelelsen til at skabe en overlejring over skærmen uden faktisk at anmode om eller have brug for det SYSTEM_ALERT_WINDOW tilladelse, som formodes at være et krav for, at enhver applikation kan tegne over din skærm. I stedet skubber det overlejringen gennem en toast-meddelelse, hvilket skaber knapper, der ser ud som om de er til lovligt at give en godartet tilladelse eller accept af en meningsløs prompt, men er faktisk for at give enhedsadministrator eller tilgængelighedsadgang til Ansøgning. Det skaber to visninger inde i en toast-overlay.
Alt dette kan gøres på grund af et mislykket tilladelsestjek. Android-systemet (før-Oreo og før-september sikkerhedsopdatering) kontrollerer faktisk ikke, hvad der føres gennem Android Toast Overlay-systemet, men giver i stedet tilladelsen uden at tjekke. Dette skyldes sandsynligvis, at Google ikke forudså muligheden for at fremføre en visning gennem en toast-overlay.
Android 7.1's forsøg på at rette Android Toast Overlay-angrebet
I Android 7.1 ser det ud til, at Google forsøgte at blokere denne udnyttelse. Der var en indført timeout for toast-beskeder og en begrænsning oprettet: kun 1 toast-besked pr. UID, en apps proces-id. Dette blev nemt omgået ved gentagne gange at sløjfe og vise flere toast-overlays i stedet, så brugeren får en illusion om, at det er en konsistent brugergrænseflade. Hvis der ikke blev oprettet en løkke, ville overlejringen efter 3,5 sekunder forsvinde, og brugeren ville se, hvad appen faktisk anmoder brugeren om at gøre - give enhedsadministrator- eller tilgængelighedsrettigheder.
Konsekvenser af et vellykket angreb
Enhedsadministratoren eller tilgængelighedstilladelser, når de gives til en applikation, kan nemt udnyttes til mange slags ondsindede angreb. Ransomware, keyloggers og enhedsviskere kan alle oprettes ved hjælp af denne udnyttelse.
Applikationer behøver ingen tilladelser for at vise en toast-besked, selvom den ondsindede applikation åbenbart stadig er har brug for BIND_ACCESSIBILITY_SERVICE samt BIND_DEVICE_ADMIN for at gøre effektiv brug af denne toast-overlay angreb. Således er din bedste forsvarslinje mod denne form for angreb, hvis din enhed endnu ikke er patchet, at undersøge de tilladelser, som en applikation har defineret i sin AndroidManifest, når den installeres. Hvis du installerer en app, og du ikke er sikker på, hvorfor denne app har brug for en tilgængelighedstjeneste eller enhedsadministratorrettigheder, skal du straks afinstallere den og kontakte udvikleren.
Det er bekymrende, at en så simpel del af Android, beskeden med beskeden toast, kan udnyttes til socialt at udvikle en bruger til at give farlige tilladelser. Vi håber, at producenterne udruller september-sikkerhedsrettelserne, så snart de kan, til enheder for at beskytte de millioner derude, som let kunne falde for sådan en udnyttelse.