Pericoli / casi problematici
Oltre a dare un'immagine piuttosto romantica dell'hacker come adolescente ribelle che fa irruzione e viola il sistema scolastico per aumentarsi i voti, oggigiorno attività del genere rappresentano un pericolo da prendere in seria considerazione per i luoghi d'istruzione a tutti i livelli. Esistono vari tipi di attacchi o abusi dei mezzi di natura informatica. Fanno tendenza i cosiddetti Worm (vermi) Internet. Ecco una panoramica dei più diffusi durante il terzo e quarto trimestre 2007:
| Reg. Rank | World Rank | Sample | Type | Propagation Vectors | Impact | Top Reporting Country | |||||||||||||||||||||
1 | 3 | W32.Stration | Worm | SMTP | Downloads and installs other threads | Czech Republic | |||||||||||||||||||||
2 | 1 | W32.Netsky.P | Worm | SMTP.P2P | Keystroke logger targets www.e-gold.com | France | |||||||||||||||||||||
3 | 9 | W.32.Stration.CX | Worm | SMTP | Downloads and installs other threads | Czech Republic | |||||||||||||||||||||
4 | 11 | W.32.Sality.U | Virus | File sharing | Downloads and installs other threads | India | |||||||||||||||||||||
5 | 5 | W.32.Stration.DL | Worm | SMTP | Downloads and installs other threads | Czech Republic | |||||||||||||||||||||
6 | 4 | W.32.Blackmal.E | Worm | SMTP File sharing | Overwrites files | Egypt | |||||||||||||||||||||
7 | 12 | W.32.Mydoom.L | Worm, backdoor | SMTP P2P | Keystroke logger and backdoor | Italy | |||||||||||||||||||||
8 | 8 | W.32.Mydoom.M | Worm, backdoor | SMTP | Downloads backdoor | United Kingdom | |||||||||||||||||||||
9 | 20 | W.32.Pinfi | Virus | File sharing | Polymorphic virus | Russia | |||||||||||||||||||||
10 | 15 | W.32.Mytob.EA | Worm, backdoor | SMTP | Allows remote access | Switzerland | |||||||||||||||||||||
Metodi degli hacker
In base al suo grado di conoscenza, l'hacker ha a disposizione una miriade di metodi e strumenti. La descrizione che ne facciamo non avanza in alcun modo pretesa di completezza, bensì fornisce solo uno spunto al riguardo.
Le informazioni sul funzionamento di Internet, dei servizi Internet, e affini, sono pubbliche e quindi accessibili liberamente a chiunque. Oltre ad un utilizzo "civile", di queste informazioni viene fatto ben altro uso dagli hacker. Con la diffusione della comprensione basilare dei modi di funzionamento di Internet, si sono ben presto palesati pubblicamente anche i loro punti deboli, tra i quali falle in tutte le funzioni di sicurezza. Molti dei protocolli introdotti, basati sul principio Transmission Control Protocol/Internet Protocol (TCP/IP), difettano in sicurezza.
Ma con il tempo si impara dagli errori del passato e quindi si è in grado di sviluppare software, servizi o protocolli migliori. Così, ad esempio, i meccanismi di sicurezza nel protocollo Internet di "nuova generazione" IPv6 sono standard. Il nuovo protocollo Internet è dotato di IPsec, con cui è possibile assicurare una maggiore sicurezza.
Prendiamo ad esempio i seguenti protocolli che hanno tutti uno punto comune: trasferiscono in chiaro testo su Internet i nomi utenti e le password:
In base al suo grado di conoscenza, l'hacker ha a disposizione una miriade di metodi e strumenti. La descrizione che ne facciamo non avanza in alcun modo pretesa di completezza, bensì fornisce solo uno spunto al riguardo.
Le informazioni sul funzionamento di Internet, dei servizi Internet, e affini, sono pubbliche e quindi accessibili liberamente a chiunque. Oltre ad un utilizzo "civile", di queste informazioni viene fatto ben altro uso dagli hacker. Con la diffusione della comprensione basilare dei modi di funzionamento di Internet, si sono ben presto palesati pubblicamente anche i loro punti deboli, tra i quali falle in tutte le funzioni di sicurezza. Molti dei protocolli introdotti, basati sul principio Transmission Control Protocol/Internet Protocol (TCP/IP), difettano in sicurezza.
Ma con il tempo si impara dagli errori del passato e quindi si è in grado di sviluppare software, servizi o protocolli migliori. Così, ad esempio, i meccanismi di sicurezza nel protocollo Internet di "nuova generazione" IPv6 sono standard. Il nuovo protocollo Internet è dotato di IPsec, con cui è possibile assicurare una maggiore sicurezza.
Prendiamo ad esempio i seguenti protocolli che hanno tutti uno punto comune: trasferiscono in chiaro testo su Internet i nomi utenti e le password:
| FTP (trasferimento di dati) | |
| HTTP (trasferimento di pagine web durante la navigazione) | |
| SMTP (invio di messaggi e-mail da A a B) | |
| POP (ritiro di messaggi e-mail dalla casella di posta) | |
| Telnet (manutenzione remota dai computer) | |
| IMAP (lettura di messaggi e-mail dalla casella di posta) |
Sniffing
Come sopra descritto, i protocolli Internet maggiormente utilizzati trasferiscono in chiaro le informazioni di log-in su Internet, il che rappresenta un aiuto per l"hacking". Ad un hacker basta solamente "ascoltare" in un determinato punto con uno "sniffer" (software di intercettazione di rete) ed egli può identificare quasi completamente nomi, utenti e password senza grande sforzo. Oltre agli sniffer standard, concepiti principalmente per legittime ricerche di errori nella rete, esistono anche strumenti hacker specializzati che "ascoltano" in particolare nomi, utenti e password nel flusso dati e li filtrano in modo mirato. Naturalmente è possibile utilizzare strumenti del genere anche nella rete propria per testare come trasferire le password in modo non cifrato.
Come sopra descritto, i protocolli Internet maggiormente utilizzati trasferiscono in chiaro le informazioni di log-in su Internet, il che rappresenta un aiuto per l"hacking". Ad un hacker basta solamente "ascoltare" in un determinato punto con uno "sniffer" (software di intercettazione di rete) ed egli può identificare quasi completamente nomi, utenti e password senza grande sforzo. Oltre agli sniffer standard, concepiti principalmente per legittime ricerche di errori nella rete, esistono anche strumenti hacker specializzati che "ascoltano" in particolare nomi, utenti e password nel flusso dati e li filtrano in modo mirato. Naturalmente è possibile utilizzare strumenti del genere anche nella rete propria per testare come trasferire le password in modo non cifrato.
Malcode
Con la definizione "Malcode" (Malicious Code, o anche Malware) si intendono generalmente programmi "maligni" sotto forma di virus, worm (vermi, una particolare categoria di malware in grado di autoreplicarsi) o trojan (cavalli di troia). Naturalmente possono esserci anche delle combinazioni. Virus e vermi sono per lo più solo un disturbo, ma possono in certi casi causare anche grossi danni. La propagazione in sé può provocare un attacco di tipo "Denial of Service", cioè portare il funzionamento di un sistema informatico che fornisce un servizio al limite delle prestazioni, fino a renderlo non più in grado di erogare il servizio; ma non solo: i virus possono trasportare in modo clandestino un malcode di tipo "trojan" (cavallo di troia). Se un trojan entra nel sistema, può permetterne all'hacker l'accesso completo. Rappresentanti famosi di questa categoria di trojan sono "Biofrost", "Shark" ed alcuni altri.
Questi programmi maligni vengono impiegati per diverse ragioni, spesso per fare uno scherzo, ma se ben congegnati e mirati essi sono molto realistici.
Secondo uno studio di Sophos lo 0,12 % di tutte le e-mail ha un allegato infettato - in altre parole una e-mail ogni 833.
La situazione è più critica quando si parla dello stato stabile e sicuro dei siti Web. Ecco una statistica che elenca i siti Web più infettati:
Con la definizione "Malcode" (Malicious Code, o anche Malware) si intendono generalmente programmi "maligni" sotto forma di virus, worm (vermi, una particolare categoria di malware in grado di autoreplicarsi) o trojan (cavalli di troia). Naturalmente possono esserci anche delle combinazioni. Virus e vermi sono per lo più solo un disturbo, ma possono in certi casi causare anche grossi danni. La propagazione in sé può provocare un attacco di tipo "Denial of Service", cioè portare il funzionamento di un sistema informatico che fornisce un servizio al limite delle prestazioni, fino a renderlo non più in grado di erogare il servizio; ma non solo: i virus possono trasportare in modo clandestino un malcode di tipo "trojan" (cavallo di troia). Se un trojan entra nel sistema, può permetterne all'hacker l'accesso completo. Rappresentanti famosi di questa categoria di trojan sono "Biofrost", "Shark" ed alcuni altri.
Questi programmi maligni vengono impiegati per diverse ragioni, spesso per fare uno scherzo, ma se ben congegnati e mirati essi sono molto realistici.
Secondo uno studio di Sophos lo 0,12 % di tutte le e-mail ha un allegato infettato - in altre parole una e-mail ogni 833.
La situazione è più critica quando si parla dello stato stabile e sicuro dei siti Web. Ecco una statistica che elenca i siti Web più infettati:
| Posizione | Ultimo mese | Paese | Reports in percento | ||||||||||||
1 | 1 | China (incl. HK) | 54,9% | ||||||||||||
2 | 2 | United States | 17,1% | ||||||||||||
3 | 3 | Russia | 14,4% | ||||||||||||
4 | 4 | Ukraine | 3,7% | ||||||||||||
5 | 6 | Germany | 1,0% | ||||||||||||
6= | 9= | United Kingdom | 0,7% | ||||||||||||
6= | 5 | Poland | 0,7% | ||||||||||||
6= | 7 | Netherlands | 0,7% | ||||||||||||
7= | Re-entry | Czech Republic | 0,6% | ||||||||||||
7= | 9= | Canada | 0,6% | ||||||||||||
altri | 5,6% | ||||||||||||||
Sfruttamento dei difetti nel software e nella configurazione
Un problema enorme nell'utilizzo dei computer è diventata la loro complessità. Ogni nuova versione di software viene dotata di nuove funzioni, il che significa anche nuovi possibili punti deboli. Pertanto è necessario sin da subito operare un dispendio relativamente sostanzioso per rendere e mantenere sicuri i sistemi.
La maggior parte degli accessi non autorizzati ad un sistema riesce perché l'hacker sfrutta in modo mirato una debolezza (Vulnerability) di un sistema operativo o di un'applicazione. Sebbene in genere molti produttori mettano prontamente a disposizione delle correzioni per le falle identificate, durante un tempo più o meno lungo un eventuale attacco resta possibile. Tra il momento della comunicazione della falla al produttore e quello dell'installazione di un rimedio nel sistema del cliente possono trascorrere settimane e addirittura mesi. Per non parlare dei punti deboli che non sono identificati. Ci si può chiedere, ad esempio, quando (se mai) un hacker riveli al produttore il punto debole che ha trovato. Probabilmente nel momento in cui lo ha già largamente utilizzato.
La causa più comune di accessi non autorizzati, tuttavia, è la configurazione difettosa dei sistemi e la mancata osservanza delle istruzioni di sicurezza contenuti nei manuali. Spesso i software vengono installati con impostazioni standard (spesso anche con password standard), che in seguito non vengono controllate o aggiornate o solo in maniera insufficiente. Per quasi ogni applicazione disponibile è possibile rintracciare le informazioni standard corrispondenti in Internet. Questi database online contengono nomi utente e password standard per tutti i possibili pacchetti software che si trovano sul mercato.
Un problema enorme nell'utilizzo dei computer è diventata la loro complessità. Ogni nuova versione di software viene dotata di nuove funzioni, il che significa anche nuovi possibili punti deboli. Pertanto è necessario sin da subito operare un dispendio relativamente sostanzioso per rendere e mantenere sicuri i sistemi.
La maggior parte degli accessi non autorizzati ad un sistema riesce perché l'hacker sfrutta in modo mirato una debolezza (Vulnerability) di un sistema operativo o di un'applicazione. Sebbene in genere molti produttori mettano prontamente a disposizione delle correzioni per le falle identificate, durante un tempo più o meno lungo un eventuale attacco resta possibile. Tra il momento della comunicazione della falla al produttore e quello dell'installazione di un rimedio nel sistema del cliente possono trascorrere settimane e addirittura mesi. Per non parlare dei punti deboli che non sono identificati. Ci si può chiedere, ad esempio, quando (se mai) un hacker riveli al produttore il punto debole che ha trovato. Probabilmente nel momento in cui lo ha già largamente utilizzato.
La causa più comune di accessi non autorizzati, tuttavia, è la configurazione difettosa dei sistemi e la mancata osservanza delle istruzioni di sicurezza contenuti nei manuali. Spesso i software vengono installati con impostazioni standard (spesso anche con password standard), che in seguito non vengono controllate o aggiornate o solo in maniera insufficiente. Per quasi ogni applicazione disponibile è possibile rintracciare le informazioni standard corrispondenti in Internet. Questi database online contengono nomi utente e password standard per tutti i possibili pacchetti software che si trovano sul mercato.
Applicazioni e presenza sul web
Molte istituzioni scolastiche si offrono una presenza sul web, con informazioni per alunni, genitori e corpo insegnante. Anche i server web hanno subito una rapida trasformazione: partendo dalla visualizzazione di semplici pagine statiche, le tecnologie si sono evolute in modo rapidissimo. Ora le pagine web sono spesso costruite dinamicamente, con un contenuto combinato all'occorrenza. Tuttavia questo ampliamento della funzionalità del server web implica anche una serie di problemi relativi alla sicurezza.
La composizione di una pagina web dinamica presuppone che un utente dichiari cosa vuole; il server elabora quindi la richiesta e presenta il risultato all'utente. Allora cosa accade se si propone qualcosa che il server web non si aspetta? Un piccolo esempio di URL che può essere inserito nella riga dell'indirizzo del browser:
http://www.meineseite.ch/cgi-bin/php?/etc/passwd
Se il server di destinazione opera su Unix/Linux ed è disponibile PHP (in modalità CGI), il comando emetterebbe sullo schermo il file password Unix nel caso in cui il sistema del server non sia configurato regolarmente.
Oltre a questo esempio, dove viene sfruttata una vulnerabilità concezionale delle applicazioni basate su CGI (Common Gateway Interface), anche lo stesso codice programmato rappresenta un potenziale problema inerente alla sicurezza. Esistono innumerevoli possibilità di sfruttare i difetti presenti nel codice del programma per entrare illegalmente nei sistemi.
È anche possibile attaccare il servizio di hosting che ospita il sito web. A tal fine sono disponibili diverse tecniche, tra quelle più famose: SQL Injection, XSS, Session Hijacking ecc. È possibile difendersi con successo dalla maggior parte di queste tecniche eseguendo una buon controllo a monte (Input Validation). In altre parole, gli attacchi vengono eseguiti inserendo, ad esempio, in un campo di ricerca di un sito Web un codice maligno. Se l'Input (inserimento nel campo di ricerca) ha un buon filtro (Input Validation), è possibile scoprire ed eliminare il codice maligno. I meccanismi di validazione di inserimento, tuttavia, richiedono un certo grado di conoscenze di Web Application Security. È possibile ovviare a ciò con programmi detti "third party" (prodotti per la sicurezza di terze parti):
Molte istituzioni scolastiche si offrono una presenza sul web, con informazioni per alunni, genitori e corpo insegnante. Anche i server web hanno subito una rapida trasformazione: partendo dalla visualizzazione di semplici pagine statiche, le tecnologie si sono evolute in modo rapidissimo. Ora le pagine web sono spesso costruite dinamicamente, con un contenuto combinato all'occorrenza. Tuttavia questo ampliamento della funzionalità del server web implica anche una serie di problemi relativi alla sicurezza.
La composizione di una pagina web dinamica presuppone che un utente dichiari cosa vuole; il server elabora quindi la richiesta e presenta il risultato all'utente. Allora cosa accade se si propone qualcosa che il server web non si aspetta? Un piccolo esempio di URL che può essere inserito nella riga dell'indirizzo del browser:
http://www.meineseite.ch/cgi-bin/php?/etc/passwd
Se il server di destinazione opera su Unix/Linux ed è disponibile PHP (in modalità CGI), il comando emetterebbe sullo schermo il file password Unix nel caso in cui il sistema del server non sia configurato regolarmente.
Oltre a questo esempio, dove viene sfruttata una vulnerabilità concezionale delle applicazioni basate su CGI (Common Gateway Interface), anche lo stesso codice programmato rappresenta un potenziale problema inerente alla sicurezza. Esistono innumerevoli possibilità di sfruttare i difetti presenti nel codice del programma per entrare illegalmente nei sistemi.
È anche possibile attaccare il servizio di hosting che ospita il sito web. A tal fine sono disponibili diverse tecniche, tra quelle più famose: SQL Injection, XSS, Session Hijacking ecc. È possibile difendersi con successo dalla maggior parte di queste tecniche eseguendo una buon controllo a monte (Input Validation). In altre parole, gli attacchi vengono eseguiti inserendo, ad esempio, in un campo di ricerca di un sito Web un codice maligno. Se l'Input (inserimento nel campo di ricerca) ha un buon filtro (Input Validation), è possibile scoprire ed eliminare il codice maligno. I meccanismi di validazione di inserimento, tuttavia, richiedono un certo grado di conoscenze di Web Application Security. È possibile ovviare a ciò con programmi detti "third party" (prodotti per la sicurezza di terze parti):
| Php-ids.org, esegue la completa validazione di inserimento ed è facilmente inseribile in un sito Web esistente. |
Attacchi DDOS
Un attacco DDOS è un vecchio metodo di attacco ben noto e ancora molto diffuso, per cui merita di essere brevemente descritto.
Per spiegare DDOS è necessario illustrare un attacco DOS (Denial of Service). Il concetto è semplice: durante un attacco DOS a un servizio non si fa altro che inviare in continuazione pacchetti di richieste, saturandone le risorse fino a renderlo non più in grado di erogare il servizio; il sistema va così in crash o deve essere disattivato. In altre parole, si tratta di uno stress per il servizio che lo può mettere in ginocchio.
Il metodo DDOS (Distributed Denial of Service) si differenzia dall'attacco DOS "solo" perché nel primo caso le richieste di servizio vengono eseguite da diversi host (e non solo da uno) e per questo gli attacchi sono detti distribuiti (distributed).
Chi fornisce all'attaccante le risorse per lanciare gli attacchi da diversi host? La risposta è semplice: i Botnet. Il Botnet, per fornire una spiegazione semplice, è una rete di calcolatori che (quasi sempre) sono stati infettati da worm e in base a un determinato evento, ad esempio l'ora, eseguono attacchi DOS. Persino i server di aggiornamento della Microsoft sono stati messi fuori uso a suo tempo, per diverse ore, con questo tipo di attacco.
Un "worm" Internet molto diffuso è MyDoom.
Un attacco DDOS è un vecchio metodo di attacco ben noto e ancora molto diffuso, per cui merita di essere brevemente descritto.
Per spiegare DDOS è necessario illustrare un attacco DOS (Denial of Service). Il concetto è semplice: durante un attacco DOS a un servizio non si fa altro che inviare in continuazione pacchetti di richieste, saturandone le risorse fino a renderlo non più in grado di erogare il servizio; il sistema va così in crash o deve essere disattivato. In altre parole, si tratta di uno stress per il servizio che lo può mettere in ginocchio.
Il metodo DDOS (Distributed Denial of Service) si differenzia dall'attacco DOS "solo" perché nel primo caso le richieste di servizio vengono eseguite da diversi host (e non solo da uno) e per questo gli attacchi sono detti distribuiti (distributed).
Chi fornisce all'attaccante le risorse per lanciare gli attacchi da diversi host? La risposta è semplice: i Botnet. Il Botnet, per fornire una spiegazione semplice, è una rete di calcolatori che (quasi sempre) sono stati infettati da worm e in base a un determinato evento, ad esempio l'ora, eseguono attacchi DOS. Persino i server di aggiornamento della Microsoft sono stati messi fuori uso a suo tempo, per diverse ore, con questo tipo di attacco.
Un "worm" Internet molto diffuso è MyDoom.
