Zu wenig Zufall im Zufallszahlengenerator von OpenBSD

Amit Klein hat im Zufallszahlengenerator von OpenBSD sowie von Mac OS X, FreeBSD, NetBSD und DragonFlyBSD Schwachstellen entdeckt, die Angreifer für Cache-Poisoning-Angriffe oder zum Ausspähen von vertraulichen Informationen missbrauchen können.

In Pocket speichern vorlesen Druckansicht 150 Kommentare lesen
Lesezeit: 3 Min.
Von

Der Zufallszahlengenerator (Pseudo Random Number Generator, PRNG) von OpenBSD, Mac OS X, Mac OS X Server, Darwin, FreeBSD, NetBSD und DragonFlyBSD hat dem Sicherheitsforscher Amit Klein zufolge Schwachstellen, die das Erraten der Zufallszahlen ermöglichen. Unter OpenBSD kann dies eine Cache-Poisoning-Attacke ermöglichen, wenn darauf der DNS-Server als Caching Server arbeitet. Die anderen Betriebssysteme lassen sich aufgrund der Schwachstellen identifizieren und beispielsweise die Netzwerktopologie ausspionieren.

Klein hat bereits Mitte vergangenen Jahres ähnliche Schwachstellen im PRNG des DNS-Servers BIND aufgedeckt. Das ISC hat daraufhin eine neue Version des Servers BIND9 veröffentlicht sowie die Unterstützung für den veralteten Server BIND8 eingestellt. Die OpenBSD-Entwickler hatten den PRNG von BIND bereits mit der Einführung von BIND9 als unsicher eingestuft und ihn in der OpenBSD-Version durch einen eigenen ersetzt. Zum Zeitpunkt der Entdeckung der Schwachstellen im BIND-PRNG schien das noch eine gute Idee zu sein, da der OpenBSD-BIND deshalb scheinbar vor Cache-Poisoning-Angriffen gefeit war.

Der PRNG dient im Nameserver zum Erzeugen von Transaction-IDs, die das Unterschieben von gefälschten DNS-Antworten verhindern sollen. Durch die entdeckten Lücken im OpenBSD-PRNG lassen sich jedoch auch dort die Transaction-IDs erraten, wodurch ein Angreifer etwa mit Weiterleitungen für in eine Webseite eingebettete Bilder eine kleine Anzahl an DNS-Anfragen auf einen Server unter seiner Kontrolle lenken, daraus die zukünftigen Transaction-IDs herleiten und gefälschte Adressauflösungen zurückliefern kann. Das ermöglicht beispielsweise Phishing-Angriffe.

Da der OpenBSD-PRNG auch in andere Betriebssysteme integriert wurde, reißt er dort ebenfalls Lücken auf. In seiner Sicherheitsmeldung warnt Klein davor, dass Mac OS X, Mac OS X Server, Darwin, FreeBSD, NetBSD und DragonFlyBSD den OpenBSD-PRNG zum Generieren sogenannter zufälliger IP-Fragmentation-IDs nutzen. Da sich diese erraten ließen, seien unter anderem Idle-Scans mit nmap möglich, mit denen Angreifer Netzwerke ausspähen können.

In der Sicherheitsmeldung schätzt Amit Klein OpenBSD 3.3 bis einschließlich 4.2 als verwundbar für Cache-Poisoning-Attacken ein, möglicherweise sind aber auch frühere Versionen anfällig. Klein zufolge wollen die OpenBSD-Entwickler jedoch keine Software-Aktualisierung herausgeben. In einer Antwort auf seine Fehlerbenachrichtigung sollen sie geschrieben haben, dass sie kein Interesse an dem Problem hätten, da es in der Realität irrelevant sei. Ein bislang ungeklärter Widerspruch, da die OpenBSD-Programmierer genau deshalb den PRNG in ihrer BIND-Version ausgetauscht hatten.

Die erratbaren IP-Fragmentation-IDs will Apples Sicherheitsteam zwar beheben, gab aber keinen Zeitpunkt für die Veröffentlichung eines Updates an. Der Fehler betrifft Mac OS X und den Server in den Versionen 10.0 bis einschließlich 10.5.1 sowie Darwin 1.0 bis 9.1. Die Entwickler von FreeBSD (4.4 bis 7.0 verwundbar), NetBSD (1.6.2 bis 4.0) und DragonFlyBSD (1.0 bis 1.10.1) haben bereits Patches in die jeweiligen Versionskontrollsysteme eingepflegt, die betroffene Administratoren in ihr System einspielen sollten.

Siehe dazu auch:

(dmk)