Cache Poisoning

Cache Poisoning

Copyright ┬ę Shutterstock / REDPIXEL.PL

Was ist Cache-Poisoning?

Als Cache-Poisoning, auf Deutsch “Cache Vergiftung”, wird ein Hacker-Angriff auf den Cache eines DNS-Nameserver bezeichnet. Bei dieser Attacke werden vom Angreifer ver├Ąnderte Domain Name System-Daten in die Cache-Datenbank des DNS-Nameservers eingef├╝gt.

Ziel

Ziel eines DNS-Cache-Poisoning-Angriffs ist es, eine IP-Adresse zu f├Ąlschen, um Internetnutzer an diese IP-Adresse umzuleiten. Die gef├Ąlschte IP-Adresse bezieht sich fast immer auf einen Server, der vom Angreifer gesteuert wird.

Cache Poisoning Attacken werden h├Ąufig verwendet, um Computerw├╝rmer und andere Malware zu verbreiten. Eine andere Bezeichnung f├╝r Cache-Poisoning ist DNS-Spoofing. Das Domain Name System (DNS) ist ein System, das Dom├Ąnennamen eindeutige IP-Adressen zuordnet. Browser, die eine Verbindung zum Internet oder zu anderen Netzwerken herstellen wollen, ben├Âtigen DNS, um URLs, E-Mail-Adressen und andere von Benutzern lesbare Dom├Ąnennamen in ihre entsprechenden IP-Adressen aufzul├Âsen. Beim Aufruf einer Webseite wird die zu einem Domainnamen geh├Ârende IP-Adresse im DNS-Cache auf einem lokalen Computer, einem Router oder dem DNS-Server des Internetdienstanbieters gesucht. Findet der DNS-Server die gesuchte IP-Adresse, sendet er sie zur├╝ck an den Browser, sodass die Verbindung zur Website aufgebaut werden kann. Dieser Vorgang wird als DNS-Lookup┬ábezeichnet. Der DNS-Server speichert diese Verkn├╝pfung von Domainnamen und IP-Adresse in seinem Cache, um bei einer erneuten Anfrage schneller Antworten zu k├Ânnen.

Wie vergiften Angreifer den DNS Cache?

Angreifer k├Ânnen eine Cache-Poisoning Attacke durchf├╝hren, indem sie sich selbst als DNS-Nameserver ausgeben, und dann die Antwort f├Ąlschen, wenn der DNS-Resolver einen Nameserver abfragt. Dies ist m├Âglich, weil DNS-Server UDP (User Datagram Protokoll) anstelle des Transmission Control Protocol/Internet Protocol (TCP/IP) verwenden und keine ├ťberpr├╝fung der DNS-Informationen erfolgt. Bei der Verwendung des User Datagram Protokolls m├╝ssen beide Kommunikationspartner einen ‘Handshake’ durchf├╝hren, um die Kommunikation einzuleiten und die Identit├Ąt der Ger├Ąte zu ├╝berpr├╝fen. Bei UDP gibt es keine Garantie daf├╝r, dass eine Verbindung ge├Âffnet ist, der Empf├Ąnger bereit ist zu empfangen oder dass der Absender der ist, von dem er sagt, dass er es ist. UDP ist aus diesem Grund anf├Ąllig f├╝r F├Ąlschungen – ein Angreifer kann eine Nachricht ├╝ber UDP senden und so tun, als w├Ąre er eine Antwort von einem seri├Âsen Server, indem er die Header-Daten f├Ąlscht. Wenn ein DNS-Resolver eine gef├Ąlschte Antwort erh├Ąlt, akzeptiert und speichert er die Daten unkritisch. Es erfolgt keine ├ťberpr├╝fung der Richtigkeit der Informationen und, ob die Daten von einer legitimen Quelle stammen.

Warum ist es so?

Diese fehlende ├ťberpr├╝fung ist dadurch bedingt, dass das Domain Name System aus den fr├╝hen Tagen des Internets stammt, als die einzigen beteiligten Parteien Universit├Ąten und Forschungszentren waren. Es gab damals keinen Grund zu erwarten, dass jemand versuchen w├╝rde, gef├Ąlschte DNS-Informationen zu verbreiten.

Trotz dieser Schwachstelle im DNS Prozess sind Cache-Poisoning Angriffe nicht einfach durchzuf├╝hren. Da der DNS-Resolver den autorisierenden Nameserver tats├Ąchlich abfragt, haben Angreifer nur wenige Millisekunden Zeit, um die gef├Ąlschte Antwort zu senden, bevor die echte Antwort vom Nameserver eingeht. Angreifer m├╝ssen au├čerdem eine Reihe von Faktoren kennen oder erraten, um Cache-Poisoning Angriffe durchzuf├╝hren. Angreifer m├╝ssen wissen, welche DNS-Abfragen vom Ziel-DNS-Resolver nicht zwischengespeichert werden, sodass der Resolver den autorisierenden Nameserver abfragt und das Einschleusen der gef├Ąlschten Informationen m├Âglich ist. Zudem muss bekannt sein oder erraten werden, welchen Port der DNS-Resolver verwendet und an welchen autorisierenden Nameserver die Abfrage gestellt wird.

Schutz vor Cache-Poisoning Attacken

Protokolle wie SSL-Secure-Socket-Layer zur verschl├╝sselten Daten├╝bertragung k├Ânnen dazu beitragen, Cache-Poisoning Attacken zu verhindern. Eine weitere Schutzma├čnahme ist die Verwendung von DNSSEC (Domain Name System Security Extensions).

Wissenswert

├ähnlich wie SSL / TLS verwendet DNSSEC eine kryptografische Verschl├╝sselung mit ├Âffentlichem Schl├╝ssel. DNSSEC dient der ├ťberpr├╝fung der DNS-Datenintegrit├Ąt und des Datenursprungs. DNSSEC wurde 2005 ver├Âffentlicht und im Jahr 2010 auf der Stammebene des Internets implementiert.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte