Eine der Methoden des KPM war es, Buchstaben, die nicht so häufig vorkommen, verstärkt einzusetzen, um Cracker-Tools, die mit Brute-Force-Ansätzen arbeiten, auszutricksen. Das sei laut Bédrune zwar eine "clevere" Idee, hat aber einen Nachteil: Sie kann leicht ausgenutzt werden, wenn man speziell KPM-Passwörter angreift bzw. auslesen will.
Kein Zufall, Systemzeit
Das war aber nicht der eigentliche Fehler: Denn der KPM verwendete die aktuelle Systemuhrzeit in Sekunden als Mersenne-Twister-Pseudozufallszahlengenerator. Das hat eine schwerwiegende Folge, wie der Sicherheitsforscher erläutert: "Das bedeutet, dass jede Instanz von Kaspersky Password Manager auf der Welt zu einer bestimmten Sekunde genau dasselbe Kennwort generiert."Der Grund, warum das nicht schon längst jemanden aufgefallen ist, liegt in einer Animation begründet, die beim Generieren des Passworts zu sehen ist und die länger als eine Sekunde dauert. "Die Folgen sind offensichtlich schlecht: Jedes Passwort könnte per Brute Force geknackt werden", so Bédrune. "Zwischen 2010 und 2021 gibt es 315619200 Sekunden, sodass KPM maximal 315619200 Kennwörter für einen bestimmten Zeichensatz generieren könnte. Das Erzwingen der Passwörter dauert nur ein paar Minuten."
Dass es dann doch nicht ganz so einfach war, lag an einem (unbeabsichtigten) Entropie-Faktor, nämlich einem fehlerhaften Algorithmus. Kritik gibt es auch an der Reaktion des Herstellers: Kaspersky wurde bereits 2019 über die Lücke informiert, reagierte aber nur zögerlich. Ein Update gab es zwar einige Monate später, doch für eine neue Version der Anwendung brauchte man mehr als ein Jahr - die Offenlegung der Lücke folgte gar erst dieses Jahr.