Androidin haavoittuvuus, jonka avulla voit ohittaa lukitusnäytön

Android-alustassa (CVE-2022-20465) on havaittu haavoittuvuus, jonka avulla voit poistaa näytön lukituksen käytöstä järjestämällä SIM-kortin uudelleen ja syöttämällä PUK-koodin. Mahdollisuus poistaa lukitus on osoitettu Google Pixel -laitteissa, mutta koska korjaus vaikuttaa pääasialliseen Android-koodikantaan, on todennäköistä, että ongelma vaikuttaa muiden valmistajien laiteohjelmistoon. Ongelma on käsitelty marraskuun Android-tietoturvakorjauksen julkaisussa. Ongelmaan kiinnittänyt tutkija sai Googlelta 70 tuhannen dollarin palkkion.

Ongelma johtuu virheellisestä lukituksen avauskäsittelystä PUK-koodin (Personal Unblocking Key) syöttämisen jälkeen, jota käytetään uudelleen lukitun SIM-kortin toimintaan, kun PIN-koodi on syötetty väärin toistuvasti. Poistaaksesi näytön lukituksen käytöstä, asenna SIM-kortti puhelimeesi, jossa on PIN-koodisuojaus. PIN-koodilla suojatun SIM-kortin vaihdon jälkeen ruudulle tulee ensin PIN-koodipyyntö. Jos annat PIN-koodin väärin kolme kertaa, SIM-kortti lukittuu, minkä jälkeen saat mahdollisuuden syöttää PUK-koodin lukituksen avaamiseksi. Kävi ilmi, että PUK-koodin oikea syöttäminen ei vain avaa SIM-korttia, vaan johtaa siirtymiseen pääliittymään, ohittaen näytönsäästäjän, vahvistamatta pääsyä pääsalasanalla tai kuviolla.

Haavoittuvuus johtuu virheestä PUK-koodien tarkistuslogiikassa KeyguardSimPukViewController-käsittelijässä, joka vastaa lisätodennusnäytön näyttämisestä. Android käyttää usean tyyppisiä todennusnäyttöjä (PIN, PUK, salasana, kuvio, biometrinen todennus) ja näitä näyttöjä kutsutaan peräkkäin, kun on suoritettava useita tarkistuksia, esimerkiksi kun tarvitaan PIN-koodi ja kuvio.

Jos syötät PIN-koodin oikein, käynnistyy vahvistuksen toinen vaihe, jossa sinun on annettava päälukituksen avauskoodi, mutta kun annat PUK-koodin, tämä vaihe ohitetaan ja pääsy myönnetään ilman pääsalasanaa tai kuvioavainta. . Seuraava lukituksen avausvaihe hylätään, koska kutsuttaessa KeyguardSecurityContainerController#dismiss() ei ole vertailua odotettujen ja hyväksyttyjen varmennusmenetelmien välillä, ts. prosessori uskoo, että varmennusmenetelmä ei ole muuttunut ja PUK-koodin tarkistuksen suorittaminen on osoitus onnistuneesta valtuutuksen vahvistuksesta.

Haavoittuvuus löydettiin vahingossa - käyttäjän puhelin oli kuollut ja latauksen ja päälle kytkemisen jälkeen hän teki virheen useita kertoja syöttäessään PIN-koodia, minkä jälkeen hän avasi sen PUK-koodilla ja yllättyi, että järjestelmä ei kysynyt. tietojen salauksen purkamiseen käytetylle pääsalasanalle, jonka jälkeen se jäätyi viestiin "Pixel on alkamassa...". Käyttäjä osoittautui huolelliseksi, päätti selvittää mistä on kyse ja alkoi kokeilla PIN- ja PUK-koodien syöttämistä eri tavoilla, kunnes unohti vahingossa käynnistää laitteen uudelleen SIM-kortin vaihdon jälkeen ja pääsi ympäristöön. jäätymistä.

Erityisen kiinnostava on Googlen reaktio haavoittuvuusilmoitukseen. Tieto ongelmasta lähetettiin kesäkuussa, mutta syyskuuhun asti tutkija ei vielä saanut selvää vastausta. Hän uskoi, että tämä käyttäytyminen selittyy sillä, että hän ei ollut ensimmäinen, joka ilmoitti tästä virheestä. Epäilykset siitä, että jokin menee pieleen, heräsivät syyskuussa, kun ongelma jäi korjaamatta 90 päivää myöhemmin julkaistun laiteohjelmistopäivityksen asennuksen jälkeen, jolloin ilmoitettu salassapitoaika oli jo umpeutunut.

Koska kaikki yritykset saada selville lähetetyn viestin tila ongelmasta johtivat vain automatisoituihin ja mallivastauksiin, tutkija yritti ottaa yhteyttä Googlen työntekijöihin henkilökohtaisesti selvittääkseen tilannetta korjauksen valmistelulla ja jopa havainnollistanut haavoittuvuutta Googlen Lontoon toimistossa. . Vasta tämän jälkeen haavoittuvuuden poistaminen eteni. Analyysin aikana kävi ilmi, että joku oli ilmoittanut ongelmasta jo aiemmin, mutta Google päätti tehdä poikkeuksen ja maksaa palkkion ongelman ilmoittamisesta uudelleen, koska vain sen tekijän sinnikkyyden ansiosta ongelma havaittiin.

Lähde: opennet.ru

Lisää kommentti