La computer-etica
Nonostante alcuni recenti interventi a carattere legislativo abbiano cercato di regolamentarne alcuni aspetti l mondo di Internet è caratterizzato da una anarchia di fondo che ha nel contempo i suoi lati positivi e i suoi lati oscuri e inquietanti.
I 'dieci comandamenti della computer-etica', redatti dal Computer Ethic Institute di Washington, recitano:
1. Thou shalt not use a computer to harm other people.
2. Thou shalt not interfere with other people's computer work.
3. Thou shalt not snoop around in other people's computer files.
4. Thou shalt not use a computer to steal.
5. Thou shalt not use a computer to bear false witness.
6. Thou shalt not copy or use proprietary software for which you have not paid.
7. Thou shalt not use other people's computer resources without authorization or proper compensation.
8. Thou shalt not appropriate other people's intellectual output.
9. Thou shalt think about the social consequences of the program you are writing or the system you are designing.
10. Thou shalt always use a computer in ways that insure consideration and respect for your fellow human being.
A questo decalogo si contrappone il codice etico degli hackers, sintetizzato nel 1989 nella Novice's Guide to Hacking (edition by The Mentor, Legion of Doom/Legion of Hackers):
1. Do not intentionally damage *any* system.
2. Do not alter any system files other than ones needed to ensure your escape from detection and your future access (Trojan Horses, Altering Logs, and the like are all necessary to your survival for as long as possible.
3. Do not leave your (or anyone else's) real name, real handle, or real phone number on any system that you access illegally. They *can* and will track you down from your handle.
4. Be careful who you share information with. Feds are getting trickier. Generally, if you don't know their voice phone number, name, and occupation or haven't spoken with them voice on non-info trading conversations, be wary.
5. Do not leave your real phone number to anyone you don't know. This includes logging on boards, no matter how k-rad they seem. If you don't know the sysop, leave a note telling some trustworthy people that will validate you.
6. Do not hack government computers. Yes, there are government systems that are safe to hack, but they are few and far between. And the government has infinitely more time and resources to track you down than a company who has to make a profit and justify expenses.
7. Don't use codes unless there is *NO* way around it (you don't have a local telenet or tymnet outdial and can't connect to anything 800...) You use codes long enough, you will get caught.
8. Don't be afraid to be paranoid. Remember, you *are* breaking the law. It doesn't hurt to store everything encrypted on your hard disk, or keep your notes buried in the backyard or in the trunk of your car. You may feel a little funny, but you'll feel a lot funnier when you meet Bruno, your transvestite cellmate who axed his family to death.
9. Watch what you post on boards. Most of the really great hackers in the country post *nothing* about the system they're currently working except in the broadest sense (I'm working on a UNIX, or a COSMOS, or something generic. Not "I'm hacking into General Electric's Voice Mail System" or something inane and revealing like that.)
10. Don't be afraid to ask questions. That's what more experienced hackers are for. Don't expect *everything* you ask to be answered, though. There are some things (LMOS, for instance) that a beginning hacker shouldn't mess with. You'll either get caught, or screw it up for others, or both.
11. Finally, you have to actually hack. You can hang out on boards all you want, and you can read all the text files in the world, but until you actually start doing it, you'll never know what it's all about. There's no thrill quite the same as getting in your first system (well, ok, I can think of a couple of bigger thrills, but you get the picture.)
Chi sono, allora, gli hackers?
Gli hackers
Resa popolare da un libro di Steven Levy e mitizzata dalla letteratura cyberpunk, la figura dell'hacker è estremamente controversa. Con questo termine spesso si identifica sia l'appassionato di informatica che lavora per rendere più accessibili le tecnologie, magari in contrasto con le politiche delle grandi compagnie (l'hacker 'vecchio stile', che in Italia viene spesso definito con l'espressione "smanettone", che ha un proprio 'codice cavalleresco' ), sia il criminale comune, il pirata che utilizza il computer e la rete per compiere spionaggio industriale o commettere altri gravi reati.
Esistono quindi vari tipi di hackers, ciascuno con finalità più o meno condivisibili. Lungi dal voler trattare in poche righe un fenomeno estremamente complesso, vediamo alcune figure che si muovono all'interno e attorno al mondo della rete :
- Cracker
Si tratta di un tipo di hacker in grado di violare le protezioni ai sistemi di accesso di un computer connesso in rete, sottraendo dati o manomettendoli. Il termine cracker fa riferimento al termine Ice-cracker (rompighiaccio) con il quale si indicano determinati accorgimenti tecnici in grado di 'forzare' l'accesso ad aree riservate. ICE è inoltre l'abbreviazione di Intrusion Countermeasures Electronics, che indica un sistema di protezione delle banche dati. Lo stesso termine può inoltre indicare un programmatore in grado di manomettere il listato di un software orginale consentendone la duplicazione senza autorizzazione. Molti Cracker della vecchia generazione, mossi più da una sorta di 'spirito sportivo', si limitavano ad entrare all'interno di un sistema, lasciare un messaggio che segnali l'avvenuto passaggio, senza manomettere i dati conservati.
- Phracker
I phracker si dedicano a sottrarre programmi che offrono servizi telefonici gratuiti o a penetrare nei database delle società telefoniche. I primi phracker usavano telefonare gratuitamente dalle cabine telefoniche e dai telefoni pubblici in genere smontando la cornetta e aiutandosi con un chiodo, una forcina o una moneta.
- Phreacker
Il phreacker utilizza i numeri di carte telefoniche, i numeri telefonici e altre informazioni di questo tipo per accedere ad altri computer.
- Courier
Il courier, o 'corriere', è una figura di secondo piano rispetto a quelle sopra descritte. I 'corrieri' si limitano a far circolare, su siti 'mirror' o attraverso altri canali presenti in rete, software o informazioni sottratte da altri hackers.
- Supplier
I suppliers sono coloro i quali riforniscono i crackers di programmi originali e li inseriscono in rete consentendo ai crackers stessi di sproteggerli.
Alcuni tipi di 'attacchi' da parte di hackers
Come si è detto, vi sono mille modi con i quali un hacker può inerirsi in un sistema. Solo un buon sistema firewall e una serie di accorgimenti tecnici consente di fronteggiare una simile minaccia. In ogni caso, anche l'hacker più esperto lascia delle tracce attraverso le quali è possibile risalire alla sua identità.
La terminologia con la quale vengono indicati i vari attacchi è chiaramente gergale: uno sniffing indicherà un tipo di attacco attraverso il quale un hacker 'fiuta' la sua preda, la individua e poi la colpisce. Altrettanto colorite appaiono espressioni come spoofing (dal verbo to spoof, giocare un tiro mancino) o come hijacking. Vediamo adesso, schematicamente, proprio alcuni dei possibili attacchi da parte di un hacker ad un server o ad un utente collegato in rete.
- Attacco alle password
E' l'attacco classico degli hackers che operano in rete (chi non ricorda il ragazzino del film 'War Games' che riesce ad entrare nel computer del Pentagono?). L'obiettivo è quello di penetrare all'interno di banche dati o di server con accesso riservato individuando il codice di login o la password. In particolare, i cosiddetti 'attacchi a dizionario' sono condotti attraverso alcuni programmi i quali provano in sequenza tutte le parole possibili. Si tratta di attacchi che colpiscono perlopiù sistemi UNIX, che non prevedono il blocco dell'inserimento delle parole chiave dopo un certo numero di tentativi falliti.
- Attacchi ai file di accesso privilegiato
E' un tipo di attacco che colpisce soprattutto sistemi vulnerabili come quelli UNIX, ma anche quelli VMS e Windows NT. Attraverso una serie di comandi, l'hacker riesce a collegarsi con un server e ad ottenere pieno accesso a tutte le risorse che vi sono contenute, sostituendosi, di fatto, all'amministratore del sistema.
- Attacchi all'organizzazione aziendale
Si tratta di un tipo di attacco che fa leva sulla buona fede degli utenti connessi in rete. L'hacker invia semplicemente un messaggio di posta elettronica a un utente (o addirittura lo chiama telefonicamente), affermando di essere l'amministratore del sistema e chiedendogli la password di accesso.
- Intercettazione dei pacchetti (Sniffing)
Lo sniffing è un tipo di attacco che richiede una conoscenza tecnica maggiore rispetto all'attacco alle password. Utilizzando varie tecniche e strumenti, l'hacker intercetta e 'legge' le informazioni a pacchetti che viaggiano da un computer all'altro collegati in rete (posta elettronica, password, login, numeri di carta di credito ecc.).
- Dirottamento TCP (TCP hijack) o Sniffing attivo (active sniffing)
Si tratta forse della minaccia più grave che un server collegato in rete possa subire. Anziché cercare di indovinare per tentativi l'indirizzo IP di un server, in questo caso l'hacker riesce a 'dirottare' una connessione client regolare e si sostituisce ad essa, facendo di fatto accettare il proprio indirizzo IP al server.
- Attacco al protocollo TCP/IP (IP Spoofing)
Ne esistono di vari tipi, ma quello più semplice di attacco al protocollo TCP/IP è rappresentato dal cosiddetto attacco a previsione del numero di sequenza TCP/IP. Ciascun computer collegato in rete dispone di un proprio indirizzo IP (Internet Protocol) attraverso il quale riceve ed invia i 'pacchetti' di dati. Dopo aver individuato l'indirizzo IP del server prescelto (visibile attraverso la barra di stato del browser), l'hacker cerca di individuare il numero di sequenza giusto per potersi collegare al server stesso.
- Intercettazione dei messaggi di posta elettronica (e-mail Spoofing)
Si tratta di un attacco tutt'altro che inconsueto e estremamente semplice da attuare e che fa spesso leva sul fatto che difficilmente coloro che usano la posta elettronica controllano l'indirizzo di partenza delle e-mail che ricevono.
- Intercettazione delle trasmissioni HTTP (Web-spoofing)
L'hacker intercetta e 'legge' le pagine e i documenti che un utente e un server si scambiano durante la connessione.
Alcune recenti azioni compiute da parte di hackers in rete
- 1996: La home page ufficiale del governo di Singapore viene sostituita da alcuni hacker
- 1996: Un gruppo di hacker accede al server del partito laburista britannico. Le pagine Web del partito laburista vengono clamorosamente modificate.
- 1996: alcuni hackers penetrano nel server dell'aviazione statunitense, inserendo nel sito web ufficiale dell'USAF alcune foto vietate ai minori
- 1997: Il sistema del Dipartimento della Giustizia statunitense viene violato. Il testo del Communication Decency Act viene sostituito da una serie di pagine di critica.
- 1997: Gli hackers penetrano nelle pagine web della CIA.
I virus
Il 2 novembre 1988, alle ore 18.00 della costa atlantica degli Stati Uniti, uno studente della Cornell University, Robert T. Morris, lanciava in rete un programma, denominato Worm ('verme'), capostipite dei migliaia di virus che infestano Internet. Dopo neanche un'ora dall'attacco, il virus aveva reso inutilizzabili tra i 4.000 e i 6.000 computer collegati in rete. In quel frangente si costituì un gruppo di volontari, VirusNet, i quali individuarono un punto debole nel virus e lo disabilitarono. Morris venne condannato a tre anni di diffida, 400 ore di servizio alla comunità e a una multa di 10.000 dollari.
I virus (il plurale corretto in latino sarebbe comunque virii) sono programmi che, analogamente ai virus biologici, attaccano un sistema operativo o determinati software 'sani' limitandone la normale funzionalità.
Il principale veicolo di trasmissione, diversamente da quanto di potrebbe supporre, non è la rete ma i floppy disk infetti. Un virus si diffonde generalmente attraverso file eseguibili (cioè i file con estensione .exe), ma anche, nel caso dei cosiddetti macro virus, cioè virus che si nascondono in file di scrittura (file con estensione .doc ma anche file redatti con programmi come Excel oAccess) che utilizzano le cosiddette macro.
Nonostante i toni allarmistici, i virus attualmente in circolazione sono circa 1000, anche se esistono versioni differenti di uno stesso ceppo (il più diffuso al momento è il virus cap). Molti di questi sono relativamente innocui e possono essere facilmente individuati ed eliminati con appositi programmi anti-virus.
Alcuni tipi di virus
- Virus Trojan Horse (cavallo di Troia)
Sono virus che si celano dietro file non eseguibili (ad esempio file compressi, 'zippati, o semplici documenti) e che quindi sono difficilmente rilevabili - se non lo si configura adeguatemente - da un programma anti-virus.
- Virus polimorfici
Esattamente come alcuni virus tristemente noti nella realtà come l'AIDS (sigla che peraltro indica proprio un virus informatico di questo tipo) o nella finzione romanzesca come 'Andromeda', i virus polimorfici sono virus in grado di trasformarsi, cambiando firma, modificandosi, da infezione ad infezione e risultando perciò di difficile individuazione per un programma anti-virus.
- Virus stealth (invisibili)
Si tratta di virus che, come Number, Beast o Frodo, 'nascondono' le modifiche che hanno arrecato ad un programma o ad un sistema indirizzando la scansione di un programma anti-virus verso aree non infette. Sono facili da individuare a meno che non rimangano residenti in memoria.
- Virus slow (lenti)
Un virus lento attacca generalmente file COM o comunque quei file che il sistema operativo sta modificando o copiando (ad esempio il virus Darth_Vader)
- Virus retro (o anti-anti-virus)
Un virus retro cerca di sfuggire all'individuazione attaccando direttamente il software anti-virus.
- Virus Multipartite (ad attacco multiplo)
I virus ad attacco multiplo agiscono attaccando sia i file eseguibili che il settore di boot dei floppy disk. In questo modo, il virus, una volta entrato in una macchina, infetta i programmi che man mano vengono lanciati.
- Virus Armored (corazzati)
Un virus si dice corazzato nel caso in cui utilizzi un determinato codice che ne rende estremamente difficile l'individuazione e la cancellazione.
- Virus Companion (di accompagnamento)
I virus di accompagnamento si attaccano ad un file eseguibile creando poi un file con una estensione differente.
- Virus Phage
Sono virus che, analogamente ai virus biologici che prendono lo stesso nome, modificano il 'codice genetico' del programma attaccato. In altre parole, il virus agisce in modificano un programma, il più delle volte sostituendo il proprio codice di programma a quello originale. Si tratta di virus estremamente distruttivi perché puntano alla distruzione del programma infettato.
- Virus macro
Si tratta della categoria di virus maggiormente in crescita. Questi virus si celano dietro documenti word. Un motivo in più per controllare bene gli attachment inviati assieme ai messaggi di posta elettronica.
I 'bug' all'interno dei browser
Secondo la terminologia tecnica, un bug, o 'baco', è un errore di programmazione, un difetto presente in un programma che, molto spesso, di traduce in un vero e proprio invito a nozze per un hacker. Queste vere e proprie 'falle' all'interno dei programmi per la navigazione in rete possono rivelarsi assai rischiose per la privacy di tutti i potenziali navigatori.
Nel giugno del 1997, ad esempio, un ricercatore della società Bell Laboratories, Vinod Anupam, ha individuato un bug presente in un comando del linguaggio di programmazione Javascript attraverso il quale era possibile penetrare all'interno di un computer collegato in rete con la versione 3.01 del Netscape Navigator, leggere il file contenente i cookies (cfr. oltre), conoscere i dati personali del possessore del computer, le pagine visitate ecc.
Altrettanti bug sono stati individuati anche nel browser Explorer, che anzi presenta forse i rischi maggiori, soprattutto per quanto concerne i componenti Active X.
Questo episodio rappresenta solo un esempio dei rischi che si possono correre muovendosi nella rete, rischi che non solo quindi solo legati alla diffusione dei virus.
I cookies
Il cookie (letteralmente, biscottino) è un file di testo (cookie.txt) che viene conservato all'interno del disco fisso dal browser (sia Netscape che Explorer). Il file cookie memorizza una serie di informazioni relative all'utente che utilizza il browser. In altre parole, le informazioni descrivono dove è stato un utente, la frequenza degli accessi, e gli 'spostamenti' compiuti da un sito all'altro.
E' possibile intervenire sui file cookie, manipolandoli, o cancellarli, nel qual caso Netscape o Explorer provvederanno a creane uno nuovo dopo la connessione successiva.
Sia Netscape che Explorer possono essere programmati in modo da attivare una sorta di 'allarme' cookie. In questo caso, il browser avvertirà con una finestra ogni volta che viene inviato un cookie.
Attivazione di un allarme cookie con Netscape 4
- Selezionare Modifica - Preferenze;
- Selezionare Avanzate;
- Nella sezione Cookies selezionare la casella 'Avvisa prima di accettare un cookie' e selezionare l'opzione desiderata (accetta tutti i cookie, accetta solo i cookies inviati al server di origine, disabilita i cookies);
Attivazione di un allarme cookie con Explorer 3
- Selezionare Visualizza - Opzioni;
- Selezionare Avanzate;
- Nella sezione Avvisi selezionare la casella 'Avvisa prima di accettare un cookie';
Nel caso in cui si voglia comunque proteggersi totalmente dalla lettura di un cookies, occorre dotarsi di specifici programmi in grado di bloccare selettivamente i cookies.
Proteggere il proprio indirizzo di posta elettronica e le informazioni
In generale, è buona norma evitare di diffondere troppo il proprio indirizzo di posta elettronica. Il minimo che può capitare è quello di essere letteralmente invasi dalle cosiddette 'spam' (nomignolo che deriva dal nome di una marca di carne in scatola molto usata negli Stati Uniti), cioè vere e proprie 'catene di S. Antonio' telematiche in grado di bloccare potenzialmente il normale flusso di posta elettronica.
La regola delle regole è inoltre quella di non inviare in nessun caso attraverso la posta elettronica informazioni di carattere riservato o contenenti password di accesso, numeri di conto corrente o di carte di credito. Anche un buon programma di crittografia può essere decifrato.
Il modo migliore di proteggersi da server troppo 'invadenti' è inoltre quello di disabilitare l'opzione di posta elettronica dal browser utilizzato per navigare in rete. Si potrà usare la posta elettronica installando un altro browser (che rimarrà perciò 'pulito' e quindi non conterrà informazioni personali) o semplicemente ricorrendo a programmi specifici per la gestione della posta elettronica.
Ulteriori approfondimenti