Cerca nel blog

2006/04/16

Zio Bill avvelena il DNS di Windows: XP si collega a Microsoft anche se gli dite di non farlo

Questo articolo vi arriva grazie alle gentili donazioni di "magico" e "dabepalu".

Se dite a Windows XP di bloccare l'accesso ai siti Microsoft, lui ignora i vostri comandi e si connette lo stesso, grazie a funzioni non documentate che favoriscono i prodotti di sicurezza Microsoft e penalizzano quelli della concorrenza.

Stando alle ricerche di Dave Korn pubblicate su Securityfocus, Microsoft ha infatti "sabotato intenzionalmente" a proprio vantaggio uno dei fondamenti della gestione delle connessioni a Internet, ossia la risoluzione locale dei nomi dei siti (DNS lookup).

Traduco subito. Quando dite a un sistema operativo (Windows, Mac OS X, Linux, eccetera) di collegarsi a un sito, la prima cosa che fa il sistema operativo è consultare una tabella locale, contenuta in un file di nome hosts. Questo file è un elenco di corrispondenze fra nomi di siti e indirizzi IP numerici equivalenti (per esempio, www.attivissimo.net ha come indirizzo numerico equivalente 213.255.125.37).

Se il sistema operativo trova in questo file hosts il nome del sito che gli avete chiesto di contattare, lo raggiunge usando l'indirizzo numerico corrispondente, indicato anch'esso nel file; se non lo trova, consulta il server dei nomi del fornitore d'accesso a Internet (DNS server), che contiene un "mega-file" analogo (più propriamente si tratta di un database distribuito), con le corrispondenze fra nomi e indirizzi numerici per tutti i siti di Internet. L'intero procedimento è talmente rapido che risulta invisibile: digitate il nome e venite collegati pressoché istantaneamente al sito desiderato.

Questo modo di funzionare, talmente fondamentale nella gestione dell'accesso a Internet da essere utilizzato da tutti i principali sistemi operativi, ha numerosi vantaggi pratici. Per esempio, basta modificare il file hosts per bloccare l'accesso a un sito indesiderato (per esempio un disseminatore di spyware o di pubblicità): si aggiunge a hosts una riga nella quale il nome del sito indesiderato è associato all'indirizzo numerico 127.0.0.1, che è quello interno del vostro computer, e il gioco è fatto. Nessun programma e nessun utente del computer può accedere più al sito bloccato, perché la richiesta di contattarlo viene dirottata dal sistema operativo e torna indietro.

Varianti di questo trucchetto permettono, per esempio, di scavalcare il controverso blocco dei siti esteri di scommesse deciso dal governo italiano.

Tutto questo si basa, però, sul presupposto che il file hosts del vostro computer abbia priorità assoluta. Ma nel caso di Windows XP non è così: anche se bloccate nel file hosts certi siti di Microsoft (e ci sono delle buone ragioni per farlo), Windows vi si collega lo stesso.

Per esempio, le versioni recenti di Windows Media Player, racconta Dave Korn, si connettono automaticamente a mamma Microsoft per vedere se ci sono aggiornamenti (con le relative licenze più o meno restrittive), e non hanno un'opzione che permette di disattivare questo automatismo. Niente panico, potreste pensare: si modifica il file hosts, assegnando 127.0.0.1 a windowsmedia.com e www.windowsmedia.com, e nessun programma può più connettersi a questi siti senza permesso.

E invece Windows Media Player disubbidisce e continua a farlo. Dave Korn ha esaminato il file del programma, wmplayer.exe, e ha scoperto che contiene questo indirizzo:

http://go.microsoft.com/fwlink/?LinkId=9996

Immettendo quest'indirizzo in un browser, si viene portati alla pagina di aggiornamento di Media Player.

Come se non bastasse, anche bloccando go.microsoft.com tramite il file hosts, Windows Media Player continua imperterrito a connettersi al sito.

Così Dave Korn ha esaminato il file dnsapi.dll di Windows, responsabile della gestione delle equivalenze fra nomi di siti e indirizzi numerici, e vi ha trovato questi siti Microsoft predefiniti che sembrano beneficiare della medesima disubbidienza:
  • www.msdn.com
  • msdn.com
  • www.msn.com
  • msn.com
  • go.microsoft.com
  • msdn.microsoft.com
  • office.microsoft.com>
  • microsoftupdate.microsoft.com
  • wustats.microsoft.com
  • support.microsoft.com
  • www.microsoft.com
  • microsoft.com
  • update.microsoft.com
  • download.microsoft.com
  • microsoftupdate.com
  • windowsupdate.com
  • windowsupdate.microsoft.com

Al momento in cui scrivo, Dave Korn ha verificato formalmente soltanto la disubbidienza di office.microsoft.com, ma è plausibile che gli altri siti elencati si comportino allo stesso modo. Divertitevi a provarli.

In altre parole, Microsoft ha intenzionalmente sovvertito il funzionamento di base del sistema operativo. E a quanto risulta per ora, l'ha fatto segretamente.

Questo ha diverse conseguenze discutibili. Innanzi tutto, avere un sistema operativo che disubbidisce ai comandi con funzioni non documentate non è piacevole (alla faccia del trusted computing, l'"informatica di cui fidarsi"), ma soprattutto apre la porta a sabotaggi da parte di intrusi: infatti lo stesso meccanismo potrebbe essere sfruttato per scopi ostili. Per esempio, un virus potrebbe alterare il file dnsapi.dll e usare questo canale di comunicazione privilegiato per scavalcare le contromisure difensive dell'utente.

Si può obiettare che questa funzione potrebbe essere stata introdotta per difendere Windows da una delle forme di attacco più frequenti: l'alterazione del file hosts da parte dei virus, in modo da bloccare l'accesso ai siti di aggiornamento degli antivirus e di Windows. Ma se così fosse, come mai non è documentata? E soprattutto, perché ne dovrebbe beneficiare Windows Media Player, che con la sicurezza c'entra ben poco?

Questa possibile giustificazione pone inoltre un problema più serio: ora che anche Microsoft offre soluzioni antivirus, questo meccanismo fa sì che in caso di alterazione di hosts da parte di un virus, gli antivirus non-Microsoft cessano di essere aggiornabili (i loro siti diventano irraggiungibili), mentre quelli Microsoft continuano magicamente ad esserlo. Questo apre la porta alla concorrenza sleale.

Difendersi da questo comportamento discutibile di Windows è possibile: basta usare un firewall, preferibilmente hardware o comunque esterno a Windows, e bloccare questi siti. Ma sorprese come queste non contribuiscono a ingenerare fiducia e rendono frustrante lavorare con Windows.

Nessun commento: