Mobilo aplikāciju izstrādātājs Bhavuk Jain atradis visai nopietnu ievainojamību Apple servisā “Sign in with Apple” un par to saņēmis 100 000 USD prēmiju no kompānijas.
Kļūda bijusi saistīta ar iespēju piekļūt pilnīgai konta informācija un to pārņemt, ja lietotājs ir izvēlējies ielogoties ar “Sign in with Apple” iespēju, kuru kompānija sāka piedāvāt 2019. gadā kā vēl vienu alternatīvu Facebook un Google autentifikācijām. Apple servisa bonus bija iespēja slēpt e-pastu, lai trešo pušu izmantotājiem nebūtu tik plaši pieejama informācija datu un reklāmas nolūkos.
Izmantojot šo pieteikšanās iespēju, Apple izmanto speciālo JSON Web Token (JWT) identifikatoru vai speciālu kodu, kuru ģenerē uzņēmuma serveri. Ja lietotājs izvēlas slēpt savu e-pastu no attiecīgās lapas, kurā tas vēlas ielogoties, tiek piešķirts identifikācijas kods šai e-pasta adresei. Jebkurā gadījumā pēc autentifikācijas visiem tiek piešķirts JWT marķiera kods. Sekojoši pēc tam ikvienam bija iespējams piekļūt jebkuram marķierim, tādējādi izmantot jebkura lietotāja informāciju, lai piekļūtu dažādiem servisiem. Īpaši bīstama šī situācija izrādījās tajās mājaslapā un platformās, kuras neizmantoja papildus identifikācijas soļus, paļaujoties vien uz Apple sniegtajām iespējām. Tātad pēc ielogošanās ar “Sign in with Apple” bija iespējams piekļūt jebkura lietotāja kontam, izmantojot šifrētos kodus.
Bhavuk Jain par šo kļūdu bija ziņojis Apple, par ko oficiāli saņēmis 100 000 USD kompensāciju, balstoties uz kompānijas izstrādāto programmu šādās situācijas. Līdz ar to tas norāda patiešām uz nopietno ievainojamību, kura nu jau tikusi salabota.
interesanti, bet diez vai noskaidrojami, cik vidēji saņem tādi, kā «unc0ver» izstrādātāji? tur tak specdienestiem būtu rindā jāstāv…
Henrij, Tu pie vella pats saproti, ko uzrakstiji?
Ielogojos, saņemu JWT…pēkšņi varu piekļūt visiem JWT?
pieņemu, ka bija tā, ka varēji uzģenerēto JWT izmantot citā vietā, nevis piekļūt visiem JWT. Un ja attiecīgais servisa (a) piedāvātājs lietotāja uzģenerēto JWT uzglabā savā pusē, tad pēc idejas, (a) izmantojot JWT varēja piekļūt citam servisam (b) ar to pašu JWT
Ceru, ka to pajoli, kurš uzkodēja tik jobanu risinājumu – atlaida
Pēc šī komentāra redzu, ka tu pats ne sūda nejēdz, ko uzrakstīji :D Mācies, skolēn!
Un cik maksās man par to, ja šajā rakstā atradīšu kļūdu?
es tev aizskaitīšu vienu eiro centu, maksājuma mērķī norādot “par sīkiem, seksuāliem pakalpojumiem”. derēs?
Necik.