[GNU/libc] nscd hebelt Reverse-Lookup-Verifikation aus
(2002-04-02 12:52:30+00)
Quelle:
http://cert.uni-stuttgart.de/archive/bugtraq/2002/04/msg00002.html
Angreifer können die Rückauflösung von IP-Adressen leicht fälschen, weshalb ein zusätzlicher forward lookup notwendig ist. Durch das Caching von nscd
verliert das Ergebnis des forward lookups jedoch jegliche Authentizität.
Betroffene Systeme
- Systeme, die GNU libc verwenden und bei denen der
nscd
-Dienst aktiviert ist.
Einfallstor
DNS-Antworten mit gefälschten PTR-Records
Auswirkung
Das System, auf dem nscd
läuft, bekommt eine falsche, aber konsistente Sicht auf das Domain Name System vermittelt. Dies kann DNS-basierte Filterregeln (z.B. per tcpwrappers
) aushebeln.
Typ der Verwundbarkeit
design flaw
Gefahrenpotential
mittel bis sehr hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)
Beschreibung
Da Angreifer die Rückauflösung von IP-Adressen (reverse lookup) leicht fälschen können, muß zur Verifikation einer Rückauflösung ein gewöhnlicher forward lookup durchgeführt werden (siehe DNS und reverse mapping). Der Name-Service-Cache-Dämon nscd
untergräbt diesen Mechanismus dadurch, daß er automatisch aus der vom Angreifer fälschbaren PTR-Antwort die nicht so leicht zu fälschende A-Antwort für den forward lookup generiert und diese dem Programm übergibt, welches mit dieser Antwort das Ergebnis des reverse lookups verifizieren möchte. Für diesen Zweck ist die Antwort dann natürlich wertlos, da sie aus derselben, nicht vertrauenswürdigen Quelle stammt.
Hinweis: DNS Spoofing, also das gezielte Beeinflussen der DNS-Sicht eines Hosts, ist wegen einiger Eigenheiten des DNS-Protokolls und zahlreichen Schwächen in verbreiteter DNS-Software in der Regel nicht allzu schwierig. Filterregeln sollte daher nicht auf DNS-Einträgen basieren, sondern auf IP-Adressen. (Im übrigen ist natürlich auch von der Authentifizierung über IP-Adressen abzuraten.)
Feststellen der Verwundbarkeit
Es sind nur Systeme betroffen, auf denen nscd
läuft. Der entsprechende Prozeß trägt den Namen nscd
; solche Prozesse können mit folgendem Kommando ermittelt werden:
Auf einem betroffenen System werden - wie oben -# ps ax | grep '[n]scd' 14739 ? S 0:00 /usr/sbin/nscd 14740 ? S 0:00 /usr/sbin/nscd 14741 ? S 0:00 /usr/sbin/nscd 14742 ? S 0:00 /usr/sbin/nscd 14743 ? S 0:00 /usr/sbin/nscd 14744 ? S 0:00 /usr/sbin/nscd 14745 ? S 0:00 /usr/sbin/nscd #
nscd
-Prozesse angezeigt.
Gegenmaßnahmen
- Deaktivierung von
nscd
, beispielsweise durch Deinstallation des enthaltenden Pakets. - Alternativ kann auch folgende Zeile in die Datei
/etc/nscd.conf
eingefügt werden:enable-cache hosts no
Weitere Information zu diesem Thema
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=768