DNSSEC, cos'è, come funziona e come proteggerà dagli attacchi phishing
DNSSEC spazza via gli attacchi MITM, le aggressioni cache poisoning nei confronti dei server DNS e le truffe informatiche. In che cosa consiste e come funziona.
Cosa sono e qual è il ruolo dei server DNS è ormai chiaro: essi si occupano di risolvere i nomi a dominio permettendo al browser di ottenere l'indirizzo IP pubblico corrispondente all'indirizzo mnemonico digitato dall'utente nella barra degli URL (esempio: www.google.it).
Da anni si parla del protocollo DNSSEC come valida soluzione per mettere un freno agli attacchi phishing e certificare in maniera inoppugnabile che il sito web che si sta visitando è proprio quello che dichiara di essere. Certo, i certificati digitali unitamente con l'utilizzo di HTTPS sono un'ottima soluzione per attestare l'identità di un sito web ma in passato abbiamo assistito all'emissione di certificati fasulli
DNSSEC (Domain Name System Security Extensions) è un insieme di specifiche approvate da IETF, organismo internazionale, libero, composto da tecnici, specialisti e ricercatori interessati all'evoluzione tecnica e tecnologica di Internet, che fino ad oggi non sono state universalmente abbracciate.
DNSSEC è nato in primis per arginare i cosiddetti attacchi cache poisoning che mirano ad alterare il contenuto della cache dei server DNS così da fornire risposte alterate alle interrogazioni provenienti dai sistemi client.
Utilizzando DNSSEC si possono fronteggiare gli attacchi cache poisoning e le aggressioni di tipo man-in-the-middle (MITM) verificando l'integrità di richieste e risposte durante la risoluzione dei nomi a dominio.
Non tutti i TLD (Top Level Domain) supportano DNSSEC. I seguenti, ad esempio, sono più compatibili: .com, .be, .net, .eu, .fr, .pl, .re, .pm, .yt, .wf, .tf, .info, .li, .ch, .biz, .de, .sx, .org, .se, .nl, .in, .us, .at, .nu, .la, .ac, .cz, .me, .sh, .io, .uk, .co.uk, .me.uk, .org.uk, .paris, .club, .xyz, .wiki, .ink. Di recente anche il Registro .it ha attivato la possibilità di inserimento e gestione dei record.
In ambiente Linux per verificare se un TLD supporta l'utilizzo delle specifiche DNSSEC e, quindi, dei record basta digitare il comando seguente (al posto di it basta digitare il TLD da controllare): dig +short DNSKEY it
Come funziona DNSSEC
Il protocollo DNSSEC poggia sull'utilizzo della crittografia asimmetrica e, di conseguenza, usa uno schema che prevede l'impiego di due chiavi: una chiave privata e una pubblica.
Quando un utente accede a un sito web viene inviata una richiesta di risoluzione del nome a dominio al server DNS.
Se la corrispondenza tra indirizzo IP non fosse già nota a livello locale, allora il sistema interroga il server DNS impostato dall'utente (nelle impostazioni dell'interfaccia di rete oppure a livello di modem router/server DHCP). Se il server DNS interpellato non conoscesse l'IP corrispondente al nome a dominio indicato allora si attiva il cosiddetto meccanismo della ricorsione: si parte dalla radice interrogando uno dei server root nel dominio di primo livello, si ottiene il server che lo gestisce, si procede con un'interrogazione nel dominio di secondo livello fino a raggiungere il server autorevole per il nome desiderato.
Nel caso di DNSSEC, in caso di disponibilità di record DS, viene richiesta la chiave che consente al server di verificare che le informazioni ricevute siano identiche al record presente sul server autoritativo per il nome a dominio indicato.
Se il server ricorsivo determina che il record dell'indirizzo è stato inviato dal server autoritativo e non è stato modificato durante il percorso, il nome a dominio viene risolto e l'utente può accedere al sito (procedura di convalida).
Diversamente, se il record fosse stato modificato o non provenisse dall'origine indicata, il server ricorsivo non consente al browser di raggiungere quello che a tutti gli effetti viene considerato un indirizzo fraudolento diverso da quello ufficiale.