it-swarm.com.de

Warum funktioniert DNS-Spoofing nicht gegen HTTPS-Sites?

Wie schützt die Verwendung von SSL vor DNS-Parodie? da sich DNS auf einer niedrigeren Ebene befindet und es immer gleich funktioniert, ob der Benutzer eine HTTP- oder HTTPS-Site besucht.

16
Gray

Angenommen, Sie haben es geschafft, den DNS-Cache für securesite.com mit einer von Ihnen kontrollierten IP zu vergiften. Wenn der Client nun https://securesite.com besucht, wird er in Ihre IP-Adresse aufgelöst. Im Rahmen des SSL-Handshake-Prozesses muss Ihr Server ein gültiges Zertifikat für securesite.com senden, das den öffentlichen Schlüssel enthält.

Zu diesem Zeitpunkt haben Sie zwei Möglichkeiten.

1) Senden Sie das legitime Zertifikat. Dies wird ausgecheckt, da das Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle signiert ist. Der Client verschlüsselt dann das Hauptgeheimnis mit dem öffentlichen Schlüssel. Es bricht an dieser Stelle zusammen, da Sie ohne den privaten Schlüssel das Hauptgeheimnis nicht entschlüsseln und somit den Verbindungsaufbau nicht beenden können.

2) Senden Sie ein selbstsigniertes Zertifikat. Da es jedoch nicht von einer vertrauenswürdigen Zertifizierungsstelle signiert ist, wird im Browser des Clients eine Warnung angezeigt. Wenn der Client trotzdem fortfahren möchte, haben Sie den Angriff erfolgreich ausgeführt.

DNS-Spoofing funktioniert auf HTTPS-Websites im Allgemeinen nur, wenn der Client die Warnzeichen ignoriert oder wenn Sie den privaten Schlüssel für die Site erhalten.

23
limbenjamin

Angenommen, Sie fälschen eine Site durch DNS und leiten Benutzer zu einem Server um, den Sie steuern. Dies ist möglich, aber wahrscheinlich nutzlos, wenn Benutzer die https-Version der Website besuchen, da Sie nicht über den privaten SSL-Schlüssel der Website verfügen, die Sie fälschen, und Ihr Opfer keine SSL-Verbindung mit Ihrer gefälschten Website herstellen kann.

Eine alternative Möglichkeit zu etwas Ähnlichem wäre die Verwendung von sslstrip und dns2proxy, aber das ist ein anderes Thema.

3
stanko