Blog von Johannes Lötzsch

Welchen Servern muss ein DNSSEC-Client vertrauen?

Wed, 26 May 2010

Tags: DNSSEC, Angriff, Keyserver-Hierarchie, Redundanz, Kontrolle

In der gestrigen Pentaradio-Sendung ging es um das Domain Name System (das „Telefonbuch des Internets“, welches leicht einprägsame Domainnamen wie pentamedia.c3d2.de. in IP-Adressen wie 78.46.96.112 übersetzt).

Gegen Ende haben wir auch das Thema DNSSEC angeschnitten; dabei handelt es sich um eine Erweiterung, die Authentizität und Integrität von Transaktionen sicherstellen soll.

Zum Schluss hat Astro noch eine Idee zu einem möglichen Angriff auf DNSSEC geäußert: Wenn eine Internetzensur von der Regierung beschlossen wird, dann könnten sie die DENIC anweisen, die Schlüssel der zu zensierenden darunter liegenden Domains zu fälschen. Ich habe nicht sofort verstanden wie er sich diesen Angriff genau vorstellt, es mir aber nach der Sendung nochmal erklären lassen und über Abwehrmaßnahmen nachgedacht. Im folgenden meine Gedanken zu diesem Szenario — Anmerkungen sind willkommen (jabber, mail oder öffentlich per twitter)…

Der Angriff funktioniert so: Er geht davon aus, dass sich einer der authoritativen Nameserver einer Zone, die Teilmenge der angegriffenen Domain ist, am Angriff beteiligt (in unserem Beispiel soll sich der für de. zuständige NS am Angriff gegen c3d2.de. beteiligen). Wenn dieser einen falschen DNSKEY für eine Anfrage zurück gibt, können beliebig gefälschte Antworten mit dem zu DNSKEY gehörigen privaten Schlüssel signiert werden. Ein DNSSEC-Client muss immer allen beteiligten authoritativen NS vertrauen können.

Eine triviale Möglichkeit dieses Problem zu Lösen stellt redundante Auslegung der kritischen (Key-)Server dar. Wenn für jede Zone mindestens ein unkompromittierter befragt wird, können Angriffe sicher entdeckt werden.

Für den Inhaber der betroffenen Domain gibt es eine weitere Variante um Fälschungen aufzudecken: Da er selbst die richtige Antwort kennt, kann er einfach die korrekte Funktionsweise aller authoritativen NS für seine Domain testen. Wenn mit Hilfe eines geeigneten Verfahrens (auf digitale Signaturen basierend) eine gefälschte Antwort nachgewiesen werden kann, wird dadurch die Authentizität des betreffenden NS widerlegt sein — Er kann rechtlich belangt werden und die Glaubwürdigkeit des betreffenden Unternehmens sollte ersthaft geschädigt sein. Ein kommerzieller Anbieter (zu dem Alternativen bestehen) wird ein solches Risiko mit hoher Wahrscheinlichkeit nicht eingehen.

Fazit:

Der beschriebene Angriff ist prinzipiell möglich und muss unbedingt bedacht werden! Bei ausreichender Beachtung (Kontrolle) sollten er jedoch in der Praxis keine große Verbreitung finden.

Für alle die selber Lust haben etwas mit DNSSEC rumzuspielen, kann ich die Materialien des Workshops auf den letzten Chemnitzer Linuxtagen weiterempfehlen…

  Flattr this
Feedback, Korrekturen, Fragen & Input bitte an blog@johannesloetzsch.de

Subscribe this Feed… Valid XHTML 1.0 Strict CSS ist valide! Flattr this