Cloak And Dagger Exploit bruker overlegg og tilgjengelighetstjenester for å kapre systemet

Det vi i XDA en gang så for oss som et bevis på sikkerhetssårbarhet, er nå bekreftet av informatikere ved Georgia Institute of Technology i Atlanta. Teamet beskriver hva de kaller "kappe og dolk" utnyttelser som kan ta over brukergrensesnittet til de fleste versjoner av Android (inkludert 7.1.2). Gitt dens natur, er det vanskelig å fikse og også vanskelig å oppdage.

Cloak and Dagger er en utnyttelse som utnytter to tillatelser for å ta kontroll over brukergrensesnittet uten å gi brukeren en sjanse til å legge merke til den ondsinnede aktiviteten. Angrepet bruker to tillatelser: SYSTEM_ALERT_WINDOW ("tegne på toppen") og BIND_ACCESSIBILITY_SERVICE ("11 år") som er veldig ofte brukt i Android-apper.

Vi har skissert dette tidligere, men det som gjør denne sårbarheten så akutt er det faktum at applikasjoner som ber om SYSTEM_ALERT_WINDOW automatisk gis denne tillatelsen når de installeres via Google Play Store. Når det gjelder å aktivere en tilgjengelighetstjeneste, kan en ondsinnet applikasjon ganske enkelt sosialt konstruere en bruker til å gi den. Den ondsinnede applikasjonen kan til og med settes opp til å bruke en tilgjengelighetstjeneste for et semi-legitime formål, for eksempel å overvåke når visse applikasjoner er åpne for å endre visse innstillinger.

Når disse to tillatelsene har blitt gitt, er antallet angrep som kan forekomme mange. Det er mulig å stjele PIN-koder, to-faktor autentiseringstokener, passord eller til og med tjenestenektangrep. Dette er takket være kombinasjonen av overlegg for å lure brukeren til å tro at de samhandler med en legitim app og tilgjengelighetstjenesten som brukes til å fange opp tekst- og berøringsinndata (eller videresende sin egen input).

Vi teoretiserte en slik sårbarhet for noen måneder tilbake, der vi ville lage en proof-of-concept-applikasjon som bruker SYSTEM_ALERT_WINDOW og BIND_ACCESSIBILITY_SERVICE for å tegne et overlegg over passordinntastingsskjermen i XDA Labs-appen og avskjære tasteinndata for å sveipe passord. Denne applikasjonen vi så for oss ville være en applikasjon for automatisk rotasjon som ville bruke et overlegg for å tegne en usynlig boks på skjermen for å kontroller rotasjon (i stedet for å be om WRITE_SETTINGS som vil heve flagg) og en tilgjengelighetstjeneste for å tillate brukeren å kontrollere automatisk roterende profiler på en per-app basis. I teorien vil dette være ett eksempel på en applikasjon som bruker "kappe-og-dolk." Ingen i teamet vårt var imidlertid villige til å risikere sine utviklerkontoer ved å utfordre Googles automatiserte appskannesystemer for å se om vår proof-of-concept-utnyttelse ville være tillatt på Play Butikk.

I alle fall gjorde disse forskerne arbeidet og sendte inn testsøknader for å bevise at bruken av disse to tillatelsene faktisk kan være et stort sikkerhetsproblem:

Som du kan se, er angrepene usynlige for brukere og tillater full kontroll over enheten. Foreløpig er alle versjoner av Android fra Android 5.1.1 til Android 7.1.2 sårbare for dette utnytte, gitt det faktum at den utnytter to tillatelser som ellers brukes for helt legitime formål.

Ikke forvent at en sann løsning for dette problemet kommer til enheten din når som helst snart, selv om det bør bemerkes at endringer gjort i SYSTEM_ALERT_WINDOW i Android O vil delvis løse denne feilen ved å forby ondsinnede apper fra å tegne fullstendig over hele skjermen. Videre varsler Android O nå med via varsling hvis en applikasjon aktivt tegner et overlegg. Med disse to endringene er det mindre sannsynlig at et ondsinnet program kan slippe unna med utnyttelsen hvis brukeren er oppmerksom.

Hvordan beskytter du deg selv på versjoner før Android O? Som alltid, installer bare apper du stoler på fra kilder du stoler på. Sørg for at tillatelsene de ber om stemmer overens med det du forventer.

Når det gjelder de hundrevis av millioner vanlige brukere der ute, ifølge en Google-talsperson Play Store Protect vil også gi nødvendige reparasjoner for å forhindre kappe- og dolkangrepene. Nøyaktig hvordan det vil oppnå dette er uklart, men forhåpentligvis involverer det en måte å oppdage når disse to tillatelsene blir brukt ondsinnet. Jeg tviler på at den vil være i stand til å oppdage alle slike tilfeller, så i alle fall er det best for deg å overvåke hvilke tillatelser som gis til hver applikasjon du installerer.