Autentizace: Jsou jednorázová hesla bezpečná?

Jednorázové heslo (One Time Password, zkr. OTP) je takové heslo, které může být, jak již název napovídá, použito jen jednou a po použití se stává neplatným.

To znamená, že pokud dojde k zachycení OTP útočníkem, nemůže jím být k opětovnému přihlášení použito. Opravdu? Ve většině případů tomu tak je, pokud ovšem útočník zachycené OTP nepoužije dříve než oběť.

Útočníkovi stačí uživatele jen přesměrovat na svůj web, a uživatel mu na něm sám zadá jednorázové heslo, neboť si nevšimne, že je vlastně někde jinde. Říkáte, že vám se to stát nemůže, protože pečlivě kontrolujete certifikát, a zda web, ke kterému se hlásíte, používá DNSSEC stejně jako váš ISP. Dobře děláte, ale útočník může získat vaše přihlašovací údaje i jinak.

Útočníkovi stačí ohlídat si formulářové pole, do kterého se OTP zadává a poslat si jeho hodnotu přes internet na svůj stroj a z něj autentizaci dokončit. V okamžiku, kdy uživatel klikne na tlačítko sloužící k odeslání OTP na server, tak se mu zobrazí standardní hlášení, že zadané jméno nebo heslo bylo chybné. Uživatel si pomyslí, že se asi překlepl a tak si vygeneruje nové OTP a pokusí se přihlásit znovu a tentokrát se mu to již povede.

Teď už asi tušíte, proč je u OTP omezená jeho platnost třeba jen na 60 sekund. Ano, proto aby útočník nestihl odchycené heslo použít. Jenže je naivní se domnívat, že útočník sedí u svého počítače a ručně zadává uživatelské jméno a OTP, které mu právě poslal jeho malware. Kdepak, vše probíhá zcela automatizovaně. Malware přihlašovací údaje, tj. uživatelské jméno a heslo odchytí a odešle útočníkovi na server, kde jeho bot provede přihlášení na pravý server a teprve poté útočník provede ručně v daném systému příslušnou operaci.

Pokud není nijak omezen počet současně připojených uživatelů (což většinou není) a aplikace ani nezobrazuje hlášení o tom, kdy došlo k poslednímu přihlášení (což zpravidla zobrazuje málokterá aplikace), oběť si pravděpodobně pomyslí, že došlo k nějaké chybě a zadá prostě nové OTP. Vidíme, že celá důvěra v bezpečnou autentizaci pomocí OTP je vlastně založena jen na předpokladu, že útočník nebude nikdy schopen odchycené heslo použít dříve než oprávněný uživatel. A jak jsme si uvedli výše, časové omezení útočníkovi ve zneužití odchyceného OTP rozhodně nezabrání.

Byť je tento útok opravdu možný a není problém napsat malware, který OTP zadávané uživatelem odchytává a posílá útočníkovi, tak riziko, že by se větší počet uživatelů stal obětí takového útoku, je spíše nízké. Především proto, že malware, který se takto chová, bývá zpravidla velice rychle odhalen, a kromě toho vyžaduje i změnu způsobu, jakým jsou odchycené autentizační údaje zneužívány organizovaným zločinem, i když i zde se situace pomalu mění.

Závěr: Jednorázová hesla by měla být nepredikovatelná, aby útočník nemohl ze zachyceného OTP odvodit následující a měla by mít omezenou časovou platnost a měla by být vázána na session ID.

Pokud vás tento příspěvek zaujal, sdílejte ho!
Email this to someone
email
Share on LinkedIn
Linkedin
Tweet about this on Twitter
Twitter
Share on Facebook
Facebook
Print this page
Print

Štítky: ,


K článku “Autentizace: Jsou jednorázová hesla bezpečná?” se zde nenachází žádný komentář - buďte první.

Diskuse na tomto webu je moderována. Pod článkem budou zobrazovány jen takové komentáře, které nebudou sloužit k propagaci konkrétní firmy, produktu nebo služby. V případě, že chcete, aby z těchto stránek vedl odkaz na váš web, kontaktujte nás, známe efektivnější způsoby propagace.

Přihlášeným uživatelům se tento formulář nezobrazuje - zaregistrujte se.

Jméno:(požadováno)
E-mail:(požadováno - nebude zobrazen)
Web:

Text vaší reakce: