Passwort-Manager sind eine gute Sache, denn die erlauben es, die heute zahlreichen und hoffentlich sicheren Passwörter sammeln zu können, ohne dass man sich jedes einzelne merken muss. Auch Kaspersky hat einen solchen "Safe". Das Problem: Dieser ließ sich leicht knacken.
Was erwartet man sich von einem Sicherheitsunternehmen und einem Passwort-Manager? Die Antwort ist leicht: Dass sie sicher sind. Denn schließlich will man sich auf einen solchen Manager verlassen und dort hunderte und sogar tausende Passwörter generieren und speichern. Doch das war Jahre lang beim Kaspersky Password Manager nicht der Fall, wie ein Sicherheitsforscher namens Jean-Baptiste Bédrune nun aufgedeckt hat (via ZDNet).
Denn der Kaspersky Password Manager (KPM) verwendete eine komplexe Methode zur Generierung seiner Kennwörter. Bédrune: "Ziel dieser Methode war es, Kennwörter zu erzeugen, die für Standard-Kennwort-Cracker schwer zu knacken sind. Diese Methode senkte jedoch die Stärke der generierten Kennwörter gegenüber speziellen Tools."
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.