Galimas „Android Oreo“ automatinio pildymo API saugos trūkumas leidžia slaptažodžių tvarkytojams nutekėti duomenis, pvz., slaptažodžius, adresus ar kredito korteles.
Automatinis pildymas yra viena didžiausių ir dažniausiai viešinamų naujų funkcijų, pristatytų išleidus Android 8.0 Oreo. Daugelis skirtingų slaptažodžių valdymo programų, tokių kaip LastPass, jau įdiegė šią naują API į savo programas. Ir nors tai gali pasirodyti gana pagerėjimas palyginti su ankstesniais automatinio pildymo diegimais, naudojant pritaikymo neįgaliesiems paslaugas, reikia atsižvelgti į galimą saugos trūkumą. Praėjusį mėnesį „GitHub“ buvo paskelbta baltoji knyga, kurioje dokumentuojamas būdingas „Android Oreo“ automatinio užpildymo API trūkumas, dėl kurio Slaptažodžių tvarkytuvė gali nutekėti daugiau jūsų asmeninių duomenų, nei suteikėte jai leidimą. Greitai apžvelgsime baltąją knygą, kurią parašė Markas Murphy (geriau žinomas kaip CommonsWare) ir paskelbtas jo GitHub puslapyje 2017 m. rugpjūčio 8 d.
Galimas duomenų nutekėjimo trūkumas „Android Oreo“ automatinio pildymo API
Kaip veikia defektas?
Automatinio pildymo įdiegimas „Android Nougat“ (ir senesnėse versijose) ir naršyklėse, pvz., „Google Chrome“, yra kažkas labai paprasto. Paprastai slaptažodžių valdymo programos naudotų pritaikymo neįgaliesiems paslaugas, kad nuskaitytų prisijungimo laukelio ekrano turinį ir rekomenduotų automatiškai užpildyti duomenis pagal tai, ką ji randa. Kol veikė, tai gali sukelti didelį atsilikimą.
„Android Oreo“ tai veikia šiek tiek kitaip, nes slaptažodžių programos dabar oficialiai palaikomos naudojant automatinio pildymo API. Trečiųjų šalių slaptažodžių programoms nebereikia pritaikymo neįgaliesiems paslaugų, nes jos dabar gali atlikti automatinio pildymo paslaugos vaidmenį, bendraudamos su programomis per automatinio pildymo sistemą. Kai vartotojas sutelkia dėmesį į valdiklį, sistema supakuoja tam tikrą informaciją apie tą valdiklį / formą ir išsiųs ją į automatinio pildymo programą. Tada programa grąžina atitinkamus automatinio pildymo duomenis, pvz., slaptažodžius, el. laiškus, kredito korteles ar bet kokius kitus neskelbtinus duomenis. „Android“ sistema veikia kaip tarpininkas tarp programos, kurioje saugomi duomenys, ir tos, kuri jų prašo.
Tačiau kenkėjiškos programos ar kenkėjiškos programos iš tikrųjų gali pasinaudoti automatinio pildymo funkcija, kad gautų daugiau duomenų. Kenkėjiška veikla gali paprašyti papildomų automatinio pildymo duomenų įvesti naudojant nematomą arba paslėptą valdiklį. Kai vartotojas sutinka užpildyti vieną iš matomų valdiklių, pvz., prisijungimo formą ar kažką panašaus, nematomas valdiklis taip pat gauna papildomų duomenų jums to nematant. Tai gali būti tikrai pavojinga, jei nutekėjusi informacija yra jūsų slaptažodis, adresas arba kredito kortelės duomenys!
Aukščiau pateiktose ekrano kopijose pavaizduota kenkėjiška bandomoji programa, kuri naudojasi šiuo saugos trūkumu.
„Google“ atsakymas į problemą
„CommonsWare“ teigimu, ši saugos problema dar neturi viešo sprendimo, kurį paskelbė „Google“. Tačiau žinome, kad „Google“ žino šią problemą. „CommonsWare“ teigia, kad „Google“ inžinieriai pripažino, kad problema egzistuoja privačioje problemos stebėjimo priemonės ataskaitoje, tačiau būtų sunku (jei neįmanoma) iš tikrųjų jį pataisyti arba pataisykite.
Bet tai nereiškia, kad automatinis pildymas yra visiškai nesaugus naudoti, nes „Google“ taiko kitą metodą, siekdama užtikrinti duomenų saugumą. Įmonė yra siekdami, kad automatinio pildymo paslaugos išspręstų problemą ir todėl bando informuoti kūrėjus, kad jie patobulintų automatinio pildymo paslaugų teikėjus ir padidintų jų saugumą. Kas konkrečiai siūloma?
Visų pirma, automatinio pildymo teikėjai turėtų padalinti savo duomenis. Užuot saugoję visus automatinio pildymo duomenis viename telkinyje, kūrėjai turėtų padalinti skirsniuose saugomus vartotojo duomenis. Pavyzdžiui, adreso / telefono skaidinys, kredito kortelės skaidinys, slaptažodžio / vartotojo vardo skaidinys ir kt. Automatinio pildymo paslauga vienu metu turėtų grąžinti tik vieno skaidinio duomenis, atsižvelgdama į sutelktą valdiklį. Tai vienas iš viešai prieinamus puslapius automatinio pildymo programose, apsaugančiose save nuo duomenų nutekėjimo į nematomus valdiklius.
Pasak „Google“ inžinierių, yra ir kitų dalykų, kuriuos turėtų padaryti slaptažodžių tvarkytuvų kūrėjai. Pavyzdžiui, automatinio pildymo teikėjas turėtų grąžinti duomenis tik konkrečiai programai, kuri pirmiausia juos pateikė. Tai turėtų būti padaryta patikrinus paketo pavadinimą ir viešą programos parašą, kad net pakeistas APK negalėtų jo pasiekti. Kitas dalykas būtų tai, kad automatinio pildymo programoms reikalingas autentifikavimas prieš faktiškai pateikiant duomenis ta autentifikavimo veikla, informuojanti vartotoją, kokie duomenys bus pateikti to prašančiai programėlei. Šis patarimas iš tikrųjų turi daug klaidų, iš kurių svarbiausia yra ta, kad šių patarimų iš tikrųjų nevykdo „Google“.
Atminkite, kad daugelis aukščiau pateiktų pasiūlymų buvo paimti iš „CommonsWare“ privačios problemos stebėjimo ataskaitos, o ne iš kokio nors oficialaus „Google“ dokumentacijos puslapio. Norėdami sužinoti daugiau techninio suskirstymo apie tai, kaip automatinio pildymo API naudojančios programos gali apsisaugoti nuo tokio pobūdžio atakų, primygtinai rekomenduojame perskaityti visiškai baltas CommonsWare popierius.
Kokios programos yra apsaugotos nuo šio trūkumo?
Dėl šio pažeidžiamumo susisiekėme su 1Password, Enpass ir LastPass kūrėjais, o šių 3 programų saugos komandos tvirtino kad jie yra saugus, nors šių teiginių dar nepatvirtinome.
Kaip matome aukščiau pateiktuose teiginiuose, 1Password reikalauja vartotojo autentifikavimo prieš užpildant duomenis, taip pat iš anksto pranešant, kokie duomenys bus užpildyti. Tai taip pat padeda išspręsti tylaus pildymo problemą, nes kiekvienai veiklai, kurioje bus prašoma automatinio pildymo duomenų, pasirodys autentifikavimo iššokantis langas.
Enpass niekada neatskleis viso raktų pakabuko užklausai programai, nesvarbu, ar tai kenkėjiška, ar tikra. Naudotojui bus pateikti tik išsaugoti elementai, atitinkantys užklausos programos paketo pavadinimą. Jie taip pat patvirtino, kad, vadovaudamiesi „Google“ patarimu, imsis daugiau priemonių.
Be to, LastPass mums patvirtino, kad nors jie nežinojo apie problemą prieš išleisdami „Android Oreo“, jų programa naudoja duomenų skaidymas, siekiant apsaugoti vartotojus, kartu su kitais patikrinimais, siekiant įsitikinti, kad LastPass užpildo tik su įrašu susietą programą.
Nors naudojant šias 3 programas neturėtų kilti jokių problemų, jei norite likti visiškai aiškūs, turėtumėte išjungti visiškai automatiškai užpildykite telefoną, kol galėsite patvirtinti slaptažodžių tvarkyklės kūrėją, kad jų programa yra saugi nuo šios eilutės puolimas. Laimei, tai galima lengvai padaryti nuėjus į „Nustatymai“> „Sistema“ > „Kalbos ir įvestis“> „Išplėstinė“ ir suradę parinktį „Automatinio pildymo paslauga“, bakstelėdami ją ir pasirinkę „Nėra“.
Kaip minėjome aukščiau, nežinoma, ar „Google“ iš tikrųjų gali tai išspręsti, todėl patikimų programų naudojimas arba tiesiog funkcijos išjungimas yra vienintelis būdas apsisaugoti. Jei norite perskaityti daugiau apie šią problemą ir visą su juo susijusią informaciją, turėtumėte perskaityti originalą baltas popierius, patvirtinantis tai „GitHub“.
Šis straipsnis buvo atnaujintas 2017-09-13, kad tiksliau atspindėtų LastPass, Enpass ir 1Password atsakymų reikšmę.