Funkci automatického vyplňování má několik správců v základním nastavení zapnutou, a to i přesto, že se tím snižuje zabezpečení uložených údajů.
Používá-li uživatel základní nastavení nebo se řídí doporučením od správce hesel, tak je možné do jednoho kliku myší získat uložený přihlašovací údaj u 11 ze 16 testovaných prohlížečů a správců hesel. Nemusí tedy dojít k úniku databáze/hesel na dané stránce, a i přesto získá útočník vaše údaje – vše v čitelné a nešifrované formě (v plaintextu).
Automatické vyplňování může být dvou typů: automatické vyplňování bez uživatelské interakce (automatic autofill) a automatické vyplňování vyžadující uživatelskou interakci (kliknutí na údaj v UI ve správci hesel – manual autofill).
Autofill / Automatické vyplňování
Jak již název napovídá, tak tato funkce u správců hesel zajišťuje, že dojde k automatickému vyplnění údajů do přihlašovacího formuláře. Údaje jsou předvyplněny pouze u domén, u kterých došlo k jejich uložení.
Chování autofillu závisí na mnoha faktorech. Kromě domény se ověřuje použitý protokol (http/https), atributy formuláře nebo třeba id a názvy prvků.
Z bezpečnostního hlediska může tato funkce sloužit uživatelům k ověření, zda se nenacházejí na phishing stránce. V případě, že by se na ní nacházeli, tak by k automatickému vyplnění údajů nedošlo. Uživatelé by si mohli všimnout neobvyklého chování a mohli by si ověřit, na jaké doméně se právě nacházejí.
Kromě „ověření“ phishing stránky se jedná spíše o funkci zajišťující pohodlné přihlašování, protože uživatel nemusí nikam klikat a má již vše předem předvyplněné. Předvyplněné údaje jsou ale problémem, protože všechna data jsou v čitelné formě (plaintextu) a mohou být přístupná pomocí javascriptu.
Autofill hesel u chromium-based prohlížečů
U chromium-based prohlížečů (kromě Brave prohlížeče) funguje autofill funkce trochu jinak, než například u Firefoxu nebo běžných správců hesel.
V těchto prohlížečích dochází k doplnění údajů na první pohled zcela automaticky, ale není tomu tak. Údaje ve formuláři nejsou doopravdy vyplněné. K vyplnění dochází až v moment, kdy uživatel bude interagovat se stránkou.
Uživatelská interakce musí být typu isTrusted (=> vyvolaná uživatelem) s událostí jako je stisk klávesy nebo klik myší. Mouseover, mousemove a podobně „jednodušší“ události plnohodnotný autofill neprovedou. Bude-li vypsán obsah inputu bez předchozí uživatelské interakce se stránkou, dojde k zobrazení pouze prázdné hodnoty.
Útočník musí tedy nějakým způsobem přimět uživatele, aby na stránce někam kliknul. V roli útočníka bych asi zobrazil notifikační nebo cookie dialog. Oba typy prvků se na stránkách zobrazují poměrně často, proto oběť nenabude podezření na podezřelou aktivitu.
Cílem není, aby oběť někam přesně kliknula, ale aby byl nějaký klik proveden. Zobrazení prvku, který znepříjemňuje prohlížení webu, a pro jehož odstranění je nutné interagovat se stránkou, je za mě velice účinný způsob, jak od uživatele získat požadovaný klik.
Marek Tóth, etický hacker




Napsat komentář