Android Oreo automaatse täitmise API-d kasutavad paroolihaldurid on potentsiaalselt andmelekke suhtes haavatavad

Android Oreo automaatse täitmise API võimalik turvaviga võimaldab paroolihalduritel lekkida andmeid, nagu paroolid, aadressid või krediitkaardid.

Automaatne täitmine on üks suurimaid ja enim avalikustatud uusi funktsioone, mis võeti kasutusele koos Android 8.0 Oreo väljalaskmisega. Paljud erinevad paroolihaldusrakendused, nagu LastPass, on selle uue API juba oma rakendustesse juurutanud. Ja kuigi see võib osutuda päris paranemine Võrreldes eelmiste automaattäite rakendustega, mis kasutasid juurdepääsetavuse teenuseid, võib kaaluda potentsiaalset turvaviga. Eelmisel kuul avaldati GitHubis valge raamat, mis dokumenteeris Android Oreo automaatse täitmise API loomupärase vea, mis võib võib viia selleni, et teie paroolihaldur lekib teie isikuandmeid rohkem, kui olete lubanud. Teeme kiire ülevaate Mark Murphy (tuntud kui CommonsWare) ja avaldati tema GitHubi lehel 8. augustil 2017.


Võimalik andmete lekke viga Android Oreo automaatse täitmise API-s

Kuidas viga töötab?

Automaatse täitmise rakendamine Android Nougatis (ja vanemates versioonides) ja brauserites, nagu Google Chrome, on midagi väga lihtsat. Tavaliselt kasutavad paroolihaldusrakendused juurdepääsetavuse teenust, et skannida ekraani sisu sisselogimiskasti ja soovitada andmete automaattäitmist vastavalt sellele, mida see leiab. Kuigi see töötas, see

võib põhjustada märkimisväärset viivitust.

Android Oreo puhul töötab see veidi teisiti, kuna paroolirakendusi toetab nüüd ametlikult automaattäite API. Kolmanda osapoole paroolirakendused ei vaja enam juurdepääsetavuse teenuseid, kuna need saavad nüüd täita automaatse täitmise teenuse rolli, suhtledes rakendustega automaattäite raamistiku kaudu. Kui kasutaja keskendub vidinale, pakib süsteem selle vidina/vormi kohta teavet ja saadab selle automaatse täitmise rakendusse. Seejärel tagastab rakendus asjakohased automaatse täitmise andmed, nagu paroolid, meilid, krediitkaardid või muud tundlikud andmed. Android-süsteem toimib vahendajana andmeid salvestava rakenduse ja neid taotleva rakenduse vahel.

Automaatse täitmise rakendus operatsioonisüsteemis Android 8.0 Oreo

Pahatahtlikud rakendused või pahavara võivad aga automaatse täitmise funktsiooni ära kasutada, et hankida enda jaoks rohkem andmeid. Pahatahtlik tegevus võib taotleda nähtamatu või peidetud vidinaga täiendavate automaattäite andmete sisestamist. Kui kasutaja nõustub täitma mõnda nähtavatest vidinatest, näiteks sisselogimisvormi või midagi sarnast, saab nähtamatu vidin ka täiendavaid andmeid, ilma et te seda näeksite. See võib olla tõesti ohtlik, kui see lekkinud teave on teie parool, aadress või krediitkaardi andmed!

Ülaltoodud ekraanipildid näitavad pahatahtlikku testrakendust, mis kasutab seda turvaviga ära.

Google'i vastus probleemile

CommonsWare'i andmetel pole sellel turvaprobleemil veel Google'i postitatud avalikku lahendust. Siiski teame, et Google on probleemist teadlik. CommonsWare väidab, et Google'i insenerid tunnistasid, et probleem on eraprobleemide jälgija aruandes olemas, kuid see oleks raske (kui mitte võimatu) seda tegelikult parandada või viige välja parandus.

Aga see ei tähenda, et automaattäite kasutamine oleks täiesti ohtlik, kuna Google kasutab andmete ohutuse tagamiseks teistsugust lähenemisviisi. Ettevõte on nõudes, et automaattäite teenused lahendaksid probleemi enda poolt ja sellisena püüab see tõsta arendajate teadlikkust oma automaatse täitmise pakkujate täiustamise ja nende turvalisemaks muutmise kohta. Mida täpselt välja pakutakse?

Esiteks automaatse täitmise pakkujad peaksid oma andmed jagama. Selle asemel, et hoida kõiki automaatse täitmise andmeid ühte kogumisse, peaksid arendajad jagama sektsioonidesse salvestatud kasutajaandmed. Näiteks aadressi/telefoni sektsioon, krediitkaardi partitsioon, parooli/kasutajanime sektsioon jne. Automaatse täitmise teenus peaks fokuseeritud vidina põhjal korraga tagastama ainult ühe partitsiooni andmed. See on üks avalikult kättesaadavad lehed automaattäite rakendustes, mis kaitsevad end andmete lekkimise eest nähtamatutesse vidinatesse.

Google'i inseneride sõnul peaksid paroolihaldurite arendajad tegema ka muid asju. Näiteks peaks automaatse täitmise pakkuja andma andmed tagasi ainult konkreetsele rakendusele, mis need algselt esitas. Selleks tuleks kontrollida paketi nime ja rakenduse avalikku allkirja, nii et isegi muudetud APK ei pääse sellele juurde. Teine asi oleks see, et automaatse täitmise rakendused nõuavad autentimist enne andmete tegelikku esitamist see autentimistegevus, mis teavitab kasutajat, milliseid andmeid seda taotlevale rakendusele edastatakse. Sellel nõuandel on tegelikult palju vigu, millest kõige olulisem on see, et Google neid nõuandeid tegelikult ei rakenda.

Pidage meeles, et paljud ülaltoodud ettepanekutest võeti CommonsWare'i privaatprobleemide jälgija aruandest, mitte üheltki ametlikult Google'i dokumentatsiooni lehelt. Täiendava tehnilisema ülevaate saamiseks selle kohta, kuidas automaatse täitmise API-d kasutavad rakendused saavad end seda tüüpi rünnakute eest kaitsta, soovitame tungivalt lugeda CommonsWare'i täielik valge paber.

Millised rakendused on selle vea eest kaitstud?

Oleme selle haavatavuse osas ühendust võtnud 1Passwordi, Enpassi ja LastPassi arendajatega ning nende kolme rakenduse taga olevad turvameeskonnad on väitis et nad on turvaline, kuigi me pole neid väiteid veel kinnitanud.

Nagu ülaltoodud väidetest näeme, nõuab 1Password enne andmete täitmist kasutajalt autentimist, teavitades ka eelnevalt, millised andmed täidetakse. See aitab ka vaikse täitmise probleemi lahendamisel, kuna iga tegevuse kohta, mis küsib automaatse täitmise andmeid, kuvatakse autentimise hüpikaken.

Enpass ei avalda taotlevale rakendusele kunagi kogu võtmehoidjat, olgu see pahatahtlik või ehtne. Kasutajale kuvatakse ainult need salvestatud üksused, mis vastavad taotleva rakenduse paketinimele. Samuti kinnitasid nad, et Google'i nõuandeid järgides on neil rohkem meetmeid.

Lisaks kinnitas LastPass meile, et kuigi nad ei teadnud probleemist enne Android Oreo väljalaset, kasutab nende rakendus andmete jaotamine kasutajate kaitsmiseks ja muud kontrollid tagamaks, et LastPass täidab ainult kirjega seotud rakendust.

Kuigi nende 3 rakenduse kasutamisel ei tohiks probleeme tekkida, peaksite täielikult välja lülitama täitke oma telefonis automaatselt täielikult, kuni saate oma paroolihalduri arendajaga kinnitada, et nende rakendus on selle rea eest kaitstud rünnak. Õnneks saab seda hõlpsalt teha, minnes menüüsse Seaded> Süsteem> Keeled ja sisend> Täpsemalt ja leides eelistuse "Automaattäite teenus", puudutades seda ja valides "Puudub".

Nagu me eespool ütlesime, ei ole teada, kas Google suudab selle jaoks paranduse välja pakkuda, nii et usaldusväärsete rakenduste kasutamine või lihtsalt funktsiooni keelamine on ainus viis turvalisuse tagamiseks. Kui soovite selle probleemi ja kõigi sellega seotud üksikasjade kohta rohkem lugeda, peaksite lugema originaali valge paber, mis seda dokumenteerib GitHubis.


Seda artiklit värskendati 13.09.17, et kajastada täpsemalt LastPassi, Enpassi ja 1Passwordi vastuste mõju.