4 Attacchi
Lo spoofing degli IP e' un sistema
per cui un host invia dei pacchetti che dichiarano di provenire da un altro
host. Siccome il filtro dei pacchetti prende le decisioni in base all'indirizzo
di provenienza, lo spoofing degli IP serve a far saltare i filtri sui
pacchetti. E' anche utilizzato a mascherare l'identita' di chi sferra
l'attacco, utilizzando gli attacchi SYN, Teardrop, Ping of Death (ping della
morte) e altri simili.
Figura 10: Esempio di un attacco Spoofing.
Le società A e B lavorano insieme allo sviluppo di un nuovo prodotto,
che le renderà più competitive sul mercato. La società A ha un server sicuro
mentre la società B è vulnerabile. Con un attacco di tipo spoofing alla società
B, la società C può ottenere l’accesso alla società A tramite falsificazione
dell’indirizzo della società B. [8]
Nonostante i Firewall siano uno
dei migliori metodi per assicurare una rete locale da attacchi provenienti da
Internet, ed in generale da utenti esterni a tale LAN, esistono alcuni
possibili attacchi a queste macchine,
che possono riuscire a mandare in crash il sistema rendendo così necessario un
reboot della macchina stessa. Questi attacchi sono detti di tipo “Denial of
Service” Tale termine indica una vasta tipologia di attacchi che sfrutta alcune
lacune del Tcp/Ip. I DoS sono portati ad ogni tipo di computer connesso
ad Internet. Generalmente é possibile vedere comparire sul proprio monitor la
classica schermata blue, detta anche "the blue death screen".
Le piattaforme a rischio.
Se guardiamo i vari sistemi
operativi in ordine alla generalità degli attacchi Denial of Service, potremo
dire che tutte le piattaforme sono potenzialmente a rischio. Se invece
scendiamo nel particolare, troveremo che, a seconda del tipo di attacco,
esistono dei sistemi operativi maggiormente vulnerabili rispetto ad altri, sia
per mancanza di patch realmente efficaci sia per numero degli attacchi stessi
in continuo aumento. Attualmente uno dei meno vulnerabili ai DoS é Linux;
sottolineiamo che nessun sistema operativo può comunque definirsi a priori
immune. [9]
Descrizione degli attacchi più
comuni
Nella categoria degli attacchi
chiamata in gergo "network-level attacks against hosts" lo
smurf è uno dei più conosciuti. L’attacker spedisce un gran numero di richieste
Ping broadcast a vari
indirizzi di classe 'C'. Tutti questi ping hanno un indirizzo di partenza
falso, che coincide con quello di una terza macchina, reale oggetto di attacco.
Il router inizia la trasmissione
broadcast delle richieste ping ai vari computer "interlocutori", i
quali costituiscono il mezzo inconsapevole dell’esecuzione dell’attacco.
Naturalmente gli host medesimi
rispondono positivamente al ping, tutti sulla stessa macchina di destinazione (
quella precedentemente "falsificata") che va in overload a causa del
numero insostenibile delle richieste.
Recentemente l’Università del
Minnesota è stata colpita da un attacco smurf, che le ha creato un fermo totale
dei servizi di oltre 2 ore .
Questi attacchi possono essere
portati anche con tool automatici e, naturalmente come tutti gli altri, sono
vietati e puniti dalla legge penale italiana. [15]
Land è stato segnalato per la
prima volta verso la fine di Novembre 1997. Ne sono ancora vittime Windows 95,
Windows NT, Windows for Workgroups, Sun OS, molte versioni di BSD Unix. In
pratica, qualsiasi macchina che monti uno stack Tcp-Ip è potenzialmente
attaccabile. Inoltre sono vulnerabili anche alcuni router Cisco, il cui
dipartimento ricerca e sviluppo è comunque continuamente impegnato nel porre i
rimedi del caso.
Land funziona in questo modo: La
macchina "A" manda un pacchetto "spoofato" alla macchina
"B" con il SYN flag attivato. Questo genera, naturalmente, un’
"handshake" (stretta di mano, presa di contatto) tra il client e l’
host contattato. Quando, come in questo caso ad esempio, l’indirizzo Ip di
sorgente (a mezzo spoofing) è identico a quello di destinazione, l’Host
bersaglio dell’attacco va in crash in quanto non riesce più a portare a termine
l’operazione di Akn. In poche parole l’host va in tilt in quanto cerca di
colloquiare con se stesso. [15]
É conosciuto anche come tear, TCP/IP
fragment bug, overlapfrag bug . Colpisce Windows 3.1/95/NT, Linux (prima della
2.0.32 e la 2.1.63) . Gli effetti di questo attacco sono il solito crash
immediato con il consequenziale reboot.
Dal punto di vista della
sintomatologia degli attacchi, può essere d’aiuto questo
"promemoria".
Se il sistema operativo è
"riparato" contro "winnuke" and "ssping" (di cui
parleremo tra poco) e va lo stesso in crash, è probabile che gli attacchi di
cui si è oggetto siano "land" e "teardrop".
Se, invece, si viene sconnessi in
continuazione, è probabilmente "click" ad operare. Tutti gli attacchi
sinora citati vengono descritti in questo articolo. [15]
Questo tipo di attacco ha come
varianti-alias: boink, newtear, teardrop2 . Colpisce le piattaforme Windows 95
/ NT4 ed ha come sintomi il solito Blue screen con crash conseguente.
Trattandosi di un problema che
affligge le piattaforme windows, è la Microsoft a "sentire"
maggiormente il problema.
Bonk funziona approfittando di un
problema intrinseco dello stack TcpIp di Microsoft, relativo alla gestione dei
pacchetti "Udp Malformed". Di norma questi pacchetti non dovrebbero
essere generati durante delle normali sessioni Tcp Ip. Naturalmente, in questi
casi, le informazioni contenute nell’header sono volutamente errate ; di
conseguenza il sistema ricevente non sa gestirli e va in crash. [15]
Altra colonna storica , Ssping ha
come varianti: jolt, sPING, ICMP bug, IceNewk, "Ping of Death".
L’attacco viola le piattaforme
Windows 95 / NT
La sintomatologia consiste in un
blocco del computer, con richiesta di un reboot (si tenga conto che il semplice
ctrl+alt+del non funziona).
Dopo il reboot, la macchina riprende a funzionare. [15]
Le sue varianti sono: Windows OOB
bug.. Questo attacco colpisce tutte le piattaforme windows e da come sintomo il
solito "Blue Screen" (Vxd) error. Naturalmente la macchina e la
connessione non sono utilizzabili in quanto vengono bloccate. [15]
Qualsiasi sistema connesso ad
Internet che fornisce servizi di rete basati sul TCP (come Web Server, FTP
Server, Mail Server o Proxy Server come nel nostro caso) è potenzialmente
soggetto a questo attacco, in quanto viene utilizzata una lacuna dello stack
del protocollo. In particolare quando un sistema (il client) tenta di stabilire
una connessione TCP ad una macchina che fornisce un servizio (il server),
questi due sistemi si scambiano una sequenza di messaggi.
Il sistema client inizia mandando
un messaggio, detto SYN, al server, che lo riconosce e lo accetta mandando a
sua volta un messaggio di replica, detto SYN-ACK, al client che per concludere la procedura di apertura
della connessione manda un secondo messaggio, detto ACK, al server. Una
rappresentazione di questa procedura è la seguente (Figura 11):
Il momento in cui viene effettuato
l’attacco è il punto in cui il server ha risposto al messaggio SYN con il
SYN-ACK, ma non ha ancora ricevuto l’ACK dal client, momento in cui si ha una
“connessione parzialmente-aperta”. Il server a questo punto della procedura ha
costruito all’interno della sua memoria una struttura dati che descrive tutte
le connessioni appese.
Creare connessioni parzialmente
aperte può essere fatto facilmente tramite l’IP Spoofing. Il sistema che
attacca manda ripetutamente messaggi di SYN alla macchina vittima che
risponderà con dei messaggi SYN-ACK indirizzati a client da cui però non
riceverà mai risposta.
Quando la struttura dati della
macchina vittima si riempie, questa non è più in grado di accettare nuove
connessioni in entrata, fin quando tale struttura non viene svuotata.
Normalmente c’è un tempo di time-out associato ad una connessione “appesa”, in
modo tale far cadere le connessioni parzialmente aperte permettendo al sistema
attaccato di “ripulirsi”.
Questo meccanismo di sicurezza è
però facilmente aggirabile dall’attaccante, aumentando la frequenza con cui i
pacchetti con richiesta di una nuova connessione vengono spediti alla vittima.
In alcuni casi il sistema attaccato,
esaurendo la memoria, viene reso inoperativo.
Un possibile rimedio a questo
attacco è quello di limitare il numero di SYN-ACK in attesa di risposta che
possono essere presenti nella struttura in modo da evitarne il riempimento e il
conseguente crash del sistema. [15]
Detto anche ping flood,
chiude la nostra lista. Colpisce tutte le connessioni modem e si manifesta con
loro overflow; le applicazioni internet rallentano concretamente, e dopo 15-60
secondi cade la connessione. Questa può essere ristabilita senza altri
problemi, non sono necessari reboot né vengono generati crash.
Patches: Non sono state annunciate
patches. In quanto l’attacco opera sull’accesso remoto, colpendo le debolezze
del modem, non dello stack Tcp-Ip o altro. L’unica soluzione possibile potrebbe
consistere nell’adozione di un firewall da parte del proprio ISP, ma non tutti convengono
sull’utilità di tale intervento (quale soluzione per questo problema,
s’intende). [15]
4.3
Distributed Denial of Services
Nei primi mesi del
2000 si è spesso sentito parlare di sabotaggi effettuati contro alcuni
dei principali siti Internet.
Molti dei principali siti di Internet sono stati messi in ginocchio da
quello che sembra essere stato il più massiccio attacco mai lanciato sulla
rete.
Yahoo! è stato il primo a subirli, avendo riportato un blackout di tre
ore domenica 6 febbraio 2000.
Buy.Com non era raggiungibile la mattina del lunedì 7, CNN ed eBay non lo erano
nel pomeriggio, mentre Amazon e Zdnet sono rimasti isolati parecchie ore la
notte di lunedì.
Articoli tecnici hanno spiegato il
fenomeno come un Distributed Denial
of Services attack (DDoS): un genere di attacco nel quale i
cosiddetti pirati (crackers)
attivano un numero elevatissimo di false richieste da più macchine allo stesso
server consumando le risorse di sistema e di rete del fornitore del servizio.
In questo modo il provider “affoga” letteralmente sotto le richieste e non è
più in grado di erogare i propri servizi, risultando quindi irraggiungibile.
Alcuni dei network provider
coinvolti hanno dichiarato di essere stato sommersi da oltre 1 Gb al secondo di
traffico.
Anche se questo genere di attacco
non è affatto nuovo sulla rete, non ne erano mai stati rilevati su così vasta
scala e su così tanti obiettivi importanti quasi in contemporanea.
Gli antenati degli attuali
attacchi si manifestavano andando ad esaurire risorse hardware della vittima, quali lo spazio su disco, la
memoria e la CPU: ciò era ottenibile spedendo pochi pacchetti malformati che
mandavano in crash il sistema remoto. Il più noto tra le utility di questo
genere è stato nuke e il più popolare WinNuke (WinNuke è ancora in grado di mandare in crash molte macchine
desktop Win95 e server NT se non hanno applicato le opportune patch.).
Il primo (e il più abusato)
prodotto di DoS che ha acquisito notorietà è stato lo smurf attack che tutt'oggi è in
grado di paralizzare reti con tecnologie non aggiornate (generalmente
piccole/medie aziende e ISP locali).
In seguito è venuto The LowDown, conosciuto anche
come Network Saturation Attack
o Bandwidth Consumption Attack:
un nuovo attacco DoS in grado di inondare un network di un numero
impressionante di pacchetti. I router e server che subiscono l'attacco, nel
tentativo di gestire correttamente il traffico compiono un eccessivo lavoro che
li mette in crisi. Ovviamente l'eccesso di traffico ostile rende impossibile
anche il traffico lecito (posta, web, ecc.) bloccando quindi in pochi minuti
intere reti.
La generazione successiva
(l'attuale) è appunto quella dei Distributed
Denial of Service (DDoS) attack. Spingendo all'eccesso l'idea
del network saturation attack,
il DDoS ripete lo stesso approccio utilizzando però diversi punti d'ingresso
contemporanei: in questo modo un cracker è in grado di mettere in ginocchio
sistemi più grandi che sarebbero indifferenti ad un singolo flood. Per effettuare questo genere
di operazione si deve poter installare un proprio agente sui sistemi da cui si
vuole scatenare l'attacco stesso.
È quindi una tecnica che viene
preparata per tempo, attrezzandosi con un pool di macchine compromesse da poter
scagliare contro il sistema
vittima.
La principale domanda cui tutti
cercano di rispondere è chi sia stato a effettuare questi attacchi e perché.
Inoltre sono stati organizzati
diversi incontri per cercare di capire come sono condotti questi attacchi e
come sia possibile difendersi.
Tra le diverse ipotesi prese in
considerazione vi è anche quella di un'azione portata avanti dai servizi
segreti americani per sensibilizzare l'opinione pubblica sulla questione della
sicurezza su Internet e far approvare più rapidamente il nuovo testo di legge
(Electronic law enforcement) attualmente allo studio del parlamento americano,
che introdurrebbe severe restrizioni e controlli sulla rete.
In realtà questi attacchi sono
resi possibili dall'attuale implementazione del protocollo TCP/IP. Per una
scelta di realizzazione, infatti, non è stata posta particolare sicurezza
sull'identificazione del mittente di ogni pacchetto e se questo da una parte
consente garanzie di anonimato, dall'altro può essere sfruttato con apposite
tecniche per far credere che il pacchetto provenga da sistemi differenti da
quello effettivo. Queste limitazioni saranno in parte superate dalla prossima
adozione di IPv6. [11]
Ad oggi non esiste una soluzione
unica al problema ma esistono molti modi per tutelarsi; nei paragrafi che
seguono ne presentiamo alcuni. [10]
Tutti gli ISP dovrebbero
implementare dei filtri in ingresso sui propri router e firewall in modo da bloccare
i pacchetti che contengano informazioni alterate sulla loro provenienza (in
gergo Spoofed).
Anche se questo accorgimento non
impedisce il verificarsi di un attacco, consente di ricostruire la provenienza
dei pacchetti in maniera più semplice e veloce. [12]
La maggior parte dei router
consente oggi di limitare la quantità di banda usata da un particolare
servizio.
Questa capacità è spesso definita
come traffic shaping o Quality of Service (QoS) ed è
implementabile anche utilizzando una piccola macchina Linux come gateway.
La Cisco chiama questa capacità Committed Access Rate (CAR).
Sfruttando questa caratteristica, per
esempio, è possibile configurare i propri sistemi in modo da fornire più banda
ai servizi web a discapito di altri servizi (per esempio ftp).
Com'è facilmente intuibile, questa
capacità può essere usata anche in maniera reattiva per fermare un DDoS.
Per esempio se l'attacco usa
pacchetti ICMP o pacchetti TCP SYN è possibile configurare i sistemi in modo da
limitare la banda utilizzabile da questi pacchetti. [12]
È possibile utilizzare un Intrusion Detection System o un tool
di auditing per identificare malintenzionati mentre cercano di comunicare con i
loro sistemi slave, master o agent.
Ciò consente di sapere se alcune
macchine all'interno della propria rete sono utilizzate per lanciare un genere
di attacco conosciuto ma non sempre sono in grado di identificare nuove
varianti o prodotti nuovi.
La maggior parte delle soluzioni
commerciali sono ormai in grado di riconoscere Trinoo, TNF o Stacheldraht.
L'FBI fornisce gratuitamente un
prodotto chiamato "find_ddos" che cerca all'interno del filesystem
prodotti di DDoS quali Trinoo, TNF, TNF2K e Stacheldraht.
Il prodotto è disponibile solo in
formato binario sia per Solaris (Sparc e Intel) che per Linux (Intel); non
dimentichiamo che l'assenza di sorgenti rende l'applicativo non controllabile e
quindi, potenzialmente, potrebbe contenere delle backdoors. [12]
Sono numerosi i programmi che
consentono l'analisi di una intera rete aziendale per verificare la presenza di
agenti per DDoS. Alcuni esempi sono nel paragrafo 5.8
Auditing.
Partite da questo presupposto, mai
superfluo: fatta la legge trovato l’inganno. Trasponendo questo concetto nel
nostro caso, potremo tranquillamente affermare che una volta trovata la patch
al problema, la "concorrenza" è subito pronta a neutralizzarla immettendo
nel circuito una variante dell’attacco.
Land, per esempio, trae le sue
origini da attacchi del tipo "Syn Flood" che hanno aperto la strada
alle successive scoperte delle debolezze intrinseche del Tcp-Ip.
Anche per il Bonk , per esempio,
viene comunque consigliato di utilizzare un sistema di difesa perimetrale
(firewall) che abbia tra le sue caratteristiche la possibilità di filtrare i
pacchetti Udp malformed, in modo tale da consentire una difesa "a
monte" delle macchine vulnerabili.
Sempre relativamente alla scelta
della politica preventiva dei DoS, alcuni consigliano una politica di packet
filtering per evitare questo tipo di attacchi. Tuttavia altri hanno dimostrato
che un approccio di tipo "stateful inspection" è assai più dinamico
ed è effettivamente meno aggirabile della classica politica "router
based".
Un Bug esemplificativo dei DoS su
device critici.
Piattaforma : Ascend
Uno degli obiettivi preferiti dei
malicious hacker è il router.
Recentemente sono stati segnalati dei
bug che colpiscono i prodotti Ascend Communications Pipeline access router e
MAX access server. In particolare risultano essere vulnerabili le versioni
5.0Ap42 (MAX) e 5.oA (Pipeline).
I bug sono due. Sono basati su una
debolezza pratica dei sistemi operativi proprietari sopra citati e
consentirebbero al malicious hacker, in possesso di una sufficiente esperienza,
o di colpire con un DoS o, addirittura, di effettuare il download dell’intero
file di configurazione del router, comprese le password di accesso remoto e le
altre informazioni riservate.
Andiamo un pò nel dettaglio.
Relativamente all’attacco denial of service, l’attacker può mandare in crash il
router, mandandogli dei pacchetti Udp malformed sulla porta che il router
stesso usa per farsi localizzare dal tool di remote management (chiamato Ascend
Java Configurator) la porta in questione è la Udp 9 (Udp discard port).
Il secondo attacco sfrutta SNMP.
Si tratta di qualcosa "leggermente" più preoccupante, in quanto, come
abbiamo detto prima, può consentire il totale controllo del router.
Il sistema SNMP di Ascend consente
di settare a vari livelli le variabili Mib. É protetto da password di scrittura
("write") e lettura ("pubblic") e ha delle estensioni
proprietarie. All’interno delle Mib sono compresi una serie di configurazioni
di sistema, chiamate "sysconfigTftp".
La gestione di queste variabili
può essere effettuata attraverso TFTP.
Ciò significa che una volta ottenute le password (la qual cosa non è
inverosimile viste le nostre premesse) l’attacker può addirittura riconfigurare
il router. A tal fine è indispensabile che l’accesso alle operazioni di
scrittura siano disabilitate o ne venga reso difficile l’accesso con strong
password.
Comunque, tutto il web site di
ascend contiene dati interessanti sulla gestione di queste problematiche che
vengono continuamente aggiornati. [13]