Správci hesel, kteří používají rozhraní Autofill API systému Android Oreo, jsou potenciálně zranitelní vůči úniku dat

Potenciální bezpečnostní chyba v rozhraní Autofill API systému Android Oreo umožňuje správcům hesel unikat data, jako jsou hesla, adresy nebo kreditní karty.

Automatické vyplňování je jednou z největších a nejvíce propagovaných nových funkcí představených s vydáním Androidu 8.0 Oreo. Mnoho různých aplikací pro správu hesel, jako je LastPass, již implementovalo toto nové API do svých aplikací. A i když to může dokázat docela zlepšení oproti předchozím implementacím automatického vyplňování pomocí služeb usnadnění je třeba zvážit potenciální bezpečnostní chybu. Minulý měsíc byla na GitHubu zveřejněna bílá kniha, která dokumentuje inherentní chybu v Android Oreo Autofill API, která by mohla může vést k tomu, že váš správce hesel unikne více vašich osobních údajů, než jste mu dali svolení. Uděláme rychlý přehled bílé knihy napsané Markem Murphym (známějším jako CommonsWare) a zveřejněné na jeho stránce GitHub 8. srpna 2017.


Potenciální chyba úniku dat v rozhraní Autofill API systému Android Oreo

Jak závada funguje?

Implementace automatického vyplňování v Androidu Nougat (a nižších verzích) a prohlížečích, jako je Google Chrome, je něco opravdu jednoduchého. Aplikace pro správu hesel obvykle používají Službu usnadnění ke skenování obsahu obrazovky pro přihlašovací pole a doporučují data automatického vyplňování na základě toho, co naleznou. Zatímco to fungovalo, tak to šlo může způsobit značné zpoždění.

Na Androidu Oreo to funguje trochu jinak, protože aplikace s hesly jsou nyní oficiálně podporovány pomocí Autofill API. Aplikace s hesly třetích stran již nevyžadují služby usnadnění, protože nyní mohou plnit roli služby automatického vyplňování a komunikují s aplikacemi prostřednictvím rozhraní automatického vyplňování. Když se uživatel zaměří na widget, systém sbalí nějaké informace o tomto widgetu/formuláři a odešle je do aplikace pro automatické vyplňování. Aplikace poté vrátí relevantní data automatického vyplňování, jako jsou hesla, e-maily, kreditní karty nebo jakýkoli jiný druh citlivých dat. Systém Android funguje jako prostředník mezi aplikací ukládající data a aplikací, která o ně žádá.

Aplikace Autofill v systému Android 8.0 Oreo

Škodlivé aplikace nebo malware však mohou ve skutečnosti využít funkci automatického vyplňování a získat pro sebe více dat. Škodlivá činnost může požádat o zadání dalších dat automatického vyplňování pomocí neviditelného nebo skrytého widgetu. Zatímco uživatel souhlasí s vyplněním jednoho z viditelných widgetů, jako je přihlašovací formulář nebo něco podobného, ​​neviditelný widget také získá další data, aniž byste je viděli. To může být opravdu nebezpečné, pokud jsou tyto uniklé informace vaše heslo, adresa nebo údaje o kreditní kartě!

Výše uvedené snímky obrazovky ukazují škodlivou testovací aplikaci využívající tuto bezpečnostní chybu.

Odpověď společnosti Google na problém

Podle CommonsWare tento bezpečnostní problém zatím nemá veřejné řešení zveřejněné společností Google. Víme však, že Google si je tohoto problému vědom. CommonsWare uvádí, že inženýři Google uznali, že problém existuje v soukromé zprávě sledování problémů, ale že ano bylo by obtížné (ne-li nemožné) skutečně opravit nebo zavést opravu.

Ale to neznamená, že použití automatického vyplňování je zcela nebezpečné, protože Google používá jiný přístup k zajištění bezpečnosti dat. Společnost je tlačit na to, aby služby automatického vyplňování problém řešily na svém konci a jako takový se snaží zvýšit povědomí vývojářů, aby zlepšili své poskytovatele automatického vyplňování a učinili je bezpečnějšími. Co přesně se navrhuje?

Za prvé, poskytovatelé automatického vyplňování by měli svá data rozdělit. Namísto uchovávání všech dat automatického vyplňování do jednoho fondu by vývojáři měli uživatelská data uložená v oddílech rozdělit. Například oddíl adresy/telefonu, oddíl kreditní karty, oddíl hesla/uživatelského jména atd. Služba automatického vyplňování by měla předávat zpět data pouze jednoho oddílu najednou na základě vybraného widgetu. Toto je jeden z veřejně dostupné stránky v aplikacích automatického vyplňování, které se chrání před únikem dat do neviditelných widgetů.

Podle inženýrů Google by měli vývojáři správců hesel dělat také některé další věci. Poskytovatel automatického vyplňování by například měl vrátit data pouze konkrétní aplikaci, která je poskytla. To by mělo být provedeno ověřením názvu balíčku a veřejného podpisu aplikace, aby k němu neměl přístup ani upravený soubor APK. Další věcí by bylo, že aplikace s automatickým vyplňováním vyžadují ověření před skutečným poskytnutím dat tato autentizační aktivita informující uživatele o tom, jaký druh dat bude poskytnut aplikaci, která je požaduje. Tato rada má ve skutečnosti mnoho chyb, z nichž nejdůležitější je, že tyto rady ve skutečnosti Google nevynucuje.

Mějte na paměti, že mnoho z výše uvedených návrhů bylo převzato ze zprávy o sledování soukromých problémů CommonsWare a nikoli z žádné oficiální stránky dokumentace Google. Pro další, techničtější rozbor toho, jak se mohou aplikace, které používají rozhraní Autofill API, chránit před tímto druhem útoku, důrazně doporučujeme, abyste si přečetli úplná bílá kniha od CommonsWare.

Které aplikace jsou před touto chybou bezpečné?

S touto chybou zabezpečení jsme oslovili vývojáře 1Password, Enpass a LastPass a bezpečnostní týmy za těmito 3 aplikacemi tvrdil že jsou zajistit, i když jsme tato tvrzení ještě neověřili.

Jak můžeme vidět ve výše uvedených prohlášeních, 1Password vyžaduje autentizaci od uživatele před vyplněním údajů a také jej předem upozorní, jaké údaje budou vyplněny. To také pomáhá s problémem tichého vyplňování, protože pro každou aktivitu se zobrazí vyskakovací okno pro ověření vyžadující data automatického vyplňování.

Enpass nikdy neodhalí celou klíčenku žádající aplikaci, ať už je škodlivá nebo pravá. Uživateli se zobrazí pouze uložené položky odpovídající názvu balíčku žádající aplikace. Potvrdili také, že na základě rad Google budou mít zavedena další opatření.

LastPass nám navíc potvrdil, že ačkoli o problému před vydáním Android Oreo nevěděli, jejich aplikace používá rozdělení dat k ochraně uživatelů, spolu s dalšími kontrolami, aby se zajistilo, že LastPass vyplní pouze aplikaci spojenou s položkou.

I když by s používáním těchto 3 aplikací neměly být absolutně žádné problémy, pokud chcete zůstat zcela v obraze, měli byste je vypnout zcela automaticky vyplňovat v telefonu, dokud si u vývojáře správce hesel neověříte, že jeho aplikace je z této řady v bezpečí Záchvat. Naštěstí to lze snadno provést tak, že přejdete do Nastavení > Systém > Jazyky a vstup > Upřesnit a najděte předvolbu „Služba automatického vyplňování“, klepněte na ni a vyberte „Žádné“.

Jak jsme řekli výše, není známo, zda Google může skutečně prosadit opravu tohoto problému, takže použití důvěryhodných aplikací nebo prostě deaktivace funkce je jediný způsob, jak zůstat v bezpečí. Pokud si chcete přečíst více o tomto problému a všech podrobnostech s ním spojených, měli byste si přečíst originál bílý papír, který to dokumentuje na GitHubu.


Tento článek byl aktualizován 13. září 2017, aby přesněji odrážel důsledky odpovědí LastPass, Enpass a 1Password.