Fehler in Software für ZigBee-Funkmodule erleichtert Lauschangriff

Texas Instruments' freier Protokollstack für die drahtlose Kommunikation von ZigBee-Funkmodulen weist eine Schwäche bei der Erzeugung von Pseudozufallszahlen auf, durch die sich die verschlüsselte Kommunikation leichter abhören lässt.

In Pocket speichern vorlesen Druckansicht 35 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Daniel Bachfeld

Texas Instruments' (TI) freier Protokollstack (Z-Stack) für die drahtlose Kommunikation von ZigBee-Funkmodulen weist eine Schwäche bei der Erzeugung von Pseudozufallszahlen auf, durch die sich die verschlüsselte Kommunikation leichter abhören lässt. Das berichtet der Entwickler Travis Goodspeed in seinem Blog. Goodspeed hatte bereits des Öfteren mit seinen kryptografischen Analysen von ZigBee-Modulen von sich Reden gemacht.

Aufgrund der Schwäche könnten Angreifer auch beispielsweise die drahtlose Kommunikation von Automatisierungsanlagen, Sensoren und anderen Geräten belauschen und möglicherweise sogar auf die Geräte zugreifen. Insbesondere in Zusammenhang mit der Verbreitung von intelligenten Stromzählern in den USA wird die Schwachstelle interessant. Je nach Stromanbieter sollten die Daten von den Zählern auch per ZigBee an eine Basisstation gelangen.

Knackpunkt ist, dass die vom Zufallszahlengenerator (PRNG) erzeugten Zahlen vorhersagbar sind. Mit ihnen werden aber wiederum die zur asymmetrischen Verschlüsselung benutzten "Elliptic-Curve-Cryptography"-Funktionen (ECC) initialisiert. In der Folge lässt sich nicht nur der verwendete ECC-Schlüssel leichter berechnen, auch lässt sich anschließend der per ECC-Verschlüsselung übertragene AES-Schlüssel für die symmetrische Kommunikation mit anderen ZigBee-Modulen knacken.

Die Gründe für das Problem sind laut dem Entwickler Travis Goodspeed vielfältig: Zum einen ist die geringe Länge des Seeds zum Initialisieren des PRNG mit 16 Bit zu kurz geraten. Zudem verwendet der Z-Stack eine relativ unsichere Variante eines Linear Feedback Shift Register (LFSR) zur Erzeugung der (Pseudo-)Zufallszahlen. Darüber hinaus besitzt das Seed selbst nur eine geringe Entropie, wie Versuche von Goodspeed zeigten. Zwar wird als Seed ein digital umgewandeltes Analogsignal aus dem Funkmodul benutzt, die Werte streuen jedoch offenbar weniger als man erwartet. Des Weiteren unterstützt der Stack kein Reseeding – solange das Modul an ist, erzeugt das LFSR die Zahlen immer aus dem gleichen Seed.

Betroffen sind ZigBee-Module mit integrierten 8051-kompatiblen Controllern wie dem CC2430 und CC2530 mit Z-Stack-Version 2.2.2-1.30; vorherige Versionen enthalten den Fehler ebenfalls. TI plant die Version 2.3 des Z-Stack zu veröffentlichen, in der ein verbesserter PRNG zum Einsatz kommen soll.

Siehe dazu auch: