Az Android biztonsági rése, amely lehetővé teszi a lezárási képernyő megkerülését

Sebezhetőséget azonosítottak az Android platformon (CVE-2022-20465), amely lehetővé teszi a képernyőzár letiltását a SIM-kártya átrendezésével és a PUK-kód megadásával. A zár letiltásának lehetőségét a Google Pixel eszközökön demonstrálták, de mivel a javítás a fő Android kódbázist érinti, valószínű, hogy a probléma más gyártók firmware-jét is érinti. A problémát a novemberi Android biztonsági javítások javítják. A problémára felhívó kutató 70 ezer dollár jutalmat kapott a Google-tól.

A problémát a PUK-kód (Personal Unblocking Key) beírása utáni helytelen feloldási feldolgozás okozza, amely a PIN-kód többszöri helytelen bevitele után blokkolt SIM-kártya működésének újraindítására szolgál. A képernyőzár kikapcsolásához csak helyezze be a SIM-kártyáját a telefonba, amely PIN kód védelemmel rendelkezik. A PIN kóddal védett SIM-kártya cseréje után először a PIN-kód kérése jelenik meg a képernyőn. Ha háromszor hibásan adja meg a PIN-kódot, a SIM-kártya blokkolásra kerül, majd lehetőséget kap a PUK-kód megadására a zárolás feloldásához. Kiderült, hogy a PUK-kód helyes megadása nemcsak a SIM-kártya zárolását oldja fel, hanem a fő felületre való átmenethez vezet, megkerülve a képernyővédőt, anélkül, hogy megerősítené a hozzáférést a fő jelszó vagy minta használatával.

A sérülékenységet a KeyguardSimPukViewController kezelő PUK-kódok ellenőrzésének logikájának hibája okozza, amely a kiegészítő hitelesítési képernyő megjelenítéséért felelős. Az Android többféle hitelesítési képernyőt használ (PIN-hez, PUK-kódhoz, jelszóhoz, mintához, biometrikus hitelesítéshez), és ezeket a képernyőket egymás után hívják meg, ha többszöri ellenőrzést kell végrehajtani, például ha PIN-kód és minta szükséges.

Ha helyesen adja meg a PIN-kódot, az ellenőrzés második szakasza aktiválódik, amelyhez meg kell adnia a fő feloldó kódot, de a PUK-kód megadásakor ez a szakasz kimarad, és a hozzáférés a fő jelszó vagy mintakulcs kérése nélkül történik. . A következő feloldási szakaszt el kell vetni, mert a KeyguardSecurityContainerController#dismiss() meghívásakor nincs összehasonlítás a várt és az átadott ellenőrzési módszerek között, pl. a processzor úgy véli, hogy az ellenőrzési módszer nem változott, és a PUK-kód ellenőrzésének befejezése a jogosultság sikeres megerősítését jelzi.

A sérülékenységet véletlenül fedezték fel - a felhasználó telefonja lemerült, majd töltés és bekapcsolás után többször is hibázott a PIN kód beírása közben, majd a PUK kóddal feloldotta és meglepődött, hogy a rendszer nem kérdezte az adatok visszafejtéséhez használt fő jelszóhoz, ami után lefagyott a „Pixel indul...” üzenettel. A felhasználó aprólékosnak bizonyult, úgy döntött, hogy kitalálja, mi történik, és kísérletezni kezdett a PIN- és PUK-kódok különböző módokon történő beírásával, mígnem véletlenül elfelejtette újraindítani a készüléket a SIM-kártya cseréje után, és ahelyett, hogy hozzáfért a környezethez. fagyasztó.

Külön érdekesség a Google reakciója a sebezhetőség bejelentésére. A problémával kapcsolatos információkat júniusban küldték el, de szeptemberig a kutató továbbra sem tudott egyértelmű választ kapni. Úgy vélte, ezt a viselkedést az magyarázza, hogy nem ő jelentette először ezt a hibát. A gyanú, hogy valami nem stimmel, szeptemberben merült fel, amikor a 90 nappal később kiadott firmware-frissítés telepítése után, amikor már lejárt a közölt titoktartási időszak, a probléma nem javított.

Mivel minden próbálkozás a problémáról elküldött üzenet státuszának kiderítésére csak automatizált és sablonos válaszokhoz vezetett, a kutató megpróbált személyesen felvenni a kapcsolatot a Google alkalmazottaival, hogy egy javítás előkészítésével tisztázzák a helyzetet, sőt a sebezhetőséget a Google londoni irodájában is kimutatta. . A sérülékenység megszüntetése csak ezt követően haladt előre. Az elemzés során kiderült, hogy valaki már korábban jelezte a problémát, de a Google úgy döntött, hogy kivételt tesz, és jutalmat fizet a hiba újbóli bejelentéséért, hiszen csak a szerző kitartásának köszönhető, hogy észrevették a problémát.

Forrás: opennet.ru

Hozzászólás