Kaspersky Password Manager generoval snadno prolomitelná hesla
7.7.2021, Milan Šurkala, aktualita
Manažer hesel Kaspersky Password Manager obsahuje funkci generování náhodných hesel. Ta ale nebyla až tak moc náhodná, jak se zjistilo. Výsledek algoritmů se totiž dá snadno zkazit špatnými parametry. S trochou štěstí se hesla dala prolomit v řádu minut.
Společnost Kaspersky si asi nedá za rámeček problém jejího manažeru hesel Kaspersky Password Manager (KPM). Ten vedle správy hesel umožňoval také jejich generování. Stačilo zadat požadovanou délku, zda tam mají být velká, malá písmena, číslice a speciální znaky, které šlo upravit. Takové možnosti nastavení lze jistě chválit, nicméně většina lidí obvykle nic neupravuje a použije původní nastavení.
Pseudonáhodný generátor čísel používaný k výpočtu hesla zde ale trpěl na vážný bezpečnostní nedostatek. Aby byla čísla "náhodnější", používá se tzv. "seed", který je dalším vstupem do funkce generování náhodného čísla. Používá se hodně různých metod, může to být frekvence psaní na klávesnici, pohyb myši, nicméně nejjednodušší stále se měnící hodnotou a nejčastěji používanou, je čas. A právě zde byl kámen úrazu.
Výzkumník Jean-Baptiste Bédrune, který na problém přišel, říká, že během 10 let máme s přestupnými dny 315.619.200 sekund, a tedy KPM dokáže během 10 let vygenerovat jen tento počet unikátních hesel. I když se to může zdát být vysoké číslo, opak je pravdou. Stačí si vygenerovat všechna tato hesla pro všechny časy a pak jen zkoušet, zda to náhodou nebude heslo, které si uživatel nechal vygenerovat pomocí KPM ve výchozí nastavení (tzv. útok hrubou silou - brute force attack). Poněvadž servery většinou ukazují přibližné datum registrace a někdy i přesný čas, pak se úsilí značně zkracuje a víme-li minutu, ve které byl účet založen, stačí nám 60 pokusů. Bylo-li heslo vytvořeno pomocí KPM, pak ho útočník prolomí v průměru na 30 pokusů. Pokud ne, musí zkoušet jiné metody.
Chyba dostala označení CVE-2020-27020 a v novějších verzích aplikace byla opravena. První opravenou variantou je Kaspersky Password Manager 9.0.2 Patch F pro Windows (ta dostala algoritmus BCryptGenRandom místo Mersenne Twister), 9.2.14.872 pro Android a 9.2.14.31 pro iOS.
Zdroj: donjon.ledger.com