Cosa sono i DNS e cos’è il DNS poisoning
Immaginate una graziosa città piena di belle location da visitare e di fiumi di turisti che ogni giorno si riversano nelle sue vie.
Di questa città non esistono cartine, e l’unico modo che hanno i turisti per raggiungere le varie mete è affidandosi ad alcune piantine esposte su tabelloni agli ingressi della città.
Immaginate ora che un gruppo di ragazzi, per scherzo o per tornaconto, modifichino nottetempo queste piantine pubbliche, in modo che i nuovi turisti, pensando di visitare una bella location, giungano invece alla discarica pubblica.
La città è Internet, i tabelloni sono i server DNS pubblici (resolver DNS) e i turisti sono i browser degli utenti di Internet.
I ragazzi sono gli hacker che vogliono rubarvi il sito, o meglio: vogliono che un utente sia convinto di essere collegato al vostro sito, quando in realtà è collegato altrove (possibilmente su una copia perfetta del vostro sito ma dove compare una maschera che li invita a inserire i dati della propria carta di credito o altre informazioni riservate).
Finché le indicazioni sui tabelloni non vengono riscritte correttamente, i turisti continuano a recarsi presso destinazioni sbagliate.
Resolver DNS
I resolver DNS (i tabelloni del nostro esempio) sono una rete di server pubblicati su internet che “traducono” in un nome comprensibile per un essere umano l’indirizzo IP di un sito web.
Quando voi digitate www.bls.it, il vostro browser chiede ad una serie di resolver DNS a quale indirizzo IP corrisponde tale nome, e in questo modo può navigare.
Per permettere questo, i resolver DNS ricevono da altri server le informazioni corrette da “girare” agli utenti finali, e le mantengono nella loro memoria (cache) per un certo tempo (TTL = "Time-to-live") che varia a seconda del dominio.
Il punto debole
Questo sistema ha svariati punti deboli, ma quello principale è il fatto che i protocolli dei server DNS sono nati quando Internet era solo una rete tra Università, quindi molto più piccolo e sicuro.
La maggior parte dei DNS non ha modo di verificare l’attendibilità delle informazioni che riceve, ed è quindi possibile (e non troppo difficile) per un hacker fornire informazioni sbagliate, spacciandosi per un server affidabile.
Queste informazioni sbagliate rimangono nella cache del Server Dns per il TTL, modificando il traffico di tutti gli utenti che transitano da quel server per raggiungere il sito (per questo motivo questi attacchi si definiscono anche “Dns Cache poisoning”).
Gli attacchi di questo tipo sono più frequenti di quanto ci si possa immaginare, e non di rado si sentono notizie di utenti che, pensando di trovarsi su un sito web reale, inserivano tranquillamente loro credenziali salvo poi scoprire di essere stati frodati.
Come difendersi?
Al momento l’unica metodo per assicurarsi di non finire vittime di attacchi simili è l’utilizzo di DNSSEC.
DNSSEC è un protocollo basato su chiavi di crittografia pubbliche e private, che fanno sì che i server DNS possano verificare che le informazioni ricevute provengano effettivamente da un server autorizzato a fornirle, chiudendo fuori i tentativi degli hacker.
Purtroppo DNSSEC non è ancora un protocollo molto diffuso: se siete curiosi di sapere su quali domini è implementato, potete utilizzare questo tool.
Non tutti i provider di domini internet sono attualmente in grado di attivare questo servizio.
Chiedete al gestore del vostro dominio di attivare DNSSEC, oppure rivolgetevi ad un provider che lo possa fare.
Per una consulenza approfondita su tutti gli aspetti di sicurezza informatica della vostra azienda, non esitate a contattarci.