heise Security

Alert! Neue BIND-Version schließt Cache-Poisoning-Lücke

Daniel Bachfeld

Das Internet Systems Consortium, Inc. (ISC) hat eine Sicherheitslücke in seinem weit verbreiteten Nameserver BIND [1] beseitigt, die es einem Angreifer erheblich erleichterte, den Cache eines Nameservers zu manipulieren (Cache Poisoning). Damit wäre es möglich gewesen, eigene Einträge einzuschleusen und Namen gegen beliebige IP-Adressen aufzulösen. Dies wird auch bei so genannten Pharming-Attacken [2] genutzt, um Anwender mit ihrem Browser auf gefälschte Webseiten zu führen.

In der Regel sind zwar Konfigurationsfehler für erfolgreiche Cache-Poisoning-Angriffe [3] verantwortlich, diesmal liegt das Problem jedoch in der fehlerhaften Implementierung der Generierung von DNS-Transaction-IDs. Während in den Urzeiten von DNS ein Angreifer zum Manipulieren einer DNS-Transaktionen zwischen zwei Systemen nur den Original-Quellport des verwundbaren Systems kennen musste, musste er mit der Einführung von Transcation-IDs genau diese erraten. Die IDs werden normalerweise per Zufall generiert. Unter BIND 8 gab es noch Probleme mit pseudo-zufälligen IDs, sodass sich eine gültige Transaktion mit einer Chance von 1 zu 600 erraten ließ [4]. In Version 9 wurde dann ein verbesserter Pseudo Random Number Generator eingesetzt (PRNG).

Leider generiert auch der proprietäre PRNG in BIND 9 nicht besonders zufällige Zahlen, wie Amit Klein in einem Fehlerbericht erklärt. Damit erhöht sich die Chance des richtigen Ratens enorm. Je nach Angriffsart soll die Wahrscheinlichkeit für eine richtige Vorhersage einer ID um die 10 Prozent liegen. Allerdings kann der Angreifer auch 10 Queries mit 10 vorhergesagten IDs senden – eine wird schon passen. Für die Vorhersage muss der Angreifer allerdings vorhergehende Transaction-IDs sammeln, wozu er einen eigenen "authorative" Nameserver für eine Domain benötigt. In der Regel stellt dies für Betrüger aber keine hohe Hürde dar.

In der Analyse des Fehlers von Amit Klein ist der Ablauf eines Angriffs beschrieben. Klein wirft dort auch die Frage auf, warum es der führende Anbieter von Nameservern seit Bekanntwerden der Gefahr vorhersagbarer IDs vor 10 Jahren immer noch nicht geschafft hat, einen sicheren Algorithmus zu implementieren.

Betroffen sind alle Versionen von BIND 9, das ISC empfiehlt ein Update auf die Versionen BIND 9.2.8-P1, BIND 9.3.4-P1, BIND 9.4.1-P1 oder BIND 9.5.0a6. Darüber hinaus weist das ISC darauf hin, dass die Access Control List in der Standardeinstellung fehlerhaft ist und rekursive Anfragen erlaubt. Ein Workaround ist im Bericht aufgeführt.

Siehe dazu auch:

  • BIND Vulnerabilities [5], Fehlerbericht des ISC
  • BIND 9 DNS Cache Poisoning [6], Fehlerbericht von Amit Klein
  • DNS forgery pharming using BIND 9 cache poisoning (executive summary) [7], Fehlerbericht von Amit Klein

(dab [8])


URL dieses Artikels:
https://www.heise.de/security/meldung/Neue-BIND-Version-schliesst-Cache-Poisoning-Luecke-154984.html

Links in diesem Artikel:
  [1] http://www.isc.org/index.pl?/sw/bind/
  [2] https://www.heise.de/security/meldung/Neue-DNS-Poisoning-Welle-im-Gang-147922.html
  [3] https://www.heise.de/security/meldung/Viele-DNS-Server-weiterhin-verwundbar-120546.html
  [4] http://www.enterprisenetworkingplanet.com/netsecur/article.php/3496441
  [5] http://www.isc.org/index.pl?/sw/bind/bind-security.php
  [6] http://www.trusteer.com/docs/bind9dns.html#chapter_244
  [7] http://www.trusteer.com/docs/bind9dns_s.html
  [8] mailto:dab@ct.de