Nylig brøt nyheten det en sårbarhet ble identifisert i Android (CVE-2022-20465) som lar deg deaktivere skjermlåsen bytte ut SIM-kortet og taste inn PUK-koden.
Problemet skyldes feil opplåsingsbehandling etter å ha tastet inn en PUK-kode (Personal Unblocking Key), som brukes til å reaktivere et SIM-kort som ble blokkert etter flere feil PIN-oppføringer.
For å deaktivere skjermlåsen, alt du trenger å gjøre er å sette inn SIM-kortet på telefonen din, som har PIN-basert beskyttelse. Etter å ha byttet det PIN-beskyttede SIM-kortet, vises først en PIN-kodeforespørsel på skjermen. Ja PIN-koden tastes inn feil tre ganger, vil SIM-kortet bli blokkert, dderetter vil du få muligheten til å taste inn PUK-koden for å oppheve blokkeringen.
Det viste seg at riktig inntasting av PUK-koden ikke bare låser opp SIM-kortet, men fører til en overgang til hovedgrensesnittet som omgår skjermspareren, uten å bekrefte tilgang med hovedpassordet eller mønsteret.
Sårbarheten skyldes en feil i verifiseringslogikken. av PUK-koder i KeyguardSimPukViewController-kontrolleren, som tar seg av å vise en ekstra autentiseringsskjerm. Android bruker flere typer autentiseringsskjermer (for PIN, PUK, passord, mønster, biometrisk autentisering) og disse skjermbildene påkalles sekvensielt når flere verifikasjoner kreves, for eksempel når PIN og mønster kreves.
Hvis PIN-koden tastes inn riktig, aktiveres det andre verifikasjonstrinnet, som krever inntasting av hovedopplåsingskoden, men ved inntasting av PUK-koden hoppes dette trinnet over og tilgang gis uten å spørre om hovedpassordet eller mønsteret.
Det neste opplåsingstrinnet forkastes fordi når KeyguardSecurityContainerController#dismiss() kalles opp, sammenlignes ikke den forventede og beståtte sjekkmetoden, det vil si at behandleren anser at endringen i sjekkmetoden ikke skjedde og at sjekkfullføringen av PUK-koden indikerer en vellykket bekreftelse av autoritet .
Sårbarheten ble oppdaget ved et uhell: brukerens telefon gikk tom for batteri, og etter å ha ladet og slått på telefonen gjorde han en feil ved å taste inn PIN-koden flere ganger, hvoretter han låste opp PUK-koden og ble overrasket over at systemet ikke ba om hovedpassordet som ble brukt til å dekryptere dataene, hvoretter meldingen "Pixel starter..." vises.
Brukeren viste seg å være nøye, han bestemte seg for å finne ut hva som foregikk og begynte å eksperimentere med å taste inn PIN- og PUK-koder på forskjellige måter, helt til han ved et uhell glemte å starte enheten på nytt etter å ha byttet SIM-kort og fikk tilgang til miljøet i stedet for å fryse.
Av spesiell interesse er Googles svar på sårbarhetsrapporten. LInformasjon om problemet ble sendt i juni, men det var først i september at forskeren klarte å få et klart svar. Han mente at denne oppførselen skyldtes at han ikke var den første som rapporterte denne feilen.
Mistanker om at noe var galt ble reist i september da problemet forble uløst etter at en fastvareoppdatering ble utgitt 90 dager senere, etter at den oppgitte taushetserklæringen allerede var utløpt.
Siden alle forsøk på å finne ut statusen til den innsendte problemrapporten kun førte til mal og automatiserte avmeldinger, forsøkte forskeren å kontakte Google-ansatte personlig for å avklare situasjonen med utarbeidelse av en løsning, og demonstrerte til og med en sårbarhet på Googles kontor i London.
Først etter det fortsatte arbeidet med å eliminere sårbarheten. Under analysen viste det seg at noen allerede hadde rapportert problemet før, men Google bestemte seg for å gjøre et unntak og betale en belønning for å rapportere problemet på nytt, siden det bare var takket være forfatterens utholdenhet at problemet ble lagt merke til.
Muligheten til å deaktivere låsen har blitt demonstrert på Google Pixel-enheter, men siden løsningen påvirker Androids kjernekodebase, er det sannsynlig at problemet også påvirker tredjeparts fastvare. Problemet ble behandlet i november Android Security Patch Roll. Forskeren som gjorde oppmerksom på problemet, mottok en belønning på $70,000 XNUMX fra Google.
Fuente: https://bugs.xdavidhu.me