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

[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

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:

# 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
#
Auf einem betroffenen System werden - wie oben - nscd-Prozesse angezeigt.

Gegenmaßnahmen

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 © 2017 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/


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