Androidi platvormil leiti haavatavus (CVE-2022-20465), mis vĂ”imaldab ekraani lukustamise vĂ€ljalĂŒlitamist SIM-kaardi vahetamise ja PUK-koodi sisestamise kaudu. Lukustamise vĂ€ljalĂŒlitamise vĂ”imalust on demonstreeritud Google Pixel seadmetes, kuid kuna parandamine puudutab Androidi pĂ”hikoode, on tĂ”enĂ€oline, et probleem puudutab ka teiste tootjate seadmeid. Probleem on lahendatud novembri turvaparanduste kogumis Androidile. Probleemile tĂ€helepanu juhtinud uurija sai Google'ilt 70 000 dollarit tasu.
Probleem on tingitud vale töötlemisega pĂ€rast PUK-koodi (Isikliku lukustamise vĂ”tme) sisestamist, mida kasutatakse SIM-kaardi uuesti aktiveerimiseks, kui see on blokeeritud korduvalt vale PIN-koodi sisestamise tĂ”ttu. Ekraani lukustamise vĂ€ljalĂŒlitamiseks piisab, kui paigutada telefoni oma SIM-kaart, millel on PIN-koodi kaitse. PĂ€rast PIN-koodiga kaitstud SIM-kaardi vahetamist kuvatakse algselt ekraanil PIN-koodi sisestuse pĂ€ring. Kui PIN-kood sisestatakse vale kolmel korral, blokeeritakse SIM-kaart, millele jĂ€rgneb vĂ”imalus PUK-koodi sisestamiseks selle vabastamiseks. Selgus, et PUK-koodi korrektne sisestamine mitte ainult ei vabasta SIM-kaarti, vaid viib ka peamise liidese juurde, mööda ekraani lukustajat, ilma et oleks vaja juurdepÀÀsu kinnitada peamise parooli vĂ”i mustri kaudu.

Haavatavus tuleneb veast PUK-koodide kontrollimise loogikas KeyguardSimPukViewControlleri töötlejas, mis vastutab tÀiendava autentimisekraani kuvamise eest. Androidis kasutatakse mitmeid autentimisekraane (PIN, PUK, parool, muster, biomeetriline autentimine), ja neid ekraane kutsutakse jÀrjestikku, kui on vaja teostada mitu kontrolli, nÀiteks vajaduse korral PIN ja muster.
Kui PIN-kood sisestatakse Ă”igesti, kĂ€ivitub teine ââkontrollietapp, mis nĂ”uab pĂ”hivÀÀrtpaberikoodi sisestamist, kuid PUK-koodi sisestamisel jĂ€etakse see etapp vahele ja juurdepÀÀsu antakse ilma pĂ”hisalasĂ”na vĂ”i graafilise vĂ”tme kĂŒsimiseta. JĂ€rgmise lukustuse etapi vahelejĂ€mine toimub seetĂ”ttu, et KeyguardSecurityContainerController#dismiss() kutsumisel ei vĂ”rrelda oodatud ja lĂ€bitud kontrollimeetodit, st menetleja arvab, et kontrollimeetodi muutmist ei olnud ja PUK-koodi kontrollimise lĂ”petamine nĂ€itab volituste eduka kinnitamise olemasolu.
Haavatavus avastati juhuslikult - kasutaja telefon tĂŒhjenes ja pĂ€rast laadimist ja sisselĂŒlitamist tegi ta paar korda PIN-koodi sisestamisel vea, pĂ€rast mida eemaldas ta seadme PUK-koodiga ja imestas, et sĂŒsteem ei nĂ”udnud pĂ”hivÀÀrtpaberikoodi, mida kasutatakse andmete krĂŒpteerimise lĂ”petamiseks, mille jĂ€rel ta jĂ€i kinni teadetega 'Pixel on sisselĂŒlitamisel...'. Kasutaja oli tĂ€helepanelik, otsustas vĂ€lja selgitada, mis toimub, ja eksperimentis erinevate viisidega PIN- ja PUK-koodide sisestamisel, kuni ta juhuslikult unustas seadme pĂ€rast SIM-kaardi vahetamist taaskĂ€ivitada ja sai mitte lukustamise, vaid juurdepÀÀsu keskkonnale.
Erilist huvi pakub Google'i reageering haavatavuse teatele. Probleemi teave saadeti juunis, kuid septembriks ei suutnud uurija mÔistlikku vastust saada. Ta leidis, et selline kÀitumine on seletatav sellega, et ta ei ole esimene, kes selle vea kohta teatab. Kahtlused, et midagi on valesti, tekkisid septembris, kui probleem jÀi lahendamata pÀrast 90 pÀeva jooksul vÀlja antud tarkvarauuenduse installimist, millega lÔppes juba vÀljakuulutatud konfidentsiaalsuse periood.
Kuna kĂ”ik katsed teada saada, mis seisus on saadetud probleemiteade, viisid ainult automatiseeritud ja mallide pĂ”hjal koostatud vastusteni, ĂŒritas uurija isiklikult ĂŒhendust vĂ”tta Google'i töötajatega, et selgitada vĂ€lja olukord parandamise ettevalmistamisega, ning isegi demonstreeris haavatavust Google'i Londoni bĂŒroos. Alles pĂ€rast seda liikus haavatavuse kĂ”rvaldamise töö edasi. Uurimise kĂ€igus selgus, et probleemist oli keegi varem juba teatanud, kuid Google otsustas teha erandi ja maksta tasu korduva probleemi teavitamise eest, kuna vaid tĂ€nu selle autori visadusele pöörati probleemile tĂ€helepanu.
Allikas: opennet.ru
