04.09.2024 16:19
YubiKeys klonen?
Dass Passwörter allein zum Anmelden im Netz nicht der Weisheit letzter Schluss sind, wissen wir schon lange. Ein vielversprechender Ansatz, das alles viel besser zu machen ist FIDO2 / Webauthn / Passkeys.
Die populärste Implementation dieses Standards in der Form eines USB-Sticks kommt von Yubico, die YubiKeys. Heute gab es dazu eine reißerische Meldung: diese lassen sich klonen. Nachzulesen bei Ars Technica, Heise oder direkt bei NinjaLab, die die Schwachstelle gefunden haben.
Das ist mal klarerweise nicht gut.
Aber wie so oft bei Schlagzeilen dieser Art lohnt es sich, genauer zu lesen, was eigentlich passiert ist, und wie realistisch die Angriffe wirklich sind.
Hier ist meine Einschätzung
- Das Ganze ist kein Fehler von Yubico, sondern von Infineon. Deren proprietäre Software für ihre Sicherheitschips, die die mathematischen Basisoperationen implementiert, auf denen Kryptographie basiert, hat ein Problem: Aus der Laufzeit einer Operation kann man Rückschlüsse auf den verarbeiteten Schlüssel ziehen.
- Es trifft daher nicht nur YubiKeys, sondern noch andere Produkte. Die YubiKeys waren nur aufgrund ihrer Verbreitung das Testobjekt von NinjaLab. Da werden noch einige spannende Fälle dazukommen.
- Neuere YubiKeys verwenden eine andere Library, der beschriebene Angriff funktioniert ab Firmwareversion 5.7 nicht mehr. Ein Update der Firmware ist bei YubiKeys nicht vorgesehen. Ob die neue fehlerfrei ist, oder bloß andere Probleme hat, kann man nicht wissen.
- Der Angriff braucht den physischen Zugriff auf den YubiKey, und ermöglicht, einen Klon herzustellen, mit dem man sich dann auch anmelden kann. Es ist kein Angriff über das Internet (oder USB oder NFC), es gibt keine Möglichkeit, alle YubiKeys da draußen mit irgendwelchen Scans, Würmern, Malware oder sonstiger böse klingender Software anzugreifen.
- Für den Fall, dass der YubiKey einfach nur gestohlen (oder verloren) wird, bringt die Schwachstelle keine weitere Angriffsfläche.
- Das Szenario eines erfolgreichen Angriffs ist daher das „Ausleihen“ des Sticks. Der Angreifer verschafft sich temporär Zugang zum YuibKey, macht seine schwarze Magie und gibt den Stick zurück, damit der Eigentümer keinen Verdacht schöpft.
- Das Problem mit dem Zurückgeben ist, dass es für den Angriff nötig ist, den Sicherheitschip freizulegen. Das ist schon mal nicht ganz einfach, zusätzlich müssen vor der Rückgabe die entstandenen Spuren verwischt werden, was auch nicht trivial ist.
- Der YubiKey ist meist nur der 2. Faktor, der erst nach Username/Passwort zum Tragen kommt.
Damit ergibt sich für mich, dass ich keine Hemmungen habe, meinen privaten YubiKey mit Firmware 5.2.7 weiter zu nutzen.
Lessons (re-)learned
- Der Schritt von mathematischer sicherer Kryptographie zu einer sicheren Implementation dieser Algorithmen in echten physikalischen Systemen ist ein langer und schwieriger. Es gibt hier jede Menge Fallstricke.
- Der beschriebene Angriff über einen laufzeitbasierten Seitenkanal ist nicht neu. Es ist erschreckend, dass Infineon Software verkauft, die das nicht berücksichtigt.
- Sicherheitszertifizierungen haben nur beschränkten Wert. NinjaLabs schreibt:
This vulnerability – that went unnoticed for 14 years and about 80 highest-level Common Criteria certification evaluations – is due to a non constant-time modular inversion.
Das ist ernsthaft enttäuschend. Man beachte dazu den Artikel 28 der NIS2 Richtlinie.