 |
Introduzione agli attacchi DOS
Con un attacco DOS
(Denial Of Service) si cerca di “negare un
servizio” mettendo il sistema vittima
nell’impossibilità di erogare regolarmente il suo
servizio.
Questo genere di attacchi non comporta la compromissione di un sistema,
i suoi effetti si esauriscono nel momento in cui viene interrotto e, in
vari casi, è tale da risultare quasi impossibile da evitare.
La natura di un simile attacco è a suo modo
“violenta” e brutale e spesso non richiede
particolari conoscenze e può essere esguito tramite
strumenti e script reperibili in rete.
Un evoluzione di un attacco DOS è un DDOS (Distributed
Denial Of Service), in cui gli IP da cui viene sferrato sono molteplici
e permettono una amplificazione degli effetti.
Ha fatto notizia, nel Febbraio 2000, una serie di DDOS su siti
particolarmente noti (Yahoo, Ebay, CNN…)
che un singolo individuo è riuscito a rendere inutilizzabili
per alcune ore utilizzando centinaia di host di origine, a loro volta
precedentemente violati.
La diffusione di questi attacchi deriva anche dal fatto che
è molto più facile rendere una rete o un sistema
impraticabile piuttosto che ottenerne l’accesso e, vista
anche la diffusione di comodi tool per farlo, questo ha scatenato le
velleità di molti aspiranti hacker che vedono in un DOS un
modo veloce per ottenere effetti di cui vantarsi.
La definizione DOS attack si riferisce all’effetto finale che
si intende raggiungere, il rendere impraticabile un servizio in rete,
ma i modi con cui può essere ottenuto questo scopo sono
vari:
ESAURIMENTO DELLA LARGHEZZA DI BANDA
E’ uno dei metodi più comuni, consiste nel
saturare le linee che garantiscono la connettività dei
sistemi bersaglio, in modo da rallentare enormemente il flusso di
pacchetti legittimi.
Se l’aggressore può avere a disposizione sui
sistemi da cui intende sfoderare il suo attacco una largehzza di banda
superiore a quella del suo bersaglio, un simile attacco è
facilmente realizzabile, volendo anche con un ping flood che per ogni
ECHO REQUEST si aspetta un ECHO REPLY (salvo filtri di qualche
firewall).
Più comune è il caso in cui
l’attaccante ha a disposizione meno banda del bersaglio, in
questo caso è comunque possibile cercare di saturarla
utilizzando degli amplificatori.
Un tipico attacco di questo tipo era lo smurf in cui veniva inviato un
pacchetto spoofato (con IP sorgente modificato in modo tale da
corrispondere al bersaglio dell’attacco invece che
all’host attaccante) direttamente all’indirizzo di
broadcast di reti particolarmente affollate di host: per ogni pacchetto
originario venivano reinviati al presunto mittente molti pacchetti di
risposta.
Al giorno d’oggi un attacco smurf è molto
improbabile, visto che sono state introdotte adeguate controdifese
sulla maggior parte dei dispositivi in rete.
ESAURIMENTO DELLE RISORSE DI UN SISTEMA
Questi tipi di attacchi si differenziano da quelli basati
sull’esaurimento della banda in quanto si punta a
sovraccaricare il sistema della vittima, sottoponendo a sforzi
insostenibili varie componenti quali CPU, memoria, spazio su disco ecc.
Questo effetto può essere ottenuto in vari modi, tutti
fondamentalmente basati sul principio di generare il maggior carico
possibile su un sistema remoto con il minimo delle risorse. Un SYN
flood (inizio di una sessione TCP, con l’invio di un SYN, che
non viene mai conclusa in quanto non si risponde al SYN ACK di risposta
del bersaglio) può esaurire le socket disponibili di un
sistema, una enorme quantità di GET ad una o più
pagine Web dinamiche particolarmente pesanti da computare
può riempire memoria e CPU di un sistema e contribuire ad
allargare a dismisura i file di log (con rischio di esaurimento dello
spazio su disco), altri mezzi possono esistere per rendere
indisponibili altri servizi.
Anche un mail bombing a suo modo è una forma di DoS attack,
sia al server di posta che riceve le mail, che al destinatario finale,
che può vedersi esaurire la sua quota.
DIFETTI DI PROGRAMMAZIONE
Difetti di programmazione possono impedire ad un sistema di gestire una
situazione eccezionale. Il mondo del software è pieno di bug
che possono avere ripercussioni in termini di sicurezza e dare a luogo
a vulnerabilità di varia natura. Alcune di questo possono
essere tali da saturare la CPU time o causare il crash del sistema o
del programma che eroga un servizio.
Tutti gli exploit in grado di sfruttare simili vulnerabilità
di fatto costituiscono un attacco di tipo DoS.
ATTACCHI A ROUTING E DNS
Un attacco DoS basato sul routing consiste nella manipolazione da parte
dell’aggressore delle tabelle di routing in modo da impedire
il normale indirizzamento di pacchetti ai sistemi legittimi.
Alternativamente si può cercare di impedire ai server DNS
autoritari per un dato dominio di svolgere correttamente la loro
funzione e quindi di impedire la risoluzione degli indirizzi IP.
In entrambi i casi l’attacco non si concentra direttamente
sul vero bersaglio (un sito web, per esempio) ma sui sistemi
collaterali che sono indispensabili per renderlo accessibile: i router
che ne gestiscono la connettività e i server DNS che ne
conoscono l’indirizzo IP.
Smurf, il padre degli attacchi amplificati
Smurf è uno dei DOS attack che si basano
sull’amplificazioni della banda più noti.
Anche se è un tipo di attacco diffuso da anni e se i suoi
effetti sono facilmente individuabili sia per l’impotente
vittima che per chi gestisce i network utilizzati per
l’amplificazione, esistono tuttora varie reti che permettono
di utilizzare questi tipi di attacco.
Smurf si basa su una tecnica di amplificazione dovuta alla natura del
protocollo IP che può essere facilmente ovviata con una
corretta configurazione dei dispositivi di rete.
L’amplificazione si ottiene inviando un pacchetto ICMP ECHO
ad un indirizzo di broadcast di una rete, tramite il comando Ping.
Colui che vuole sferrare l’attacco innanzitutto si
preoccuperà di spoofare il proprio indirizzo IP inserendo
nel campo sorgente dei pacchetti IP l’indirizzo IP della
vittima da lui selezionata. Prossimo passo sarà quello di
scegliere una rete che faccia poi da amplificatore per
l’attacco e cominciare a spedire quanti più
pacchetti possibili verso
l’indirizzo di broadcast della rete prescelta.
Il router della rete selezionata, all’arrivo dei pacchetti
inviati li inoltrerà verso tutti gli indirizzi IP facenti
parte della sua sottorete.
Ogni computer che riceve il pacchetto ICMP risponde con un altro
pacchetto ICMP diretto verso l’IP mittente che,
come abbiamo visto precedentemente, l’attaccante ha
modificato con l’IP della vittima. Questo vale per tutti i
computer presenti nella sottorete che a loro volta invieranno un
pacchetto ICMP alla vittima occupandone la relativa banda Internet.
Si noti che il danno recato dai pacchetti ICMP sarà
più elevato tanto quanti computer sono presenti nella rete.
Mettiamo di inviare un solo pacchetto ICMP a una rete contenente 100
sistemi configurati in modo da rispondere, l’aggressore
riesce in pratica a moltiplicare il suo attacco DoS di ben 100 volte.
CONTROMISURE
Per evitare di essere utilizzati da terzi come amplificatore per il
loro smurf, sarebbe bene disattivare sul proprio router esterno la
funzione di risposta delle richieste ICMP mandate
all’indirizzo di broadcast della rete
dall’aggressore.
Il comando tipicamente utilizzato con router Cisco è il
seguente: no ip directed-broadcast e va applicato a livello di
interfaccia. Nelle versioni recenti dell IOS questo comando
è attivo di default.
E’ inoltre possibile disabilitare questa funzione
direttamente via software, dato che alcuni sistemi operativi quali
Solaris, Linux, FreeBSD, AIX 4.x prevedono la possibilità di
evitare queste richieste.
Linux:
Per impedire a un sistema Linux di rispondere alle richieste broadcast
di ECHO, è possibile attivare il firewall a livello di
kernel utilizzando iptables.
Unix:
Per impedire agli host di rispondere all’attacco Fraggle (una
variante di Smurf che invece di usare un ECHO ICMP utilizza un ECHO
sulla porta 7 UDP), disattivare echo e chargen in /etc/inetd/conf
inserendo un # prima del nome dei servizi.
Durante l’attacco:
Abbiamo visto la grave minaccia rappresentata dalla
possibilità di essere oggetto di un attacco smurf.
Come già detto prima sarebbe bene limitare il traffico ICMP
e UDP in ingresso sui router esterni ai soli sistemi interni della rete
che realmente necessitano questo servizio, e possibilmente solo per
tipi ICMP prestabiliti.
E’ possibile limitare la banda da destinarsi al servizio di
ICMP a valori acettabili attivando la funzione di CAR (Committed Access
Rate) disponibile nelle versioni di Cisco IOS 1.1CC, 11.1CE e 12.0,
restringendo tale banda a valori acettabili.
Se prevenire non è più possibile la migliore via
di uscita è cercare di collaborare con il proprio ISP e con
la società proprietaria della rete di amplificazione,
ricordandosi comunque che per quanto risalire all’aggressore
sia possibile non è affatto semplice.
Si inizia quindi con l’individuazione
dell’interfaccia che ha ricevuto il pacchetto contraffatto e
si risale in tal modo al router precedente, percorrendo al contrario
gli hop del pacchetto inviato dall’aggressore fino a giungere
alla rete originaria. Una simile procedura risulta nella maggior parte
dei casi molto complicata in quanto richiede l’intervento di
network administrator di diversi Autonomous Systems, eventualmente
displocati su nazioni diverse.
Questo genere di attacco è destinato ad essere sempre meno
diffuso anche grazie al contributo di alcuni progetti che nei loro siti
web inseriscono gli IP delle reti che ancora permettono uno Smurf (e
generalmente gengono notificati di questa misconfigurazione).
Ovviamente questi siti possono essere utilizzati da un malintenzionato
per trovare reti che ancora possono essere da lui utilizzati per simili
attacchi.
Altra utile contromisura, che non evita che la propria rete possa
essere vittima di un DOS attack, ma impedisce agli utenti della rete
stessa di portare a termine molti attacchi basati sullo spoofing degli
IP sorgenti, è quella di implementare filtri in uscita dalle
proprie linee, che impediscano l’invio in rete di pacchetti
spoofati che abbiamo un IP sorgente diverso da quelli presenti nella
propria rete
Published
by ReGiS
~TORNA
INDIETRO~
|
 |