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