Università degli studi dell’Insubria
Facoltà di Informatica
11 luglio 2007
Software di Packet-Filtering e
Port-Filtering su reti TCP/IP
Come filtrare il traffico di rete in transito
sulle interfacce presenti, frapponendosi tra
la scheda Ethernet ed il TCP/IP stack
INQUADRAMENTO DELLA
RETE DEL CLIENTE
INFRASTRUTTURA DI RETE IN FASE DI MIGRAZIONE DA PROTOCOLLI
X.25 AD IP
VANTAGGI
DELLA MIGRAZIONE DA X.25 A IP
• AMMODERNAMENTO TECNOLOGICO
DELL’INFRASTRUTTURA DI RETE
• OTTIMIZZAZIONE DEI PROCESSI DI GESTIONE E
MANTENIMENTO
• RIDUZIONE DEI COSTI
• MAGGIORE ADERENZA AGLI STANDARD
PROBLEMATICHE RISCONTRATE
• PROPAGAZIONE DI CODICE MALIZIOSO
• NON OTTIMALE SEGREGAZIONE DEL TRAFFICO DI
RETE
• PROBLEMI DI SICUREZZA PROVENIENTI DAI CLIENT
(sui quali il ciente non è in grado di detenere un
controllo dal punto di vista giurico)
NECESSITA’ DI UN SOFTWARE IN GRADO DI
INSEDIARSI TRA LA SCHEDA DI RETE ED IL
TCP/IP STACK, IN GRADO DI CONTROLLARE E
LIMITARE IL TRAFFICO DI RETE IN OGNI
SINGOLO DISPOSITIVO END-POINT
WINPKFILTER (NTKERNEL resources)
• SVILUPPO DI UN SOFTWARE DI PACKET FILTERING CON
CONTROLLO ACCESSI A LIVELLO DI INDIRIZZAMENTO DI RETE E
PORTE LOGICHE
• UTILIZZO DI DEVICE DRIVER IN GRADO DI INTEGRARSI TRA IL
DEVICE DRIVER ETHERNET ED IL TCP/IP STACK
• ESECUZIONE A LIVELLO DI KERNEL = IMPATTO MINIMO
RISORSE
• COMPATIBILIA’ CON WIN 98 (S.O. DEI CLIENT)
• API PER PROGRAMMAZIONE IN VC++
• LICENZA USD 3.495
FUNZIONALITA’
• Possibilità di scelta dell’interfaccia di rete da
monitorare
• Definizione di white-lists di indirizzi IP
• Definizione di white-lists di porte TCP e UDP
• Logging dei pacchetti e protocolli bloccati
• Possibilità di far transitare pacchetti di
protocolli di servizio atti al corretto
funzionamento della rete (es. ARP)
ETHERNET
• Apertura del pacchetto Ethernet ed analisi dei bit che
indicano il protocollo successivo (quello contenuto
nel campo “dati” del pacchetto Ethernet stesso)
ARP, RARP, IP
• ARP: risoluzione MAC address da indirizzo IP
• RARP: opposto di ARP (Reverse Address Resolution Protocol)
• IP: - header checksum
- IP destinatario = IP locale
- IP sorgente in white-list
- procollo successivo:
- TCP
- UDP
- ICMP
- IGMP
- casi particolari e pacchetti frammentati
TCP, UDP, DHCP, ICMP, IGMP
•
•
•
•
ICMP: protocollo di servizio (ping, tracert)
IGMP: protocollo di gestione gruppi multicast
Verifica IP destinatario = 224.*.*.*
TCP e UDP: verifica porta sorgente e porta destinazione
DHCP (su UDP porte 67 e 68): per un certo periodo di tempo il client non ha IP
(0.0.0.0). Accetto i pacchetti senza IP destinati all’indirizzo locale di livello datalink
se sono UDP porta 68 e l’IP sorgente (server DHCP) è in white list
PACKET FRAGMENTATION
MTU: Maximum Transmission Unit (tipicamente Ethernet 1500 bytes)
Se il pacchetto è più grande viene FRAMMENTATO
Campi Header IP coinvolti:
- Identificazione: indice riassemblamento datagramma
- Flags: 0 riservato, 1 may fragment / don’t fragment, 2 last fragment / more fragments
- Offset di frammentazione: offset di posizionamento misurato in ottetti
Rappresentazione binaria 0x20B9 = 0010 0000 1011 1001
Offset (13 bits): 0000010111001 = 185 ottetti * 8 = 1480 bytes
COMPLESSITA’
•Poche risorse disponibili sui client del cliente,
impossibilità di utilizzare pacchetti già pronti
sul mercato (già sviluppati e solo da
configurare), necessità di un nuovo prodotto
“custom”
•Grande mole di traffico di rete da gestire,
disposizione dei client ovunque in tutta Italia
•Sviluppo del software in un laboratorio
composto da macchine virtuali, simulazione
di grandi moli di traffico mediante “traffic
generators”
SVILUPPI FUTURI
•Possibilità di utilizzo anche in altri sistemi
operativi (es. Windows XP) mediante piccoli
accorgimenti e modifiche
•Filtro di altri protocolli che verranno utilizzati
in futuro sulla rete ed eventualmente di
protocolli di nuova implementazione
•Possibilità di scendere maggiormente in
dettaglio nei controlli effettuati estendendo le
verifiche ad altri campi dei pacchetti in
transito
•Implementazione servizio NAT
•Elevato numero di protocolli presenti
•Attenzione ai casi particolari (bloccare tale
traffico di rete significava bloccare il
funzionamento della rete stessa)
•Distribuzione white-lists mediante ftp su
tutti i client, possibilità di gestione
centralizzata e blocco immediato di indirizzi e
porte
GRAZIE
Stefano Nichele
[email protected]
+39 347 5501807
Scarica

Slide 1 - Stefano Nichele