Norme di distribuzione
Questo
documento può essere duplicato e distribuito liberamente
purché in forma gratuita e
lasciando intatta l'indicazione dell'autore (Paolo
Attivissimo) e di dove reperire le versioni più aggiornate
(http://www.attivissimo.net/).
In breve
E' possibile, ed
estremamente facile, creare delle pagine Web che sembrano
avere indirizzi (URL) di siti autorevoli. Un
navigatore distratto, che non ha un browser sicuro, vede un
URL che inizia con, per esempio, http://www.microsoft.com
ed è quindi convinto che le informazioni che sta
visualizzando provengano da quel sito, mentre in realtà
provengono da una fonte scelta a piacere dall'autore del
raggiro.
Inoltre Internet Explorer 6.0, perlomeno nelle versioni
fino a dicembre 2003, ha un particolare difetto in base al
quale lo si può indurre a visualizzare nella barra di
navigazione un indirizzo falso a piacere. Questo problema è
descritto e dimostrato in un'altra
pagina di questo sito, dove sono riportate anche le
istruzioni per correggerlo tramite la patch fornita a
febbraio 2004 da Microsoft.
La soluzione
Tenere gli occhi aperti e
usare un browser sicuro. Alcuni browser (per esempio
Opera 5.11 e versioni successive per Windows e Linux, Lynx,
e altri elencati qui sotto) hanno talvolta l'accortezza di
avvisare che l'indirizzo potrebbe essere fasullo.
Sistemi colpiti
Tutti i sistemi operativi. In realtà quello che conta
non è il sistema operativo: è il
browser. Ho svolto qualche prova, e finora so per
certo quanto segue:
-
browser colpiti
(nel senso che non avvisano di alcun pericolo):
Netscape Communicator 4.73 per Linux (prova personale)
Opera 5.02 per Windows (prova personale)
Internet Explorer 4.72.3110.4 con aggiornamento SP1a
(prova personale)
Internet Explorer 5.5 su Windows ME (segnalazione di
lettore)
Internet Explorer 6.0 su Windows 98SE (prova personale)
prima della patch 832894
-
browser immuni o quasi (nel senso che lasciano
accedere al sito-burla, ma perlomeno avvisano del
possibile pericolo):
Opera 5.11 e versioni successive per Windows e per Linux
(segnalazione di lettore, confermata dalle mie prove
personali)
Lynx (segnalazione di lettore)
Se avete altri browser diversi da quelli elencati qui,
provate i link presentati qui sotto e scrivetemi a topone@pobox.com,
raccontando cosa succede.
Il problema
Le regole di funzionamento di Internet consentono ai
browser di interpretare indirizzi Web redatti in questo
modo:
sito_apparente@sito_reale
In questa maniera, l'utente distratto vede nel suo
browser un indirizzo di un sito autorevole (sito_apparente),
che sembra quindi essere la fonte della pagina Web, ma in
realtà ciò che viene visualizzato dal browser è materiale
proveniente da un altro sito (sito_reale, quello
indicato dopo la chiocciolina).
Qualsiasi cosa venga scritta prima della
chiocciolina viene sostanzialmente ignorata, e quindi si
può usare una stringa lunga a piacere: più è lunga, più
è improbabile che la vittima dell'inganno se la legga tutta
e scopra il trucco.
Esempio pratico
Supponiamo che riceviate da un amico un e-mail di questo
tipo:
From: Piero
To: Maurizio
Subject: Ecco cosa legge Bill Gates nei momenti liberi
-------
Ciao Topolino,
un amico mi ha segnalato una chicca! Dentro il sito
Microsoft c'e'
nascosta una copia integrale del sito di Playboy!!!.
L'indirizzo e' questo:
http://www.microsoft.com&item=q209354@3522684105/
Ciao da Piero.
Se Maurizio guarda distrattamente (come facciamo tutti,
ammettiamolo) il chilometrico link che Piero gli ha mandato,
penserà che si tratti davvero di una pagina del sito
Microsoft. In realtà il link porta alle normali pagine di
Playboy, ma l'illusione è perfetta.
Fra l'altro, il link citato qui sopra non è inventato: funziona
sul serio. Provare per credere (sempre che non vi dia
problemi avere lo schermo invaso dalle donnine di Playboy).
Lascio a voi immaginare quanti scherzi (e raggiri) si
possono combinare con questo sistema.
Come funziona questo giochino?
Per scoprirlo bisogna fare un paio di passi indietro.
Abbiamo visto che i browser sono fatti in modo da ignorare
qualsiasi testo presente prima della chiocciolina e usare
come indirizzo del sito soltanto quel che viene dopo
la chiocciolina. Ma se la burla usasse il formato
http://www.microsoft.com&item=q209354@www.playboy.com/
il trucco sarebbe fin troppo evidente. Occorre quindi mascherare
il nome del sito dopo la chiocciolina.
A ogni nome di sito Internet corrisponde un indirizzo
numerico o indirizzo IP, composto da quattro numeri.
Ad esempio, al momento in cui scrivo www.playboy.com
ha l'indirizzo IP 209.247.228.201.
Però se il link-burla usasse l'indirizzo IP e fosse
quindi
http://www.microsoft.com&item=q209354@209.247.228.201/
un navigatore attento potrebbe accorgersi dell'inganno
notando che dopo la chiocciolina c'è appunto un indirizzo
IP, ossia quello del sito che viene effettivamente raggiunto
cliccando sul link, e insospettirsi.
Per evitare di lasciare questo indizio, si usa un
semplice espediente: si
esprime l'indirizzo IP formulandolo in un altro formato
molto meno riconoscibile, chiamato dotless decimale,
che ha l'aspetto di un numero intero a 32 bit, non suddiviso
da punti.
Le regole per convertire un indirizzo IP
"normale" in uno dotless decimale sono
semplici: se l'indirizzo IP è 1.2.3.4, si prende il 4 e lo
si moltiplica per 1, si prende il 3 e lo si moltiplica per
256, si prende il 2 e lo si moltiplica per 65536 (256x256),
e si prende l'1 e lo si moltiplica per 16777216
(256x256x256). Poi si sommano i quattro risultati e si
ottiene l'equivalente dotless decimale.
Per proseguire l'esempio, www.playboy.com diventa 209.247.228.201,
che si converte in formato dotless nel numero 3522684105,
che ha l'aria perfettamente innocua e si può usare come
destinazione di un link-burla.
Presso http://javascript.internet.com/equivalents/ip-obfuscation.html
ho trovato un piccolo programma Javascript che esegue la
conversione al formato dotless decimale (scritto da
Jonathan Benaknin (jbenaknin@email.com)
e leggermente modificato dal sottoscritto). Basta immettere
nella casella IPa la prima parte dell'indirizzo IP,
nella casella IPb la seconda parte, e così via.
URL mascherati
C'è anche un altro metodo: codificare l'URL (il nome)
del sito-burla anziché il suo indirizzo IP.
Normalmente, quando vogliamo visitare un sito, ne
digitiamo il nome. Se voglio visitare ad esempio la CNN,
digito nel mio browser il nome del suo sito (che è cnn.com).
Tuttavia esiste anche un altro modo di rappresentare il nome
di un sito: codificandolo in modo che ogni carattere del
nome sia sostituito (tenetevi forte) dal suo equivalente
ASCII esadecimale preceduto dal simbolo di percentuale.
Niente panico, traduco subito.
Ad esempio, la lettera "c"
di cnn.com si codifica come %63, la
lettera "n"
come %6E, il punto come %2E,
e così via (più sotto trovate la tabella completa delle
equivalenze). In questo modo, cnn.com diventa
un incomprensibile %63%6E%6E%2E%63%6F%6D.
Provare per credere: il link http://cnn.com/
e il link http://%63%6E%6E%2E%63%6F%6D
portano entrambi al sito della CNN. Lo stesso sistema può
essere usato anche per specificare la directory e la
sottodirectory di un sito.
A questo punto è facilissimo creare link-burla
usando i principi descritti prima. Supponiamo che io voglia
far credere a un utente che un link porta al sito Microsoft,
mentre in realtà porta al mio sito http://www.attivissimo.net/
e in particolare al file q01704.htm nella
sottodirectory /b/.
Per prima cosa creo il link-burla in chiaro (senza
codifica):
http://www.microsoft.com&item=q209354@attivissimo.net/b/q01704.htm
Fatto questo, converto la parte che voglio nascondere (il
nome del sito che davvero ospita la burla) usando le
equivalenze indicate in fondo a questa pagina
nell'Appendice. Per non generare un indirizzo esageratamente
lungo, converto una lettera sì e una no, tanto è comunque
sufficiente a mascherare il vero indirizzo:
a t t i v i s s i m o . n e t (indirizzo originale)
%61 %74 %74 %69 %76 %69 %73 %73 %69 %6D %6F %2E %6E %65 %74 (conversione totale, molto lunga)
a %74 t %69 v %69 s %73 i %6D o %2E n %65 t (conversione a lettere alterne)
E già che ci sono, nascondo
anche la chiocciolina, sostituendola con %40. Ed ecco
il risultato:
http://www.microsoft.com&item=q209354@attivissimo.net/b/q01704.htm
Un link perfettamente
funzionante che maschera completamente
il fatto che in realtà porta a un sito ben diverso
da quello apparentemente indicato.
Convertire manualmente ogni carattere di un indirizzo,
consultando una tabellina, è un po' frustrante. Se volete
automatizzare il procedimento, presso http://research.digitalrice.com/tools/tool_hexify.html
trovate un convertitore automatico: immettete il nome di un
sito e ottenete la versione codificata equivalente.
Rimedi
Alcuni browser (Opera 5.11 e successivi per Windows e
alcune versioni di Internet Explorer patchate, ad esempio)
talvolta avvisano che l'indirizzo potrebbe essere fasullo,
ma non vi impediscono di accedere al sito-burla. E'
meglio usare il cervello: quando visitate una pagina
il cui contenuto vi sembra sospetto, o troppo bello per
essere vero, controllate due volte l'indirizzo che vi è
stato fornito e verificate che non contenga chioccioline.
Tuttavia l'indirizzo potrebbe essere fasullo anche se
non contiene chioccioline, per cui non prendete
l'assenza di chioccioline come sintomo certo e necessario di
un inganno. Esiste infatti un modo per "emulare"
la chiocciolina senza che venga visualizzata come tale
(sostituendola con il codice %40,
come mostrato nell'ultimo esempio).
Note
Questi sono soltanto alcuni dei tanti metodi per
occultare la vera natura di un link, e gli spammer
(chi bombarda gli utenti di pubblicità via Internet) li
usano spesso per il loro squallido lavoro. Conoscere i loro
metodi è un ottimo sistema per evitare le loro trappole.
Se volete saperne di più e conoscere anche gli altri
metodi per nascondere un indirizzo IP, visitate http://www.pc-help.org/obscure.htm
(in inglese).
Attenzione: la tecnica di specificare l'indirizzo IP
(camuffato) al posto del nome del sito non funziona con
molti siti web gratuiti o a basso costo. Molti fornitori
di spazio Web associano più di un nome di dominio a uno
stesso indirizzo IP. Quando digitate il nome del sito, il
software del fornitore di spazio Web riceve la richiesta e
la smista alle pagine Web del sito. In casi come questi non
si può digitare l'indirizzo IP per accedere al sito: se lo
fate, finirete sulle pagine del fornitore di spazio Web. In
pratica questo sistema offre l'illusione di avere un proprio
sito, ma in realtà crea una coabitazione (tanti siti
rispondo allo stesso indirizzo). Non c'è una corrispondenza
biunivoca fra URL e indirizzo IP. Playboy, invece, ce l'ha,
e per questo (e solo per questo ;-)..) l'ho scelto per gli
esempi.
Ringraziamenti
Devo ringraziare innanzi tutto
Odo, che mi ha suggerito la prima versione di questo
trucchetto, e poi tutti i lettori che hanno collaudato la
pagina e mi hanno scritto per segnalarmi quali browser
venivano ingannati e quali no. Grazie!