Das Domain Name System (DNS) gehört zu den Erfolgsgeschichten unter den Internetprotokollen und ist heute einer der wichtigsten Dienste in IP-basierten Netzwerken, ohne die das Internet in seiner heutigen Form nicht möglich wäre.
Die Technologie speichert die Zuordnung von IP und Domainnamen und ermöglicht es den Nutzern, menschenlesbare, leicht zu merkende Internetadressen zu verwenden, während die Maschinen auf IP-Adressen angewiesen sind. Seit das DNS entwickelt und eingeführt wurde, gab es immer wieder kleinere Anpassungen und Ergänzungen, aber im Wesentlichen besteht es noch heute überwiegend in seiner ursprünglichen Form.
Die Funktionen im DNS wurden allerdings immer wieder für schädliche Cyberangriffe wie DDoS-Attacken oder zum Sammeln von Daten ausgenutzt, weshalb Erweiterungen des Systems notwendig wurden. Mit diesen Anpassungen sollen der Datenschutz und die Sicherheit der Nutzer steigen. Zwei bemerkenswerte Erweiterungen der letzten Jahre sind DNS-Cookies und DNS over TLS (DoT).
DNS Cookies wurde entwickelt, um die Identität von Clients und Servern nachzuweisen sowie die Authentizität und Integrität der übertragenen Daten sicherzustellen. An dieser Aufgabe ist zuvor die DNSSEC-Technologie gescheitert, die sich nie durchsetzen konnte. Die Gründe dafür waren Sicherheitslücken im Konzept und die umständliche Implementierung. Die zweite Ergänzung, DoT, soll das Datenschutzproblem lösen, das darin besteht, dass die Anbieter eines DNS-Servers Daten über die Nutzer sammeln und Hacker die Anfragen ausspionieren können.
DNS-Cookies validieren Server und Clients
DNS-Cookies sollen viele der Herausforderungen wie DNS Spoofing oder DNS Amplification Attacks meistern, die durch die DNSSEC in manchen Fällen sogar verschlimmert wurde. Gleichzeitig sind sie deutlich einfacher zu implementieren als die Vorgängertechnologie. Ein Client, der DNS-Cookies unterstützt, hängt bei einer DNS-Anfrage ein Cookie an, der ein Hash aus Client-IP, Server-IP und einem Geheimnis ist, sodass der Server von jedem Client konsistente Cookies erhält. Dabei spielen die Details des Geheimnisses keine Rolle, solange sie mindestens 64 Bits lang sind und die Server-Client-Kombination übereinstimmt.
Wenn der Client die Cookies nutzt, sendet er sie bei all seinen Anfragen an einen Server, der sie – wenn er sie nicht unterstützt – einfach ignoriert. Die zu erwartende Fehlerrate bei nicht konformen DNS-Servern war bereits vor zwei Jahren sehr gering und hat seitdem weiter abgenommen. Sofern der Server die Technologie unterstützt und der Client in der Vergangenheit bereits mit dem Server kommuniziert hat, enthält der Client einen Server-Cookie. Wenn der Server eine Anfrage mit einem Client-Cookie erhält, dann tritt einer von drei Fällen ein:
Wenn das Cookie einen Fehler enthält, dann wird eine Fehlermeldung zurückgegeben und Anfragen, die ein ungültiges Server-Cookie enthalten, werden wie Anfragen behandelt, die überhaupt kein Server-Cookie enthalten. Durch diese Funktionsweise können beispielsweise Clients wiederhergestellt werden, wenn sich ihre IP-Adressen geändert haben oder wenn der Server neu gestartet und ein neues Geheimnis ausgewählt wurde.