Android Toast-meddelanden kan missbrukas för att ge tillgänglighet eller enhetsadministratörsprivilegier

Forskare har demonstrerat en attack med hjälp av ett Toast-meddelande som socialt kan förmå en användare att ge farliga behörigheter på Android.

Android är en ganska öppen plattform med en fantastisk utvecklargemenskap. Många av dessa utvecklare kommer att skapa appar, anpassade ROM och mer. Vissa organisationer ägnar sig också åt säkerhetstester, som Palo Alto Networks Unit 42. Den här gruppen har upptäckt en sårbarhet i Android Toast Message-systemet, vilket gör att angripare för att skapa en pseudo-överlagring för att lura användaren att ge farliga behörigheter utan deras kunskap. Detta är redan fixat i Säkerhetsuppdatering i september och i Android Oreo, så var säker på att om din telefon fortfarande får månatliga säkerhetskorrigeringar, eller om du har en enhet på Android Oreo, är du inte sårbar för denna attack.

Alla andra Android-enheter är mottagliga till denna attack. Sättet det här fungerar på är att det utnyttjar toastnotiser inom Android för att kringgå kravet på "draw on top" dvs. överlagringsbehörighet, vilket är hur "

Kappa och dolk"exploateringen fungerade. Forskarna använde denna exploatering för att socialt konstruera användare för att bevilja tillgänglighetstjänsten till deras attackerande applikation, så att de sedan kunde läsa allt skärminnehåll, nyckelinmatningar, etc. på enheten. De använde sedan samma metod för att locka applikationsanvändarna att ge administratörsåtkomst, samtidigt som de var helt omedvetna om den åtkomst de just beviljat. Detta gör att angriparen kan installera appar, övervaka enheten och öppnar också upp för potentialen för ransomware.

Android Toast Message Overlay Attack Explained

Men hur fungerar det egentligen? De utvecklare bakom proof of concept delade själva källkoden för deras attack som innehåller en mer teknisk förklaring bakom sårbarheten. Men vi ska kortfattat förklara hur och varför detta utnyttjande fungerar.

Först måste du överväga vad ett toastmeddelande är. De har funnits på Android i flera år nu, och du har förmodligen sett massor av dem på din enhet varje dag. Toasts är små meddelanden längst ner på skärmen som vanligtvis visas i en grå bubbla med en bit information.

Exploateringen använder toastmeddelandet för att skapa ett överlägg över skärmen utan att faktiskt begära eller behöva det SYSTEM_ALERT_WINDOW permission, vilket är tänkt att vara ett krav för att alla program ska kunna rita över din skärm. Istället skjuter den överlägget genom en toast-avisering, vilket skapar knappar som ser ut som de är för att legitimt ge en godartad tillåtelse eller acceptera en meningslös uppmaning men är faktiskt för att ge enhetsadministratör eller tillgänglighet åtkomst till Ansökan. Det skapar två vyer inuti en toast-överlägg.

Allt detta kan göras på grund av en misslyckad behörighetskontroll. Android-systemet (säkerhetsuppdatering före Oreo och före september) kontrollerar faktiskt inte vad som matas genom Android Toast Overlay-systemet, utan ger istället tillstånd utan att kontrollera. Detta beror troligen på att Google inte förutsåg möjligheten att mata en vy genom en toast-överlägg.

Android 7.1:s försök att fixa Android Toast Overlay Attack

I Android 7.1 ser det ut som att Google försökte blockera detta utnyttjande. Det infördes en timeout för toastmeddelanden och en begränsning skapades: endast 1 toastmeddelande per UID, en app process-ID. Detta gick lätt förbi genom att upprepade gånger loopa och visa fler toast-överlägg istället, så illusionen ges till användaren att det är ett konsekvent användargränssnitt. Om en slinga inte skapades skulle överlagringen försvinna efter 3,5 sekunder och användaren skulle se vad appen faktiskt ber användaren att göra - ge enhetens administratörs- eller tillgänglighetsrättigheter.

Konsekvenser av en framgångsrik attack

Enhetsadministratören eller tillgänglighetsbehörigheter, när de ges till ett program, kan enkelt utnyttjas för många typer av skadliga attacker. Ransomware, keyloggers och enhetstorkare kan alla skapas med detta utnyttjande.

Applikationer behöver inga behörigheter för att visa ett toastmeddelande, men det skadliga programmet är uppenbart fortfarande behöver BIND_ACCESSIBILITY_SERVICE såväl som BIND_DEVICE_ADMIN för att effektivt kunna använda denna toast-överlägg ge sig på. Således är din bästa försvarslinje mot denna typ av attack om din enhet ännu inte är patchad att undersöka behörigheterna som en applikation har definierat i sin AndroidManifest när den installeras. Om du installerar en app och du är osäker på varför den appen behöver en tillgänglighetstjänst eller behörighet för enhetsadministratör, avinstallera den omedelbart och kontakta utvecklaren.

Det är oroande att en så enkel del av Android, det låga toastmeddelandet, kan utnyttjas för att socialt utveckla en användare att ge farliga behörigheter. Vi hoppas att tillverkare rullar ut septembersäkerhetspatcharna så snart de kan till enheter för att skydda de miljoner där ute som lätt skulle kunna falla för en sådan exploatering.