Strumenti di sicurezza delle reti:



Похожие документы
Transmission Control Protocol

Alcune tipologie di attacco su rete LAN: difese possibili. ing. Roberto Larcher webteca.port5.com UREHUWRODUFKHU#KRWPDLOFRP

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi

Tappe evolutive della rete Internet

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

Introduzione allo sniffing

Il protocollo IP (Internet Protocol)

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10


INFOCOM Dept. Antonio Cianfrani. Virtual LAN (VLAN)

4 - Il livello di trasporto

Protocolli di Comunicazione

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Reti di Calcolatori. Il software

TCP/IP un introduzione

Internet e protocollo TCP/IP

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI)

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

IP Internet Protocol

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

MODELLI ISO/OSI e TCP/IP

PROF. Filippo CAPUANI TCP/IP

Reti di Telecomunicazione Lezione 8

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

ICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it

Internet Protocol Versione 4: aspetti generali

IL LIVELLO RETE IN INTERNET Protocollo IP

Reiss Romoli 2014 CISCO CERTIFIED NETWORK ASSOCIATE (CCNA) CCNA

Interconnessione di reti

Indice. Prefazione. Capitolo 1 Introduzione 1. Capitolo 2 Livello applicazione 30

Uso di sniffer ed intercettazione del traffico IP

Prof. Filippo Lanubile

Dal protocollo IP ai livelli superiori

Il livello trasporto Protocolli TCP e UDP

Problemi legati alla sicurezza e soluzioni

Reti di Calcolatori:

La sicurezza delle reti

Prof. Mario Cannataro Ing. Giuseppe Pirrò

Sicurezza nelle applicazioni multimediali: lezione 9, firewall. I firewall

Livello Trasporto Protocolli TCP e UDP

Besnate, 24 Ottobre Oltre il Firewall.

Progettare un Firewall

TCP/IP. Principali caratteristiche

Elementi di Sicurezza e Privatezza Laboratorio 6 - Sniffing. Chiara Braghin chiara.braghin@unimi.it

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Reti standard. Si trattano i modelli di rete su cui è basata Internet

PROGRAMMAZIONE MODULARE Disciplina: SISTEMI E RETI Classe: QUINTA A INF SERALE Indirizzo: INFORMATICA

Elementi di Informatica e Programmazione

Internetworking TCP/IP: esercizi

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

Un sistema di Network Intrusion Detection basato su tcpdump

INTRODUZIONE ALLE RETI: UN APPROCCIO PRATICO

Il firewall Packet filtering statico in architetture avanzate

Elementi sull uso dei firewall

8 Interconnessione delle reti

La nascita di Internet

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Socket API per il Multicast

Tecnologie di Sviluppo per il Web

Elementi di Informatica e Programmazione

Architetture di router IP

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

CONNESSIONE DI UN PC ALLA RETE INTERNET

Internet Control Message Protocol ICMP. Struttura di un Messaggio ICMP. Segnalazione degli Errori

Gestione degli indirizzi

Linux User Group Cremona CORSO RETI

Architettura degli Elaboratori e delle Reti. Lezione 33. Reti di calcolatori. Proff. A. Borghese, F. Pedersini

Raw socket. L intercettazione di un pacchetto IP

Gestione degli indirizzi

Sicurezza applicata in rete

Stratificazione protocollare (Protocol Layering )

RETI TELEMATICHE Lucidi delle Lezioni Capitolo II

IL LIVELLO TRASPORTO Protocolli TCP e UDP

Reti di Telecomunicazioni LB Introduzione al corso

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

L architettura di TCP/IP

Introduzione alle applicazioni di rete

Introduzione. Scansione dei servizi di rete. Le porte (1) Internet Protocol. Le porte (2) Port Scanning. Cenni preliminari PortScan Satan Saint

Packet Tracer: simulatore di RETE

Elementi di Sicurezza e Privatezza Lezione 17 Protocolli di rete e vulnerabilità. Chiara Braghin

ICMP. (Internet Control Message Protocol) Cosa è l ICMP? Messaggi di ICMP. Applicazioni di ICMP: ULP, Ping, Traceroute, Path MTU discovery

Problematiche di Sicurezza in Ambiente Linux

Introduzione a Wireshark Andrea Atzeni < shocked@polito.it > Marco Vallini < marco.vallini@polito.it >

ARP/RARP. Problema della Risoluzione dell Indirizzo. Corrispondenza statica e dinamica. Scenari

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

ARP e RARP. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it Fulvio RISSO

Транскрипт:

Strumenti di sicurezza delle reti: nozioni di base e componenti open-source ing. Roberto Larcher http://utenti.lycos.it/webteca robertolarcher@hotmail.com

Obiettivi del Seminario Prima parte: sapere cosa circola in rete Nozioni di base del protocollo TCP/IP reti a mezzo condiviso (ethernet su hub, token-ring e wi-fi) reti segmentate (switched-ethernet e VLAN). libreria pcap winpcap Seconda parte: agire sui dati la possibilità di forgiare pacchetti di informazione pacchetti impossibili libreria Libnet Terza parte: alcuni strumenti open-source open-source tool di solo sniffing : Snort tool di solo packet forging : macof tool di sniffing & forging : tcpkill

La suite TCP/IP: alcuni protocolli applicazione Applicazione Utente Applicazione Utente Applicazione Utente trasporto TCP UDP rete ICMP IP IGMP IPv4 32 bit collegamento ARP Interfaccia Hardware RARP MAC 48 bit mezzo fisico

La suite TCP/IP: alcuni protocolli (2) IP Internet Protocol Servizio di consegna non affidabile di informazioni Portare a destinazione le informazioni TCP Transmission Control Protocol Trasporto affidabile Protocollo orientato alla connessione UDP User Datagram Protocol Trasporto non affidabile Protocollo connectionless ICMP Internet Control Message Protocol Messaggi di controllo ed errore ARP Address Resolution Protocol Gestione di indirizzamenti diversi fra layers (2 vs 3)

Incapsulazione dei dati application data Applic. TCP header application data TCP TCP segment IP header TCP header application data IP IP datagram Media header IP header TCP header application data Media trailer Media Access Media Frame opzionale

Esempio di comunicazione FTP In sequenza: MAC IP TCP Data IP: 192.168.0.10 IP: 192.168.0.11 Porta: 3600 Porta: 21 MAC header IP header TCP header application data I dettagli sono gestiti dal Sistema Operativo

RFC 793 : Transmission Control Protocol DARPA Internet Program Protocol Specification settembre 1981 Layer 4: Header TCP 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-------------------------------+-------------------------------+ Source Port Destination Port +-------------------------------+-------------------------------+ Sequence Number +---------------------------------------------------------------+ Acknowledge Number +-------+-----------+-+-+-+-+-+-+-------------------------------+ Data U A P R S F Offset Reserved R C S S Y I Window G K H T N N +-------+-----------+-+-+-+-+-+-+-------------------------------+ Checksum Urgent Pointer +-------------------------------+---------------+---------------+ Options Padding +-----------------------------------------------+---------------+ Data +---------------------------------------------------------------+ ULTERIORI INFORMAZIONI...

Layer 3: Header IPv4 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-------+-------+---------------+-------------------------------+ Version IHL Type of Service Total Lenght +-------+-------+---------------+-----+-------------------------+ Identification Flags Fragmant Offset +---------------+---------------+-----+-------------------------+ Time to Live Protocol Header Checksum +---------------+---------------+-------------------------------+ Source Address +---------------------------------------------------------------+ Destination Address +-----------------------------------------------+---------------+ Options Padding +-----------------------------------------------+---------------+ ULTERIORI INFORMAZIONI... RFC 791 : Internet Protocol DARPA Internet Program Protocol Specification settembre 1981

ANSI/IEEE Std 802.2, 1998 Edition - Logic Link Control ANSI/IEEE Std 802.5, 1998 Edition - Token Ring Access Method http://standards.ieee.org/getieee802 Layer 2: Media Access Method Metodi di accesso al mezzo fisico Ethernet IEEE 802.3 Token Ring IEEE 802.5 Wireless IEEE 802.11x FDDI IEEE 802.8 ULTERIORI INFORMAZIONI...

Sniffing Definizione Intercettare ed analizzare il traffico di rete diretto a un nodo diverso dal proprio Avvertenza Autorizzazione ad eseguire queste attività

Ethernet Repeaters and Hubs (http://www.erg.abdn.ac.uk/users/gorry/course/lan-pages/hub.html) Multiple Port Bridges (Switches) (http://www.erg.abdn.ac.uk/users/gorry/course/lan-pages/bridge.htm Reti condivise e reti segmentate Nelle reti condivise i pacchetti di informazioni vengono inviati a tutti i nodi H G da F a C F A Hub E B C D Nelle reti segmentate i pacchetti vengono inviati solo al nodo destinatario H G da F a C A Switch B C F E D ULTERIORI INFORMAZIONI...

Sniffing su reti a mezzo condiviso ethernet: trasmissione broadcast wireless: trasmissione broadcast token-ring: ogni stazione riceve ed invia i dati

Sniffing su reti segmentate e VLAN IP: 192.168.0.11 IP: 192.168.0.14 IP: 192.168.0.12 IP: 192.168.0.15 IP: 192.168.0.13 IP: 192.168.0.16 Quale traffico si intercetta? diretto al proprio nodo broadcast (del dominio di broadcast) Si può forzare un comportamento diverso?

Sniffing Componenti Open Source Libreria pcap www.tcpdump.org Liberia in C per la cattura di pacchetti Licenza BSD Libreria winpcap winpcap.polito.it Versione win32 di libpcap Licenza BSD (old style)

pcap: passi fondamentali di cattura Apertura della interfaccia offline online Analisi dei dati Compilazione del filtro filtro di tipo BPF Applicazione del filtro Filtro: udp and src 192.168.0.10 Analisi dei dati IDS QoS... tcp udp arp icmp

Packet forging Definizione Creare a piacimento ed immettere in rete pacchetti di informazioni Avvertenze Data la possibilità di immettere in rete pacchetti impossibili alcuni sistemi possono reagire in modo indesiderato (DoS)

Packet forging I dettagli devono essere gestiti da programma Prerequisiti Buona conoscenza dei protocolli Buona padronanza delle operazioni su bit e byte Buona conoscenza del linguaggio C Alcuni rudimenti del linguaggio macchina nativo Una buona dose di pazienza...

Esempio di forgiatura IP IP: 192.168.0.10 Porta: 3600 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-------+-------+---------------+-------------------------------+ Version IHL Type of Service Total Lenght +-------+-------+---------------+-----+-------------------------+ Identification Flags Fragmant Offset +---------------+---------------+-----+-------------------------+ Time to Live Protocol Header Checksum +---------------+---------------+-------------------------------+ Source Address +---------------------------------------------------------------+ Destination Address +-----------------------------------------------+---------------+ Options Padding +-----------------------------------------------+---------------+ IP: 192.168.0.11 Porta: 21 Alcuni Dettagli Il protocollo IPv4 viene identificato da Version == 4 Il TTL viene decrementato ad ogni salto di rete (hop

Esempio di forgiatura TCP IP: 192.168.0.10 Porta: 3600 IP: 192.168.0.11 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-------------------------------+-------------------------------+ Source Port Destination Port +-------------------------------+-------------------------------+ Sequence Number +---------------------------------------------------------------+ Acknowledge Number +-------+-----------+-+-+-+-+-+-+-------------------------------+ Data U A P R S F Offset Reserved R C S S Y I Window G K H T N N +-------+-----------+-+-+-+-+-+-+-------------------------------+ Checksum Urgent Pointer +-------------------------------+---------------+---------------+ Options Padding +-----------------------------------------------+---------------+ Data +---------------------------------------------------------------+ Porta: 21

Pacchetti impossibili Ping of Death Si tratta di inviare un pacchetto ICMP Echo con dimensione superiore a quella stabilita dai protocolli Effetto Su alcuni sistemi operativi di vecchia data questo causa un crash di sistema

Pacchetti impossibili - 2 Land attack Si tratta di inviare (a un router) un pacchetto TCP/IP con indirizzo di destinazione uguale al mittente e porta di destinazione uguale alla porta mittente Effetto Se non opportunamente configurati i router entrano in loop e, come minimo, riducono la loro capacità di servizio ULTERIORI INFORMAZIONI... Router Security Configuration Guide National Security Agency, 2002 http://www.nsa.gov

Forging Componenti Open Source Libreria Libnet www.paketfactory.net Liberia in C per la forgiatura di pacchetti Licenza BSD Libreria Libnet for win32 utenti.lycos.it/webteca Versione win32 di Libnet Licenza BSD OSI certified Estensioni per altri link layer - Token Ring

Building Open Source Security Tools: Components and Techniques Mike D. Schiffman Wiley 2003 Libnet: passi fondamentali Inizializzare la libreria Si specifica del metodo di immissione dei pacchetti Si specifica l interfaccia con cui iniettare i pacchetti Costruire il pacchetto Con l aiuto di apposite funzioni si creano i pacchetti Scrivere il pacchetto Il pacchetto viene immesso in rete Chiudere la libreria ULTERIORI INFORMAZIONI...

Libnet: link layer vs raw socks metodo di immissione Link Layer: si simula il livello 2 Raw Socks: si utilizzano i socket: livello 3 e 4 raw socks e win32 Il supporto del sistema operativo è parziale L indirizzo IP viene impostato dal sistema operativo Libnet for win32 Per compatibilità con la versione Unix viene simulato il supporto socks

Perché Open Source? http://www.opensource.org/

Tool di solo (?) sniffing: Snort Che cosa è Snort Network Intrusion Detection System Come funziona? Intercetta i dati e li confronta con un database di firme di intrusione Emette degli alert Che componenti Open Source utilizza? pcap - winpcap libnet 1.0.x LibnetNT ULTERIORI INFORMAZIONI... Snort Users Manual Snort Release 1.9.x Martin Roesch, 2002

Snort: alcune considerazioni Tuning Problema dei falsi positivi Aggiornamento Nuove vulnerabilità / intrusioni IDS su reti segmentate Particolari accorgimenti porte di monitoraggio SPAN Posizionamento cosa voglio intercettare?

Reti segmentate? Amministratore H A B Imposta una porta di monitoraggio G Switch C da F a C F E D Attaccante H A B Cerca di far comportare lo switch come uno hub G Switch C MAC flood F E D

Tool di solo forging: macof Che cosa è macof Generatore di traffico casuale su layer 2 Che scopo ha? esaurire le tabelle di indirizzamento di uno switch Come funziona? brute force invio di pacchetti forgiati con MAC address casuali Qual è l effetto desiderato? fail open (sniff) fail close (DoS)

macof: esempio di codice for(;;) { src = libnet_get_prand(libnet_pru32); dst = libnet_get_prand(libnet_pru32); libnet_build_tcp( ); libnet_build_ipv4( ); libnet_build_link( ); } libnet_write( );

macof: funziona? Dipende Dal tipo di switch Da come è configurato lo switch Alcune evidenze sperimentali (cisco) Il fail open è limitato nel tempo Viene limitato alla sola VLAN di attacco Viene intercettato solo il rumore generato ULTERIORI INFORMAZIONI... Secure Use of VLANs: An @stake Security Assessment Dsniff http://monkey.org/~dugsong/dsniff/ WebTECA http://utenti.lycos.it/webteca/ http://www.@stake.com

Tool di sniffing & forging: tcpkill Che cosa è tcpkill? È un programma che cerca di resettare una connessione TCP già stabilita Come funziona? Intercetta il traffico TCP che si desidera interrompere Forgia uno o più pacchetti con flag di reset Che componenti Open Source utilizza? pcap - winpcap versione 1: libnet 1.0.x LibnetNT versione 2: libnet 1.1.x Libnet for win32

tcpkill: schema di funzionamento Intercettato (pcap) forgiato (libnet) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-------------------------------+-------------------------------+ Source Port Destination Port +-------------------------------+-------------------------------+ Sequence Number +---------------------------------------------------------------+ Acknowledge Number +-------+-----------+-+-+-+-+-+-+-------------------------------+ Data U A P R S F Offset Reserved R C S S Y I Window G K H T N N +-------+-----------+-+-+-+-+-+-+-------------------------------+ Checksum Urgent Pointer +-------------------------------+---------------+---------------+ Options Padding +-----------------------------------------------+---------------+ Data +---------------------------------------------------------------+ 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-------------------------------+-------------------------------+ Source Port Destination Port +-------------------------------+-------------------------------+ Sequence Number +---------------------------------------------------------------+ Acknowledge Number +-------+-----------+-+-+-+-+-+-+-------------------------------+ Data U A P R S F Offset Reserved R C S S Y I Window G K H T N N +-------+-----------+-+-+-+-+-+-+-------------------------------+ Checksum Urgent Pointer +-------------------------------+---------------+---------------+ Options Padding +-----------------------------------------------+---------------+ Data +---------------------------------------------------------------+

tcpkill: esempio di codice ip->ip_id = libnet_get_prand(libnet_pru16); seq = ack + (i * win); t = libnet_build_tcp( ntohs(tcp->th_dport), ntohs(tcp->th_sport), seq, 0, TH_RST, 0, 0, NULL, LIBNET_TCP_H, NULL, 0, l, 0);

tcpkill: funziona? Sì ULTERIORI INFORMAZIONI... Penetration Testing with dsniff Christopher R. Russel February 18, 2001 http://rr.sans.org/threats/dsniff.php

Bibliografia RFCs: RFC 768: User Datagram Protocol (UDP), Postel, J., 1980 RFC 791: Internet Protocol (IP), Postel, J. et al., 1981 RFC 793: Transmission Control Protocol (TCP), Postel, J. et al., 1981 Router Security Configuration Guide National Security Agency, 2002 - http://www.nsa.gov Building Open Source Security Tools: Components and Techniques Mike D. Schiffman, Wiley, 2003 Snort Users Manual Snort Release 1.9.x Martin Roesch, 2002 http://www.snort.org Ethernet Repeaters and Hubs http://www.erg.abdn.ac.uk/users/gorry/course/lan-pages TCP/IP Illustrated W. Richard Stevens http://thermite.stanford.edu/stevens/tcp_stevens/ Internetworking Technology Handbook Cisco Systems, Inc 1992-2002 http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/index.htm Penetration Testing with dsniff Christopher R. Russel February 18, 2001 http://rr.sans.org/threats/dsniff.php ANSI/IEEE Std 802.2, 1998 Edition - Logic Link Control ANSI/IEEE Std 802.5, 1998 Edition - Token Ring Access Method http://standards.ieee.org/getieee802 OSI Open Software Initiative http://utenti.lycos.it/webteca