„Android“ pažeidžiamumas, leidžiantis apeiti užrakinimo ekraną

Android platformoje (CVE-2022-20465) nustatytas pažeidžiamumas, leidžiantis išjungti ekrano užraktą pakeitus SIM kortelę ir įvedus PUK kodą. Galimybė išjungti užraktą buvo pademonstruota „Google Pixel“ įrenginiuose, tačiau kadangi taisymas paveikia pagrindinę „Android“ kodų bazę, tikėtina, kad problema taip pat turi įtakos ir kitų gamintojų programinei įrangai. Ši problema buvo išspręsta lapkričio mėnesio „Android“ saugos pataisos rinkinyje. Tyrėjas, atkreipęs dėmesį į problemą, gavo 70 XNUMX USD atlygį iš „Google“.

Problema kyla dėl neteisingo atrakinimo apdorojimo įvedus PUK (asmeninio atblokavimo rakto) kodą, kuris naudojamas pakartotinai suaktyvinti SIM kortelę, kuri buvo užrakinta po kelių neteisingų PIN įvedimų. Norėdami išjungti ekrano užraktą, tereikia į telefoną įdėti SIM kortelę, kuri turi PIN kodo apsaugą. Pakeitus PIN kodu apsaugotą SIM kortelę, pirmiausia ekrane rodoma PIN kodo užklausa. Tris kartus neteisingai įvedus PIN kodą, SIM kortelė bus užblokuota, o po to gausite galimybę įvesti PUK kodą, kad ją atrakintumėte. Paaiškėjo, kad teisingas PUK kodo įvedimas ne tik atrakina SIM kortelę, bet ir veda prie pagrindinės sąsajos, apeinant ekrano užsklandą, nepatvirtinus prieigos naudojant pagrindinį slaptažodį ar šabloną.

Pažeidžiamumą sukelia PUK kodų tikrinimo logikos klaida KeyguardSimPukViewController tvarkyklėje, kuri yra atsakinga už papildomo autentifikavimo ekrano rodymą. „Android“ naudoja kelių tipų autentifikavimo ekranus (PIN, PUK, slaptažodžio, šablono, biometrinio autentifikavimo) ir šie ekranai iškviečiami nuosekliai, kai reikia kelių patvirtinimų, pvz., kai reikalingas ir PIN kodas, ir šablonas.

Teisingai įvedus PIN kodą, suveikia antrasis patikrinimo etapas, reikalaujantis įvesti pagrindinį atrakinimo kodą, tačiau įvedant PUK kodą šis etapas praleidžiamas ir prieiga suteikiama neprašant pagrindinio slaptažodžio ar šablono. Kitas atblokavimo etapas atmetamas, nes kai iškviečiamas KeyguardSecurityContainerController#dismiss(), laukiamas ir išlaikytas patikros metodas nelyginamas, t.y. tvarkytojas mano, kad patikrinimo būdas nepasikeitė, o PUK kodo patikros užbaigimas rodo sėkmingą institucijos patvirtinimą.

Pažeidžiamumas buvo aptiktas atsitiktinai – vartotojo telefone išsikrovė baterija, o jį įkrovus ir įjungus jis kelis kartus suklydo įvesdamas PIN kodą, po kurio atrakino PUK kodą ir nustebo, kad sistema neveikia. paprašykite pagrindinio slaptažodžio, naudojamo duomenims iššifruoti, po kurio jis pakibo su pranešimu „Pixel is start ...“. Vartotojas pasirodė kruopštus, nusprendė išsiaiškinti, kas vyksta ir pradėjo įvairiais būdais eksperimentuoti su PIN ir PUK kodų įvedimu, kol pakeitęs SIM kortelę netyčia pamiršo iš naujo paleisti įrenginį ir gavo prieigą prie aplinkos. užšalimas.

Ypač įdomus yra „Google“ atsakas į pažeidžiamumo ataskaitą. Informacija apie problemą buvo išsiųsta dar birželį, tačiau iki rugsėjo mėnesio mokslininkas negalėjo gauti aiškaus atsakymo. Jis manė, kad tokį elgesį lėmė tai, kad apie šią klaidą pranešė ne jis pirmasis. Įtarimai, kad kažkas ne taip, kilo rugsėjį, kai problema liko nepataisyta po 90 dienų išleisto programinės įrangos atnaujinimo, jau pasibaigus nurodytam neatskleidimo laikotarpiui.

Kadangi visi bandymai išsiaiškinti pateiktos problemos pranešimo būseną vedė tik prie automatinio ir šabloninio prenumeratos atšaukimo, tyrėjas bandė asmeniškai susisiekti su „Google“ darbuotojais, kad išsiaiškintų situaciją ruošiant pataisą, ir netgi pademonstravo pažeidžiamumą „Google“ biure Londone. Tik po to pažeidžiamumo šalinimo darbai pajudėjo į priekį. Analizės metu paaiškėjo, kad kažkas jau anksčiau pranešė apie problemą, tačiau „Google“ nusprendė padaryti išimtį ir sumokėti atlygį už pakartotinį pranešimą apie problemą, nes tik jos autoriaus atkaklumo dėka problema buvo pastebėta. .

Šaltinis: opennet.ru

Добавить комментарий