O vulnerabilitate în Android care permite ocolirea blocării ecranului

O vulnerabilitate a fost identificată pe platforma Android (CVE-2022-20465), care permite dezactivarea blocării ecranului prin schimbarea cartela SIM și introducerea codului PUK. Posibilitatea de a dezactiva blocarea a fost demonstrată pe dispozitivele Google Pixel, însă, deoarece remedierile afectează baza de cod principal Android, este probabil ca problema să afecteze și versiunile de firmware ale altor producători. Problema a fost corectată în pachetul de actualizări de securitate din noiembrie pentru Android. Cercetătorul care a semnalat problema a primit din partea Google o recompensă de 70.000 de dolari.

Problema este cauzată de o procesare incorectă a deblocării după introducerea codului PUK (Personal Unblocking Key), utilizat pentru a restabili funcționarea cartela SIM-ului, blocată după introduceri greșite repetate ale codului PIN. Pentru a dezactiva blocarea ecranului, este suficient să introduceți cartela SIM cu protecție pe baza codului PIN în telefon. După schimbarea cartela SIM, protejată cu cod PIN, pe ecran apare mai întâi solicitarea codului PIN. Dacă codul PIN este introdus greșit de trei ori, cartela SIM va fi blocată, după care se va oferi posibilitatea de a introduce codul PUK pentru deblocare. S-a constatat că introducerea corectă a codului PUK nu doar că deblochează cartela SIM, ci conduce și la trecerea în interfața principală, ocolind blocatorul de ecran, fără a necesita confirmarea accesului cu parola principală sau cu un model grafic.

Redați video

Vulnerabilitatea este cauzată de o eroare în logica verificării codurilor PUK în handler-ul KeyguardSimPukViewController, care este responsabil pentru afișarea ecranului suplimentar de autentificare. Android utilizează mai multe tipuri de ecrane de autentificare (pentru PIN, PUK, parolă, model grafic, autentificare biometrică) și aceste ecrane sunt apelate secvențial atunci când se solicită mai multe verificări, de exemplu, atunci când sunt necesare atât PIN-ul, cât și modelul grafic.

Când PIN-ul este introdus corect, se activează a doua etapă de verificare, care necesită introducerea codului principal de deblocare, dar, în cazul introducerii codului PUK, această etapă este sărită, iar accesul este oferit fără a solicita parola principală sau cheia grafică. Sărind etapa de deblocare următoare, deoarece la apelarea KeyguardSecurityContainerController#dismiss() nu se efectuează compararea metodei de verificare așteptate cu cea parcursă, adică handler-ul consideră că metoda de verificare nu a fost schimbată, iar finalizarea verificării codului PUK semnifică confirmarea cu succes a legitimității.

Vulnerabilitatea a fost descoperită întâmplător — utilizatorul a rămas fără baterie la telefon, iar după încărcare și repornire, a greșit de câteva ori la introducerea PIN-ului. Apoi a deblocat telefonul cu codul PUK și s-a mirat că sistemul nu a cerut parola principală utilizată pentru decriptarea datelor, după care s-a blocat cu mesajul „Pixel is starting…”. Utilizatorul s-a dovedit a fi insistent, a decis să înțeleagă despre ce este vorba și a început să experimenteze în diferite moduri cu introducerea codurilor PIN și PUK, până când, întâmplător, a uitat să repornească dispozitivul după schimbarea SIM-ului și a obținut, în loc de blocare, acces la mediu.

Reacția Google la raportul privind vulnerabilitatea este deosebit de interesantă. Informațiile despre problemă au fost trimise în iunie, dar până în septembrie cercetătorul nu a reușit să obțină un răspuns clar. Acesta a considerat că un comportament similar este explicabil prin faptul că nu este prima persoană care semnalează această eroare. Suspiciunile că ceva nu este în regulă au apărut în septembrie, când problema a rămas nerezolvată după instalarea actualizării firmware-ului, care a fost lansată la 90 de zile după, când perioada declarată de confidențialitate a expirat deja.

Deoarece toate încercările de a obține o actualizare privind starea mesajului trimis despre problemă au dus doar la răspunsuri automate și standardizate, cercetătorul a încercat să contacteze personal angajații Google pentru a clarifica situația cu privire la pregătirea remedierii și a demonstrat chiar vulnerabilitatea la biroul Google din Londra. Abia după aceea, lucrările pentru eliminarea vulnerabilității au avansat. În urma analizei, s-a constatat că cineva mai raportase anterior problema, dar Google a decis să facă o excepție și să ofere o recompensă pentru raportarea repetată a problemei, deoarece doar datorită insistenței autorului său problema a fost adusă în atenție.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster