Schutz vor Cache Poisoning

Wir wissen jetzt, wie DNSSEC DNS-Antworten schützt und wie DoT/DoH/DoQ den DNS-Verkehr verschlüsseln.

„Aber was passiert, wenn ein Angreifer es schafft, den DNS-Cache direkt zu vergiften?“

DNS Cache Poisoning (auch DNS Spoofing genannt) ist einer der gefährlichsten DNS-Angriffe. Der Angreifer manipuliert den Cache eines DNS-Resolvers, sodass eine Domain bzw. ein Hostname auf eine falsche IP-Adresse zeigt. Das Perfide daran: Der Benutzer merkt nichts, denn er hat nichts falsch gemacht, aber das DNS-System liefert ihm die falsche Antwort. Die nachfolgende Abbildung verdeutlicht den Vorgang. Maximiere für bessere Lesbarkeit:

  1. Ein Benutzer fragt seinen DNS-Resolver nach bank.de
  2. Der Resolver leitet die Anfrage an den autoritativen DNS-Server weiter
  3. Bevor die echte Antwort eintrifft, sendet der Angreifer eine gefälschte Antwort mit der richtigen Transaction-ID
  4. Der Resolver speichert die gefälschte Antwort im Cache
  5. Alle weiteren Anfragen für bank.de werden an die IP-Adresse des Angreifers geleitet
  6. Der Benutzer sieht eine täuschend echte Phishing-Seite mit der korrekten URL in der Adressleiste

Cache Poisoning heißt quasi: Das DNS-Telefonbuch wurde manipuliert. Du suchst den richtigen Namen heraus, wirst aber mit der falschen Nummer verbunden.

  • DNSSEC: Haben wir bereits besprochen und bleibt der wirksamste Schutz. Gefälschte Antworten haben keine gültige Signatur und werden vom validierenden Resolver verworfen.
  • Randomisierung des Source-Ports: Jede DNS-Anfrage wird von einem zufälligen Quell-Port gesendet. Der Angreifer muss neben der Transaction-ID auch den korrekten Port erraten. Das macht den Angriff deutlich schwieriger.
  • 0x20 Encoding (DNS Cookie): Ein cleverer Trick: Die Gross-/Kleinschreibung im Domainnamen wird zufällig variiert (z.B. bAnK.De). Die Antwort muss exakt dieselbe Schreibweise enthalten. Ein Angreifer, der die Anfrage nicht gesehen hat, kennt die verwendete Schreibweise nicht und kann die passende Antwort nicht ohne weiteres fälschen.
  • DNS-Cache-TTL begrenzen: Kürzere TTL-Werte (Time to Live) begrenzen die Dauer, für die ein vergifteter Cache-Eintrag gültig ist. Der Nachteil ist, dass der DNS-Traffic im Internet steigt, da die autoritativen Nameserver öfter befragt werden müssen.

„Warum schützen DoT, DoH und DoQ nicht vor Cachepoisoning?“

„Diese Protokolle verschlüsseln und authentisieren die Verbindung zwischen dem Stub Resolver auf dem Endgerät und dem konfigurierten rekursiven DNS-Resolver. Sie verhindern damit Manipulationen auf diesem Übertragungsweg. Sie können aber nicht verhindern, dass der Cache des rekursiven Resolvers bereits vergiftet wurde oder dieser selbst falsche Daten liefert.“

Prüfe, ob du die Schutzmaßnahmen gegen Cache Poisoning einordnen kannst:

Nach oben scrollen