Ci sono vari progetti come DNSSEC e DNSCrypt che mirano a prevenire l'avvelenamento del DNS, ecc. L'adozione di questi tipi di tecnologie sta aumentando, ma non ancora del tutto.
Cerchiamo di distinguere tra il controllo del server DNS, il controllo del nome del dominio e il controllo del server web.
Se un utente malintenzionato ha il controllo di un server DNS, può inviarlo al suo server di attacco, ma non può falsificare un certificato attendibile. Questo è facile da vedere poiché otterrai "questo sito non è attendibile".
Tuttavia, se un utente malintenzionato dovesse ottenere le informazioni dell'account per il proprio registrar di dominio, potrebbe registrare il proprio IP con il proprio nome di dominio, che potrebbe quindi incanalare per ottenere un certificato attendibile per tale dominio.
Se un utente malintenzionato ha il controllo del server Web, potrebbe ottenere un certificato attendibile per tale dominio; questo è completamente indipendente dal DNS.
Per i due attacchi successivi, è molto difficile da rilevare. Il monitoraggio degli IP non è molto utile nella maggior parte dei casi, poiché molti siti Web utilizzano il cloud ospitato (Amazon, Azure, Google) dove il loro IP può cambiare giorno per giorno. È possibile monitorare i certificati, un nuovo certificato avrebbe un'impronta digitale diversa, che è possibile rilevare lato client (e potrebbe essere probabilmente automatizzato con un plug-in del browser). Tuttavia, i certificati cambiano legittimamente ogni pochi anni: i certificati scadono dopo un periodo prestabilito in base alla progettazione, quindi questo potrebbe produrre molti falsi positivi.
In breve, se un utente malintenzionato può rubare l'identità di un sito Web tramite il dirottamento del dominio tramite il registrar o semplicemente l'accesso al server Web esistente, è molto difficile per un client rilevarlo. Spetta agli amministratori del sito web assicurarsi di mantenere il controllo della propria identità.
Fino all'ultimo punto su zeroSSL / let's cripta / e quei tipi di fornitori di certificati automatici. Ci sono stati numerosi casi di alto profilo in cui questi sistemi automatici hanno generato certificati che non dovrebbero essere (certificati in cui il controllo del dominio non viene adeguatamente convalidato). In questo caso, l'errore si trova interamente nella CA (ZeroSSL / Let's Encrypt / etc.) E espone il problema inerente consentendo agli algoritmi di gestire la convalida. È veloce ed economico, ma gli algoritmi possono essere ingannati in modi che gli umani intuitivamente sanno essere trucchi.