Attacchi al Firewall
Nei laboratori del dipartimento di informatica dell'università di Salerno si è sperimentata una serie di attacchi ad una macchina vittima su cui è stato configurato un firewall IPCHAINS, la piccola rete era come mostrato in figura.
Gli attacchi che sono stati sprerimentati sono : Dos (Denial of Service) Questo non è un vero e proprio attacco ma è semplicemente un ping eseguito sulla macchina protetta dal firewall prima e dopo la protezione, al fine di capire meglio come funziona il firewall. Si supponga di fare un ping da bettega su collovati, con il comando: home/user1> ping 193.205.161.189 o anche direttamente home/user1> ping collovati Per qualsiasi configurazione di firewall è inizialmente
consigliabile porre a deny le regole di default nelle catene di INPUT,
FORWARD e OUTPUT per poi aggiungere le regole di accesso in ordine prioritario.
In questo modo il controllo delle impostazioni del firewall risulta
più leggibile per l'amministratore della rete.
Successivamente cancelliamo la regola che accetta i pacchetti ICMP in INPUT da bettega destinati a chiunque lasciando solo la regola che accetta pacchetti ICMP in OUTPUT da collovati destinati a chiunque.
Reintroduciamo ora su collovati la regola di accettazione dei pacchetti di tipo ICMP in INPUT Chiaramente ora bettega otterra' risposta ai pacchetti ICMP che collovati prima non replicava. Nell'esempio, al termine del ping da bettega, notiamo come ipchains su collovati abbia bloccato i pacchetti ICMP senza far pervenire alcuna risposta alla fonte. I pacchetti intercettati dal firewall non vengono rifiutati (REJECT) bensì totalmente ignorati (DENY). Infatti, come evidenziato dal report finale del ping, bettega ha inviato 32 pacchetti ICMP dei quali solo 19 hanno avuto risposta mentre il 40% dei pacchetti sono andati perduti. Questo esempio si base su una rete diversa da quella precedente con indirizzi di host pari a 192.168.0.x Lo spoofing degli IP e' un attacco secondo il quale 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 per mascherare l'identità di chi sferra l'attacco, utilizzando gli attacchi SYN, Teardrop, Ping of Death (ping della morte) e altri simili.
Il firewall prende decisioni in base agli indirizzi di provenienza del pacchetto, è facile quindi per il malintenzionato spacciare il proprio pacchetto maligno per un pacchetto appartenente a qualcuno di fiducia per la vittima. IPCHAINS CONTRO SPOOFING Si chiede al firewall di bloccare tutti i pacchetti con indirizzo sorgente 192.168.*.* nel caso non provengano dall'interfaccia di loopback (la sola da cui è normale che arrivino) tramite la regola: ipchains -A input --interface
! lo -s 192.168.0.0/28 -j DENY
Un trojan, da non confondere con il virus
che è un'altra cosa, e' un programma viene allegato ad un altro
programma: quando si esegue questo programma 'portatore' si esegue senza
accorgersene anche il trojan. Oltre al Back Orifice, rientrano in questa
categoria anche programmi come NetBus e TeleCommando. Il nome ovviamente
deriva dal mitico Cavallo di Troia, che dentro l'apparenza di un dono
di pace celava gli uomini che avrebbero distrutto la citta' stessa.
Come indicato in figura, il Trojan Horse si pone in ascolto su una porta libera in attesa. Chi attacca può arrivare a prendere in accesso remoto la vittima, oppure limitarsi a sniffing. Alcuni Trojan sono in grado di inviare di nascosto e-mail di report contenenti informazioni sulle password del sistema i servizi attivi e tutte ciò che è ritenuto utile ai fini dell'attacco. Si vede ora come difenderci da un attacco tanto efficace. ipchains -A input -p tcp -y -d 0/0 1024:65535 -j DENY Con questa regola si bloccano quindi tutti i pacchetti TCP entranti verso le porte da 1024 a 65535 con flag SYN attivo(-y). Ciò significa evitare che un processo che non possiede i permessi di root possa mettersi in ascolto su una porta TCP. Gli attacchi di DoS si manifestano andando ad esaurire risorse hardware della vittima, quali lo spazio su disco, la memoria e la CPU: ciò è ottenibile spedendo pochi pacchetti malformati che mandano in crash il sistema remoto. Il più noto tra le utility utilizzato per questo genere di attacco è nuke e il più popolare WinNuke, che manda in crash il famoso OS della casa di Redmond (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 (Denial of Services) che ha acquisito notorietà è stato lo smurfing attack che tutt'oggi è in grado di paralizzare reti con tecnologie non aggiornate (generalmente piccole/medie aziende e ISP locali). The LowDown, conosciuto anche come Network Saturation Attack o Bandwidth Consumption Attack, è una tipologia di 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. Il cugino dell'attacco "smurfing" si chiama "fraggle", usa i pacchetti echo UDP nella stessa maniera dei pacchetti echo ICMP; è una semplice riscrittura dello "smurfing". La generazione successiva (quella attuale) è 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 hacker è in grado di mettere in ginocchio sistemi più grandi che sarebbero indifferenti ad un singolo flood (ovvero che non risultano saturabili da un attacco perpetrato da una singola postazione). 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 necessita di una fase di preparazione, attrezzandosi con un pool di macchine compromesse da poter scagliare contro il sistema vittima. In pratica l'attacco perpetrato utilizzando la tecnica
Distributed Denial of Services attack (DDoS) prevede che vengano attivate
un numero elevatissimo di false richieste da più macchine allo
stesso server consumando in tal modo le risorse di sistema e di rete
del fornitore del servizio. In seguito a un attacco DDoS il provider
affoga letteralmente sotto le richieste e non è più in
grado di erogare i propri servizi, risultando quindi irraggiungibile.
Per dare un'idea del livello di traffico generabile da un attacco DDoS,
si consideri che alcuni dei network provider coinvolti nell'attacco
sono stati letteralmente sommersi da oltre 1 Gb al secondo di traffico. Per l'esempio indicato in figura, perpetuiamo un attacco DoS con bombardamenti di pacchetti echo broadcast a sorgente falsa su tutte le macchine della rete. ipfw può essere usato da linux per bloccare gli echo broadcast, qualunque sistema con ipfw può essere protetto aggiungendo regole come: ipfwadm -I -a deny -P icmp -D 192.168.0.0
-S 0/0 0 8 dove sostituiremo 192.168.0.0 e 192.168.0.255 rispettivamente
con proprio il numero di rete e indirizzo broadcast. I valori 0 e 8
indicano rispettivamente tipi di pacchetti ICMP usati dal ping: Echo
Request e Echo Reply. Terminiamo con una dimostrazione effettuata nei laboratori
del dipartimento di Informatica ed applicazioni dell'Università
di Salerno. Nell'esempio riportato procediamo con uno scanning port
da bettega su collovati con nmap V. 2.53. Come mostrato in figura l'nmap
riporta lo stato delle porte su cui sono attivi i servizi, oltre al
numero di porte scannerizzate (1508). Evidenziamo qui lo stato di ipchains su collovati: inizialmente tutte le porte sono aperte per bettega; aggiungiamo quindi la regola per bloccare l'accesso di bettega alla porta 21 dell'FTP. ipchains -I input -p TCP -y -s bettega -d 0/0 21:21 -j REJECT Ipchains nasconde così ad un nuovo portscanning
con nmap da bettega la porta 21 come evidenziato in figura. Notiamo
a conferma di ciò come numero di porte scannerizzate è
ovviamente diminuito di un'unità |