Domini e indirizzi IP
Oggi i motori di ricerca dominano il World Wide Web. Ad esempio, per visitare il sito web di Increase Your Skills GmbH, pochissimi utenti inseriscono direttamente il dominio increaseyourskills.com nella barra degli URL del proprio browser web. Invece, la maggior parte digita qualcosa come "corsi increase your skills" o "protezione dei dati increase your skills" per far sì che un motore di ricerca elenchi alcuni risultati, e poi clicca sul primo risultato pertinente per arrivare finalmente al sito web desiderato. Questo è comodo e, per molti, è il modo abituale di utilizzare i servizi del World Wide Web. Ma se conosciamo già il dominio di un servizio, allora le deviazioni attraverso un motore di ricerca sono sostanzialmente superflue: possiamo andare direttamente al dominio del servizio desiderato. Ciò contribuisce a risparmiare dati per i motori di ricerca e ci impedisce di selezionare accidentalmente il risultato di ricerca sbagliato.
Domini come increaseyourskills.com o elearning.increaseyourskills.com o shop.increaseyourskills.com svolgono in Internet e nel World Wide Web il compito degli indirizzi postali: servono come indirizzi per la rispettiva area appartenente a una certa persona o istituzione. Per orientarsi nel World Wide Web, questo è sostanzialmente tutto ciò che occorre sapere sui domini e sugli indirizzi in Internet. Ma, come spesso accade nella tecnologia dell'informazione, questa è solo una mezza verità. Tecnicamente parlando, non sono le persone a scambiarsi dati su Internet, ma i computer. Ma i computer non si indirizzano l'un l'altro tramite domini come increaseyourskills.com, bensì tramite i cosiddetti indirizzi di protocollo Internet, o in breve indirizzi IP, come 81.169.145.162 o 195.201.99.19 o 23.227.38.74. In definitiva, i domini non sono altro che pseudonimi più amichevoli per questi indirizzi IP, poiché le parole e le sequenze di parole sono più facili da ricordare per noi umani rispetto alle sequenze di numeri.
Il sistema dei nomi di dominio
A ogni dominio valido viene assegnato un indirizzo IP. Ad esempio, prima che un computer portatile o uno smartphone possa contattare il dominio increaseyourskills.com, questo dominio deve essere tradotto nell'indirizzo IP corrispondente. Tuttavia, nessun computer ha memorizzato un elenco di tutti i domini e degli indirizzi IP corrispondenti. Quindi, come fa il nostro computer portatile o smartphone a scoprire quale indirizzo IP si nasconde dietro il dominio increaseyourskills.com? È qui che entra in gioco il cosiddetto Domain Name System (o DNS). Il Domain Name System è il servizio di rete in cui ogni computer può richiedere l'indirizzo IP assegnato a un dominio valido.
Per un dominio che un computer visita spesso o che ha visitato di recente, conosce già l'indirizzo IP. In caso contrario, richiede l'indirizzo IP al server DNS successivo. Nel caso di una connessione Internet fissa, si tratta solitamente del router di rete locale, che regola il traffico di dati tra i computer registrati nella WLAN o LAN locale e Internet. Se il router di rete locale non conosce l'indirizzo IP di un determinato dominio, chiede nuovamente questa informazione al server DNS più vicino. Di solito si tratta di un server DNS gestito dal provider Internet responsabile della connessione Internet locale. La maggior parte dei provider Internet ha diversi server DNS in funzione a questo scopo. Se nemmeno i server DNS del provider Internet conoscono l'indirizzo IP di un determinato dominio, contattano nuovamente il server DNS più vicino. Su Internet esiste una rigida gerarchia di tali server DNS. Per ogni dominio viene stabilito con precisione quale server DNS ha, per così dire, l'ultima parola per questo dominio. In questo modo si evita, tra l'altro, che i server DNS su Internet si chiedano l'un l'altro all'infinito l'indirizzo IP corrispondente a un dominio liberamente inventato.
Spoofing DNS
Il compito principale di un server DNS è quello di rispondere alle richieste dei computer che vogliono conoscere l'indirizzo IP associato a un determinato dominio. Se riusciamo a far sì che un server DNS risponda a tale richiesta non con l'indirizzo IP effettivo, ma con un altro indirizzo IP fornito da noi, stiamo effettuando un DNS spoofing. In questo modo, lo scambio di dati tra il terminale di un utente e un server su Internet può essere reindirizzato a un altro server.
Un bersaglio facile per lo spoofing DNS è il router della rete locale nella rete domestica o aziendale perché, nella maggior parte dei casi, è il primo server DNS che i computer della rete locale contattano. Supponiamo di avere accesso amministrativo al router di rete. In questo caso, è facile inserire ulteriori voci DNS e reindirizzare il traffico di dati per determinati domini ad altri server. In assenza di ulteriori misure di sicurezza, sarebbe facile, ad esempio, ingannare gli utenti della rete locale facendogli credere che stanno visitando un determinato sito web, mentre in realtà stanno visitando una copia manipolata di quel sito.
La manipolazione dei server DNS di un provider Internet o di un'infrastruttura Internet più profonda richiede invece competenze avanzate in materia di reti informatiche e protocolli di rete. Esistono numerosi scenari di attacco noti al DNS. Molti di questi sono solo storicamente rilevanti perché il DNS viene continuamente sviluppato e rafforzato contro tali attacchi. Ad esempio, con il DNSSEC, esiste una serie di estensioni per il Domain Name System che consentono di autenticare in modo crittografico le risposte di un server DNS. Purtroppo, il protocollo DNSSEC non è ancora molto diffuso.
Rilevamento dello spoofing DNS
Per gli amministratori di rete e gli altri utenti con un'affinità con la tecnologia, esiste un software che può essere utilizzato per effettuare un audit DNS appropriato. Ogni comune distribuzione Linux contiene il toolbox DNSDiag, disponibile gratuitamente, che può essere utilizzato per analizzare le risposte DNS, ad esempio per determinare se una query DNS è oggetto di un attacco man-in-the-middle. Nell'uso normale e quotidiano di Internet e del World Wide Web, è attualmente molto difficile determinare se un falso indirizzo IP ci viene propinato tramite spoofing DNS. Il fatto che il nostro dispositivo finale si fidi, per così dire, ciecamente delle risposte del server DNS è nella natura delle cose senza l'autenticazione crittografica delle risposte DNS.
Fortunatamente, oggi il trasferimento di dati su Internet è, nella maggior parte dei casi, protetto da un protocollo crittografico chiamato TLS. Sul World Wide Web, riconosciamo l'uso di TLS dal fatto che l'indirizzo nella barra degli URL non inizia con http://, ma con https://. I browser Web moderni visualizzano anche un piccolo lucchetto davanti all'indirizzo per indicare che la connessione è protetta da TLS. Se la connessione al server è protetta da TLS, lo spoofing DNS può ancora causare il reindirizzamento delle richieste a un server sbagliato, ma grazie a TLS il dispositivo finale riconosce che non si tratta del server giusto e interrompe la comunicazione.
Pertanto, quando navigate quotidianamente, cercate il piccolo lucchetto nella barra degli URL e assicuratevi che https:// preceda qualsiasi indirizzo web. In questo modo il protocollo TLS vi proteggerà anche dalle conseguenze di un attacco di spoofing DNS.