Attacchi Informatici

Transcript

Attacchi Informatici
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
stesso
– 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
• 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 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
• 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
• 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
– 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
• 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
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
• …
13
Informazioni pubbliche - www.nic.it
HOSTNAME:/home/USERID# whois unina.it
Domain:
unina.it
Status:
ACTIVE
Created:
1996-01-29 00:00:00
Last Update:
2008-02-14 00:03:09
Expire Date:
2009-01-29
Registrant
Name:
C.D.S. - Universita' di Napoli
ContactID:
CDSU1-ITNIC
Address:
C.so Umberto I
Napoli
80138
NA
IT
Created:
2007-03-01 10:47:26
Last Update:
2007-03-01 10:47:26
Admin Contact
Name:
Francesco Palmieri
ContactID:
FP9291-ITNIC
Address:
Universita' degli Studi di Napoli Federico II
C.so Umberto I
Napoli
80138
NA
IT
Created:
2007-03-01 10:47:26
Last 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 <[email protected]>
Date: 1998/12/07
Forum: comp.unix.solaris
author posting history
Hi,
Could someone tell me how to configure anonymous ftp for
multiple IP addresses. Basically we are running virtual web
servers on one server. We need to configure anonymous ftp
for each virtual web account. I appreciate it if someone
can
help me as soon as possible. I know how to configure an
anonymous 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
– 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à 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
• 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
SSH e il bug CRC32[1] (scoperto
nel 2001).
22
NMAP & Matrix (cont.)
The Matrix Reloaded
– “Trinity” sonda un sistema alla ricerca di vulnerabilità
23
NMAP & Matrix (cont.)
Nmap v. 2.54BETA25
Trova 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)
– 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
• 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
– 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
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 sistema
33
Errori di configurazione: anonymous ftp (1/3)
$ ftp hack.me.com
Connected to hack.me.com.
220 xyz FTP server (SunOS) ready.
Name (hack.me.com:jjyuill): anonymous
331 Guest login ok, send ident as password.
Password:
230 Guest login ok, access restrictions apply.
ftp> get /etc/passwd
/etc/passwd: Permission denied
ftp> cd ../etc
250 CWD command successful.
ftp> ls
200 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 passwd
200 PORT command successful.
150 ASCII data connection for passwd
(152.1.75.170,32872) (23608 bytes).
226 ASCII Transfer complete.
local: passwd remote: passwd
23962 bytes received in 0.14 seconds (1.7e+02
Kbytes/s)
ftp> quit
221 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/c
sh
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
– 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 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’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
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
– 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
– 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
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
Category
Subcategory
Attack name
DDoS condition
Efficient placement of
defense mechanisms
Status
Flooding
Direct
TCP SYN Floods
End-point resource
Exhaustion
Link congestion
End-host and
Intermediate network
routers
Most popular
DoS attack (27%)
Flooding
Direct
UDP Floods
Link congestion
Intermediate network
(core or border) routers
2nd popular DoS
attack (26%)
Flooding
Direct
ICMP Floods
Link congestion
Intermediate network
(core or border) routers
Flooding
Indirect
TCP Floods
Link congestion
Intermediate network
(core or border) routers
Flooding
Indirect
(Amplified)
Smurf attack
Fraggle attack
Link congestion
End-point resource
Exhaustion
Flooding
Indirect
(Amplified)
DNS Amplification
Attacks
Flooding
Direct
Logic attacks
Subnet routers
Few networks
remain smurfable
today
Link congestion
DNS server
75% of DNS
servers still
allowed recursion
Low-rate TCP
Based Attacks
Reduction of
end-to-end flow
throughput
Intermediate network
(core or border) routers
Land 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
S
Singola macchina:
SYNC1
SYNC2
SYNC3
SYNC4
•Pacchetti SYN con
IP sorgente casuale
• esaurisce le risorse del
server (coda di ‘backlog’)
•Ulteriori connessioni
non possibili
SYNC5
53
SYN Floods
(da: PHRACK 48, no 13, 1996)
Dimensioni della coda di
Backlog
OS
Linux 1.2.x
10
FreeBSD 2.1.5
128
WinNT 4.0
6
Backlog timeout:
3 minuti
⇒ in teoria: sono necessari solo 128 SYN ogni 3 minuti
⇒“Low rate SYN flood”
54
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
Install latest patches
Properly adjust system parameters
Remove unnecessary services
Using firewall and IDS
Deploy 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
Reverse Turing
Proof 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 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 host
Use "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
Secure the end
host
Protect
asymmetric
protocols
58
Difesa nella fase di attacco
Category
Defense methods
Advantages
Limitations
Signature
Based Detection
Mechanisms
Detect attacks by monitoring the
content of packets
● Effective toward logic DoS
Attacks
● May introduce complex computation
works
● Cannot defend attacks using packets
similar to legitimate traffic
Anomaly Based
Detecting
Mechanisms
Detect attacks by monitoring the
changes of traffic volume or
features.
● Efficient toward flooding DoS
attack with detectable features
● Hard to set up a threshold for attack
flows
● Cannot defend logic DoS attack
Filtering based
Mechanism
Ingress and egress filtering
Hop-Count Filtering
● Can filter out the spoofed IP
packets
● Potential to defend the highly
distributed attacks
● Cannot stop spoofed IP address in the
same subnet
● Some DDoS attacks do not use
spoofed IP address
Congestion
control based
Mechanism
Regulate the traffic behaviors by
analyzing flows
● Can mitigate flooding DoS
attacks
● Can avoid overall network
congestion
● Ineffective when the attack is a low
bandwidth attack
● May block legitimate traffic also
● Cannot stop attackers with a huge
number of agents
TCP based
Defense
mechanism
Improve end-system configurations
Improve connection establishment
Install firewall
Monitor actively existing TCP
connections
● Efficient defense toward TCP
based DoS attacks (ex: TCP
SYN)
● Protocol behavior need to be modified
and deployed globally
● Can only mitigate the influence of attacks
Overlay networks
Authenticated users are routed
through an overlay network.
Service will be relocated in the
overlay network once an attack is
detected.
● Efficient defense against
flooding DoS attacks
● High deployment cost
● Only effective when it is deployed
globally
59
DoS verso livelli più alti dello stack
SSL/TLS handshake
Client Hello
Server Hello (pub-key)
RSA
Encrypt
Web
Server
Client key exchange
RSA
Decrypt
– 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
Denial of Service (DOS) - esempi
1)
SMURF – ICMP echos
2)
ECHO-CHARGEN – UDP port 7 is echo; UDP port 19 is character generator.
»
3)
Spoof a source address and two victims pound each other
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 fa sì che
iframmenti 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 type
ping –L 65510 <victim IP address>
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
- ICMP echo has a “pseudo header” consisting of 8 bytes of
ICMP 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)
zombies
masters
attacker
victim
64
Passi da compiere per un DDoS
• Fase iniziale di scan verso un numero elevato di
computer 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 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
vittima
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 TFN
66
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 master
Installazione del programma di attacco:
– Con netcat (nc) si manda in pipe uno shell script alla shell di
root 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: aaa
pass 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 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:
– Non è più possibile usare IP sorgente casuali
• Rivela la presenza e la posizione dei bot
69
Payment DDoS
Aquiring
Bank
• ogni commerciante vede
attività con rate ridotto
• rate complessivo
elevato alla banca
Merchant A
Merchant B
Merchant C
Richiesta di
acquisto
falsa
70
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
• 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à
– 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
– 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
– 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
• 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.)
• 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
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 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
– 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
• Sfrutta le tecniche di social engineering
• Rende difficile la rimozione dal sistema
• Ha generato un gran numero di virusfotocopia
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
riavvio
– 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
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
– 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
– 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 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
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
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
–
–
–
–
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
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
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
flessibile
100
Obiettivi dei botmaster
•
•
•
•
•
•
•
•
•
•
•
•
Log keystrokes for identity theft
Installing Advertisement Addons
Distributed Denial-of-Service Attacks
Spamming
Sniffing Traffic
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
– 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 controllare
Modello 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
Peer to Peer
– Architettura robusta
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)
103
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
–
–
–
–
–
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
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
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
Botnet user
110
Botnet IRC
• Nascono per ragioni storiche
– I bot erano programmi installati dagli amministratori
dei canali per l’amministrazione la gestione ed il
controllo automatizzato
– Alcuni bot IRC venivano utilizzati a scopi
quasi goliardici
• Le botnet sono una cosa seria, non più
goliardica
• IRC è usato per botnet commerciali
• Spesso contribuisce ad attacchi per il furto
Botnet user
delle identità
• L’attaccante (botmaster) è invisibile alla vittima
111
Botnet IRC
• Facile da disabilitare
• Single point of failure
– Eliminando il canale centrale di controllo si
elimina la botnet
• Molto facile da realizzare
– La tecnologia necessaria è facilmente
reperibile
• Server IRC
• Malware per infettare e controllare
i bot
Botnet user
112
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