In che modo l'utilizzo di SSL protegge la contraffazione? dal momento che il DNS è a un livello inferiore e funziona sempre allo stesso modo se l'utente sta visitando un sito HTTP o HTTPS.
Supponiamo di essere riuscito ad avvelenare la cache DNS per securesite.com con un IP che controlli. Ora, quando il cliente visita il link , si risolverà sul tuo indirizzo IP. Come parte del processo di handshake SSL, il tuo server dovrà inviare un certificato valido per securesite.com che contiene la chiave pubblica.
A questo punto, hai 2 opzioni.
1) Invia il certificato legittimo. Verificherà poiché il certificato è firmato da una CA attendibile. Il client quindi crittograferà il master secret utilizzando la chiave pubblica. Si rompe a questo punto, perché senza la chiave privata, non è possibile decodificare il master secret e quindi non è possibile completare la configurazione della connessione.
2) Invia un certificato autofirmato. Tuttavia, poiché non è firmato da una CA attendibile, verrà visualizzato un avviso nel browser del client. Se il cliente sceglie di procedere comunque, ha eseguito correttamente l'attacco.
Lo spoofing del DNS generalmente non funziona sui siti Web HTTPS a meno che il client non scelga di ignorare i segnali di avviso o se riesci a ottenere la chiave privata per il sito.
Supponiamo che DNS spoofino un sito e reindirizzi gli utenti a un server che controlli. Questo è possibile, ma probabilmente non è utile se gli utenti visitano la versione https del sito poiché non hai la chiave SSL privata del sito che stai spoofing e la tua vittima non sarà in grado di stabilire una connessione SSL con il tuo sito fasullo.
Un modo alternativo a qualcosa di simile sarebbe usare sslstrip e dns2proxy, ma questo è un altro argomento.
Leggi altre domande sui tag tls dns-spoofing