Správcovia hesiel, ktorí používajú API Autofill API systému Android Oreo, sú potenciálne náchylní na únik údajov

Potenciálna bezpečnostná chyba v rozhraní Autofill API systému Android Oreo umožňuje správcom hesiel uniknúť údaje, ako sú heslá, adresy alebo kreditné karty.

Automatické dopĺňanie je jednou z najväčších a najviac propagovaných nových funkcií predstavených s vydaním systému Android 8.0 Oreo. Mnoho rôznych aplikácií na správu hesiel, ako napríklad LastPass, už implementovalo toto nové API do svojich aplikácií. A hoci sa to môže dokázať celkom zlepšenie v porovnaní s predchádzajúcimi implementáciami automatického dopĺňania pomocou služieb dostupnosti je potrebné zvážiť potenciálnu bezpečnostnú chybu. Minulý mesiac bola na GitHub zverejnená biela kniha, ktorá dokumentuje prirodzenú chybu v rozhraní Android Oreo Autofill API, ktorá by mohla môže viesť k tomu, že váš správca hesiel unikne viac vašich osobných údajov, ako ste mu dali povolenie. Urobíme rýchly prehľad bielej knihy, ktorú napísal Mark Murphy (známejší ako CommonsWare) a zverejnené na jeho stránke GitHub 8. augusta 2017.


Potenciálna chyba úniku údajov v rozhraní API automatického dopĺňania systému Android Oreo

Ako chyba funguje?

Implementácia automatického dopĺňania v systéme Android Nougat (a nižších verziách) a prehliadačoch ako Google Chrome je niečo naozaj jednoduché. Aplikácie na správu hesiel zvyčajne používajú Služby dostupnosti na skenovanie obsahu obrazovky na prihlasovacie pole a odporúčanie údajov automatického dopĺňania na základe toho, čo nájdu. Kým to fungovalo, tak môže spôsobiť značné oneskorenie.

V systéme Android Oreo to funguje trochu inak, pretože aplikácie s heslami sú teraz oficiálne podporované pomocou rozhrania Autofill API. Aplikácie s heslami tretích strán už nevyžadujú služby dostupnosti, pretože teraz môžu plniť úlohu služby automatického dopĺňania a komunikujú s aplikáciami prostredníctvom rámca automatického dopĺňania. Keď sa používateľ zameria na miniaplikáciu, systém zbalí nejaké informácie o tejto miniaplikácii/formulári a odošle ich do aplikácie automatického dopĺňania. Aplikácia potom vráti relevantné údaje automatického dopĺňania, ako sú heslá, e-maily, kreditné karty alebo akékoľvek iné citlivé údaje. Systém Android funguje ako prostredník medzi aplikáciou uchovávajúcou dáta a tou, ktorá o ne žiada.

Aplikácia Autofill v systéme Android 8.0 Oreo

Škodlivé aplikácie alebo malvér však môžu v skutočnosti využiť funkciu automatického dopĺňania, aby pre seba získali viac údajov. Škodlivá aktivita môže požiadať o zadanie ďalších údajov automatického dopĺňania pomocou neviditeľnej alebo skrytej miniaplikácie. Zatiaľ čo používateľ súhlasí s vyplnením jednej z viditeľných miniaplikácií, ako je prihlasovací formulár alebo niečo podobné, neviditeľná miniaplikácia tiež získava ďalšie údaje bez toho, aby ste ich videli. To môže byť skutočne nebezpečné, ak sú tieto uniknuté informácie vaše heslo, adresa alebo údaje o kreditnej karte!

Snímky obrazovky vyššie zobrazujú škodlivú testovaciu aplikáciu využívajúcu túto bezpečnostnú chybu.

Odpoveď spoločnosti Google na problém

Podľa CommonsWare tento bezpečnostný problém zatiaľ nemá verejné riešenie zverejnené spoločnosťou Google. Vieme však, že Google o probléme vie. CommonsWare uvádza, že inžinieri spoločnosti Google uznali, že problém existuje v správe sledovania súkromných problémov, ale že existuje bolo by ťažké (ak nie nemožné) skutočne opraviť alebo zaviesť opravu.

ale to neznamená, že používanie automatického dopĺňania je úplne nebezpečné, pretože Google používa iný prístup k zaisteniu bezpečnosti údajov. Spoločnosť je tlačí na to, aby služby automatického dopĺňania riešili problém na svojom konci a ako taký sa snaží zvýšiť povedomie vývojárov, aby zlepšili svojich poskytovateľov automatického dopĺňania a zvýšili ich bezpečnosť. Čo presne sa navrhuje?

Po prvé, poskytovatelia automatického dopĺňania by mali rozdeliť svoje údaje. Namiesto uchovávania všetkých údajov automatického dopĺňania do jedného fondu by vývojári mali rozdeliť používateľské údaje uložené v oddieloch. Napríklad oblasť adresy/telefónu, oblasť kreditnej karty, oblasť hesla/používateľského mena atď. Služba automatického dopĺňania by mala na základe zameranej miniaplikácie odovzdávať späť údaje iba jednej oblasti naraz. Toto je jeden z verejne dostupné stránky v aplikáciách automatického dopĺňania, ktoré sa chránia pred únikom údajov do neviditeľných miniaplikácií.

Podľa inžinierov spoločnosti Google by vývojári správcov hesiel mali robiť aj ďalšie veci. Poskytovateľ automatického dopĺňania by mal napríklad vrátiť údaje iba konkrétnej aplikácii, ktorá ich poskytla. Toto by sa malo vykonať overením názvu balíka a verejného podpisu aplikácie, aby k nemu nemal prístup ani upravený súbor APK. Ďalšou vecou je, že aplikácie s automatickým dopĺňaním vyžadujú overenie pred skutočným poskytnutím údajov táto overovacia aktivita informuje používateľa o tom, aké údaje budú poskytnuté aplikácii, ktorá si to vyžiada. Táto rada má v skutočnosti veľa chýb, z ktorých najdôležitejšia je, že tieto rady v skutočnosti spoločnosť Google nepresadzuje.

Majte na pamäti, že mnohé z vyššie uvedených návrhov boli prevzaté zo správy sledovania súkromných problémov CommonsWare a nie zo žiadnej oficiálnej stránky dokumentácie Google. Ak chcete získať ďalšie technické informácie o tom, ako sa môžu aplikácie, ktoré používajú rozhranie API automatického dopĺňania, chrániť pred týmto druhom útoku, dôrazne vám odporúčame prečítať si úplný biely papier od CommonsWare.

Ktoré aplikácie sú pred touto chybou bezpečné?

O tejto chybe zabezpečenia sme sa obrátili na vývojárov 1Password, Enpass a LastPass a bezpečnostné tímy stojace za týmito 3 aplikáciami tvrdil že sú zabezpečiť, aj keď sme tieto tvrdenia ešte neoverili.

Ako môžeme vidieť vo vyššie uvedených vyhláseniach, 1Password vyžaduje autentifikáciu používateľa pred vyplnením údajov, pričom ho tiež vopred upozorní na to, aké údaje budú vyplnené. Pomáha to aj pri probléme s tichým vypĺňaním, pretože pri každej aktivite, ktorá požaduje údaje automatického dopĺňania, sa zobrazí vyskakovacie okno s overením.

Enpass nikdy neodhalí celú kľúčenku žiadajúcej aplikácii, či už je škodlivá alebo pravá. Používateľovi sa zobrazia iba uložené položky zodpovedajúce názvu balíka žiadajúcej aplikácie. Potvrdili tiež, že na základe rady spoločnosti Google budú mať zavedené ďalšie opatrenia.

LastPass nám navyše potvrdil, že hoci o probléme nevedeli pred vydaním Android Oreo, ich aplikácia používa rozdelenie dát na ochranu používateľov spolu s ďalšími kontrolami, aby ste sa uistili, že LastPass vyplní iba aplikáciu spojenú so záznamom.

Aj keď by s používaním týchto 3 aplikácií nemali byť absolútne žiadne problémy, ak chcete zostať úplne v obraze, mali by ste ich vypnúť úplne automaticky dopĺňať v telefóne, kým nepotvrdíte u vývojára správcu hesiel, že ich aplikácia je v bezpečí z tohto radu útok. Našťastie to možno urobiť jednoducho tak, že prejdete do časti Nastavenia > Systém > Jazyky a vstup > Rozšírené a nájdete predvoľbu „Služba automatického dopĺňania“, ťuknete na ňu a vyberiete možnosť „Žiadne“.

Ako sme už povedali vyššie, nie je známe, či Google skutočne dokáže tento problém vyriešiť, takže používanie dôveryhodných aplikácií alebo jednoduché vypnutie funkcie je jediný spôsob, ako môžete zostať v bezpečí. Ak si chcete prečítať viac o tomto probléme a všetkých podrobnostiach s ním spojených, mali by ste si prečítať originál biely papier, ktorý to dokumentuje na GitHub.


Tento článok bol aktualizovaný 13. septembra 2017, aby presnejšie odrážal dôsledky odpovedí LastPass, Enpass a 1Password.