Se conoscete i rudimenti di informatica saprete che ogni dispositivo connesso a internet ha un proprio indirizzo IP univoco, eppure per connetterci ad un sito web tipicamente digitiamo una stringa testuale (più o meno) facile e in risposta otteniamo il sito, del quale non vediamo l’IP.
Dunque questa regola non vale sempre? Esistono degli indirizzi testuali oltre agli IP? Ebbene, no.
Quando voi digitate il nome di un sito web entrano all’opera i cosiddetti DNS, che “traducono” l’indirizzo testuale in un indirizzo numerico raggiungibile dal computer.
Ma come funzionano? Ecco una breve spiegazione!
Sul computer
Aprite il vostro browser e digitate l’indirizzo di un sito web.
Da questo momento il vostro PC aspetterà semplicemente una risposta e la palla sarà in mano al vostro server DNS, che è impostato tipicamente a livello di router o di dispositivo.
Il vostro DNS per prima cosa analizza l’indirizzo. Un indirizzo è costituito così:
nomesito.tld.
Il punto è la base, potremmo dire che vuol dire “Internet”. Quel punto dice al DNS di chiedere ai root server, dei server che sanno tutti gli indirizzi dei vari tld, quale indirizzo contattare.
I tld sono i vari .it, .eu, .fr ecc. Ogni TLD ha il suo DNS al quale poi, dopo aver ricevuto la risposta, il vostro DNS richiede informazioni.
Quindi adesso il vostro DNS sa a chi deve chiedere per sapere chi è il DNS competente per nomesito.tld
Questo DNS saprà l’IP del sito, lo darà al vostro DNS ed egli lo darà a voi.
E potrete connettervi.
Un paragone
Applichiamo questo sistema al telefono, fingendo che non esistano omonimi.
Invece del numero immettere nel terminale telefonico i dati della persona da chiamare, per esempio:
Mario Rossi, Ivrea, Torino, Piemonte, Italia.
Per prima cosa il terminale guarderà chi è competente per l’Italia. E passerà al terminale il numero di questo ente.
Il terminale dunque chiamerà questo numero e saprà chi è competente per il Piemonte.
Chiamerà poi il competente del Piemonte e saprà chi chiamare per Torino e poi per Ivrea.
Infine saprà il numero di Mario Rossi e lo chiamerà.
File hosts
Ovviamente chi non vuole fare tutto questo procedimento userà per i numeri più comuni una rubrica con dei nomignoli.
E l’equivalente di tale rubrica in informatica è il file hosts.
Questo file nacque prima dei DNS con l’obiettivo di svolgere appunto la traduzione da nomi a IP.
All’epoca Internet era piccola quindi un compito del genere sembrava fattibile ma con la crescita di ci rese conto che basarsi su un singolo file aggiornato da un singolo ente era quanto più lontano dal concetto di sicurezza e quindi nel 1984 vengono standardizzati i DNS.
Tuttavia hosts esiste ancora ed ha la priorità nella risoluzione di un nome di dominio. Quindi è ancora usato, principalmente per tre scopi:
Il primo è avere nomi brevi per le macchine della rete locale. È più semplice digitare “Raspberry” o “192.168.1.124”? Appunto
Il secondo, molto diffuso prima dei vari AdBlock, era di bloccare via hosts siti pubblicitari e malevoli collegandoli ad un indirizzo inesistente o non raggiungibile.
Il terzo è di avere qualche sito già risolto per le emergenze. Ciò non velocizza internet perché il processo di risoluzione è praticamente istantaneo, ma in caso di crollo DNS, ad esempio, vi permetterà di trovare un DNS provvisorio da usare in emergenza.
Possibili attacchi
Ma ovviamente non è tutto rose e fiori. Il DNS può essere attaccato.
L’attacco può avvenire a livello del computer, a livello di trasporto e a livello di rete.
Nel primo caso è il computer vittima che, infetto, ha dei DNS che risolvono in modo truffaldino alcune richieste inserendo pubblicità o dirottando siti come eBay, PayPal o banche verso siti di phishing.
Nel secondo caso, ora più raro grazie alle contromisure di sicurezza, vengono generate false richieste con lo scopo di fingere di essere il DNS legittimo e mandare una finta risposta truffaldina.
Nel terzo caso invece è uno dei DNS intermedi ad essere modificato e a risolvere in modo truffaldino l’indirizzo. Capita spesso che siti ben costruiti siano protetti nella zona DNS solo da una password breve. Certo mi direte: Mi hackerano, mi arriva una mail, metto a posto e dieci minuti è finito l’hackeraggio.
Ebbene, no.
Il DNS ha una scansione temporale tutta sua, con possibilità che una modifica di pochi minuti abbia effetti per ore.
Infatti ogni risposta DNS ha il parametro TTL, cioè il tempo di vita del pacchetto. In linea di massima prima di questa scadenza la richiesta non viene rieffettuata, permettendo dunque al problema di resistere nonostante la modifica della fonte.