Internet e la sicurezza |
| A cura di Davide Bianchi |
Una rapida introduzione alla sicurezza su Internet
|
|
Introduzione
|
Questo e' un documento "generico", che ha come scopo il fornire alcune
informazioni di base sulla Sicurezza informatica, che cosa e', come
funziona, perche' e' bene saperne qualche cosa et similia. Non diventerete esperti di sicurezza ne' Cracker certificati leggendo queste informazioni, ma ne saprete un minimo di piu' di zero... NOTA: non sono un'esperto di sicurezza informatica ne' un cracker di professione.
|
|
|
Perche' dovrei preoccuparmi di sicurezza?
|
Il computer e' utilizzato per moltissime attivita', ci teniamo la
contabilita', lo usiamo per gestire i nostri conti bancari, le nostre
ricette di cucina, ci consente di tenere i contatti con i nostri
amici e/o parenti tramite la posta elettronica. Anche se non avete informazioni top-secret (a meno che non lavoriate per la CIA), suppongo non vi faccia molto piacere se qualcuno si mette a leggere la vostra posta, scorrazza tra i vostri conti correnti o si impossessa dei numeri delle vostre carte di credito. Ne' tantomeno devo supporre che vi faccia piacere sapere che qualcuno sta' usando il vostro computer per il suo divertimento personale, come se qualcuno prendesse "in prestito" la vostra auto per "farsi un giro" senza chiederlo. Se uno sconosciuto qualunque entra in casa vostra, senza essere invitato, e si mette a frugare nei vostri cassetti, nel frigorifero ed a sfogliare i vostri libri, devo supporre lo acchiappiate per il bavero e lo sbattiate fuori. Anche se non sta' facendo danni (per ora).
|
|
|
Ma perche' qualcuno dovrebbe voler "craccare" il mio computer?
Non c'e' niente di importante dentro... mica sono la CIA!
|
Molto spesso, quando una macchina "privata" viene attaccata,
il "cracker" di turno non sa nemmeno chi siete voi. Voi non gli
interessate, quello che gli interessa e' l'avere il controllo della
vostra macchina per poterla utilizzare in modo da attaccare un'altra
macchina attraverso la vostra. Questo ha due scopi: 1) avere a disposizione maggiore potenza di calcolo e 2) complicare le cose a chi cerca di trovare il cracker. Ne' piu' ne' meno di quando un ladro ruba un'auto per fare una rapina: non gli interessate voi o la vostra macchina, e' solo un mezzo.
|
|
|
Quanto e' "sicuro" il mio computer?
|
L'unica macchina sicura al 100% e' una macchina che non e' connessa a
nessuna rete, spenta e chiusa a chiave dentro uno sgabuzzino. Ovviamente, tale macchina e' anche assolutamente inutile... Purtroppo, piu' una macchina e' sicura, meno e' utilizzabile. Nel seguito di questo documento, si considerera' una "macchina tipo", connessa ad una rete locale (aziendale o casalinga) con varie risorse condivise (files, e-mail etc.) e connessa ad Internet tramite una connessione telefonica (permanente o no, non ha importanza).
|
|
|
Un po' di teoria
|
E' buona norma, prima di buttarsi sull'argomento "pesante", il fare un
po' di teoria (ed un po' di luce forse) su vari argomenti "tecnici",
che, purtroppo, sono molto usati ma poco capiti. Bandwidth (larghezza di banda) La "larghezza di banda" o "banda" e' un termine usato per descrivere la velocita' di una connessione. Per esempio, molte connessioni via modem (dial-up) possono supportare una banda di 56 kbps (Kilo Bit Per Secondo). Connessioni molto veloci, tipicamente al di sopra del 1 Mbps (Mega Bit Per Secondo), sono indicate come broadband. E' da notare che la velocita' "vera" della connessione e' in genere piu' bassa della velocita' massima possibile, questo perche' ogni connessione deve utilizzare in comune parte delle risorse della rete globale, dividendosi' cosi' la banda totale, vi sono poi da tenere conto di possibili errori di trasmissione dei dati, che obbligano a ripetere piu' volte una singola trasmissione prima di ricevere i dati in modo corretto. Broadband Questo e' un termine generale per indicare una connessione di rete ad alta velocita'. In questo senso, connessioni via cavo dedicato e DSL sono spesso identificati come "Broadband". Connessione via cavo Una connessione via cavo consente l'accesso ad Internet ad un singolo computer o ad una intera rete locale (tramite un singolo computer che fa' da "nodo") tramite un cavo dedicato. Questo cavo e' solitamente affittato da una societa' che fornisce servizi di connessione telefonica o dati. La velocita' di queste connessioni e' tipicamente di 5 Mbps. DSL Si tratta di una connessione dedicata con linea digitale, questo significa che il cavo che connette il computer con quello del fornitore del servizio e' usato solo da voi (o cosi' dovrebbe essere), e che tutti i dati viaggiano in digitale, mentre nel caso della connessione via cavo viaggiano in analogico. Connessione via modem (dial-up) Questo e' il tipo di connessione piu' semplice da incontrare. Si basa sull'utilizzo della normale rete telefonica per connettere il computer ad un fornitore di servizio (ISP) tramite un'arnese chiamato MODEM. Il Modem converte i segnali digitali del computer in segnali analogici, adatti ad essere inviati sulla rete telefonica, dall'altra parte della linea, un'altro modem effettua la conversione opposta per stabilire il collegamento. Una connessione dial-up e' in genere lenta e limitata per un tempo specifico. Che differenza c'e' tra una connessione broadband ed una dial-up? Le connessioni Dial-Up usano il normale telefono, di solito vengono iniziate dall'utente che chiama un determinato numero telefonico per connettersi, l'utente rimane connesso per il tempo che vuole, quindi "chiude" la connessione e riappende il telefono. Le connessioni broadband sono, in genere, sempre attive. Il computer e' sempre connesso alla rete. Questo significa anche che, un'attacco ad una macchina connessa in dial-up e' piu' difficile (nota: difficile, non impossibile), proprio perche' il tempo a disposizione per perpetrare l'attacco e' limitato. Inoltre, quando vi collegate tramite dial-up, voi siete collegati (solitamente) al computer del vostro ISP, il quale fa' da "schermo" verso alcuni attacchi, mentre in una connessione broadband, si suppone che siate voi stessi a predisporre il vostro "schermo" personale. Cose' un'indirizzo IP? Se il vostro computer e' connesso ad Internet, e' identificato da un numero. Tale numero e' unico in tutto il mondo ed identifica il vostro computer senza possibilita' di errore. Il numero identificativo e' noto come indirizzo IP. Vi sono due modi di ottenere un'indirizzo IP per connettersi ad Internet: se vi collegate con una connessione dial-up, il vostro ISP vi assegna un'indirizzo IP nel momento in cui iniziate la connessione, pescando tale numero da un gruppo di indirizzi che lui ha "comperato" allo scopo. Voi mantenete tale indirizzo finche' siete connessi, nel momento in cui terminate la connessione, il vostro indirizzo viene ripreso dall'ISP che lo riusera' per qualcun altro. Questo significa che potreste ottenere indirizzi diversi in tempi diversi per lo stesso computer. Un'altro modo e' quello di "comperare" uno o piu' indirizzi presso un'autorita' che li "vende". Una volta che lo avete acquistato, l'indirizzo e' vostro e potete usarlo sul vostro computer. Se avete un collegamento broadband il vostro indirizzo IP fa' parte del contratto di collegamento. La societa' che vi vende il collegamento vi assegna anche un'indirizzo IP che rimane vostro finche' pagate la bolletta. Il fatto che, in un collegamento Dial-Up, l'indirizzo cambi da una connessione all'altra, rende piu' difficile gli attacchi, ma non li rende impossibili.
|
|
|
Ok, io sono connesso ad Internet, come fa' qualcuno da "fuori"
ad entrare nel mio computer?
|
Questa e' la Domanda, purtroppo la Risposta non e' cosi' semplice. Per "entrare" nel vostro computer, il cracker di turno deve trovare una "porta". Di solito vi sono 3 modi per fare questo:
1. Tramite un "baco" in uno qualunque dei software che avete in
funzione sul vostro computer (anche senza saperlo). Bachi nei programmi Gergalmente parlando, un "baco" e' un'errore in un programma. Che ci sono errori nei programmi non dovrebbe essere un mistero, se lo e', sappiate che ogni volta che Word vi si inchioda dicendo "questo programma ha fatto una brutta cosa bla bla bla" e' per via di un'errore nel programma e non perche' non vi siete lavati i piedi stamattina come Microsoft vorrebbe farvi credere... Vi sono errori che provocano un bel crash del programma (e a volte dell'intero sistema), altri errori invece sono piu' sottili e, molte volte, passano inosservati per mesi... Gli errori che vengono sfruttati sono quelli in programmi che "ascoltano" sulla rete. Di questo genere di programmi ce ne sono a dozzine: ICQ per esempio e' un tipico programma che sta' li' ed "ascolta", aspettando che qualcuno ci contatti, programmi di gestione di posta, server web, programmi di messaggistica etc. etc. Sono tutti esempi di programmi che "ascoltano". Ognuno di questi programmi potrebbe avere (anzi, e' quasi sicuro che ce lo ha) uno o piu' errori che potrebbero essere sfruttati da un cracker.
Come? In generale si tratta di un buffer overflow, ecco di che
si tratta: il programma aspetta una chiamata, cioe' una sequenza di
dati in arrivo da internet su di un determinato "canale di comunicazione",
lui riceve tali dati e li memorizza per poi elaborarli.
Ovviamente occorre inviare i caratteri "giusti", ma si puo' fare. Per ulteriori informazioni sui buffer overflow vedere http://www.cultdeadcow.com/cDc_files/cDc-351/ Virus, Troyan, Worm ed altre schifezze Un Virus e' un programma che si "appiccica" ad un altro programma ed entra in funzione ogni volta che questo si avvia, copiando se' stesso o facendo altre... hemmm... attivita'. Un Troyan e' un programma che sembra fare una certa cosa, invece ne fa' altre (tipo aprire una porta per qualcuno la' fuori...). Uno Worm e' un programma che sfrutta le porte aperte da altri sistemi per "muoversi" in rete da un computer ad un'altro. Questi 3 "cosi" hanno una sola cosa in comune: sono forieri di guai. Un virus puo' essere inviato tramite posta elettronica (vedi "I Love You"), sperando che l'incauto utente che lo riceve lo esegua installandolo sul proprio sistema (ed a giudicare dal fenomeno "I Love You" e "Anna Kurnikova" direi che l'U-Tonto medio esegue tutto quello che gli passa davanti). Una volta installato il virus puo' aprire porte o fare altro a giudizio di chi lo ha creato. Bussate e vi sara' aperto... In moltissimi casi, per "entrare" in un computer basta bussare. Collegarsi insomma al computer per vedersi garantito l'accesso. Questo e' dovuto fondamentalmente al fatto che l'utente *non ha la piu' pallida idea* di quali programmi sono in funzione sul suo sistema, non sa come configurarli e magari non ha nemmeno attivato una password per impedire o restringere l'accesso.
|
|
|
Supponiamo che qualcuno sia entrato nel mio sistema, che cosa
puo' fare ?
|
Gia' il fatto che sia "dentro" non e' bello, poi dipende da che sistema
e' e da come e' entrato. Su un sistema Windows in genere, un cracker che riesce ad accedere ha gia' le abilitazioni di "System". Puo' fare cioe' qualunque cosa, senza restrizioni. Su un sistema Unix/Linux il cracker deve riuscire a diventare "root" (superutente) prima di poter fare qualche cosa di dannoso. In ogni caso, la prima cosa che un cracker fa' in questa situazione e' quella di installare un rootkit, cioe' uno o piu' programmi/file che gli consentono di ri-entrare nel sistema una volta uscitone. In pratica, una volta entrato in casa, si fa' una copia della chiave per poterci ritornare ogni volta che vuole. Un'altra cosa che puo' essere fatta e' l'installazione di un "bot", cioe' un programma che rimane in attesa di comandi dall'esterno, ed esegue operazioni usando il vostro computer. In questo modo il cracker si e' procurato uno "schiavo" (o zombie) che eseguira' i suoi comandi invece dei vostri. Sorvoliamo poi su eventuali scopi realmente criminosi (reperimento di password/numeri di carta di credito/codici bancari, falsificazione di messaggi inviati a banche et similia) e sulla possibilita' che il cracker "spiani" semplicemente la vostra macchina...
|
|
|
Prevenire e' meglio che curare
|
Come evitare che qualcuno "entri" non invitato in casa propria?
Per prima cosa si chiudono le porte e le finestre che sono lasciate
aperte, si mettono sbarre alle finestre e si usa la serratura della
porta, non si lascia la porta spalancata e ci si prepara al peggio
con una bella assicurazione. Chiudere porte e finestre Cioe' sapere quali programmi stanno funzionando, eliminare tutti quelli che sono inutili/indesiderati, tenere sotto controllo gli altri. Assicurarsi che non vi siano Virus/Troyan sulla propria macchina e che solo le "porte" necessarie siano effettivamente in uso. Come si fa' questo? Dipende dal sistema. Sotto Windows esistono vari software di controllo, molti sono costosi ed inutili, alcuni sono costosi ed utili, pochi sono gratuiti ed utili, se usate Linux/Unix, tutti gli strumenti necessari sono forniti con il sistema, si tratta solo di saperli usare (e per questo la documentazione non manca). Non aprire gli allegati che arrivano via e-mail senza prima averli passati ad un antivirus, non aprire soprattutto gli allegati che arrivano da sconosciuti. In questo senso, chi usa Unix/Linux parte avvantaggiato, in quanto la maggioranza di e-mail virus in circolazione sono fatti per Windows e non possono nulla su Linux. Sbarre e serrature Cioe' firewall e passwords, sono i primi strumenti usati per tenere fuori ospiti indesiderati. Un firewall e' un programma o un dispositivo posto tra noi ed Internet, in grado di intercettare tutte le "comunicazioni" che entrano o escono dalla nostra macchina e bloccare quelle "indesiderate". Anche qui', il come dipende dal sistema. In Windows ci sono vari software che funzionano da firewall, ma devono essere installati (e pagati) separatamente, mentre in Linux/Unix tutto il software e' gia' presente e disponibile. Le password consentono l'accesso alle risorse della macchina solo a chi le conosce, evitando quindi che il primo che passa possa entrare e fare i suoi comodi. Per queste pero', e' meglio fare un discorso a parte.
|
|
|
Password
|
Molti utenti odiano le password, le considerano fumo negli occhi o
(al meglio) una perdita di tempo. Purtroppo la password e' spesso
tutto quello che esiste tra un tentativo di cracking ed il nostro
computer. Non avere una password equivale a lasciare la porta di
casa aperta. Ma anche avere una password ovvia non e' una bella idea. Ho visto un numero imprecisato (ma molto alto) di amministratori utilizzare sempre la stessa password "password" per ogni server o macchina da loro gestita, per non parlare poi di "segreta" o "segreto" (credo sia la seconda password piu' gettonata in assoluto). Una simile password non serve assolutamente a nulla. Qualunque cracker che si rispetti un minimo conosce tutte queste finte-password e le provera' una per una, se ne abbiamo usata una, be' tanto vale mettere fuori un cartello "ladri e delinquenti, venite tutti"... In linea generale una password deve essere abbastanza difficile da non poter essere indovinata, non deve essere una parola presente in un dizionario ma deve essere abbastanza sensata per voi da essere facilmente ricordata. Perche' sta' cosa del dizionario? direte voi. Ecco il motivo: uno dei sistemi piu' semplici per "azzeccare" una password consiste nell'usare un programma che prova tutte le parole del dizionario finche' non riesce ad entrare o le ha esaurite tutte. Se si usano parole che sono in un dizionario come password (o anche nomi di persona), la password verra' "spezzata" con facilita'. Molti sistemi assegnano una password generata casualmente, che contiene numeri e caratteri strambi. Non sono molto entusiasta di questo sistema, anche se e' sicuramente piu' sicuro di una parola del dizionario, perche' l'utente avra' sicuramente problemi nel ricordarla e finira' per scriverla da qualche parte o (peggio) scriverla nel computer stesso... come chiudere la porta e mettere la chiave sotto lo zerbino... Le migliori password sono (secondo me) quelle composte da piu' di una parola, in modo da comporre una (piccola) frase facile da ricordare. E' molto utile poi, usare parole in lingua straniera. Se il sistema su cui si lavora e' in inglese, usare password in italiano e' un buon sistema per renderle meno "indovinabili", se poi conoscete qualche lingua poco usata...
|
|
|
Non lasciare la porta aperta
|
Assicurarsi che le proprie protezioni siano in funzione e non lasciare
la "porta" spalancata. Sembra una cosa idiota detta cosi', ma in molti
casi, quando l'amministratore di un sistema si accorge che un cracker
e' entrato e cerca di capire "come", scopre che ha usato un baco vecchio
di mesi, o "quell'utente senza password che volevo cancellare tempo
fa'"... Tenere aggiornato il proprio sistema e' la prima cosa: applicare le patch di sicurezza, informarsi se ne esistono di nuove, verificare eventuali nuove versioni dei programmi installati. Controllare e ricontrollare. Cambiare periodicamente le proprie password. E' imperativo farlo dopo che un'attacco e' stato subito, ma e' anche buona misura farlo di tanto in tanto, in modo da rendere piu' duro il lavoro a chi cerca di entrare. Tenere sotto controllo il proprio sistema. Non e' bello accorgersi che qualcuno e' entrato nel proprio computer, ma e' ancora peggio se ci si accorge che il "qualcuno" e' entrato 2 mesi fa' e da allora sta' scorrazzando liberamente tra i nostri files... Assicurazione = backup!. Fare una copia dei dati importanti e tenerla in un "posto sicuro", che non sia lo stesso computer e' un'ottima assicurazione.
|
|
|
Sono entrati... e adesso?
|
Se scoprite che, nonostante le vostre protezioni, qualcuno e' riuscito
ad entrare nel vostro sistema, vi rimangono solo tre cose da fare:
Ok, e' brutto da dire, noioso e lungo da fare, ma e' l'unico modo sicuro al 100% di eliminare qualunque rootkit, virus, worm o cos'altro che sia stato installato senza la vostra autorizzazione. Come si fa' un immagine del sistema? Con Linux/Unix basta usare il comando dd, con Windows esistono vari software che possono essere usati allo scopo, ma nessuno e' gratuito o incluso con il sistema.
|
|
|
Indagine post-mortem
|
Si tratta di ispezionare l'immagine fatta del sistema dopo il danno,
per capire dove' che avete sbagliato, cioe' dove' il "buco"
attraverso il quale sono entrati. Non si tratta di una cosa semplice, a volte e' impossibile, si tratta di analizzare i file di log, ed ogni possibile file per indicazioni sul come e quando e' successo.
|
|
|
Bigliografia e risorse sull'argomento
|
Se vi interessa l'argomento "security" consiglio vivamente di
installarsi Linux e giocarci un po'. Si tratta di un sistema molto
efficiente, stabile e (soprattutto) dotato di tutto cio' che si puo'
volere dal punto di vista della sicurezza. Dopodiche', potete divertirvi a leggere un po' di documentazione: La O'Reilly (www.oreilly.com) ha a listino un bel numero di manuali che trattano di sicurezza informatica, firewall ed altri argomenti correlati. Su LinuxDoc (www.linuxdoc.org) trovate parecchi HOWTO relativi a come installare e configurare firewall ed altri arnesi simili. Se non volete andare troppo sul tecnico ma apprezzate un buon libro, The cookoo's egg di Cliff Stoll, anche se un po' "datato" come libro, presenta un'ottima analisi dei vari metodi di cracking (tutt'ora validi), ed e' un'ottima lettura per un pomeriggio di pioggia... Anch'esso un po' datato ma ancora attualissimo e' A complete H@cker's handbook, di Dr-K.
|
|
Comments Max length of comments: 1000 chars. |
3 commenti marco dice il 22/04/2008 07:40: domanda semplice.....kaspersky suite e un sistema di protezione valido?? in che percentuale? grazie mai provato in vita mia Paolo dice il 25/05/2008 15:33: Se netstat non riporta collegamenti aperti verso l'esterno si dovrebbe stare tranquilli, no ? che una macchina non abbia nessun collegamento verso l'esterno e' quasi impossibile se e' collegata, come minimo hai connessioni ARP. A meno che non sia disconnessa dalla rete, allora si' che sei tranquillo... Francesco Paolini dice il 22/09/2008 18:45: >A meno che non sia disconnessa dalla rete, allora si' che sei tranquillo... finchè il luser di turno non ci bazzica intorno, si incuriosisce e ci mette le mani sopra|intorno|dentro Add a comment (max 1000 chars)
|
| L'Autore |
Davide Bianchi,
works as Unix/Linux administrator for a "network security" company of Haarlem. Contacts: mail: davide AT onlyforfun.net , ICQ: 268751033, Jabber: davideyeahsure AT gmail.com Skype: davideyahsure |
| Contribuire | Volete contribuire? Leggete come! |
| Copyright | This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail. |
This site isn't optimized for vision with any specific browser, nor
it requires special fonts or resolution.
You're free to see it as you wish.
Ultimo aggiornamento: 25 Luglio 2001