MIPS-Router mit Entropieproblemen

Die MIPS-Ausgabe von Linux erzeugt Zufallszahlen mit Hilfe von fragwürdigen Entropiewerten, was die Angreifbarkeit von kryptografischen Schlüsseln erhöht. Dies betrifft eine ganze Reihe von Routern für den Endverbraucher-Markt.

In Pocket speichern vorlesen Druckansicht 153 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Fabian A. Scherschel

Die get_cycles() Funktion des Linux-Kernels gibt auf MIPS-Systemen statt den aktuell verstrichenen CPU-Takten immer den Wert 0 zurück. Auf diesen Umstand hat Linux-Kernel-Entwickler Ted Ts'o die Entwickler des OpenWRT-Projektes hingewiesen. Dies ist problematisch, da einige Pseudo-Zufallszahlengeneratoren diesen Wert als Entropiequelle nutzen. Viele auf den Endverbraucher-Markt abzielende Router und WLAN-Access-Points basieren auf MIPS-Linux-Plattformen und sind höchstwahrscheinlich von diesem Problem betroffen, was die Angreifbarkeit jeglicher kryptografischer Schlüssel, die auf diesen Geräten generiert wurden, beträchtlich erhöht.

In Einsatzgebieten, die starke Verschlüsselung erfordern, wie etwa beim Aufbauen von SSL-Verbindungen oder beim VPN-Tunneling, sollte man sich auf Geräte mit einem derart kompromittierten Zufallszahlengenerator besser nicht verlassen. OpenWRT-Entwickler Dave Taht, der das Problem in der Entwickler-Mailingliste zuerst ansprach, bezeichnete den Umstand selber als "wirklich nicht sehr gut". Bis ein Patch das Grundproblem behebt, muss jeglicher Linux-Code auf der MIPS-Platform der Pseudo-Zufallszahlen mit Hilfe von get_cycles() erzeugt als problematisch angesehen werden.

[Update 10.09.2013 10:33]

Der ursprüngliche Patch um get_cycles() immer 0 zurückgeben zu lassen, geht auf den MIPS-Linux-Chefentwickler Ralf Bächle zurück und stammt von 2007. Als Grund für die Änderung gab Bächle damals an, einen fehlerhaften Prozessor-Befehl und Kompatibilitätsprobleme mit R4000- und R4400-Chips umgehen zu wollen.

Siehe auch:

(fab)