DI COSA PARLIAMO QUANDO PARLIAMO DI… FILE HOSTS
Il file hosts è un semplice file di testo, presente in tutti i sistemi operativi, che permette di associare un nome host a uno specifico indirizzo IP, senza bisogno di contattare il server DNS. Un file piccolo piccolo, che però svolge una funzione importante e che se viene manomesso da un malintenzionato può dare origine a seri problemi. 

 

Massimo Morelli

A cosa serve il file hosts

file hosts

configurazione tipica di un file hosts

Non molti ne sono consapevoli, ma nei nostri computer esiste un file chiamato ‘hosts’ che gioca un ruolo cruciale per la nostra sicurezza informatica. Sintetizzando, è un file che svolge lo stesso ruolo del server DNS, ovvero attribuisce dei nomi host a degli indirizzi IP. Gli uomini ricordano facilmente i nomi (in questo caso i nomi di dominio), mentre i computer si trovano meglio a processare i numeri (in questo caso gli indirizzi IP, stringhe di quattro numeri da 0 a 255 divisi da punti). Di qui l’utilità del server DNS e del file hosts che abbinano nomi a numeri. La differenza è che, mentre i dati del server DNS sono presenti in rete presso i cosiddetti nameserver (server su cui è installato il software DNS), il file hosts non è in rete, ma risiede direttamente sul nostro computer. E qui sta il bello.
Di fatto, il file hosts è una specie di residuo fossile di un’era informatica precedente. All’inizio, quando la rete si chiamava Arpanet, i siti erano pochi e la corrispondenza tra i loro nomi host e gli indirizzi IP era garantita da un file chiamato ‘hosts’, il quale veniva compilato direttamente dallo Stanford Research Institute e poi inviato a tutti i membri della rete. Questo tipo di procedura che potremmo definire artigianale si è via via evoluta, ma ben presto le dimensioni della rete e il numero dei siti esistenti l’hanno resa impraticabile. Serviva un sistema diffuso, ovvero raggiungibile in diversi punti della rete, che conservasse le informazioni relative ai nomi di dominio sulla rete medesima e non sui terminali. Serviva, insomma, quello che oggi chiamiamo Domain Name System (DNS).

Dove si trova il file hosts

Nonostante la sua funzione principale sia praticamente in disuso, quando ci colleghiamo ad un servizio in rete le nostre macchine, prima di contattare il server DNS, vanno sempre a vedere se all’interno del file hosts non ci sia qualche indicazione. Ecco dove si trova il file hosts nei vari sistemi operativi:

  • Windows: C:\Windows\System32\drivers\etc\hosts
  • macOS: /private/etc/hosts (accessibile anche tramite il link simbolico /etc/hosts)
  • Linux: /etc/hosts
  • Android: /system/etc/hosts
  • iOS: /etc/hosts

Come si può modificare il file hosts

Nella maggior parte dei casi, il nostro file hosts appare più o meno così:

127.0.0.1 localhost
::1 localhost

C’è ben poca informazione, in quanto alla fine si dichiara solo che se un’applicazione residente sul nostro computer vuole mettersi in contatto con il sistema operativo del nostro computer deve riferirsi all’indirizzo IP 127.0.0.1. Fa fine, ma sicuramente non impegna. Il file hosts.txt è un semplice file di testo e quindi per modificarlo è sufficiente servirsi di un editor qualunque. Una volta aperto il file scriviamo sulla sinistra l’indirizzo IP a cui vogliamo far puntare un certo dominio, che invece andiamo sulla destra. Il format è il seguente: indirizzo IP nomehost.estensione. Volendo possiamo anche servirci di un software, chiamato anch’esso Hosts, scaricabile gratuitamente all’indirizzo https://github.com/specialunderwear/Hosts.prefpane

Ora però immaginiamo un’altra situazione. Immaginiamo che la nostra banca si chiami, per dire, Lamiabanca, e che per magia un giorno, senza il nostro intervento, il nostro file hosts compaia così:

77.104.190.116 www.lamiabanca.it
127.0.0.1 localhost
::1 localhost

Qualcosa è cambiato e non è roba da poco. In questo caso quando andiamo ad aprire il sito online della nostra banca, il nostro computer leggendo le istruzioni sul file hosts invece di collegarsi al vero indirizzo IP di Lamiabanca si collega a un altro che non è quello giusto (qui ne abbiamo messo uno a caso tanto per gradire). Che è successo? Diciamolo sottovoce, ma magari siamo vittima di un attacco informatico abbastanza frequente che si chiama ‘IP hijacking’. Non è una bella cosa.

Chi ha paura dell’hijacking?

Beh, noi ne abbiamo paura, e sicuramente dovreste averne anche voi. Hijack in inglese significa ‘dirottamento’, ‘sequestro’, e indica un malware attraverso il quale l’hacker riesce a deviare, dirottare un flusso di pacchetti codificati secondo i protocolli TCP/IP dalla destinazione originaria a un’altra che è sotto controllo del dirottatore. Il caso più classico è quello in cui l’hacker riesce a far risolvere un client su un server DNS falso anziché su quello corretto deviando verso di sé ad esempio dei versamenti in denaro. L’hijacking viene eseguito in molti modi, ma uno di questi, anche abbastanza noto e oggi un po’ vintage, fa proprio uso del nostro beneamato file hosts: l’hacker è riuscito in qualche modo a entrare nel nostro sistema ed è andato a modificare i parametri del file hosts, che peraltro alla fine è un semplicissimo file di testo modificabile con qualunque text editor. A quel punto quando cerchiamo di collegarci col sito della nostra banca in realtà ci colleghiamo a un sito clone predisposto dall’hacker. Se non ce ne accorgiamo e digitiamo user e password di accesso, voilà il gioco è fatto (purtroppo per noi). Teniamo presente anche un’altra possibilità. Con la tecnica dell’ip forwarding e dello arp spoofing un hacker che è entrato nella nostra rete può riuscire a sostituirsi al router della nostra rete locale. A quel punto se lui ha scritto sul suo file hosts che l’IP del sito Lamiabanca è 77.104.190.116, a quel punto tutti i computer della rete prenderanno per buona quell’informazione e se richiesti di connettersi con Lamiabanca si collegheranno all’IP fasullo, con le conseguenze che possiamo immaginare. In questo caso potremmo parlare di hijacking collettivo. Salva

Ecco perché ogni tanto è importante andare a dare un’occhiata al nostro file hosts. Non si sa mai…