Twitter zjistil ve svém systému závažnou bezpečnostní chybu – za určitých okolností totiž ukládal kopie nešifrovaných hesel svých uživatelů. Každý, kdo se alespoň trochu zajímá o bezpečnost na internetu ví, že ukládání nešifrovaných hesel ve formě prostého textu se zásadně nedoporučuje. Se surovou podobou hesla by měl systém pracovat pouze na úrovni operační paměti, a to jen v případě vytváření či změny uživatele nebo během ověřování v rámci přihlašovacího procesu.
Textová podoba hesla by neměla být ukládána ani do dočasných souborů, které jsou později smazány. Ještě před korektním smazáním totiž může dojít k chybě v programu, k odpojení disku nebo k jiným neočekávaným stavům a soubor s heslem či hesly na disku zůstane.
Hesla by neměla být uchovávána ani ve virtuální paměti, protože se velmi snadno mohou ocitnou v odkládacím souboru na disku. V operačním systému Windows v tomto případě pomůže funkce VirtualLock(), která zajistí "uzamčení" příslušných bloků paměti ve fyzické RAM – a ty tak neskončí v odkládacím souboru (swapfile).
Opravdu je nutné vyvarovat se jakékoli činnosti, která by vedla k trvalému uložení hesel v prosté textové podobě. Bohužel přesně toto pravidlo Twitter porušil.
Dobrou zprávou je, že samotná databáze obsahující hesla byla v případě Twitteru naimplementována bezpečně. Twitter využívá hashovací algoritmus bcrypt, který pro zvýšení bezpečnosti i znesnadnění útoků hrubou silou používá opakované pře-hashování s využitím saltů (náhodných posloupností znaků). Díky hashovacím mechanismům, jako je právě bcrypt, je možné do databáze ukládat místo hesel jejich vypočítané hashe a přihlašovací údaje ověřovat právě proti těmto otiskům. Z hashe však nelze získat původní textovou podobu hesla.
Kybernetickým zločincům dokonce příliš nepomůže ani to, pokud se jim soubor nebo databázi s hashovanými hesly podaří ukrást. Musí totiž spočítat hashe pro každé možné heslo (nebo použít slovníky pravděpodobných hesel), výsledky porovnávat se zcizenými otisky a doufat ve štěstí, že takto hesla "uhodnou" alespoň u některých uživatelů.
Špatnou zprávou v případě Twitteru je, že vysoká míra bezpečnosti poskytovaná funkcí bcrypt byla degradovaná zapisováním původní textové podoby hesel do systémových logů. A pokud se útočníci podívali místo do databáze s hesly do souborů s těmito protokoly, nemuseli nic dešifrovat ani provádět "slovníkové útoky."
Co s tím?
Twitter tvrdí, že chyba je již opravena a že nic nenasvědčuje tomu, že by došlo k nějakému zneužití nebo narušení dat. Doporučuje pouze, aby uživatelé "změnu svého hesla zvážili." My ovšem doporučujeme okamžitou změnu hesla – ostatně i z toho důvodu, že Twitter nesdělil žádné informace o délce trvání popisovaného bezpečnostního problému, ani o počtu takto omylem shromážděných hesel. Nelze tedy nijak posoudit, kolika hesel se mohl případný únik týkat.
Svoji bezpečnost na Twitteru můžete zvýšit také používáním tzv. dvoufaktorové autentizace, kterou možná znáte i pod označením ověřené přihlášení. Pro úspěšné přihlášení je nutné zadat i speciální kód na jedno použití, který je zasílán na mobilní telefon uživatele, případně jen tento ověřovací kód na mobilním či jiném zařízení vypočítán.