Scano di Montiferro – Reti di Calcolatori 1 RETI DI CALCOLATORI rucchio/Reti_Scano
Laurea Specialistica in Ingegneria Corso di Reti di Calcolatori II …unina.stidue.net/Reti di...
Transcript of Laurea Specialistica in Ingegneria Corso di Reti di Calcolatori II …unina.stidue.net/Reti di...
-
Laurea Specialistica in Ingegneria
Corso di Reti di Calcolatori II
Simon Pietro Romano([email protected])
Attacchi Informatici
-
CREDITS
Tutto il materiale didattico utilizzato per questa lezione è stato preparato in collaborazione con:
• Claudio Mazzariello• Francesco Oliviero
-
Requisiti di sicurezza di un sistema informatico
• I requisiti di sicurezza che occorre garantire sono:– Riservatezza (Confidentiality): consentire l’accesso ai dati soltanto con
l’autorizzazione (implicita o esplicita) del proprietario dell’informazione– Integrità (Integrity): prevenire che utenti non autorizzati cambino lo
stato del sistema o di qualsiasi dato residente o in transito sul sistema stessostesso
– Disponibilità (Availability): prevenire che a un utente autorizzato (umano o macchina) sia negato l’accesso ad una particolare risorsa di sistema
– Controllo (Control): prevenire che utenti non autorizzati ottengano un privilegio che permetta loro di violare la politica di controllo degli accessi del sistema.
3
-
Cause dei problemi di sicurezza nelle reti
• Protocolli progettati per fornire connettività
• Reti progettate con un’idea di sicurezza “implicita”– Pochi utenti iniziali– Fiducia reciproca– Poca rilevanza dei problemi legati alla sicurezza– Poca rilevanza dei problemi legati alla sicurezza
• Requisiti di sicurezza soddisfatti solo agli estremi della comunicazione
– Crittografia, autenticazione, ecc…
4
-
Attacco informatico
• Intrusione:
– Qualunque azione intenzionale che abbia come fine
quello di compromettere, implicitamente o
esplicitamente, i requisiti di riservatezza, integrità,
disponibilità, dei dati e dei messaggi di controllodisponibilità, dei dati e dei messaggi di controllo
• Intruso o Attaccante:
– Individuo che utilizza una o più azioni d’attacco con
l’obiettivo di compromettere un sistema
5
-
Vulnerabilità di un sistema
• Vulnerabilità:
– È una “debolezza” del sistema che permette un’azione non autorizzata
• Tipi di vulnerabilità
– Vulnerabilità software• Causate da errori di progetto• Causate da errori di progetto• Ogni giorno vengono scoperte circa 7 nuove vulnerabilità
– Vulnerabilità di configurazione• Utilizzo di configurazioni di default (password di default)• Configurazioni errate
6
-
Vulnerabilità: l’esempio del database del NIST (http://nvd.nist.gov/)
7
-
Vulnerabilità di un sistema
• Presenti in ogni livello della pila TCP/IP
• Network-layer attacks– Es:
• Vulnerabilità a livello IP• Attacchi ai protocolli di Routing • Attacchi ai protocolli di Routing
• Transport-layer attacks– Es: vulnerabilità di TCP
• Application-layer attacks
8
-
Vittima di un attacco informatico
• Target:– È l’obiettivo contro cui si concretizza un azione d’attacco
• È possibile classificare i target nelle seguenti categorie– Account– Processi– Dati– Dati– Componenti– Host computer– Reti
9
-
Evoluzione di un attacco informatico
• Ricognizione (Reconnaissance)
– È la fase durante la quale l’attaccante raccoglie informazioni relative alle potenziali vittime alla ricerca di vulnerabilità
• Sfruttamento vulnerabilità (Exploit)
– È la fase in cui avviene l’attacco vero e proprio– È la fase in cui avviene l’attacco vero e proprio
• Acquisizione di privilegi
• Sfruttamento dei privilegi acquisiti per ulteriori azioni di attacco
10
-
“The current state of the Internet”
“An unprotected computer on the Internet WILL BE EXPLOITED within 24 EXPLOITED within 24
hours!”
Richard Treece, ISS, 15 April 2002
11
-
Address spoofing
• È comune a tutte le tipologie di attacchi
• È una tecnica mediante la quale l’aggressore può modificare
l’indirizzo sorgente IP dei pacchetti inviati ad una vittima,
eludendo qualsiasi tentativo di risalire alle sorgente
12
-
Reconnaissance
• Informazioni pubbliche– www– Newsgroup
• Network Probing– Operating System Detection
• War dialing• War dialing• …
13
-
Informazioni pubbliche - www.nic.it
HOSTNAME:/home/USERID# whois unina.itDomain: unina.itStatus: ACTIVECreated: 1996-01-29 00:00:00Last Update: 2008-02-14 00:03:09Expire Date: 2009-01-29
RegistrantName: C.D.S. - Universita' di NapoliContactID: CDSU1-ITNICAddress: C.so Umberto I
Napoli8013880138NAIT
Created: 2007-03-01 10:47:26Last Update: 2007-03-01 10:47:26
Admin ContactName: Francesco PalmieriContactID: FP9291-ITNICAddress: Universita' degli Studi di Napoli Federico II
C.so Umberto INapoli80138NAIT
Created: 2007-03-01 10:47:26Last Update: 2007-03-01 10:47:26
……
14
-
Informazioni pubbliche - www.nic.it (cont.)
15
-
Informazioni pubbliche - www.nic.it (cont.)
16
-
Newsletter
Author: Joe Soap Date: 1998/12/07Forum: comp.unix.solaris author posting history Hi,Could someone tell me how to configure anonymous ft p formultiple IP addresses. Basically we are running vir tual webservers on one server. We need to configure anonymo us ftpservers on one server. We need to configure anonymo us ftpfor each virtual web account. I appreciate it if so meone
canhelp me as soon as possible. I know how to configur e ananonymous ftp for single IP.Thanks,Joe.
17
-
Probes (1/2)
• Obiettivo– Scoprire l’eventuale presenza di sistemi vulnerabili
• Effetti– L’attaccante possiede informazioni relativamente ai servizi
disponibili in un sistema• Strategie utilizzate• Strategie utilizzate
– Stimolando opportunamente i sistemi sondati, l’attaccante riesce, in funzione delle risposte ricevute, a dedurre informazioni relative all’obiettivo della scansione
18
-
Probes (2/2)
• Non violano esplicitamente nessuno dei requisiti di sicurezza
• Sondano la rete alla ricerca di vulnerabilità notevulnerabilità note
• Costituiscono sovente il preludio all’azione di attacco vera e propria
19
-
Probes (esempio)
• NMAP– Normalmente utilizzato dagli amministratori di sistema– Consente diversi tipi di scansione
• IP sweep• Port scanning
– Corredato da molte funzionalità opzionali• OS detection• OS detection• SYN, FYN, XMAS… scanning• TCP, UDP, ICMP scanning• Vanilla TCP connect scanningTCP SYN (half open scanning)• TCP ftp proxy (bounce attack) scanning • UDP raw ICMP port unreachable scanning• ICMP scanning (ping-sweep)• TCP Ping Scanning
20
-
Dal sito http://nmap.org
21
-
NMAP & Matrix
Nel film Matrix Reloaded, Trinity usa Nmap per penetrare nel sistema della centrale elettrica, tramite la forzatura dei servizi
22
tramite la forzatura dei servizi SSH e il bug CRC32[1] (scoperto nel 2001).
-
NMAP & Matrix (cont.)
The Matrix Reloaded– “Trinity” sonda un sistema alla ricerca di vulnerabilità
23
-
NMAP & Matrix (cont.)
Nmap v. 2.54BETA25Trova un server ssh vulnerabile (port 22)Sfrutta l’attacco “SSH1 CRC32”Accede al sistema come “Root”
24
-
NMAP: esempio di output grafico
25
-
NMAP: dettagli su di un host con SO MAC
-
NMAP: dettagli su di un host con SO Windows
-
NMAP: dettagli su di un host con SO Linux
-
Operating System Detection
Stack fingerprinting: – Produttori di sistemi operativi interpretano in maniera differente le
indicazioni delle RFC• Differenti interpretazioni delle linee guida per lo stack tcp/ip
– Differenti implementazioni (comunque compatibili con gli standard)standard)
– La ricerca di tali differenze può fornire indicazioni relative al sistema operativo utilizzato
• Es. FIN probe, “don’t fragment bit”
– nmap -O
29
-
War-dialing
• Impiego di un modem per chiamare ogni possibile telefono (approccio brute-force) in una rete locale, al fine di:• trovare un computer• Introdursi nel pc trovato dopo averne scovato la password• Introdursi nel pc trovato dopo averne scovato la password
• La tecnica ha come riferimento il film WarGames del 1983:• il protagonista programma il proprio computer in modo da
chiamare tutti i numeri telefonici di Sunnyvale, in California• Oggi è diffuso un fenomeno simile, chiamato “wardriving”:
• ricerca di reti wireless mediante l'uso di veicoli
30
-
Attacchi Remote to Local (R2L)
• Obiettivo– Accedere senza autorizzazione ad un sistema remoto
• Effetti– L’attaccante guadagna l’accesso ad un sistema, e ne
sfrutta le risorse per i propri scopi malevoli• Strategie utilizzate• Strategie utilizzate
– Mediante il solo traffico di rete verso la vittima, l’attaccante sfrutta
• Errori nell’implementazione delle applicazioni• Scelte ingenue o sbagliate nella configurazione dei parametri di
sicurezza– Password “deboli”– Politiche di sicurezza non sufficientemente severe
• Mancato aggiornamento dei software utilizzati da parte dell’amministratore di sistema
31
-
Remote to Local (R2L)
• Requisiti violati– Riservatezza
• L’attaccante potrebbe accedere ad informazioni riservate in sistemi altrimenti ad egli non accessibili
– Integrità• L’attaccante potrebbe modificare dati o programmi • L’attaccante potrebbe modificare dati o programmi
presenti nel sistema violato– Disponibilità– Controllo
• A seconda della gravità dell’attacco, il sistema vittima potrebbe finire sotto il controllo dell’attaccante, ed assumere un comportamento illecito non predicibile
32
-
Meccanismi utilizzati
• Sfruttamento degli errori di configurazione
• Sfruttamento degli errori nel software di sistemadi sistema
33
-
Errori di configurazione: anonymous ftp (1/3)
$ ftp hack.me.comConnected to hack.me.com.220 xyz FTP server (SunOS) ready.Name (hack.me.com:jjyuill): anonymous331 Guest login ok, send ident as password.Password:230 Guest login ok, access restrictions apply.ftp> get /etc/passwdftp> get /etc/passwd/etc/passwd: Permission deniedftp> cd ../etc250 CWD command successful.ftp> ls200 PORT command successful.150 ASCII data connection for /bin/ls (152.1.75.170 ,32871)
(0 bytes).226 ASCII Transfer complete.
34
-
Errori di configurazione: anonymous ftp (2/3)
ftp> get passwd200 PORT command successful.150 ASCII data connection for passwd
(152.1.75.170,32872) (23608 bytes).226 ASCII Transfer complete.local: passwd remote: passwd23962 bytes received in 0.14 seconds (1.7e+02 23962 bytes received in 0.14 seconds (1.7e+02
Kbytes/s)ftp> quit221 Goodbye.
35
-
Errori di configurazione: anonymous ftp (3/3)
$ less passwd
sam:0Ke0ioGWcUIFg:100:10:NetAdm:/home/sam:/bin/csh
bob:m4ydEoLScDlqg:101:10:bob:/home/bob:/bin/csh
chris:iOD0dwTBKkeJw:102:10:chris:/home/chris:/bin/csh
sue:A981GnNzq.AfE:103:10:sue:/home/sue:/bin/csh
$ Crack passwd
Guessed sam [sam]
Guessed sue [hawaii]
36
-
Errori nei software di sistema: imapd (1/2)
Corso di Reti di Calcolatori II --a.a. 2008/2009 37
-
Errori nei software di sistema: imapd (2/2)
imapd buffer-overflow
$ telnet hack.me.com 143
Trying hack.me.com...
Connected to hack.me.com
Escape character is '^]'.
* OK hack.me.com IMAP4rev1 v10.205 server ready
AUTH=KERBEROS
38
-
Ottenere ulteriori accessi (1/3)
• Un utente normale cerca di ottenere i privilegi di root– Sfruttando un bug di un comando eseguibile come root
• e.g. lprm for RedHat 4.2 (4/20/98)
• Provare a violare /etc/passwd– Gli utenti spesso usano le stesse password su macchine differenti
39
-
Ottenere ulteriori accessi (2/3)
40
-
Ottenere ulteriori accessi (3/3)
• Errori nell’assegnazione dei permessi ai file– es. echo ‘+ +’ >> .rhosts
• Formato del file: [+|-] [host] [+|-] [user]
• Installazione di rootkit– Trojans, backdoors, sniffers, log cleaners
• Packet Sniffing• Packet Sniffing– ftp and telnet passwords– e-mail– Lotus Notes
• Log cleaners– Modifica dei file di log (syslog.conf, …)– Modifica dei file di history della shell
41
-
Back Doors
1. Consentono agli hacker di riaccedere a loro piacimento al sistema
2. Esistono al livello applicazione• Back Orifice
3. Esistono al livello di sistema operativo3. Esistono al livello di sistema operativo• sostituzione dll in sistemi NT• Sostituzione funzioni in Linux/Unix es. login, ps, etc
4. Esistono al livello di root• Difficili da rilevare
5. Alcuni rootkit innalzano il livello di sicurezza dei sistemi e vengono a volte usati dagli stessi amministratori
42
-
Esempio: back orifice…
43
-
User to Root (U2R)
• Anche noti come “User to Super User”• Obiettivo
– Acquisire, detenendo legittimamente i diritti di accesso di un utente normale, i privilegi dell’amministratore di sistema (”Super User” o ”Root”)
• Effetti– L’attaccante altera, possedendo i diritti di accesso a tutte le risorse del
sistema, il funzionamento normale di quest’ultimosistema, il funzionamento normale di quest’ultimo• Strategie utilizzate
– Sfruttamento degli errori di progetto ed implementazione dei software in esecuzione sul sistema vittima
– Approccio “brute force”
44
-
User to Root (U2R)
Requisiti violati– Riservatezza
• Acquisendo i diritti dell’amministratore di sistema, l’attaccante può accedere a tutte le risorse senza restrizioni
– Integrità• L’attaccante può alterare le informazioni presenti in un sistema,
rendendo i servizi da questo forniti non conformi alle specifiche rendendo i servizi da questo forniti non conformi alle specifiche concordate fra l’amministratore ed i fruitori
– Disponibilità– Controllo
• Il sistema violato è controllato, senza limitazioni, dall’attaccante
45
-
User to Root (U2R) - esempi
• Facilissimo– ID e password predefinite
• Facile – Social Engineering– Fingersi membri del gruppo di supporto tecnico– Nascondere trojan all’interno di giochi, screensaver, ecc…
• Più complesso – buffer overflow• Più complesso – buffer overflow– Alcuni programmi non eseguono controlli adeguati sulla
dimensione della rappresentazione dei dati in ingresso– L’attaccante può volontariamente utilizzare dati in ingresso che
eccedano le dimensioni previste per alterare il normale funzionamento del programma
– Bytes eccedenti la dimensione prevista per la rappresentazione dei dati in ingresso potrebbero venire memorizzati alla testa dello stack, consentendo all’attaccante di eseguire operazioni non lecite
46
-
Denial of Service (DoS)
• Causa– Risorse di sistema limitate
• Effetto– Rendere i servizi offerti da un sistema o da un software non fruibili
agli utenti autorizzati al loro utilizzo• Strategie utilizzate• Strategie utilizzate
– L’attaccante satura le risorse del sistema vittima, rendendo non disponibili i servizi da esso offerti
• Trend degli attacchi DoS– Distributed Denial of Service attacks (DDoS) è il tipo di attacco più
dannoso per gli ISP– I Flooding DoS costituiscono la metodologia più popolare
• SYN Floods• UDP Floods
47
-
Denial of Service (DoS)
• Requisiti violati– Riservatezza– Integrità– Disponibilità
• L’attaccante rende le risorse del sistema vittima dell’attacco non disponibili, saturandone la capacità di espletare correttamente i disponibili, saturandone la capacità di espletare correttamente i compiti a cui è preposto
• L’attaccante colpisce un software sfruttandone l’implementazione imperfetta, saturando le risorse disponibili nel sistema nel quale tali programmi vengono eseguiti
– Controllo
48
-
Tassonomia dei DoS
49
-
Flooding DoS attacks
50
-
Esempi di attacchi noti
CategorySub-category
Attack name DDoS conditionEfficient placement ofdefense mechanisms
Status
Flooding Direct TCP SYN FloodsEnd-point resourceExhaustionLink congestion
End-host andIntermediate networkrouters
Most popular DoS attack (27%)
Flooding Direct UDP Floods Link congestionIntermediate network(core or border) routers
2nd popular DoSattack (26%)
Flooding Direct ICMP Floods Link congestionIntermediate network(core or border) routers
Intermediate networkFlooding Indirect TCP Floods Link congestionIntermediate network(core or border) routers
FloodingIndirect
(Amplified)Smurf attackFraggle attack
Link congestionEnd-point resourceExhaustion
Subnet routersFew networksremain smurfabletoday
FloodingIndirect
(Amplified)DNS AmplificationAttacks Link congestion DNS server
75% of DNSservers still allowed recursion
Flooding DirectLow-rate TCPBased Attacks
Reduction of end-to-end flowthroughput
Intermediate network(core or border) routers
Logic attacksLand attack,Teardrop , etc… End-point crash End-host
Invalid when vulnerability is fixed
51
-
DNS amplification attack
Realizzato tramite IP spoofing…
52
-
TCP SYN Flood I: low rate
C
SYNC1
SYNC2
SSingola macchina:
•Pacchetti SYN conIP sorgente casuale
• esaurisce le risorse del
53
SYNC2
SYNC3
SYNC4
SYNC5
• esaurisce le risorse delserver (coda di ‘backlog’)
•Ulteriori connessioni non possibili
-
SYN Floods (da: PHRACK 48, no 13, 1996)
OSDimensioni della coda di
Backlog
Linux 1.2.x 10
FreeBSD 2.1.5 128
WinNT 4.0 6WinNT 4.0 6
54
Backlog timeout: 3 minuti
⇒ in teoria: sono necessari solo 128 SYN ogni 3 minuti⇒“Low rate SYN flood”
-
PHRACK 48, no 13, 1996
55
-
SYN floods: backscatter
SYN con IP falsificato ⇒⇒⇒⇒ SYN/ACK verso un IP casuale
56
-
Meccanismi di difesa dai DoS
57
-
Difesa nella fase di pianificazione e dispiegamento dei sistemi
Category Defense methods Advantages Limitations
Secure the end host
Install latest patchesProperly adjust system parametersRemove unnecessary servicesUsing firewall and IDSDeploy good network organization
● Easy to deploy● Effective toward logic DoS attacks
●Cannot defend against flooding DoS attack using packets similar to legitimate traffic or purely flood network bandwidth
Protect asymmetric protocols
Reverse TuringProof of work
● Efficient defense to attacks toward resources consumption● Defend against attacks using spoofed IP address
● Cannot stop attackers with a huge number of agents ● Cannot defend against attacks that purely flood network bandwidthspoofed IP address flood network bandwidth
Resource allocation
Assign fair resources to authenticated clients
● Provide fair service toward authenticated users● Efficient defense to attacks toward resources consumption
● Cannot stop attackers with a huge number of agents ● The authenticate mechanism can become the target for DoS attack● Require users to divulge their identities
Hiding the hostUse "outer wall of guards" such as proxy or firewall to hide the host
● Easy to deploy● Protect the server from bandwidth overload attacks
● Invalid if the server's IP is divulged● Attacker can perform DoS attack with enough legitimate behave agents
58
-
Difesa nella fase di attacco
Category Defense methods Advantages Limitations
SignatureBased DetectionMechanisms
Detect attacks by monitoring thecontent of packets
● Effective toward logic DoSAttacks
● May introduce complex computationworks● Cannot defend attacks using packetssimilar to legitimate traffic
Anomaly BasedDetectingMechanisms
Detect attacks by monitoring thechanges of traffic volume orfeatures.
● Efficient toward flooding DoSattack with detectable features
● Hard to set up a threshold for attackflows● Cannot defend logic DoS attack
Filtering basedMechanism
Ingress and egress filteringHop-Count Filtering
● Can filter out the spoofed IPpackets● Potential to defend the highly
● Cannot stop spoofed IP address in thesame subnet● Some DDoS attacks do not useMechanism Hop-Count Filtering ● Potential to defend the highly
distributed attacks● Some DDoS attacks do not usespoofed IP address
Congestioncontrol basedMechanism
Regulate the traffic behaviors byanalyzing flows
● Can mitigate flooding DoSattacks● Can avoid overall networkcongestion
● Ineffective when the attack is a lowbandwidth attack● May block legitimate traffic also● Cannot stop attackers with a hugenumber of agents
TCP basedDefensemechanism
Improve end-system configurationsImprove connection establishmentInstall firewall Monitor actively existing TCPconnections
● Efficient defense toward TCPbased DoS attacks (ex: TCPSYN)
● Protocol behavior need to be modifiedand deployed globally● Can only mitigate the influence of attacks
Overlay networks
Authenticated users are routed through an overlay network.Service will be relocated in theoverlay network once an attack isdetected.
● Efficient defense againstflooding DoS attacks
● High deployment cost● Only effective when it is deployedglobally
59
-
DoS verso livelli più alti dello stack
SSL/TLS handshake
WebServer
Client Hello
Server Hello (pub-key)
Client key exchangeRSA
– Velocità di crittografia RSA ≈ 10 × velocità di decrittografia RSA⇒una singola macchina può bloccare dieci server
Application DoS:– Invio di richieste di grossi file PDF su HTTP ⇒ Semplice per il client, complessa da soddisfare per il server
60
RSAEncrypt RSA
Decrypt
-
Denial of Service (DOS) - esempi
1) SMURF – ICMP echos
2) ECHO-CHARGEN – UDP port 7 is echo; UDP port 19 is character generator. » Spoof a source address and two victims pound each other
3) TEARDROP:3) TEARDROP:
• si inviano frammenti IP errati verso la macchina target:• Payload sovrapposti e di dimensioni eccessive
• Un bug nell’implementazione della frammentazione nelal suite TCP/IP fasì cheiframmenti non siano trattati correttamente:
• Crash del sistema!!• Sistemi Operativi vulnerabili:
• Windows 3.1x, Windows 95, Windows NT • versioni di Linux precedenti alla 2.0.32 ed allla 2.1.63
61
-
DoS - Smurf
62
-
Denial of Service (DOS) - esempi
4) PING OF DEATH – On a windows NT box typeping –L 65510
This creates a packet when reassembled that is larger than the max size of 65,535 that is allowed. Causes system crash.
- Max IP packet size allowed = 65535- Max IP packet size allowed = 65535- ICMP echo has a “pseudo header” consisting of 8 bytes ofICMP header info
- Next in the ICMP packet is the ping data that is sent- Maximum amount of data can send is
65535 – 20 IP – 8 ICMP = 65507- We sent 65510 which is too large
5) LAND ATTACK – Source IP address/Port equals Dest IP Address/Port>> il sistema target continua a ‘rispondersi da solo’!!
63
-
Attacchi Distributed DoS (DDoS)
attackerattacker
mastersmasters
zombieszombies
victimvictim
64
-
Passi da compiere per un DDoS
• Fase iniziale di scan verso un numero elevato dicomputer in rete alla ricerca di vulnerabilità note
• Sfruttamento delle vulnerabilità per compromettere i sistemi ed ottenere l’accesso
• Installazione degli strumenti di controllo sui sistemi per utilizzi futurisistemi per utilizzi futuri
• Scelta di un sottoinsieme degli host infetti per sferrare l’attacco
• Installazione degli strumenti di attacco e comunicazione
• Ordine di attacco comunicato ai master• Propagazione dell’ordine di attacco
65
-
DDoS - esempi
• Client machine – utilizzata per attacchi coordinati• Master o Handler – controlla gli agenti• Agents o Daemons – compie le azioni relative all’attacco
1) TRINOO – UDP flood verso numeri di porto casuale sulla macchina vittimavittima
2) TFN (Tribe Flood Network) – UDP flood, TCP SYN Flood, ICMP Echo Flood, o SMURF Attack.Il master comunica col daemon utilizzando ICMP echo reply, identifica il tipo di
attacco da lanciare mediante i campi IP identification number e payload di ICMP echo reply
3) TFN2k – primo DDOS per Windows. La comunicazione fra master ed agents può essere crittografata su TCP, UDP, o ICMP
4) STACHELDRAHT - combinazione di TRINOO e TFN66
-
DDoS - esempio: Trinoo
Scanning:– Buffer overflow bug in Solaris e Linux, es. wu-ftpd, statd, amd,
ecc.– Un host compromesso fornisce una shell di root e conferma la
propria presenza al masterInstallazione del programma di attacco:
– Con netcat (nc) si manda in pipe uno shell script alla shell di– Con netcat (nc) si manda in pipe uno shell script alla shell diroot sull’host compromesso
Comunicazione dell’attacker al master:– TCP: connessione autenticata con password; comandi: “dos IP”
ecc.Comunicazione del Master allo zombie:
– UDP: password inclusa nella linea di comando; commands: aaapass IP; rsz N, etc.
67
-
SYN Floods II: Massive flood
Ordinare ad un esercito di bot di inondare una vittima: (DDoS)
– 20,000 bots possono generare 2Gb/sec di pacchetti SYN (2003)
– Alla vittima:• Saturazione dell’uplink• Saturazione dell’uplink• Saturazione delle risorse del router
• IP sorgente casuale⇒pacchetti SYN di attacco sembrano uguali a quelli reali
68
-
Passo successivo: TCP conn. flood
Un esercito di bot
– Completa la connessione ad un sito web– Manda piccole richieste HTTP HEAD– Ripete indefinitamente la procedura
Supera I proxy di protezione da SYN flood ma:Supera I proxy di protezione da SYN flood ma:– Non è più possibile usare IP sorgente casuali
• Rivela la presenza e la posizione dei bot
69
-
Payment DDoS
AquiringBank • ogni commerciante vede
attività con rate ridotto
• rate complessivo elevato alla banca
70
Merchant A Merchant B Merchant C
Richiesta diacquisto
falsa
-
Malware
• Trojan horse
• Virus
– Blocchi di codice che generano eventi inattesi e indesiderati mediante alterazione di file
– Sono progettati per diffondersi automaticamente tra i computer– Sono progettati per diffondersi automaticamente tra i computer
• Worms
– Virus auto-replicanti che non alterano dei file
– Si duplicano nella macchina “infettata” e si diffondono alle altre macchine ad elevata velocità
71
-
Trojan Horses
• Programmi che sembrano fare qualcosa di utile ma contengono codice o funzionalità nascoste
• Il codice nascosto può– Attaccare direttamente il sistema– Creare una backdoor per l’accesso di utenti malintenzionati
72
-
Trojan Horses
• Nessuna dipendenza dalla cooperazione dell’utente
• Proprietà di sicurezza coinvolte– Confidenzialità – Integrità – Integrità – Disponibilità
• Possibili tipi di trojan– Software– Web-based– Basati su email– …
73
-
Virus
• Programmi che quando eseguiti copiano se stessi all’interno di altri programmi non ancora infetti
• Proprietà di mobilità– Se un programma infetto si sposta in un altro sistema, anche il virus
si sposta ed inizia ad infettare il nuovo sistema• Esempi • Esempi
– Melissa– Babylonia– The Love Bug– KaZaA
74
-
Virus
• Come funziona– Un frammento di codice si lega ad altre istruzioni di un programma– Del codice relativo all’infezione può essere utilizzato all’avvio di una
macchina– Macro istruzioni vengono posizionate all’interno dei documenti
• Tipologie
– Program– Program– Boot– Macro
75
-
Stadi di funzionamento
• Attivazione – Solo programmi infetti, non dati– La rilevazione è limitata a
• Virus noti• Rilevazione di proprietà generali
• Infezione di altri programmi• Infezione di altri programmi• Esaurimento del proprio compito
76
-
Stadi di funzionamento
• Anteporre il codice del virus a quello di un programma• All’attivazione del programma, saltare al codice del virus• Controllare se il sistema è infetto
– Se si, continuare– Se no, infettare la vittima
• Eseguire l’azione prevista (logic bomb, trapdoor, etc.)• Eseguire l’azione prevista (logic bomb, trapdoor, etc.)• Continuare le normali operazioni
77
-
Melissa Virus
• Macro Word contenente 107 linee in Visual Basic• Come funziona
– Crea un documento word e lo invia ai primi 50 utenti della rubrica di Outlook Express
– Oggetto: “Important Message from user-name”– Il contenuto del corpo del messaggio è innocuo– Il contenuto del corpo del messaggio è innocuo
78
-
Melissa Virus - II
• All’apertura dell’attachment– Warning pop-up per l’inclusione delle macro– All’abilitazione delle macro il virus viene lanciato
• Il virus disabilita il controllo delle macro• Se il sistema non era infetto, viene modificato il registro ed il file
mandato ai primi 50 contatti nella rubrica di outlook expressmandato ai primi 50 contatti nella rubrica di outlook express• La copia locale di Word viene infettata, così qualunque
documento aperto viene infettato
79
-
Melissa Virus - III
• Ragioni del successo– Mail ricevuta da un contatto noto– Tendenza ad accettare di aprire documenti (trust)– Curiosità– Popolarità di MS Office e Windows
• Conseguenze• Conseguenze– Incremento del traffico di rete– Inconvenienti per gli utenti di software infetto– Nessuna cancellazione di file o limitazione della connettività
80
-
The Love Bug
• Simile al Melissa Virus– Diffusione verso 500 indirizzi nella rubrica di
Outlook/Outlook Express– Modifica della homepage di Internet Explorer– File infetti diffusi in tutto il sistema– File infetti diffusi in tutto il sistema
• Sfrutta le tecniche di social engineering• Rende difficile la rimozione dal sistema• Ha generato un gran numero di virus-
fotocopia
81
-
KaZaA
• Come funziona– Alla prima esecuzione mostra un messaggio di errore e si
copia nelle cartelle di sistema dell’utente– Modifica le chiavi del registro al fine di essere eseguito al
riavvioriavvio– Crea una cartella in C:\Windows\Temp\Sys32– La cartella viene condivisa da KaZaA e vengono creati in
essa molti file con nomi di file noti, file MP3, ecc.
82
-
Funzionamento dei Worm
• Auto-propagazione nella rete• Passi tipici per la propagazione
– Probing alla ricerca di host vulnerabili– Sfruttamento della vulnerabilità
• L’attaccante assume I privilegi dell’utente che è abilitato ad usare • L’attaccante assume I privilegi dell’utente che è abilitato ad usare il software attaccato
– Auto-invio ad altri host infetti• Diffusione a velocità esponenziale
– 10M hosts in < 5 minuti– Intrattabile con interventi manuali
83
-
Tecniche di probing
• Random Scanning• Local Subnet Scanning• Routing Worm• Hit List Pre-generata • Topologico
84
-
Random Scanning
• Generazione di un numero casuale su 32 bit a partire dal proprio IP
– I worm IPv6 useranno una tecnica differente …• Es: Slammer and Code Red I• Tentativi frequenti di contatto con il black-holed IP space
– Solo il 28.6% degli IP è allocato– Solo il 28.6% degli IP è allocato– Tracking dei worm mediante osservazione degli IP inutilizzati
• Honeypots
85
-
Subnet Scanning
• Generazione casuale degli ultimi 3, 2, 1 byte dell’IP• Code Red II e Blaster
• Richiesta la completa casualità per infettare tutta la rete
86
-
Routing Worm
• Le informazioni BGP possono essere utili a scoprire quale blocco di IP è allocato
• Informazioni pubblicamente disponibili– http://www.routeviews.org/– http://www.ripe.net/ris/
87
-
Hit List
• Hit list di macchine vulnerabili inviate via rete– Determinate prima del lancio del worm
• Fase di avvio molto rapida ed efficace• Evita la rilevazione da parte di sistemi che analizzino l’avvio
dell’attività dei worm
88
-
Scanning Topologico
• Utilizza informazioni della macchina infetta per infettarne altre– Morris Worm usa /etc/hosts , .rhosts – Indirizzi email– P2P software memorizza informazioni relative agli host coi quali si è
connesso
89
-
Morris Worm
• Vulnerabilità sfruttate– Buffer overflow– Bug in sendmail
• Funzionamento• Funzionamento– Dizionario di 432 parole comunemente utilizzate
come password– Il worm guadagna l’accesso violando un account
utente– Dopo il login, copia se stesso in altri sistemi remoti
90
-
Altri worm
• Happy 99– Allega se stesso alle mail in uscita– attachment Happy99.exe– User friendly – mantiene backup dei file modificati
• Worm.ExploreZip (W32.ExploreZip)– Usa la rubrica di outlook express– Sostituisce con degli zeri il contenuto di alcuni file
91
-
Altri worm - II
• BubbleBoy– Innescato senza interventi da parte dell’utente– Nessun danno reale eccetto la copia di se stesso
• Babylonia– Capace di alterare le proprie funzioni dinamicamente scaricando
codice da Internetcodice da Internet
92
-
Altri worm - III
• Anna Kournikova
• W32/CodeRed
• W32/CodeRed II
• W32/Nimba
• W32.Klez
93
-
W32/Klez.h@MM
• Si propaga copiando se stesso• Manda se stesso via email ad indirizzi
presenti nella rubrica di Outlook o estratti da file dell’utente
• Arriva come messaggio email avente come • Arriva come messaggio email avente come oggetto una fra alcune stringhe fissate a priori (Subject: A very funny website)
• Cerca di infettare o arrestare diversi programmi, tra cui alcuni antivirus
94
-
Prevenzione dei Worm
• Filtraggio basato sull’estensione– .vbs– .exe– .scr– .pif
• Filtraggio effettuato ad un email gateway• Filtraggio effettuato ad un email gateway
95
-
Time- o Logic-Bombs
• Restano dormienti fino all’occorrenza di un evento o di una condizione specifica– Risiedono in programmi appositi– Parti di virus o worm
• Esempi• Esempi– CIH Chernobyl– Friday the 13th– Michelangelo– Win32.Kriz.386Z
96
-
CIH Chernobyl
• Colpisce Windows 98 e 95• Funzionamento
– Innescato il 26 di ogni mese– Si installa in memoria senza modificare la dimensione dei file infetti– Scrive dati casuali nell’hard-disk a partire dal settore 0– Scrive dati casuali nell’hard-disk a partire dal settore 0– Tenta di alterare il FLASH-BIOS di sistema
97
-
CIH Chernobyl - II
• Conseguenze – Danni elevati in Asia– Necessità di formattazione– Probabile necessità di installare un nuovo chip – Probabile necessità di installare un nuovo chip
per il BIOS
98
-
Un esempio di attacco coordinato
• Bots & Botnets
99
-
Cos’è una botnet
• Rete di host infetti, denominati bots, sotto il controllo di un operatore umano conosciuto come bot master
• Il controllo è esercitato mediante canali detti Command and Control Channels utilizzati per diffondere i comandi ai bot
• I bot possiedono un insieme di comandi relativamente ampio e flessibileflessibile
100
-
Obiettivi dei botmaster
• Log keystrokes for identity theft • Installing Advertisement Addons• Distributed Denial-of-Service Attacks • Spamming • Sniffing Traffic • Keylogging • Keylogging • Spreading new malware • Google AdSense abuse • Attacking IRC Chat Networks • Manipulating online polls/games • Mass identity theft • Cracking mediante l’utilizzo di molti
computer per l’elaborazione• …
101
-
Capacità di un bot
• DDoS: Flooding attack ed estorsione basata su DDoS• Sfruttamento dei risultati di scanning• Download ed installazione di software• Frodi informatiche (click fraud,…)• Funzionamento come server - Bot Hosting • Funzionamento come server - Bot Hosting
– es. phishing• Funzioni Gateway e Proxy - HTTP proxy• Spyware,Keylogging, furto di dati e cattura dei
pacchetti
102
-
Struttura di una botnet
Modello centralizato– Modalità di utilizzo più comune
• Basata su Internet Relay Chat (IRC) • Il controllore centrale costituisce il punto debole della botnet
– Facile da controllareModello Random Graph
– Ogni bot si connette solo ad un numero limitato di altri bot– La perdita di un bot non è vitale per l’intera botnet– Elevata latenza nello scambio dei messaggi– Elevata latenza nello scambio dei messaggi
Peer to Peer– Architettura robusta
103
Cooke E, Jahanian F, Mcpherson D, The Zombie Roundup: Understanding, Detecting, and Disrupting Botnets, Workshop on Steps to Reducing Unwanted Traffic on the Internet (SRUTI) (June 2005)
-
Nascita di un bot
• I bot sono generati da programmi maliziosi che infettano i PC
• Worm auto replicanti• Virus email• Shellcode (scripts)
104
-
Propagazione di una Botnet
• Una botnet si ingrandisce reclutando nuovi bot– Scansione ed infezione di host vulnerabili– Scansione di macchine già infettate da worm
• Nuovi membri si uniscono alla botnet– DynDNS (DNS dinamico…) per localizzare le risorse della botnet– IRC scelto per diffondere comandi ed informazioni– P2P scelto per diffondere comandi ed informazioni
Vulnerabilità sfruttate mediante– P2P scelto per diffondere comandi ed informazioni
• Vulnerabilità sfruttate mediante– email – instant messaging – Vulnerabilità di software remoto– Contenuto malizioso delle pagine web– Condivisioni in rete non protette
• Le botnet possono avere caratteristiche locali– Si orientano verso sistemi corredati di particolari lingue o
configurazioni
105
-
Meccanismi di scansione
• Worm-like – Inizio della scansione alla ricerca di nuovi host da infettare
immediatamente successivo all’infezione• Botnet a scansione variabile
– Scansione effettuata a comando
106
-
Il fenomeno delle botnet
• Problema di traffico– Il 70% di tutte le sorgenti, durante periodi di picco, invia
shell exploits simili a quelli inviati nella fase di diffusione delle botnet
– Il 90% di tutto il traffico durante un particolare periodo di – Il 90% di tutto il traffico durante un particolare periodo di picco è indirizzato verso porti utilizzati dai meccanismi di diffusione delle botnet
– L’ammontare di traffico relativo alle botnet è certamente maggiore del 27%
107
-
Statistiche relative alle botnet
• Il 60% sono IRC bot– Il 70% di tutti I bots si connette ad un singolo server IRC
• 57,000 bot attivi al giorno nei primi 6 mesi del 2006 ( Symantec )
• 4.7 milioni di computer differenti sono utilizzati • 4.7 milioni di computer differenti sono utilizzati attivamente in diverse botnet
• la maggior parte delle botnet è gestita da un solo server (fino a 15,000 bot)
• Mocbot ha ottenuto il controllo di più di 7.700 macchine entro le prime 24 ore di funzionamento
108
-
Caratteristiche legate al contesto
• I bot possono infettare e risiedere su host con diversi sistemi operativi
• I programmi antivirus possono rilevare ed eliminare diversi software per le botnets
– Exploit spesso mutuati da altre tipologie di attacco
109
-
Botnet IRC
• Canale di comando e controllo centralizzato• Numero di client elevato• Anonimato del botmaster
110
Botnet user
-
Botnet IRC
• Nascono per ragioni storiche– I bot erano programmi installati dagli amministratori
dei canali per l’amministrazione la gestione ed ilcontrollo automatizzato
– Alcuni bot IRC venivano utilizzati a scopi quasi goliardiciquasi goliardici
• Le botnet sono una cosa seria, non piùgoliardica
• IRC è usato per botnet commerciali• Spesso contribuisce ad attacchi per il furto
delle identità• L’attaccante (botmaster) è invisibile alla vittima
111
Botnet user
-
Botnet IRC
• Facile da disabilitare• Single point of failure
– Eliminando il canale centrale di controllo sielimina la botnet
• Molto facile da realizzare– La tecnologia necessaria è facilmente – La tecnologia necessaria è facilmente
reperibile• Server IRC• Malware per infettare e controllare
i bot
112
Botnet user
-
Botnet P2P
• Controllo distribuito• Comunicazione distribuita
113
-
Botnet P2P
• Complesse da disabilitare– Assenza di un single point of failure– Assenza di una struttura centralizzata che consenta di risalire
all’attaccante
114