Cloak And Dagger Exploit använder överlägg och tillgänglighetstjänster för att kapa systemet

Det vi på XDA en gång föreställde oss som ett proof of concept säkerhetssårbarhet har nu bekräftats av datavetare vid Georgia Institute of Technology i Atlanta. Teamet beskriver vad de kallar "kappa och dolk" utnyttjar som kan ta över gränssnittet för de flesta versioner av Android (inklusive 7.1.2). Med tanke på dess natur är det svårt att fixa och även svårt att upptäcka.

Cloak and Dagger är ett utnyttjande som utnyttjar två behörigheter för att ta kontroll över användargränssnittet utan att ge användaren en chans att märka den skadliga aktiviteten. Attacken använder två behörigheter: SYSTEM_ALERT_WINDOW ("rita på toppen") och BIND_ACCESSIBILITY_SERVICE ("11 år") som är mycket vanliga i Android-appar.

Vi har beskrivit detta tidigare, men det som gör denna sårbarhet så akut är det faktum att applikationer som begär SYSTEM_ALERT_WINDOW automatiskt ges denna behörighet när de installeras via Google Play Butik. När det gäller att aktivera en tillgänglighetstjänst kan en skadlig applikation ganska enkelt socialt konstruera en användare att bevilja den. Den skadliga applikationen kan till och med ställas in för att använda en tillgänglighetstjänst för ett semi-legitima syfte, som att övervaka när vissa applikationer är öppna för att ändra vissa inställningar.

När dessa två behörigheter har beviljats ​​är antalet attacker som kan inträffa många. Stöld av PIN-koder, tvåfaktors autentiseringstokens, lösenord eller till och med överbelastningsattacker är alla möjliga. Detta tack vare kombinationen av överlägg för att lura användaren att tro att de interagerar med en legitim app och tillgänglighetstjänsten som används för att fånga upp text och beröring (eller vidarebefordra sin egen inmatning).

Vi teoretiserade en sådan sårbarhet för några månader sedan, där vi skulle skapa en proof-of-concept-applikation som använder SYSTEM_ALERT_WINDOW och BIND_ACCESSIBILITY_SERVICE för att rita en överlagring över lösenordsinmatningsskärmen i XDA Labs-appen och fånga tangentinmatning för att svepa lösenord. Den här applikationen vi föreställde oss skulle vara en applikation för hantering av automatisk rotation som skulle använda en överlagring i syfte att rita en osynlig ruta på skärmen för att kontrollera rotation (istället för att begära WRITE_SETTINGS som skulle lyfta flaggor) och en tillgänglighetstjänst för att tillåta användaren att styra automatiskt roterande profiler på en app per app grund. I teorin skulle detta vara ett exempel på en applikation som använder "mantel-och-dolk". Men ingen i vårt team var villig att riskera sina utvecklarkonton genom att utmana Googles automatiska appskanningssystem för att se om vår proof-of-concept-exploatering skulle tillåtas på Play Lagra.

I vilket fall som helst gjorde dessa forskare arbetet och skickade in testansökningar för att bevisa att användningen av dessa två behörigheter verkligen kan vara ett stort säkerhetsproblem:

Som du kan se är attackerna osynliga för användare och tillåter full kontroll över enheten. För närvarande är alla versioner av Android från Android 5.1.1 till Android 7.1.2 sårbara för detta exploatera, med tanke på att den drar nytta av två behörigheter som annars används för helt legitima syften.

Förvänta dig inte att en verklig lösning för det här problemet kommer till din enhet när som helst snart, även om det bör noteras att ändringar gjorda i SYSTEM_ALERT_WINDOW i Android O kommer delvis att åtgärda denna brist genom att inte tillåta skadliga appar från att helt dra över hela skärmen. Dessutom larmar Android O nu med via avisering om en applikation aktivt ritar en överlagring. Med dessa två ändringar är det mindre troligt att ett skadligt program kan komma undan med utnyttjandet om användaren är uppmärksam.

Hur skyddar du dig på versioner före Android O? Som alltid, installera bara appar som du litar på från källor som du litar på. Se till att behörigheterna de begär överensstämmer med vad du förväntar dig.

När det gäller de hundratals miljoner vanliga användare där ute, enligt en talesman för Google Play Butik Skydda kommer också att tillhandahålla nödvändiga korrigeringar för att förhindra mantel- och dolkattackerna. Exakt hur det kommer att åstadkomma detta är oklart, men förhoppningsvis innebär det något sätt att upptäcka när dessa två behörigheter används med uppsåt. Jag tvivlar dock på att den skulle kunna upptäcka alla sådana fall, så i alla fall är det bäst för dig att övervaka vilka behörigheter som beviljas för varje applikation du installerar.