Cloak And Dagger Exploit využíva prekryvné vrstvy a služby dostupnosti na ovládnutie systému

To, čo sme si v XDA kedysi predstavovali ako dôkaz bezpečnostnej zraniteľnosti konceptu, teraz potvrdili počítačoví vedci z Georgia Institute of Technology v Atlante. Tím podrobne popisuje, čo nazývajú "plášť a dýkaexploity, ktoré môžu prevziať používateľské rozhranie väčšiny verzií systému Android (vrátane 7.1.2). Vzhľadom na jeho povahu je ťažké ho opraviť a tiež ťažko odhaliť.

Cloak and Dagger je exploit, ktorý využíva dve oprávnenia na prevzatie kontroly nad používateľským rozhraním bez toho, aby mal používateľ možnosť všimnúť si škodlivú aktivitu. Útok využíva dve povolenia: SYSTEM_ALERT_WINDOW ("nakresliť navrch") a BIND_ACCESSIBILITY_SERVICE ("a11r"), ktoré sa veľmi bežne používajú v aplikáciách pre Android.

Máme načrtol to v minulosti, čo však robí túto zraniteľnosť takou akútnou je skutočnosť, že aplikáciám požadujúcim SYSTEM_ALERT_WINDOW sa toto povolenie automaticky udeľuje pri inštalácii prostredníctvom Obchodu Google Play. Čo sa týka aktivácie služby dostupnosti, škodlivá aplikácia je schopná pomerne jednoducho spoločensky prinútiť používateľa, aby ju udelil. Škodlivá aplikácia môže byť dokonca nastavená tak, aby používala službu prístupnosti na pololegálny účel, ako je napríklad monitorovanie, keď sú niektoré aplikácie otvorené, aby sa zmenili určité nastavenia.

Po udelení týchto dvoch povolení sa počet útokov môže vyskytnúť. Možné sú krádeže PIN, dvojfaktorové autentifikačné tokeny, heslá alebo dokonca útoky odmietnutia služby. Je to vďaka kombinácii prekryvných vrstiev, ktoré prinútia používateľa, aby si myslel, že interaguje s a legitímna aplikácia a služba dostupnosti, ktorá sa používa na zachytenie textu a dotykového vstupu (alebo prenos vlastného vstup).

Pred niekoľkými mesiacmi sme teoretizovali takúto zraniteľnosť, v ktorej by sme vytvorili aplikáciu proof-of-concept, ktorá využíva SYSTEM_ALERT_WINDOW a BIND_ACCESSIBILITY_SERVICE s cieľom nakresliť prekrytie cez obrazovku zadávania hesla v aplikácii XDA Labs a zachytiť vstup kľúča na potiahnutie heslá. Táto aplikácia, ktorú sme si predstavovali, by bola aplikácia na správu automatického otáčania, ktorá by používala prekrytie na účely kreslenia neviditeľného poľa na obrazovke. ovládať rotáciu (namiesto požiadavky WRITE_SETTINGS, ktorá by vyvolala príznaky) a službu dostupnosti, ktorá používateľovi umožní ovládať automatické rotovanie profilov v jednotlivých aplikáciách základ. Teoreticky by to bol jeden z príkladov aplikácie používajúcej „cloak-and-dagger“. Nikto z nášho tímu však nebol ochotný riskovať svoje účty vývojárov tým, že spochybníte automatizované systémy Google na skenovanie aplikácií, aby ste zistili, či bude náš proof-of-concept exploit povolený na Play Obchod.

V každom prípade títo výskumníci urobili prácu a predložili testovacie aplikácie, aby dokázali, že použitie týchto dvoch povolení môže byť skutočne veľkým bezpečnostným problémom:

Ako vidíte, útoky sú pre používateľov neviditeľné a umožňujú plnú kontrolu nad zariadením. V súčasnosti sú voči tomu zraniteľné všetky verzie systému Android od verzie 5.1.1 po Android 7.1.2 exploit, vzhľadom na skutočnosť, že využíva dve oprávnenia, ktoré sa inak používajú úplne legitímne účely.

Neočakávajte, že skutočná oprava tohto problému príde do vášho zariadenia v dohľadnej dobe, aj keď je potrebné poznamenať, že zmeny vykonané v SYSTEM_ALERT_WINDOW v systéme Android O čiastočne vyrieši túto chybu tým, že zakáže škodlivým aplikáciám úplné kreslenie na celú obrazovku. Okrem toho systém Android O teraz upozorní prostredníctvom upozornenia, ak aplikácia aktívne kreslí prekrytie. S týmito dvoma zmenami je menej pravdepodobné, že sa škodlivej aplikácii podarí uniknúť zneužitiu ak užívateľ je pozorný.

Ako sa chránite vo verziách pred Androidom O? Ako vždy inštalujte iba aplikácie, ktorým dôverujete, zo zdrojov, ktorým dôverujete. Uistite sa, že povolenia, ktoré požadujú, sú v súlade s tým, čo očakávate.

Čo sa týka stoviek miliónov bežných používateľov, podľa hovorcu Google Play Store Protect tiež poskytne potrebné opravy, aby sa zabránilo útokom maskovania a dýky. Ako presne to dosiahne, nie je jasné, ale dúfajme, že to zahŕňa nejaký spôsob zisťovania, kedy sa tieto dve povolenia používajú zlomyseľne. Pochybujem však, že by dokázala odhaliť všetky takéto prípady, takže v každom prípade je pre vás najlepšie sledovať, aké povolenia sa udeľujú každej nainštalovanej aplikácii.