De wachtwoordmanager van Kaspersky maakte jarenlang onveilige wachtwoorden aan. De wachtwoordengenerator in de software gebruikte de tijd van een machine als enige vorm van entropie, waardoor wachtwoorden in seconden via bruteforceaanvallen konden worden ontdekt.
Het probleem zit in Kaspersky Password Manager of KPM, een standalone-wachtwoordmanager van het beveiligingsbedrijf die zowel op desktop als op mobiel en in de browser werkt. De kwetsbaarheid werd ontdekt door Donjon, het onderzoeksteam van beveiligingsbedrijf Ledger. Dat beschrijft hoe het bijna twee jaar geleden voor het eerst een lek vond in de software.
De onderzoekers keken specifiek naar de manier waarop de pseudorandomnumbergenerator of prng in de wachtwoordmanager werkte. Dat is het algoritme dat bepaalt welke tekens in het gegenereerde wachtwoord moeten komen. Hoewel de prng van Kaspersky's wachtwoordmanager relatief goed beschermt tegen aanvallen, zit er volgens de onderzoekers wel een kwetsbaarheid in wanneer een aanvaller weet dat een slachtoffer Kaspersky's software gebruikt.
In dat geval is het mogelijk bepaalde onderdelen van een gegenereerd wachtwoord te raden. KPM gebruikt een Mersenne Twister-pnrg waarbij de seed werd afgeleid van enkel de huidige systeemtijd, die werd omgezet in seconden. Daardoor zouden alle installaties van KPM 'precies hetzelfde wachtwoord genereren op dezelfde seconde'. Dat betekent ook dat wachtwoorden makkelijk via een bruteforceaanval kunnen worden achterhaald, zeggen de onderzoekers. "Er zitten 315.619.200 seconden tussen 2010 en 2021 dus dat is het maximale aantal wachtwoorden dat gebruikers met een bepaalde charset kunnen hebben. Dat kan daarom binnen minuten worden gekraakt." Dat geldt wel alleen voor wachtwoorden waarbij de charset, ofwel de lengte van de wachtwoorden, nooit is aangepast. Standaard staat dat bij Kaspersky's software op twaalf tekens.
De onderzoekers hebben inmiddels contact opgenomen met Kaspersky. Het bedrijf heeft de kwetsbaarheid, met code CVE-2020-27020, inmiddels gerepareerd.