Stabsstelle Informationssicherheit der
Universität Stuttgart (RUS-CERT)
https://cert.uni-stuttgart.de
logo
Meldung Nr: RUS-CERT-111

[Generic/TCP] Probleme mit initialen Sequenznummern
(2001-03-16 16:00:36+00)

Quelle: http://www.kb.cert.org/vuls/id/498440

Einige Hersteller implementieren offenbar die in RFC 1948 vorgeschlagene Maßnahmen zur Vermeidung von Angriffen, die auf einer alten Schwäche des TCP-Protokolls beruhen, nicht korrekt.

Betroffene Systeme
Verifiziert für Solaris 2.6/SPARC mit der tcp_strong_iss-Option auf 1 (die Voreinstellung). Bei anderen Systemen herrscht noch Unklarheit. Linux 2.4 scheint nicht betroffen zu sein.

Beschreibung
Im Rahmen eines TCP-Verbindungsaufbaus wählt der Server eine initial sequence number (ISN), die möglichst zufällig gewählt sein sollte, da sonst ein Angreifer diese Schwachstelle ausnutzen kann (siehe RFC 1948). Wegen einiger Eigenheiten des TCP-Protokolls kann die ISN jedoch nicht völlig zufällig gewählt werden, weshalb RFC 1948 eine andere Lösung beschreibt. Offenbar wurde diese von einigen Herstellern nicht korrekt implementiert. Die ISNs scheinen zwar zufällig zu sein, aber mit fortgeschrittenen Methoden ist dennoch die Vorhersage und damit ein Angriff möglich.

Bei Solaris 2.6 beispielsweise wird per Voreinstellung ein Pseudozufallszahlengenerator verwendet, dessen interner Zustand wahrscheinlich durch eine praktische Zahl von erzeugten ISNs ermittelt werden kann, so daß die Vorhersage zukünftiger ISNs möglich wird.

Gegenwärtig gibt es an veröffentlicher Information lediglich ein Schreiben von Guardent, die aber eher den Charakter einer Pressemitteilung hat und die entscheidenden Details nicht erwähnt, so daß weiter spekuliert werden kann, welches Problem tatsächlich vorliegt.

Gefahrenpotential
hoch bis sehr hoch
(insbesondere wenn IP-basierte Authentifizierung verwendet wird).
(Hinweise zur Einstufung des Gefahrenpotentials.)

Gegenmaßnahmen
Bei Solaris: Die tcp_strong_iss-Option auf den Wert 2 setzen (dafür sind root-Rechte erforderlich):

ndd -set /dev/tcp tcp_strong_iss 2
Damit diese Einstellung bei jedem Neustart behalten wird, muß auch noch die Datei /etc/default/inetinit existieren und die folgende Zeile enthalten:
TCP_STRONG_ISS=2

Weitere Information zu diesem Thema

(fw)

Hinweis
Die in diesem Text enthaltene Information wurde für die Mitglieder der Universität Stuttgart recherchiert und zusammengestellt. Die Universität Stuttgart übernimmt keinerlei Haftung für die Inhalte. Dieser Artikel darf ausschließlich in unveränderter Form und nur zusammen mit diesem Hinweis sowie dem folgenden Copyrightverweis veröffentlicht werden. Eine Veröffentlichung unter diesen Bedingungen an anderer Stelle ist ausdrücklich gestattet.

Copyright © 2022 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/


https://cert.uni-stuttgart.de/ticker/article.php?mid=111