Onderzoekers hebben een aanval gedemonstreerd met behulp van een Toast Message die een gebruiker sociaal kan manipuleren om gevaarlijke toestemmingen te verlenen op Android.
Android is een behoorlijk open platform met een fantastische ontwikkelaarsgemeenschap. Veel van deze ontwikkelaars zullen apps, aangepaste ROM's en meer maken. Sommige organisaties houden zich ook bezig met beveiligingstests, zoals Palo Alto Networks Unit 42. Deze groep heeft een kwetsbaarheid ontdekt in het Android Toast Message-systeem, waardoor de aanvaller om een pseudo-overlay te creëren om de gebruiker te misleiden om zonder hun toestemming gevaarlijke toestemmingen te verlenen kennis. Dit is al opgelost in de Beveiligingsupdate van september en in Android OreoU kunt er dus zeker van zijn dat als uw telefoon nog steeds maandelijkse beveiligingspatches ontvangt, of als u een apparaat op Android Oreo heeft, u niet kwetsbaar bent voor deze aanval.
Alle andere Android-apparaten zijn gevoelig aan deze aanval. De manier waarop dit werkt is dat het toastmeldingen binnen Android exploiteert om de vereiste voor de "draw on top" te omzeilen, dwz. overlay-toestemming, dat is hoe de "
Mantel en dolk"exploitatie werkte. De onderzoekers gebruikten deze exploit om gebruikers sociaal te manipuleren om de toegankelijkheidsservice aan hun aanvallende applicatie te verlenen, waardoor ze vervolgens alle scherminhoud, belangrijke invoer, enz. konden lezen. op het apparaat. Vervolgens gebruikten ze dezelfde methode om de applicatiegebruikers te verleiden beheerderstoegang te verlenen, terwijl ze zich totaal niet bewust waren van de toegang die ze zojuist hadden verleend. Hierdoor kan de aanvaller apps installeren, het apparaat monitoren en wordt ook de mogelijkheid van ransomware ontdekt.Android Toast Message Overlay-aanval uitgelegd
Maar hoe werkt het eigenlijk? De ontwikkelaars achter het proof of concept deelde de feitelijke broncode van hun aanval, die een meer technische verklaring achter de kwetsbaarheid bevat. Maar we zullen kort uitleggen hoe en waarom deze exploit werkt.
Eerst moet je bedenken wat een toastbericht is. Ze bestaan al jaren op Android en je hebt er waarschijnlijk elke dag veel van op je apparaat gezien. Toasts zijn kleine berichten onder aan het scherm die meestal in een grijze bel verschijnen met een stukje informatie.
De exploit gebruikt het toastbericht om een overlay over het scherm te creëren zonder dat het daadwerkelijk wordt aangevraagd of nodig is SYSTEEM_ALERT_WINDOW toestemming, wat een vereiste zou moeten zijn voor elke applicatie om over uw scherm te tekenen. In plaats daarvan duwt het de overlay door een toastmelding, waardoor er knoppen ontstaan die er uitzien alsof ze op legitieme wijze een goedaardige toestemming verlenen toestemming of het accepteren van een betekenisloze prompt, maar zijn eigenlijk bedoeld om apparaatbeheerders- of toegankelijkheidstoegang te verlenen tot de sollicitatie. Er worden twee weergaven gecreëerd binnen een toast-overlay.
Dit alles kan worden gedaan vanwege een mislukte toestemmingscontrole. Het Android-systeem (beveiligingsupdate van vóór Oreo en vóór september) controleert niet daadwerkelijk wat er via het Android Toast Overlay-systeem wordt ingevoerd, maar verleent de toestemming zonder te controleren. Dit komt waarschijnlijk omdat Google niet de mogelijkheid voorzag om een weergave via een toast-overlay door te geven.
De poging van Android 7.1 om de Android Toast Overlay-aanval te verhelpen
In Android 7.1 lijkt het erop dat Google deze exploit heeft geprobeerd te blokkeren. Er was een time-out geïntroduceerd voor toastberichten en er werd een beperking gecreëerd: slechts 1 toastbericht per UID, de proces-ID van een app. Dit kon gemakkelijk worden omzeild door herhaaldelijk loops te maken en in plaats daarvan meer toast-overlays weer te geven, zodat de gebruiker de illusie krijgt dat het een consistente gebruikersinterface is. Als er geen lus werd gemaakt, zou de overlay na 3,5 seconden verdwijnen en zou de gebruiker zien wat de app de gebruiker feitelijk vraagt te doen: apparaatbeheerders- of toegankelijkheidsrechten verlenen.
Gevolgen van een succesvolle aanval
Wanneer de apparaatbeheerder of toegankelijkheidsrechten aan een applicatie zijn verleend, kunnen deze eenvoudig worden misbruikt voor vele soorten kwaadaardige aanvallen. Ransomware, keyloggers en apparaatwissers kunnen allemaal met deze exploit worden gemaakt.
Applicaties hebben geen toestemming nodig om een toastbericht weer te geven, hoewel de kwaadaardige applicatie uiteraard nog steeds aanwezig is heeft zowel BIND_ACCESSIBILITY_SERVICE als BIND_DEVICE_ADMIN nodig om effectief gebruik te kunnen maken van deze toast-overlay aanval. Als uw apparaat nog niet is gepatcht, is uw beste verdedigingslinie tegen dit soort aanvallen het onderzoeken van de machtigingen die een applicatie in zijn AndroidManifest heeft gedefinieerd tijdens de installatie ervan. Als u een app installeert en niet zeker weet waarom die app toegangsrechten of apparaatbeheerdersrechten nodig heeft, verwijder deze dan onmiddellijk en neem contact op met de ontwikkelaar.
Het is zorgwekkend dat zo'n eenvoudig onderdeel van Android, de nederige toast-boodschap, kan worden uitgebuit om een gebruiker sociaal te manipuleren om gevaarlijke toestemmingen te verlenen. We hopen dat fabrikanten de beveiligingspatches van september zo snel mogelijk op apparaten zullen uitrollen om de miljoenen mensen te beschermen die gemakkelijk in een dergelijke exploit zouden kunnen trappen.