Krádež a znovupoužití generátoru hesel

Mnoho hardwarových a softwarových tokenů 2FA generuje jednorázový kód, který je pro daného uživatele a zařízení jedinečný.

Autentizační software i zařízení uživatele mohou současně generovat jednorázový kód a poté porovnat kód odeslaný uživatelem s kopií vygenerovanou ověřovacím systémem, aby se ověřilo, zda jsou totožné.

Ve většině případů se jednorázové kódy generují trvale ze sdílené náhodné „počáteční“ hodnoty jedinečné pro každé 2FA zařízení a uživatele a pak se všechny následující kódy generují zpočátku v předem nastavených časových intervalech pomocí sdíleného algoritmu.

Jde o typ 2FA tokenu, kde je uživatel vyzván k zadání jednorázového kódu a má čas od 30 sekund do několika minut na to, aby zareagoval, než dojde k vygenerování nové hodnoty.

Tokeny SecureID od společnosti RSA zpopularizovaly tyto typy zařízení 2FA, dnes existují desítky, ne-li stovky podobných hardwarových tokenů a stovky, ne-li tisíce softwarových verzí.

(Obecně platí, že varianty založené jen na softwaru nejsou ani zdaleka tak bezpečné jako hardwarové verze, protože softwarové lze mnohem snáze zkompromitovat. Ke kompromitaci hardwarových tokenů je obvykle nutný fyzický přístup k nim.)

Hackeři už dávno zjistili, že pokud dokážou získat původní počáteční hodnotu a znají algoritmus generování založený na časové synchronizaci, mohou poté generovat stejný jednosměrný kód stejně přesně jako skutečný systém a zařízení 2FA.

Některá 2FA zařízení používají tak slabé generátory jednorázových kódů, že útočníci mohou zachytit libovolnou z jednorázových hodnot a pak vygenerovat všechny budoucí hodnoty.

Pokud se to může stát bez znalosti původní počáteční náhodné hodnoty, není použitý algoritmus kryptograficky příliš spolehlivý. Neměli byste být schopni zachytit jednu náhodně generovanou hodnotu a použít ji ke snadnějšímu nalezení další „náhodně generované“ hodnoty.

Obvyklé běžně používané nástroje pro každodenní hackování obsahují související funkce, takže když dokáže hacker získat počáteční hodnotu, může vytvořit kopii zařízení 2FA.

Tyto typy útoků používají hackeři při útocích APT. Nejznámějším příkladem je situace, kdy čínští hackeři napadli společnost RSA, aby získali počáteční hodnoty firmy Lockheed Martin, do které pak pomocí nich pronikli.