Adgangskodeadministratorer, der bruger Android Oreos Autofill API, er potentielt sårbare over for datalækage

click fraud protection

En potentiel sikkerhedsfejl i Android Oreos Autofill API giver adgangskodeadministratorer mulighed for at lække data såsom adgangskoder, adresser eller kreditkort.

Autofyld er en af ​​de største og mest omtalte nye funktioner introduceret med udgivelsen af ​​Android 8.0 Oreo. Mange forskellige adgangskodehåndteringsapps, som LastPass, har allerede implementeret denne nye API i deres applikationer. Og mens det kan vise sig at være ret en forbedring i forhold til de tidligere Autofill-implementeringer ved hjælp af Accessibility Services, er der en potentiel sikkerhedsbrist at overveje. Sidste måned blev der udgivet en hvidbog til GitHub, der dokumenterer en iboende fejl i Android Oreo Autofill API, der kunne potentielt føre til, at din adgangskodeadministrator lækker flere af dine personlige data, end du gav den tilladelse til. Vi vil lave en hurtig gennemgang af hvidbogen skrevet af Mark Murphy (bedre kendt som CommonsWare) og offentliggjort på hans GitHub-side den 8. august 2017.


Potentiel datalækagefejl i Android Oreos Autofill API

Hvordan virker fejlen?

Autofyld-implementeringen i Android Nougat (og lavere versioner) og browsere som Google Chrome er noget virkelig simpelt. Normalt ville adgangskodeadministrationsapps bruge tilgængelighedstjenesterne til at scanne skærmindholdet for en login-boks og anbefale autoudfyldningsdata baseret på, hvad den finder. Mens det virkede, det kan forårsage betydelig forsinkelse.

På Android Oreo fungerer dette lidt anderledes, da adgangskodeapps nu officielt understøttes med Autofill API. Tredjeparts adgangskodeapplikationer kræver ikke længere Accessibility Services, da de nu kan udfylde rollen som en autofill-tjeneste, der kommunikerer med apps gennem Autofill Framework. Når brugeren fokuserer i en widget, vil systemet pakke nogle oplysninger om den pågældende widget/formular og sende det over til autofyld-appen. Applikationen returnerer derefter relevante autofylddata såsom adgangskoder, e-mails, kreditkort eller enhver anden form for følsomme data. Android-systemet fungerer som et mellemled mellem den applikation, der gemmer dataene, og den, der anmoder om dem.

Autofyld-app i Android 8.0 Oreo

Dog kan ondsindede apps eller malware faktisk drage fordel af autofyld-funktionen for at få flere data til sig selv. En ondsindet aktivitet kan anmod om, at yderligere autofyld-data indtastes med en usynlig eller skjult widget. Mens brugeren accepterer at udfylde en af ​​de synlige widgets, som en login-formular eller noget lignende, får den usynlige widget også yderligere data, uden at du ser det. Dette kan være virkelig farligt, hvis de lækkede oplysninger er din adgangskode, adresse eller kreditkortoplysninger!

Skærmbillederne ovenfor viser en ondsindet testapplikation, der udnytter denne sikkerhedsfejl.

Googles svar på problemet

Ifølge CommonsWare har dette sikkerhedsproblem endnu ikke en offentlig løsning offentliggjort af Google. Vi ved dog, at Google er opmærksom på problemet. CommonsWare oplyser, at Googles ingeniører anerkendte, at problemet eksisterer i en privat problemsporingsrapport, men at det ville være svært (hvis ikke umuligt) faktisk at lappe det eller udrulle en rettelse.

Men det betyder ikke, at Autofyld er fuldstændig usikkert at bruge, da Google tager en anden tilgang til at sikre datasikkerhed. Virksomheden er presser på for at få autofyld-tjenester til at håndtere problemet på deres side og forsøger som sådan at øge bevidstheden for udviklere om at forbedre deres autofill-udbydere og gøre dem mere sikre. Hvad foreslås præcist?

Først og fremmest udbydere af autofyld bør opdele deres data. I stedet for at holde alle autofyld-data i en enkelt pulje, bør udviklere opdele de brugerdata, der er gemt i partitioner. For eksempel en adresse/telefonpartition, en kreditkortpartition, en adgangskode/brugernavnpartition osv. Autofyld-tjenesten bør kun aflevere data fra én partition ad gangen baseret på den fokuserede widget. Dette er en af ​​de offentligt tilgængelige sider på Autofyld-apps, der beskytter sig selv mod at lække data til usynlige widgets.

Der er også nogle andre ting, som udviklere af adgangskodeadministratorer bør gøre, ifølge Googles ingeniører. For eksempel bør autofill-udbyderen kun aflevere dataene til den specifikke app, der leverede dem i første omgang. Dette skal gøres ved at verificere pakkenavnet og den offentlige signatur af applikationen, så selv en ændret APK ikke kan få adgang til den. Den anden ting ville være, at autofyld-apps kræver godkendelse, før de faktisk leverer dataene med denne autentificeringsaktivitet, der informerer brugeren om, hvilken slags data der vil blive leveret til den app, der anmoder om det. Dette råd har faktisk mange fejl, den vigtigste er, at disse råd faktisk ikke håndhæves af Google.

Husk, at mange af ovenstående forslag blev taget fra CommonsWares private problem tracker-rapport og ikke fra nogen officiel Google-dokumentationsside. For en yderligere, mere teknisk oversigt over, hvordan apps, der bruger Autofill API kan beskytte sig selv mod denne form for angreb, anbefaler vi kraftigt, at du læser fuld hvidbog af CommonsWare.

Hvilke apps er sikre mod denne fejl?

Vi har kontaktet udviklerne af 1Password, Enpass og LastPass om denne sårbarhed, og sikkerhedsteamene bag disse 3 apps har hævdede at de er sikker, selvom vi endnu ikke har bekræftet disse påstande.

Som vi kan se i erklæringerne ovenfor, kræver 1Password autentificering fra brugeren, før de udfylder dataene, og giver dem også besked om, hvilke data der vil blive udfyldt på forhånd. Dette hjælper også med det tavse udfyldningsproblem, da der vises en godkendelsespopup for hver aktivitet, der beder om autofylddata.

Enpass vil aldrig afsløre hele nøgleringen til den anmodende app, uanset om den er ondsindet eller ægte. Kun de gemte elementer, der matcher pakkenavnet på den anmodende app, vil blive præsenteret for brugeren. De bekræftede også, at de vil have flere foranstaltninger på plads efter Googles råd.

Desuden bekræftede LastPass over for os, at selvom de ikke kendte til problemet før Android Oreo-udgivelsen, bruger deres app datapartitionering for at beskytte brugere, sammen med andre kontroller for at sikre, at LastPass kun udfylder den app, der er knyttet til posten.

Selvom der absolut ikke burde være nogen problemer med at bruge disse 3 applikationer, bør du deaktivere autofill helt på din telefon, indtil du kan bekræfte med din password manager udvikler, at deres app er sikker fra denne linje af angreb. Heldigvis kan dette nemt gøres ved at gå til Indstillinger > System > Sprog og input > Avanceret og finde "Autofill service" præferencen, trykke på den og vælge "Ingen".

Som vi sagde ovenfor, vides det ikke, om Google rent faktisk kan skubbe en rettelse til dette, så brug af betroede apps eller blot deaktivering af funktionen er den eneste måde, du kan forblive sikker på. Hvis du vil læse mere om dette problem og alle detaljerne i forbindelse med det, bør du læse op på originalen hvidt papir, der dokumenterer det på GitHub.


Denne artikel blev opdateret 9/13/17 for mere præcist at afspejle implikationen af ​​svarene fra LastPass, Enpass og 1Password.