Ranjivost u Androidu koja vam omogućava da zaobiđete zaključani ekran

Identifikovana je ranjivost na Android platformi (CVE-2022-20465), koja vam omogućava da onemogućite zaključavanje ekrana preuređivanjem SIM kartice i unosom PUK koda. Mogućnost onemogućavanja zaključavanja je demonstrirana na Google Pixel uređajima, ali budući da popravka utječe na glavnu Android kodnu bazu, vjerovatno je da problem utiče na firmver drugih proizvođača. Problem je riješen u novembarskoj Android sigurnosnoj zakrpi. Istraživač koji je skrenuo pažnju na problem dobio je nagradu od 70 hiljada dolara od Gugla.

Problem je uzrokovan neispravnom obradom otključavanja nakon unosa PUK koda (Personal Unblocking Key), koji se koristi za nastavak rada SIM kartice koja je blokirana nakon višestrukog unosa pogrešnog PIN koda. Da biste onemogućili zaključavanje ekrana, jednostavno umetnite svoju SIM karticu u telefon, koji ima zaštitu zasnovanu na PIN kodu. Nakon promjene SIM kartice zaštićene PIN kodom, zahtjev za PIN kodom se prvo prikazuje na ekranu. Ako tri puta unesete pogrešan PIN kod, SIM kartica će biti blokirana, nakon čega ćete dobiti priliku da unesete PUK kod kako biste je otključali. Ispostavilo se da ispravan unos PUK koda ne samo da otključava SIM karticu, već dovodi do prelaska na glavni interfejs, zaobilazeći čuvar ekrana, bez potvrđivanja pristupa pomoću glavne lozinke ili šablona.

Ranjivost je uzrokovana greškom u logici za provjeru PUK kodova u rukovatelju KeyguardSimPukViewController, koji je odgovoran za prikaz dodatnog ekrana za autentifikaciju. Android koristi nekoliko tipova ekrana za autentifikaciju (za PIN, PUK, lozinku, uzorak, biometrijsku autentifikaciju) i ovi ekrani se pozivaju uzastopno kada je potrebno izvršiti više provjera, na primjer, kada su potrebni PIN i uzorak.

Ako ispravno unesete PIN kod, pokreće se druga faza verifikacije koja zahtijeva od vas da unesete glavni kod za otključavanje, ali kada unesete PUK kod, ova faza se preskače i pristup se odobrava bez traženja glavne lozinke ili ključa uzorka . Sljedeća faza otključavanja se odbacuje jer pri pozivanju KeyguardSecurityContainerController#dismiss() nema poređenja između očekivane i proslijeđene metode verifikacije, tj. procesor smatra da se metod verifikacije nije promenio i završetak verifikacije PUK koda ukazuje na uspešnu potvrdu ovlašćenja.

Ranjivost je otkrivena slučajno - telefon korisnika je bio mrtav i nakon punjenja i uključivanja nekoliko puta je pogriješio prilikom unosa PIN koda, nakon čega ga je otključao PUK kodom i bio iznenađen što sistem nije pitao za glavnu lozinku koja se koristi za dešifrovanje podataka, nakon čega se zamrzne sa porukom „Pixel se pokreće...“. Ispostavilo se da je korisnik pedantan, odlučio je da shvati o čemu se radi i počeo eksperimentirati s unosom PIN i PUK kodova na različite načine, sve dok slučajno nije zaboravio restartovati uređaj nakon promjene SIM kartice i dobio pristup okruženju umjesto smrzavanje.

Posebno je zanimljiva Googleova reakcija na najavu ranjivosti. Informacija o problemu poslata je u junu, ali do septembra istraživač nije mogao dobiti jasan odgovor. Smatra da je ovakvo ponašanje objašnjeno činjenicom da on nije prvi koji je prijavio ovu grešku. Sumnje da nešto ide po zlu pojavile su se u septembru, kada je problem ostao neispravljen nakon instaliranja ažuriranja firmvera objavljenog 90 dana kasnije, kada je navedeni period neotkrivanja već istekao.

Budući da su svi pokušaji da se sazna status poslane poruke o problemu doveli samo do automatiziranih i šablonskih odgovora, istraživač je pokušao osobno kontaktirati Googleove zaposlenike kako bi razjasnio situaciju sa pripremom popravka i čak je pokazao ranjivost u Googleovoj londonskoj kancelariji . Tek nakon toga, rad na uklanjanju ranjivosti krenuo je naprijed. Tokom analize ispostavilo se da je neko već ranije prijavio problem, ali je Google odlučio da napravi izuzetak i plati nagradu za ponovno prijavljivanje problema, jer je samo zahvaljujući upornosti njegovog autora problem uočen.

izvor: opennet.ru

Dodajte komentar