p
Sicurezza in rete & PGP




Internet è un mezzo insicuro per comunicare!


Tutti i dati che partono dalla vostra tastiera e giungono sino ad un computer situato a molte migliaia di chilometri di distanza percorrono una grande quantità di cavi e mezzi fisici diversi e vengono trattati da un notevole numero di computer.
Chiunque abbia accesso ad essi potrebbe teoricamente spiare le vostre comunicazioni; sebbene ovviamente la sicurezza sia relativamente garantita dalla enorme quantità di dati, per cui cercare i blocchi di dati contenenti un'informazione particolare sarebbe come cercare un ago in un pagliaio, una persona intenzionata a spiare proprio voi, e tale da conoscere l'indirizzo del vostro computer e da avere accesso ad uno di questi sistemi, potrebbe intercettare facilmente tutti i messaggi spediti dal vostro computer che attraversino il sistema su cui è in ascolto.

Ovviamente, il punto migliore per intercettare le vostre comunicazioni è molto vicino a voi, ad esempio sul gateway che collega la vostra rete locale al resto di Internet. D'altra parte, esistono programmi detti sniffer che intercettano tutti i messaggi in transito sulla rete locale e selezionano quelli interessanti, ad esempio in base al mittente o al contenuto. Tanto per fare un esempio, esistono sniffer che riconoscono i messaggi contenenti la stringa di caratteri password:, ossia quelli che un computer Unix spedisce al terminale dell'utente per chiedergli la password, e provvedono a intercettare la risposta dell'utente, permettendo così il furto della password. Per complicare ulteriormente le cose, esistono sistemi che si sostituiscono al vostro computer nel dialogo con quello remoto, assumendo il vostro indirizzo (IP spoofing), e mandando dati che sembrano provenire da voi, ma che sono falsificati!

Gli amministratori della vostra rete locale o del vostro provider, inoltre, possono facilmente, se disonesti, leggere le vostre informazioni, ad esempio la vostra posta, o combinare guai "a nome vostro". (Voi potreste facilitarli ulteriormente, ad esempio non modificando la password che vi hanno fornito.)
Il punto più debole della catena, quindi, è proprio il tratto di "navigazione costiera" che va tra il vostro computer e il "mare aperto" della rete, attraverso la rete locale a cui vi collegate. Mentre, come vedremo, esistono sistemi crittografici per proteggere efficacemente le vostre comunicazioni a lungo raggio, un amministratore locale disonesto potrebbe essere difficile da fermare!

Un ulteriore problema da considerare è quello dell'anonimato o della falsificazione dell'identità dei vostri interlocutori. Nessuno vi permette di sapere che la persona che dialoga con voi è effettivamente colui che pretende di essere, o che un indirizzo che oggi funziona ed esiste continuerà a funzionare ed esistere anche domani. Una persona esperta può facilmente inviarvi E-mail falsificati, o scrivere articoli in un newsgroup sotto falso nome; del resto esistono siti creati proprio allo scopo di fornire recapiti postali anonimi. Anche se l'identità del destinatario dei vostri messaggi è certa, comunque, egli potrebbe non comportarsi correttamente: ad esempio tutte le transazioni commerciali in rete, che si basano sull'invio tramite rete dei codici della propria carta di credito, sono decisamente pericolose, per quanto la loro crescente diffusione indichi che i problemi non si verificano tanto spesso.

Infine, qualunque utente della rete Internet può accedere dall'esterno alla vostra rete locale e ai vostri computer. Sebbene egli non possa entrare all'interno di nessun sistema protetto senza conoscere la relativa password, la semplice possibilità di entrare sulla rete potrebbe permettere in qualche modo l'accesso a informazioni riservate. Se voi siete l'amministratore di una rete locale che deve essere connessa a Internet, avete il problema di come garantire che gli utenti esterni non possano andare dove non devono.
 
Pagamenti elettronici

Uno dei rischi più comuni è legato alla sicurezza dei pagamenti elettronici, che richiedono normalmente l'invio di un numero di carta di credito. Anche ammettendo l'affidabilità dell'azienda da cui acquistate, il vostro numero di carta di credito - così come qualsiasi dato che voi inseriate in un modulo del WWW - viaggia in chiaro e può essere intercettato in modo molto semplice lungo la rete. Per questo motivo, è bene inviare dati importanti soltanto se essi possono essere comunicati in modo cifrato - ad esempio, usando un protocollo di navigazione cifrato come HTTPS.

Comunque, la sicurezza non è soltanto legata agli aspetti tecnici. Ad esempio, pensate al caso seguente: voi volete acquistare via Internet un prodotto da una nota multinazionale, pagando con carta di credito. A questo scopo, vi collegate con un motore di ricerca, trovate l'indirizzo del sito ufficiale dell'azienda, vi collegate con esso, trovate il modulo per gli acquisti, e inserite il vostro numero di carta di credito, fidandovi del fatto che si tratta di una azienda molto nota e che avrà preso tutte le opportune precauzioni per garantire la sicurezza del pagamento. Tutto a posto?

Ad alcune persone che hanno messo in pratica questa procedura è capitata una brutta sorpresa: difatti, una persona piuttosto furba aveva realizzato una copia automatica del sito ufficiale della multinazionale, l'aveva messa ad un indirizzo simile a quello del sito originale, e aveva pubblicizzato la pagina nei motori di ricerca. Gli utenti, senza prestare troppa attenzione, si erano quindi collegati con quella pagina, anzichè con quella ufficiale (peraltro identica nell'aspetto), e avevano così fornito il proprio numero di carta di credito ad un malintenzionato. Insomma, anche su Internet si possono riproporre tutte le truffe più tradizionali, a partire dalla falsificazione dei siti WWW (Web spoofing), indipendentemente dalla sicurezza intrinseca delle comunicazioni.

Alle volte le truffe sono particolarmente ingegnose: ad esempio mi è successo di vedere un sito americano di hacker che, mediante un linguaggio da spie e una grafica da film di fantascienza, proponeva una form per "cancellare la propria esistenza dagli elenchi dell'FBI". Inutile dire che in questo modulo bisognava inserire una serie di dati personali che sarebbero stati di grande aiuto a chi volesse falsificare un documento o impersonare qualcun altro. State attenti...
 

Sistemi per proteggere le comunicazioni

Sono stati inventati vari sistemi di crittografia allo scopo di proteggere il contenuto delle comunicazioni e/o di autenticare l'identità del mittente di un messaggio. I sistemi di crittografia si basano sull'uso di una chiave (key) che viene usata dal mittente all'interno di una serie di trasformazioni matematiche effettuate sul corpo del messaggio in chiaro (plaintext), che viene così trasformato in un testo cifrato (ciphertext). Il destinatario, usando una chiave uguale o diversa a seconda dei sistemi, provvede alla decodifica del messaggio cifrato. Un buon sistema di crittografia non deve essere praticamente attaccabile per "forza bruta" (ossia provando tutte le chiavi possibili!).
I sistemi di crittografia si dividono in due categorie:

  • Sistemi a chiave segreta (secret key). In questi sistemi, il messaggio viene criptato usando una chiave che deve essere nota solo al mittente e al destinatario: difatti la chiave usata per la decodifica deriva da quella usata per la codifica. Un esempio molto semplice di cifratura a chiave segreta si avrebbe se noi, per criptare un messaggio, sostituissimo ogni lettera con quella che la segue nell'alfabeto. Per decrittare il messaggio è necessario usare la stessa chiave all'incontrario (ossia sostituire ogni lettera del messaggio cifrato con quella che la precede). Il problema di un sistema di questo tipo è che il mittente e il destinatario devono scambiarsi la chiave, che ovviamente non può essere acclusa al messaggio, ma deve essere spedita in altro modo.

  • Sistemi a chiave pubblica. In questi sistemi, ad ogni persona vengono assegnate due chiavi: una chiave pubblica (public key) e una chiave privata (private key), tali che, sebbene la chiave privata sia "capace" di decrittare un messaggio cifrato con la chiave pubblica, non sia possibile ricavare la chiave privata direttamente da quella pubblica (al contrario di quanto avviene nei sistemi a chiave segreta). La chiave pubblica viene messa a disposizione di chiunque, all'interno di un apposito archivio; la propria chiave privata, invece, deve venire gelosamente conservata da ciascuno. Per spedire un messaggio ad un determinato utente, è necessario procurarsi la sua chiave pubblica e criptare il messaggio con essa; il destinatario, e soltanto lui, potrà decrittare il messaggio con la propria chiave privata. In questo modo viene meno il problema della comunicazione della chiave; tuttavia è necessario disporre di archivi pubblici affidabili (ossia che garantiscano l'autenticità della chiave pubblica).

Un programma usato in molte reti locali è Kerberos: esso è basato su un sistema a chiavi segrete detto DES (Data Encryption System). Kerberos deve venire installato dal gestore della rete, e provvede, tramite un archivio riservato di chiavi segrete, ad autenticare l'identità di chiunque usi la rete. Ad esempio, se una persona vuole accedere tramite la rete ad un proprio account, egli deve fornire la propria chiave segreta, che viene confrontata con quella conservata nell'archivio. DES è anche il sistema usato per cifrare le password d'utente in un sistema Unix.
Il più noto sistema a chiave pubblica è invece RSA (Rivest-Shamir-Adleman), originariamente sviluppato dal governo degli Stati Uniti. Su di esso è sostanzialmente basato un programma denominato PGP (Pretty Good Privacy), che è attualmente il più usato mezzo di autenticazione per comunicazioni E-mail su Internet. Tramite questo programma è possibile non solo criptare un intero messaggio, ma anche accludere ad un messaggio "in chiaro" una firma digitale (digital signature), ricavata dalla propria chiave privata, tramite la quale chi riceve il messaggio può verificare l'autenticità o meno dello stesso. Le chiavi pubbliche PGP sono reperibili via E-mail presso vari server (in Italia, pgp-public-keys@dsi.unimi.it); ogni volta che un utente installa per la prima volta il programma, dovrà provvedere a generare le proprie chiavi (quella pubblica e quella privata) e a spedire quella pubblica al server. Quest'ultima operazione non è obbligatoria, ma permette a chiunque voglia comunicarvi di recuperare la vostra chiave in modo semplice.

Se volete usare PGP, dovrete orientarvi nella selva di versioni, parte gratuite, parte commerciali, attualmente esistenti. Le due versioni più comuni sono la 5.0, per Windows 9x, Macintosh e Linux, e la precedente 2.6.3i, dove la i sta per internazionale e indica che l'uso è consentito soltanto a persone non statunitensi; ciò in ragione dei numerosi problemi legali connessi alla crittografia.
L'uso di PGP, purtroppo, è tutt'altro che semplice: per questo motivo è consigliata la lettura di alcune delle guide esistenti, anche in italiano, per l'uso del programma, e reperibili nell'archivio delle FAQ italiane. Per lo stesso motivo, può essere utile installare anche delle "shell" per PGP, che ne semplificano l'uso, o ancora meglio il modulo PGPEudora, che vi permette di utilizzare facilmente le funzioni di PGP all'interno di Eudora. Per avere un aiuto sull'uso del server E-mail per chiavi pubbliche, potete inviare all'indirizzo sopra indicato un messaggio avente come subject help.  


SSL e HTTPS

SSL (Secure Sockets Layer) è un insieme di protocolli sviluppato dalla Netscape per proteggere le comunicazioni tra browser e siti WWW, criptando i messaggi in entrambe le direzioni. Esso è particolarmente utile per il commercio elettronico, che richiede la trasmissione senza pericoli di dati personali e numeri di carta di credito. Tale insieme di protocolli, inoltre, garantisce un ulteriore controllo sull'integrità dei dati, e inoltre dispone di tecniche per l'autenticazione del sito remoto (ossia, per controllare che il sito che sta dialogando con l'utente sia proprio quello desiderato, e non un impostore che si spaccia per esso).
A livello tecnico, i protocolli di SSL si inseriscono tra l'HTTP (il protocollo di trasmissione degli iperoggetti) e il TCP (il protocollo che cura la trasmissione vera e propria dei dati); l'insieme dell'HTTP e dell'SSL è denominato HTTPS, e il suo uso è individuato da URL aventi come metodo https. Ad esempio, l'indirizzo
https://home.netscape.com/ indica una connessione HTTP al sito home.netscape.com effettuata criptando le comunicazioni secondo quanto stabilito dall'SSL. Solitamente, l'utente non inserisce direttamente un indirizzo di questo tipo, ma esso è richiamato a partire da un'altra pagina o da un modulo. Inoltre, per poter effettuare una connessione di questo tipo anche il server del sito deve essere opportunamente attrezzato.


Anonimato e privacy

A questo punto potreste chiedervi: perchè esistono modi di spedire messaggi criptati o anonimi, e perchè essi non vengono messi fuorilegge? Il motivo è semplice: l'anonimato è considerato da molti un importante diritto di chi vive su Internet, ed un vantaggio di valore incommensurabile. Questo è vero in molti casi: ad esempio, ve la sentireste di criticare apertamente il comportamento dell'azienda in cui lavorate su un newsgroup internazionale, anche se a ragione? O di parlare delle vostre vicende più intime, come avviene in certi gruppi che parlano di salute o di alcolismo o di abusi sessuali subiti, rivelando subito a tutti il vostro nome? Bisognerebbe sempre avere il coraggio delle proprie idee, ma talvolta ciò non è possibile.

Non bisogna quindi pensare che la crittografia o l'anonimato siano un mezzo per compiere crimini o comunque per nascondere messaggi particolarmente riservati. In particolare, cifrare un E-mail è semplicemente l'equivalente elettronico di inserire una lettera in una busta per evitare che il postino e qualsiasi impiegato dell'ufficio postale possano facilmente leggere la vostra comunicazione. Per questo motivo, l'uso di PGP è caldamente consigliato: si tratta semplicemente di difendere la propria privacy. Bisogna anche sapere che l'autore del programma è stato processato negli Stati Uniti per aver reso disponibile al mondo questo tipo di crittografia, che è il più avanzato esistente e, negli Stati Uniti, è considerato di grande importanza militare; tanto è vero che a tutt'oggi è illegale, per un utente europeo, prelevare il programma da un sito americano, e viceversa, in quanto si compirebbe un reato di esportazione illegale di segreti militari. I problemi legali legati alla crittografica, comunque, sono sempre aperti; in molti paesi del mondo, anche civilissimi (come la Francia), cifrare i propri messaggi è illegale. Difatti, la crittografia può essere di grande aiuto ai criminali, e scardinare tutti i tradizionali sistemi di controllo sotterraneo della criminalità; d'altra parte, come già detto, essa è essenziale per difendere la privacy dei singoli e prevenire fenomeni di "grande fratello".


Chi può sorvegliare Internet e cosa può venire a sapere

È molto semplice: molte persone possono conoscere molte cose su di voi. Tanto per essere schematici, segue un bell'elenco:

L'amministratore (root) del computer su cui è posizionata la vostra mailbox può comodamente leggere tutta la vostra posta in arrivo: difatti, ciascun messaggio diretto a voi è memorizzato come file di testo ASCII sull'hard disk del computer, che può facilmente essere letto col Blocco Note di Windows (o, più probabilmente, con equivalenti Unix). Questo è un buon motivo per cominciare ad usare PGP: se la posta che vi viene spedita è criptata in modo sicuro, il vostro provider non potrà sapere un bel niente. Sappiate che mi è anche successo di venire a conoscenza di un tecnico (non del mio provider, per fortuna) che leggeva la posta degli utenti per rilassarsi un po' a metà del lavoro.

Se siete collegati su linea commutata, l'amministratore del computer a cui vi collegate via modem, o in generale chiunque disponga di un accesso privilegiato ai computer del vostro provider su cui transitano i dati da e per il vostro computer, potrebbe mettere in piedi dei sistemi di sniffing per intercettare le vostre comunicazioni - dalla posta in partenza alle password che inserite in siti remoti, fino alle richieste di articoli di newsgroup e alle richieste di ipertesti fatte dal browser. Ciò richiede molta più fatica rispetto alla lettura della posta in arrivo, e richiede inoltre una certa determinazione nello spiarvi, però è tecnicamente fattibile.

L'amministratore del computer a cui vi collegate via modem dispone anche, solitamente, dell'elenco dei vostri collegamenti, con data, ora e indirizzo IP ricevuto. In sè, queste informazioni non significano molto, ma se incrociate con altre - ad esempio quelle reperibili ai punti seguenti - possono svelare la vostra identità.

L'amministratore di un sito del WWW dispone sul suo hard disk di un file (access log) contenente l'elenco di tutti i computer che si sono collegati al sito, con i nomi delle pagine che hanno richiesto, data, ora, browser e sistema operativo usati, e un po' di altre informazioni. Chi gestisce il sito non conosce solitamente il nome e l'indirizzo E-mail dell'utente, ma solo il computer usato; se però potesse accedere alle informazioni di cui al punto 3, potrebbe ricavare dall'indirizzo IP il vostro nome. A questo punto, potrebbe sapere quali sono le pagine che gradite di più... (se questo vi sembra fantascienza, sappiate che un certo numero di siti WWW americani si sono accordati per scambiarsi i relativi dati in modo da costruire un profilo degli utenti e spedire loro pubblicità mirata).

Un semplice autore di pagine WWW, anche se non è amministratore del sito, può inserire nelle proprie pagine dei semplici contatori che, oltre a contare, salvano sull'hard disk le stesse informazioni contenute nell'access log.
L'amministratore di un sito FTP dispone di informazioni simili a quelle ricavabili tramite gli accessi al WWW.

Se vi collegate usando un vostro account su un grosso computer Unix, siete proprio in braghe di tela. L'amministratore del sito può leggere tutti i vostri file, inclusa la cache del browser - se esiste -, i vostri bookmark, l'elenco dei gruppi di discussione che leggete di solito... insomma, può sapere tutto quel che fate in rete. La stessa cosa, comunque, vale anche se usate un PC, ammettendo che qualcuno possa in vostra assenza usarlo e darci un'occhiata. State attenti se usate un PC su una rete locale, ad esempio in azienda: Windows 95 permette di condividere gli hard disk, il che è molto comodo, ma può permettere a chiunque di leggere i vostri file, se non proteggete la condivisione con una password sicura.

Perchè tutte queste attività di schedatura? Quelle relative agli accessi WWW e FTP vengono fatte essenzialmente per motivi statistici: ad esempio, a me interessa sapere che tipo di browser usano le persone che visitano le mie pagine, per poterle ottimizzare per la maggioranza degli utenti. Tuttavia, vi sono anche motivi di sicurezza: se qualcuno fa qualcosa di male, quasi sempre è possibile pescarlo, a patto di disporre della collaborazione degli amministratori di tutti i siti o domini interessati, da quello colpito a quello da cui è partito il messaggio. La sicurezza, come potete aver intuito, è data dal fatto che ciascun amministratore dispone solo di informazioni parziali; nel momento in cui qualcuno - sia esso lo Stato o una organizzazione criminale - acquisisce la possibilità di incrociare dati diversi, quasi tutto ciò che è avvenuto a valle della vostra tastiera può essere ricostruito. Per questo motivo è importante cercare di conservare ragionevoli forme di anonimato e di protezione delle proprie comunicazioni, e prestare molta attenzione a tentativi di ulteriore schedatura dei movimenti delle persone su Internet: nessuno potrà difatti avere mai la certezza del fatto che informazioni così personali, come i vostri messaggi di E-mail o l'elenco dei gruppi di discussione che vi interessano, saranno sempre usati a buon fine. Prova ne sia che già oggi molte aziende ricavano con programmi automatizzati l'elenco di tutte le persone che hanno pubblicato un articolo su certi newsgroup per poi costruirsi un indirizzario e inviare loro E-mail pubblicitari. Gli interessi in ballo sono veramente enormi, come dimostra la guerra giudiziaria spietata condotta dal governo degli Stati Uniti contro l'autore di PGP.
Comunque, se volete navigare in modo un po' più anonimo, potete utilizzare alcuni servizi che recuperano le pagine senza fornire i vostri dati; il più famoso è Anonymizer http://www.anonymizer.com/ .

Firewall

Un firewall (letteralmente, muro di fuoco) è un computer o un insieme di computer posto sul "confine" telematico (ad esempio sul gateway) tra una rete locale, o una sua parte "protetta", e il resto del mondo, in modo che tutti i messaggi da e per un qualsiasi computer situato nella zona protetta siano costretti a passare attraverso il firewall. Ovviamente, su questi computer vengono eseguiti particolari programmi che esaminano tutti i messaggi in transito e decidono se lasciarli passare o fermarli; tipicamente, vengono lasciati entrare nella zona protetta soltanto i messaggi provenienti da persone o computer autorizzati o riconosciuti ad esempio tramite una password. In questo modo, è possibile proteggere i computer situati nella zona protetta, creando attorno ad essi una "barriera telematica" che fermi i tentativi di intrusione non autorizzati.
Al giorno d'oggi sono disponibili sistemi di firewall molto efficienti e sicuri. Tuttavia, non va mai dimenticata una cosa: nessun sistema di sicurezza riuscirà mai a resistere alle debolezze umane. Se un utente autorizzato permette che qualcuno veda la sua password, il firewall è perfettamente inutile!