Jak zabezpečit svá hesla, díl 2/3: webové prohlížeče

24. 7. 2011

Sdílet

 Autor: Redakce
Dnes čtete druhý díl miniseriálu o správě hesel (pokud vám unikl první díl, najdete ho zde), který je sestaven z výňatků z autorovy bakalářské práce. Tuto skutečnost připomínám jako vysvětlení, proč jsou ve srovnání zastoupeny dnes již neaktuální verze webových prohlížečů. Integrovaná správa hesel se ale zdaleka nevyvíjí tak překotným tempem, jako číslování verzí, a tak věřím, že závěry jsou aplikovatelné i na současné inkarnace browserů.

Správa hesel ve webových prohlížečích

Pravděpodobně nejrozšířenější řešení, jednoduché co do použití, ale i nabízených funkcí, je správa hesel integrovaná ve webových prohlížečích. Nedostatkem společným všem prohlížečům je vázanost na lokální počítač a samozřejmě omezení na webové stránky. Automatické doplňování hesla chrání proti keyloggerům a sledovačům schránky, jinak ale prohlížeče bezpečností nevynikají. Některé umožňují uzamknout uložená hesla hlavním heslem (master password), k jehož zadání je uživatel vyzván při vstupu na stránku s přihlašovacím formulářem. Vyjma atypických prohlížečů s minimálním podílem na trhu jsou všechny lokalizovány do mnoha jazyků.

Internet Explorer

Testovaná verze: 8.0
Licence: zdarma pro uživatele legálních Windows
Výrobce: Microsoft
Domovská stránka: http://www.microsoft.com/windows/internet-explorer/default.aspx

Uložené heslo se doplňuje automaticky po vyplnění uživatelského jména, které prohlížeč po napsání prvních písmen našeptává. Toto řešení je vhodné pro přihlašování k více účtům na jedné službě, pro přihlašování k jednomu účtu je zbytečně zdlouhavé. Uživatelsky nepřívětivé je i dotazování se na ukládání hesel před přihlášením, namísto až po něm, když si uživatel je jist, že přihlašovací údaje vyplnil správně.

Prohlížeč neumožňuje nastavit hlavní heslo, tento účel má zřejmě zastupovat správa uživatelů ve Windows. Nalezení programu, který z Internet Exploreru vypreparuje uložená hesla, mi netrvalo ani minutu. Teoreticky, pokud by se útočníkovi podařilo na počítači vzdáleně spustit podobný kód, mohl by uložená hesla odcizit.

Je ovšem rozdíl mezi „autocomplete hesly“, která se doplňují do textových polí přímo na webových stránkách, a „HTTP Authentication hesly“, na které se stránka ptá samostatným dialogovým oknem. Autocomplete hesla se ukládají do registrů a jsou zašifrována adresou webové stránky, na které byla zaznamenána. Hesla lze tedy přečíst pouze tehdy, je-li v historii prohlížeče stále uložena adresa stránky, ke které náleží. Hesla pro HTTP autentizaci se ukládají do souboru Credentials (zde se také uchovávají např. přihlašovací údaje ke vzdálené ploše, pokud uživatel zvolil možnost zapamatování), který Windows dovolí cizí aplikaci číst pouze na účtu s administrátorskými právy.

Firefox

Testovaná verze: 3.6.13
Licence: freeware
Výrobce: Mozilla
Domovská stránka: http://www.mozilla.com/firefox/

Nabízí volitelnou ochranu uložených uživatelských jmen a hesel hlavním heslem, údaje doplňuje automaticky při načtení stránky, na jejich uložení se ptá až po přihlášení. Na hlavní heslo se Firefox ptá jen jednou a dokud není vypnut, po jeho zadání už všechny údaje doplňuje automaticky.

Data jsou uložena v SQLite databázi a zašifrována algoritmem 3DES. Není-li zadáno hlavní heslo, jako klíč k šifře se použije řetězec přednastavený ve zdrojovém kódu.

Správce hesel ve Firefoxu. Pro zobrazení tohoto okna je vyžadováno předchozí zadání hlavního hesla.

 Chcete-li zobrazit uložená hesla, jste znovu dotázáni na hlavní heslo.

Bez použití hlavního hesla lze data přečíst ještě snadněji než u Internet Exploreru. Programy, které umí hádat hlavní heslo k databázi Firefoxu, nebylo složité na webu nalézt. Vedle Elcomsoft Distributed Password Recovery, který jsem pro testování použil, existuje také specializovaný FireMaster.

Firefox neobsahuje generátor hesel, ale při zadávání hlavního hesla grafickou škálou reprezentuje jeho sílu.

Firefox Sync
Funkcionalita, kterou se Firefox odlišuje od ostatních prohlížečů a která jej naopak přibližuje specializovaným aplikacím (doplňkům), je „Firefox Sync“ aneb synchronizace historie, záložek a dalších uživatelských dat – včetně hesel – mezi různými počítači. Data se ukládají na servery Mozilly, pokud jim však uživatel nedůvěřuje, může použít server vlastní. Pro verze 3.5 a 3.6 se Sync instaluje jako doplněk, Firefox 4 jej obsahuje nativně. Lze synchronizovat i na mobilní telefony, podporována je Nokia N900 a zařízení s operačním systémem Android.

Bohužel není v mých možnostech Firefox Sync otestovat.

Opera

Testovaná verze: 11.00
Licence: freeware
Výrobce: Opera Software A.S.A.
Domovská stránka: http://www.opera.com

Zabudovaná funkcionalita „Wand“ umí kromě přihlašovacích údajů vyplňovat i formuláře. Doplnění údajů do příslušných polí a potvrzení přihlášení se provádí klávesovou zkratkou.

Údaje uložené ve Wandu jsou šifrována, takže Poznámkový blok je nezobrazí, volně dostupný program OperaPasswordDecryptor ale ano. Pouze hesla lze chránit hlavním heslem. Jako hlavní hesla nelze nastavit řetězce kratší než šest znaků a v řetězci se musí nacházet alespoň jedna číslice. Jednoduché řešení, z pohledu uživatele ale považuji za zdařilejší „teploměr“ síly hesla ve Firefoxu. K hlavnímu heslu se přidává statická sůl a hesla jsou zašifrována algoritmem 3DES.

V Opeře neexistuje možnost hesla zobrazit, jen smazat.

K uhodnutí hlavního hesla může posloužit program OPR (Opera Password Recovery), který je dostupný jako shareware, pro účely testování ale stačí i jeho zkušební verze, která z uhodnutého hesla zobrazí jen první tři znaky. OPR je vybaven rozsáhlým slovníkem a slabá hesla typu „opera123“ uhodne za několik sekund.

Chrome

Testovaná verze: 9.0.597.98
Licence: freeware
Výrobce: Google Inc.
Domovská stránka: http://www.google.com/chrome

Ukládání hesel je totožné jako u Firefoxu, v repertoáru Chrome je i vyplňování formulářů. Prohlížeč neumožňuje nastavit hlavní heslo. Lze nicméně očekávat, že některá z budoucích verzí Chrome přinese jak ochranu hlavním heslem, tak jejich synchronizaci mezi více počítači. Ve stávající verzi je již implementována synchronizace záložek, doplňků, nastavení a dalších údajů, ale nikoliv hesel.

Přihlašovací jména, hesla a další údaje jsou ukládána do SQLite databáze. Pod operačním systémem Windows jsou hesla zašifrována pomocí funkce CryptProtectData z Windows API. Klíčem k šifře je uživatelský účet – hesla lze odkrýt pouze pod účtem, pod kterým byly zašifrovány, a na stejném počítači (nestačí na jiném PC vytvořit účet se stejným uživatelským jménem a heslem).

Každé heslo má své tlačítko pro zobrazení a skrytí, skrytá hesla jsou zobrazena jako tečky (což není moc fajn, protože je na první pohled vidět, která z vašich hesel jsou krátká a tudíž slabá).

Pod operačním systémem Linux byla ve starších verzích hesla do databáze ukládána nezašifrovaná. Open-source prohlížeč Chromium, ze kterého Chrome vychází, od poloviny roku 2010 umí používat Gnome Keyring a KDE KWallet.

Webové prohlížeče: tabulka hodnocení a shrnutí

  MS Internet Explorer 8 Mozilla Firefox 3.6 Opera 11 Google Chrome 9
Univerzálnost použití pouze web (přihlašovací údaje se ukládají pouze po zadání do formulářů na stránkách a dialogových oken HTTP a FTP autentizace)
Kompatibilita s OS pouze Windows Vista/7 Windows, Linux, Mac OS
Bezpečnost uložených hesel vazba na uživatelský účet hlavní heslo hlavní heslo vazba na uživatelský účet
Přenositelnost hesel ne ano (ofic. doplňek), synchronizace na další instalace Firefoxu ne ne
Pokus o rozluštění program je zdarma, hesla zobrazí ihned program je zdarma, doba rozšifrování závisí na síle hlavního hesla (viz odd. 2.3) program je placený, doba rozšifrování dle síly hlavního hesla program je zdarma, hesla zobrazí ihned
Test keyloggerem při aut. doplnění není nic odposlechnuto hlavní heslo může být odposlechnuto, doplňovaná hesla ne hlavní heslo může být odposlechnuto, doplňovaná hesla ne při aut. doplnění není nic odposlechnuto
Test clipboard monitorem heslo je zamaskované a nelze zkopírovat heslo je zamaskované a nelze zkopírovat doplňované údaje se zobrazují na krátký okamžik až během přihlašování (není možné je zkopírovat) heslo je zamaskované a nelze zkopírovat
Uživatelská přívětivost, rychlost  3/5  5/5 4/5 5/5
Další funkce -- -- vyplňování formulářů*

*) Vyplňováním formulářů se rozumí doplňování údajů jako jméno, příjmení a adresa do registračních formulářů; tyto údaje se předem vyplňují v nastavení prohlížeče. Pojmem není myšlena funkce autocomplete (automatické doplňování), která uchovává historii údajů zapsané do konkrétních polí na konkrétních stránkách a zobrazuje je jako roletovou nabídku.

Přestože jejich zaměření je spíše na uživatelské pohodlí než na bezpečnost, integrovaní správci hesel nabízejí alespoň základní zabezpečení, v případě Firefoxu i synchronizaci hesel na další instalace. Všechny dokážou chránit proti odposlechnutí hesel jejich automatickým doplňováním, slabinou je ovšem jejich způsob uložení. Zadávání hlavního hesla je napadnutelné keyloggerem, avšak pro krádež hesel je třeba ještě rozšifrovat databázi.

Keyloggery představují riziko zejména při prvním zadávání přihlašovacích údajů, tedy ještě než jsou hesla uložena pro automatické doplňování.

Specializovaného spyware má smysl se obávat u prohlížečů s vysokým podílem na trhu, tedy spíše u Internet Exploreru a Firefoxu. Ani pro Operu ale nebylo složité nalézt utilitu pro hádání hlavního hesla.

Podíly webových prohlížečů na celosvětovém trhu, data z června 2011.
Zdroj: http://www.w3counter.com/globalstats.php?year=2011&month=6

bitcoin_skoleni

Je dobrým zvykem neukládat hesla v počítači v nechráněné podobě. Nejsou‑li přihlašovací údaje zašifrovány použitím hlavního hesla, lze polemizovat o tom, je-li tato podmínka splněna. Na jednu stranu soubory s hesly nejsou přístupné bez přihlášení do operačního systému pod účtem konkrétního uživatele nebo administrátora, na straně druhé jsou defaultní klíče k šifrám bez zadání hlavního hesla v prohlížečích dobře známé a zobrazení údajů není o mnoho složitější, než zobrazení textového souboru.

V textu výše jsem opomněl přenosné (portable) verze prohlížečů, které se instalují na flashdisk a umožňují mezi více počítači přenášet hesla a další osobní data (záložky, historii). V případě Firefoxu a Opery jsou ale tyto verze pouze neoficiální sestavení a jediný Chrome, který Portable verzi nabízí oficiálně, hesla (kvůli způsobu jejich šifrování) přenášet neumí.

To je pro dnešek vše. V příštím článku se podíváme na pluginy pro webové prohlížeče a shrneme závěry celého seriálu.