argus: il (quasi-)nids
per chi non può permettersene uno
Roberto Cecchini
INFN, Sezione di Firenze
Paestum, 11 Giugno 2003
argus
Tassonomia nids
•
•
Misuse detection
– ricerca di pattern specifici o sequenze di eventi (signatures);
• veloci e con pochi falsi positivi;
• non possono rivelare quello che non conoscono già: necessitano di
continui aggiornamenti;
Anomaly Detection
– ricerca di deviazioni dall’uso “normale” del sistema, utilizzando
una serie di “modelli” continuamente aggiornati;
• permettono di rilevare anche attacchi di cui non si ha una
conoscenza specifica;
• producono molti falsi positivi;
• hanno bisogno di una lunga fase di apprendimento;
• per reti complesse l’uso “normale” può essere random
Paestum, 11/6/2003
1
argus
Non tutti si possono permettere un nids...
•
Ciclo di vita di snort (tipico)
– installazione (con entusiasmo) (~2000 regole!).
– loop:
• analisi delle segnalazioni (decine di MB)
– quante scansioni mi hanno fatto oggi?
– aiuto! sul PC di Tizio c’è Replicator3k!!!! (quasi mai vero...)
• riduzione drastica delle regole;
• aggiunta nuove regole (le vulnerabilità spuntano come i funghi);
– installazione db (acid o simili):
• impari lotta con tabelle che scoppiano e dischi che si riempiono
(quasi sempre durante il fine settimana).
•
– abbandono (con scoramento).
– arrivo del vero attacco.
Sogno: un sistema centralizzato di configurazione e analisi.
Paestum, 11/6/2003
2
argus
In (possibile) alternativa...
•
argus (Audit Record Generation and Usage System)
– progettato alla Carnegie Mellon University (1993);
• Computer Emergency Response Team;
– real time flow monitor;
– genera audit data per le transazioni di rete:
• connectivity, capacity, demand, loss, delay, jitter;
• supporto xml;
– utilizzabile per:
•
•
•
•
security;
accounting;
performance analysis;
network operations management.
Paestum, 11/6/2003
3
argus
Server
•
argus
– ascolta dall’interfaccia di rete (o legge un file di tcpdump &
co.);
– scrive su uno o più file e/o socket;
• il file di output può essere spostato senza problemi (via cron, p.e.);
– conserva solo dati riepilogativi delle transazioni;
• microflow audit record (state e time interval);
– possibile selezionare i dati (sintassi di tcpdump);
• <bool> <qualifier> id <bool> <qualifier> id ...
• <qualifier>: host,net,port,ttl,dst,src,protocol,frag,fragonly,syn,
synack,fin,finack,reset,retrans,echo,unreach,redirect,...
– supporto per tcpwrappers e SASL.
Paestum, 11/6/2003
4
argus
Clienti
•
ra, ramon, rasort, ragator, ...
– leggono i file prodotti dai server o dai socket (anche
compressi);
– possibile selezionare i dati (sintassi di tcpdump);
– se ne possono scrivere altri (c’è un template) od eseguire
elaborazioni specifiche sui dati (il formato è documentato)
•
•
•
•
scansioni lente
network mapping
connessioni per host
...
Paestum, 11/6/2003
5
argus
Pro e contro
•
•
Non è un nids kosher.
Non emette allarmi e non fa analisi sul payload dei pacchetti
•
È molto pratico per scoprire che cosa è successo (vedi
esempi).
Produce relativamente poco output (comprimibile 3÷4:1).
I server possono essere installati nei punti interessanti
senza troppi problemi.
•
•
– anche se può selezionarli per alcune loro caratteristiche.
Paestum, 11/6/2003
6
argus
Architettura
Raccolta e analisi dei dati
Paestum, 11/6/2003
7
argus
Esempi d’uso
•
•
1/5
Chi è che si è collegato a 192.168.1.4 dopo che me l’hanno
bucata?
ra –t 20–23 –c -r argus.030523 - host 192.168.1.4
20:49:36 * tcp
20:50:51
tcp
20:51:12
tcp
21:14:59
tcp
21:15:10
tcp
21:26:25 * tcp
22:40:11 * tcp
SrcAddr
Dir DstAddr
SrcB
DstB S
172.16.5.1.1031
-> 192.168.1.4.23 56659 41352 CLO
192.168.1.4.1067 -> 172.16.6.3.21
141
1332 CLO
192.168.1.4.1068 <- 172.16.6.3.20
0
2451 CLO
192.168.1.4.1071 -> 172.16.1.4.21
109
410 CLO
192.168.1.4.1072 <- 172.16.1.4.20
0
8145 CLO
172.16.5.2.1028
-> 192.168.1.4.23 1658 146227 CLO
172.16.5.2.1053
-> 192.168.1.4.23 45893 90861 CLO
Che cosa ha combinato questo MacAddress mai visto?
ra –r argus.030602 – ether host 0:50:da:40:b4:68
Paestum, 11/6/2003
8
argus
Esempi d’uso
•
2/5
Ci sono dei demoni stacheldraht in funzione?
ra –mnt 15-15:05 –Slocalhost
SrcMacAddr
0:50:da:40:b4:68
0:50:da:40:b4:68
0:50:da:40:b4:68
0:50:da:40:b4:68
0:50:da:40:b4:68
0:50:da:40:b4:68
0:50:da:40:b4:68
0:50:da:40:b4:68
0:50:da:40:b4:68
0:50:da:40:b4:68
0:50:da:40:b4:68
0:50:da:40:b4:68
DstMacAddr
0:50:a2:dc:b4:0
0:50:a2:dc:b4:0
0:50:a2:dc:b4:0
0:50:a2:dc:b4:0
0:50:a2:dc:b4:0
0:50:a2:dc:b4:0
0:50:a2:dc:b4:0
0:50:a2:dc:b4:0
0:50:a2:dc:b4:0
0:50:a2:dc:b4:0
0:50:a2:dc:b4:0
0:50:a2:dc:b4:0
SrcAddr
192.168.1.8
192.168.1.9
192.168.1.1
192.168.1.0
192.168.1.9
192.168.1.8
192.168.1.0
192.168.1.1
192.168.1.8
192.168.1.9
192.168.1.0
192.168.1.1
Dir
<->
<->
<->
<->
<->
<->
<->
<->
<->
<->
<->
<->
DstAddr
172.16.3.80
172.16.3.53
172.16.3.80
172.16.3.53
172.16.3.53
172.16.3.80
172.16.3.53
172.16.3.80
172.16.3.80
172.16.3.53
172.16.3.80
172.16.3.53
SB
1042
1042
1042
1042
1042
1042
1042
1042
1042
1042
1042
1042
DB
1042
1042
1042
1042
1042
1042
1042
1042
1042
1042
1042
1042
S
ECO
ECO
ECO
ECO
ECO
ECO
ECO
ECO
ECO
ECO
ECO
ECO
MacAddress uguali, ma IP Address diversi!!!
Paestum, 11/6/2003
9
argus
Esempi d’uso
•
3/5
Dove diavolo sono i demoni stacheldracht e chi li comanda?
ra –I –r argus.030529 – icmp and not src net 192.168.1
SrcAddr
172.16.2.23
192.168.50.220
172.16.134.198
192.168.10.177
172.16.23.18
172.16.24.177
172.16.169.25
192.168.134.26
134.155.50.220
192.168.134.198
172.16.99.143
Paestum, 11/6/2003
->
<->
->
<->
->
<->
<->
->
<->
->
->
DstAddr
192.168.1.9
192.168.1.54
192.168.1.22
192.168.1.54
192.168.1.132
192.168.1.54
192.168.1.54
192.168.1.14
192.168.1.54
192.168.1.214
192.168.1.15
SP DP SrcB DstB
1 0
70
0 ECR
1 1
98
98 ECO
4 0 280
0 ECR
1 1 142 142 ECO
1 0
70
0 ECR
1 1 142 142 ECO
1 1
98
98 ECO
1 0
70
0 URH
1 1
98
98 ECO
1 0
70
0 URH
12 0 1164
0 URP
10
argus
Esempi d’uso
•
4/5
Chi è che si è mangiata tutta la banda ieri?
ramon –N 10 –M TopN –c –r argus.030604
SrcAddr
SrcPkt DstPkt
SrcBytes
DstBytes
192.168.1.219
429684 832920
31680850 1245395656
172.16.176.210 828739 425633 1244871272
28939506
192.168.1.104
652295 378529 974191063
26205407
192.168.145.120
834 737926
95706 947338895
192.168.1.70
737407
209 946716419
130462
192.168.1.36
2923774 2747960 421277041 434180200
172.16.88.78
332581 538842
23609271 791520963
192.168.1.213
721348 860443
48842368 713372023
172.16.91.104
819282 651879 675655989
38530671
192.168.1.230
318447 180814 445905502
23039420
Paestum, 11/6/2003
11
argus
Esempi d’uso
•
5/5
Chi è che si è mangiata tutta la banda ieri?
ramon –N 10 –M Matrix –c –r argus.030603
SrcAddr
172.16.176.210
172.16.88.78
192.168.1.213
192.168.1.70
192.168.145.120
192.168.1.70
172.16.215.189
192.168.1.19
192.168.145.119
192.168.145.102
Paestum, 11/6/2003
Dir
<->
<->
<->
->
<<->
<->
<->
<->
<->
DstAddr
SrcBytes DstBytes
192.168.1.219
1244871272 28939506
192.168.1.104
21437643 786178114
172.16.91.104
38490549 674396140
192.168.145.120 521420532
0
192.168.1.70
0 460724958
172.16.247.90
7201122 259695171
192.168.1.230
5631822 242035666
192.168.145.202 109521480 39960540
172.16.14.114
118154705 17867549
172.16.213.146
3402251 130322384
12
argus
Riferimenti
•
•
•
•
•
argus: http://www.qosient.org/argus/
snort: http://www.snort.org/
acid: http://acidlab.sourceforge.net/
T.H. Ptacek e T.N. Newsham, Insertion, Evasion and Denial
of Service: Eluding Network Intrusion Detection
http://www.insecure.org/stf/secnet_ids/secnet_ids.html
Newman, Snyder, Thayer, Crying wolf: False alarms hide
attacks, Network World, 24 Jun 2002
(http://www.nwfusion.com/techinsider/2002/0624security1
.html)
Paestum, 11/6/2003
13
Scarica

Argus: il (quasi-)nids per chi non puo` permettersene uno