TCP/IP: cosa rischio se lo uso?. Importanza Obiettivo di oggi: Capire come funzionano alcuni protocolli di rete Vedremo Come lavorano i protocolli Come.

Slides:



Advertisements
Presentazioni simili
Prof. Carla Fanchin – L.S. Tron
Advertisements

Indirizzamento LAN e ARP
I bridge Standard IEEE 802.1D.
ISA Server 2004 Enterprise Edition Preview. ISA Server 2004.
Branch office update – SP2. Agenda Messa in esercizio degli uffici remoti Compressione HTTP Differentiated Services Cache di BITS.
Italo Losero S tray B ytes strane cose succedono nelle reti....
Corso di laurea in INFORMATICA
Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Messaggi di errore e di controllo Alberto Polzonetti
Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocollo Internet Alberto Polzonetti
I protocolli TCP/UDP prof.: Alfio Lombardo.
4-1 Il Livello di Rete in Internet Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
I modelli di riferimento OSI e TCP/IP
5-1 ATM Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
La rete in dettaglio: rete esterna (edge): applicazioni e host
3-1 User Datagram Protocol: UDP Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
La rete del futuro nellautonomia scolastica Sezione propedeutica I fondamentali e concetti di TCP/IP.
Reti di Calcolatori Domande di riepilogo Quarta Esercitazione
Programmazione su Reti
Internet Control Message Protocol rfc. Error Reporting Testing di affidabilità Controllo di congestione Notifica di route-change Misurazione di performance.
TCP Transmission Control Protocol. Programmazione II: Programmazione su Reti -- Prof. G. Persiano 2 TCP TCP fornisce un servizio di connessione –orientato.
AICA Corso IT Administrator: modulo 5 AICA © EUCIP IT Administrator Modulo 5 - Sicurezza Informatica Esercitazione Alberto Bosio.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP.
Reti di Calcolatori MODELLI ISO/OSI e TCP/IP.
ICMP - PING - TRACEROUTE
Il Firewall Sistemi di elaborazione dellinformazione : Sicurezza Anno Accademico 2001/2002 Martini Eros.
Corso di Informatica per Giurisprudenza Lezione 7
Realizzato da Roberto Savino 3-1 Il livello di trasporto r Dobbiamo assumere di avere a che fare con un canale di comunicazione molto particolare 1. Inaffidabile.
I protocolli TCP/UDP prof.: Alfio Lombardo.
Manipolazione dei protocolli di rete con ettercap
AICA Corso IT Administrator: modulo 4 AICA © EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Risoluzione dei Problemi e Analisi del Traffico.
Modulo 2 - U.D. 3 - L.4 Ernesto Damiani - Sistemi di eleborazione dell'informazione.
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
TCP/IP.
TCP/IP.
L’architettura a strati
IPSec Fabrizio Grossi.
Computer Networks Internet Protocol
Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC ARP L’utente fa una richiesta di pagina.
Livello di trasporto Protocolli TCP e UDP.
1: Introduction1 Stratificazione protocollare (Protocol “Layering”) Le reti sono complesse! r Molti elementi: m host m router m link fisici dalle caratteristiche.
Sistemi e Tecnologie della Comunicazione
Consuntivo corso Reti diCalcolatori Reti di Calcolatori (F1I063) Docente Luigi Vetrano Durata Ore di lezione56 di cui, ore di.
1 Luigi Vetrano Esercitazione di Reti di Calcolatori A.A
Reti di calcolatori Modulo 2 -Protocolli di rete TCP/IP Unità didattica 3 – Instradamento statico Ernesto Damiani Università degli Studi di Milano – SSRI.
IPSEC Studente Professore Michele Di Renzo Stefano Bistarelli.
Reti II Stefano Leonardi
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 3 -Instradamento statico Ernesto Damiani Lezione 2 – ICMP.
Reti di calcolatori Modulo 1 -Tecniche di comunicazione digitale Unità didattica 4 – Interconnessione tra reti locali Ernesto Damiani Università di Milano.
Controllo di flusso TCP. Elementi base del flusso TCP (1) Comunicazione punto-punto Un mittente, un destinatario. Flusso di byte affidabile Flusso suddiviso.
1 Sistemi e Tecnologie della Comunicazione Lezione 23: transport layer: TCP e UDP.
Sistemi e Tecnologie della Comunicazione
Software di Packet-Filtering e Port-Filtering su reti TCP/IP Come filtrare il traffico di rete in transito sulle interfacce presenti, frapponendosi tra.
Silvia Pasqualotto e Giulia Nanino
LORENZO PARISI CLASSE V LSA GARDASCUOLA AS Computer networks.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
INTERNET PROTOCOL SUITE FACOLTA’ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Docente: Prof. Pasquale Daponte Tutor:
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
Sezione propedeutica I fondamentali e concetti di TCP/IP.
Prof. G.Mastronardi1 IL PROBLEMA DEL “DENIAL of SERVICE” Politecnico di Bari – Sicurezza dei Sistemi Informatici -
- Token bucket - Addressing Exercises on. Si condideri il meccanismo di controllo del traffico in ingresso con token bucket il rate di generazione dei.
 Network Address Traslation: tecnica che permette di trasformare gli indirizzi IP privati in indirizzi IP pubblici  Gli indirizzi devono essere univoci.
Ing. L. A. Grieco DEE – Telematics Lab. 1 Algoritmi e Protocolli di Routing – Telematica I – - I Facoltà di Ingegneria – CdL in Ingegneria Informatica.
II PROVA Svolgimento tramite protocollo ISO/OSI. I LIVELLO : LIVELLO FISICO Scelta del mezzo fisico; tenere conto degli standard IEEE Procedura di codifica.
Raccogliere informazioni ALCUNE DOMANDE FONDAMENTALI È stato modificato qualche componente HW o SW? Il sintomo si presenta regolarmente o ad intermittenza?
Ing. L. A. Grieco DEE – Telematics Lab. 1 Internet Protocol (IP) – Telematica I – - I Facoltà di Ingegneria – CdL in Ingegneria Informatica.
INTERNET MAP SCENARIO Primi anni ’90: Rapida crescita della rete Internet. Nuove applicazioni multimediali. Esigenza di applicazioni security – sensitive.
Slide #: 1/232 Internet - Architettura, principali protocolli e linee evolutive Nicola Blefari Melazzi Copyright © 2005 – The McGraw-Hill Companies srl.
Transcript della presentazione:

TCP/IP: cosa rischio se lo uso?

Importanza Obiettivo di oggi: Capire come funzionano alcuni protocolli di rete Vedremo Come lavorano i protocolli Come un attaccante può abusarne Come difendersi Non vedremo Contenuti marketing Come prepararsi per superare un esame

4-Applicazione 3-Trasporto 2-Rete 1-Interfaccia 1-Fisico Il modello OSI 7-Applicazione 6-Presentazione 5-Sessione 4-Trasporto 3-Rete 2-Data Link Http, ftp, telnet, ping,dns,dhcp TCP, UDP, IPSec IP, ICMP, IGMP ARP, RARP Il mondo reale Quattro livelli sono sufficientemente rappresentativi

Convenzioni usate nella presentazione A e B rappresentano host sulla rete I diagrammi con il formato dei protocolli hanno il seguente formato: elemento elemento

Protocolli del livello Interfaccia

ARP Indirizzi MAC sono di 48 bit. Indirizzi IP sono di 32 bit. Come codificare MAC in IP? ARP aiuta perché risolve IP in MAC Conversazione semplice a due-frame Domanda broadcast; risposta unicast Risposte salvate in cache per ridurre il numero di broadcast Cache implementa dei timeout perchè gli indirizzi possono cambiare (default 20 minuti) Address Resolution Protocol RFC 826

Formato di un messaggio ARP hardware typeprotocol type HA lengthPA lengthoperation sender MAC address (bytes 0-3) sender MAC address (bytes 4-5) sender IP address (bytes 0-1) sender IP address (bytes 2-3) target MAC address (bytes 0-1) target MAC address (bytes 2-5) target IP address (bytes 0-3) operation: 1 = Richiesta ARP 2 = Risposta ARP

Operazione ARP A B Chi ha IP ? 00:11:22:33:44:55:

Conversazione ARP Normal: B salva le informazioni ARP di A, pronte per la risposta Tutte le altre macchine sulla rete hanno info ARP di A 00:80:c8:f8:4a:51 ff:ff:ff:ff:ff:ff: arp who-has tell :80:c8:f8:5c:73 00:80:c8:f8:4a:51: arp reply is-at 00:80:c8:f8:5c:73 Gratuitous: reply inviato prima della richiesta Spesso indirizzato ad un router di upstream arp reply is-at 0:80:c8:f8:4a:51 (0:80:c8:f8:4a:51) Unsolicited: broadcast dellhost che ha un dato IP; normalmente allavvio Ottimo per trovare IP duplicati

Problemi di sicurezza di ARP ARP spoofing Le risposte ARP sono onorate e salvate (sia normal sia gratuitous) È possibile avvelenare (poison) una cache ARP con informazione false (spoofed) per forzare la ridirezione I proxy ARP (router) lo fanno legittimamente ARP flooding (trasformare uno switch in un hub) Riempire la memoria di uno switch con mappe false Lo switch invierà tutto il traffico a tutte le porte non potendo più determinare dovè lhost destinatario

Attacco M an I n T he M iddle ARP A B Chi ha IP ? è a 00:11:22:33:44:55: è a 99:88:77:66:55: è a 99:88:77:66:55:44

Difesa ARP Nessuna difesa precostruita nel protocollo Arpwatch: tool di controllo Deve essere fatto il mirror di tutto il traffico su una porta dello switch Uso di alcune funzioni degli switch Consentono solo un indirizzo MAC per porta Non è più possibile usare hub Confronta richieste e risposte con altre informazioni delle mappe 802.1x

Protocolli del livello rete

IP IP è un protocollo di rete molto scadente! Inaffidabile: consegna non garantita Invia messaggi ICMP alla sorgente se la consegna fallisce Non connesso: non viene mantenuto lo stato della connessione I datagram sono ruotati in modo indipendente uno dallaltro e non in ordine Al meglio: i pacchetti non sono eliminati in modo capriccioso Ha un solo lavoro: ruotare i datagram Si affida al livello di trasporto per le migliorie Gli host devono implementare ricerca e correzione di errore Internet Protocol RFC 791

Formato IP versiondatagram length Identification (ID)flagsfragment offset header checksum source IP address destination IP address options, se presenti (lunghezza variabile) header length type of service time to livenext protocol (riempimento)

Formato IP Version: 4 TOS: differenzia i codici dei servizi (non cè garanzia che siano rispettati) Datagram length, ID, flags e fragment offset: servono per la frammentazione (esaminati in seguito) TTL: numero massimo di salti (router) attraversabili (decrementato dai router); di solito 32 next protocol: TCP: 6 UDP: 17 ICMP, 1 IPsec AH, 51 IPsec ESP, 50 header checksum: (16-bit) serve solo per controllare che il pacchetto non si sia danneggiato durante il trasporto options: restrizioni, record route, record timestamp, source-routing

Routing IP Due tipi di nodi di rete Host Non passano i datagram tra le diverse interfacce Router Passano i datagram tra le diverse interfacce Gli host possono diventare router installando e configurando software appropriato (es: RRAS)

Operazioni del routing IP Rete /24 AB Datagram per È per il mio IP? Datagram per È per il mio IP? Guarda nelle tabelle di routing Decide come ruotare Decrementa il TTL

Algoritmo di routing di base Estrarre lindirizzo di destinazione D dal datagram Calcolare il prefisso di rete N IF N corrisponde ad una delle reti connesse direttamente Consegnare il messaggio al destinatario D sulla rete corretta ELSE IF la tabella di routing contiene una route specifica per D Spedire il datagram al successivo hop specificato nella tabella ELSE IF la tabella di routing contiene una route per N Spedire il datagram al successivo hop specificato nella tabella ELSE IF la tabella di routing contiene una default route Spedire il datagram al router specificato in tabella come default router ELSE dichiarare un errore di routing

Problemi di sicurezza di IP La maggior parte dovuti a spoofing di indirizzi Indirizzi non firmati e non criptati negli headers Sono indentificatori inaffidabili Spoofing utile per: Redirezione di connessioni (MITM) Source routing Attacchi denial-of-service (flooding) Attacchi che non necessitano di vedere la risposta (blind spoofing)

Checksum IP non è sicurezza Attaccante: Intercetta i datagram Falsifica (spoofing) lindirizzo Calcola il nuovo checksum É da intendersi solo per la determinazione di eventuali errori A calcola checksum e lo aggiunge allheader B calcola checksum e lo confronta con quello ricevuto Se non coincidono, B elimina il pacchetto (silente)

Source routing Chi spedisce il pacchetto può definire il percorso che lo stesso deve compiere attraverso la rete Il normale routing prevede che i router decidano il percorso il base allIP destinazione. Con source routing la sorgente" decide parte o tutto il percorso Strict source routing: percorso completamente definto dalla sorgente. Non usato in pratica Loose source record route (LSRR): la sorgente indica solo alcuni dei punti intermedi Source routing è usato per i seguenti scopi: Mappatura della rete: usato da tracert per trovare tutti i router di un percorsotra due punti della rete Troubleshooting: cercare di capire da un punto esterno (T) perchè i due end-node A e B non si parlano Performance: per forzare luso di un link alternativo e decongestionare i router principali Hacking: per esempio per raggiungere, da Internet, una macchina con indirizzo privato (es ) passando per una macchina che ha un indirizzo pubblico e uno privato della stessa rete

Source routing SA: DA: SR: via A B

Frammentazione IP Alcuni payload possono superare la dimensione della frame fisica (MTU) In questo caso IP frammenta i dati A destinazione IP ricompone i frammenti Operazione trasparente al livello trasporto Ogni frammento è un datagram separato Sono possibili route diverse per i frammenti Lordine di consegna non è garantito I frammenti possono essere persi In questo caso tutti i frammenti devono essere ritrasmessi (è IP, non TCP)

Formato IP Frammentazione versiondatagram length Identification (ID)flagsfragment offset header checksum source IP address destination IP address options, if any (lunghezza variabile) ID: unico per ogni datagram; copiato in ogni frammento flag1: un bit per more fragments; nullo per lultimo frammento flag2: un bit per dont fragment; se 1, IP scarta il datagram e crea errore ICMP offset: dallinizio del datagram originale (multipli di 8-byte) length: solo di questo frammento header length type of service time to livenext protocol (riempimento)

Esempio di frammentazione Pacchetto originale 1 bit troppo lungo per essere inviato Deve essere frammentato IP header (20 bytes) TCP/UPD hdr (20 bytes) payload (1473 bytes)

Esempio di frammentazione IP header (20 bytes) next hdr (20 bytes) payload (1473 bytes) IP header (20 bytes) next hdr (20 bytes) payload (1472 bytes) IP header (20 bytes) payload (1 byte) Non cè header TCP o UDP nei frammenti successivi al 1°! Molti firewall consentono il passaggio dei pacchetti frammentati… problemi di sicurezza!

Difese IP Possibile bloccare quasi ogni attacco al confine Si devono applicare cinque regole Bloccare traffico in ingresso se SA è interno Bloccare traffico in uscita se SA non è interno Bloccare tutto in/out dove SA o DA sono in range definito in RFC1918 (IP privati) o APIPA Bloccare tutti i datagram con campo source-routed Bloccare tutti i datagram frammentati

ICMP Servizio di consegna di messaggi di IP Riporta errori Chiede e risponde a domande Incapsulato in IP I messaggi potrebbero dover essere ruotati Considerato parte del livello network I messaggi di errore contengono sempre i primi 64 bit del datagram che provoca lerrore Aiuta a determinare quale protocollo causa lerrore Internet Control Message Protocol RFC 792

Formato ICMP typechecksum content (Lunghezza variabile; dipende da tipo e codice) type: tipo di messaggio code: tipo di sotto messaggio code

Messaggi ICMP TypeCodeDescriptionCodeDescriptionQueryError 00echo reply 3 destination unreachable 0network unreachable8source host isolated (obsolete) 1host unreachable9destination network administratively prohibited 2protocol unreachable10destination host administratively prohibited 3port unreachable11network unreachable for DiffServ 4fragmentation needed butdont- fragment bit is set 12host unreachable for DiffServ 5source route failed13communication administratively prohibited by filtering 6destination network unknown14host precedence violation 7destination host unknown15precedence cutoff in effect 40source quench 5 redirect 0for network2for DiffServ and network 1for host3for DiffServ and host 80echo request 90router advertisement 100router solicitation 11 time exceeded 0TTL = 0 during transit1TTL = 0 during reassembly 12 parameter problem 0IP header bad (catchall error)1required option missing 130timestamp request 140timestamp reply 150information request (obsolete) 160information reply (obsolete) 170address mask request 180address mask reply

ICMP echo typechecksum optional data (lunghezza variabile) type: 8 = request 0 = reply code: 0 identifier, sequence number: per far corrispondere risposte e richieste data: ritornati allo speditore code identifiersequence number

ICMP Attacchi di riconoscimento Port unreachable = porta chiusa Host unreachable = host non esiste

ICMP Attacchi di ridirezione Avviso agli host dellesistenza di route migliori Difficile da implementare Può provenire solo dal default gateway dellhost attaccato Deve essere parte di una connessione esistente Non usabile per modifiche non richieste alla tabella di routing La re-direzione generalmente non è usata Meglio bloccare questi pacchetti Utile solo se ci sono più gateway per Internet

ICMP Attacchi DoS Attacchi Ping Indirizzi sorgenti forgiati appositamente possono creare scompiglio quando arrivano i reply Attacchi Unreachable Si possono usare messaggi forgiati per provocare il reset delle connessioni esistenti Tutto quello che serve per generare questi messaggi è netstat

DDoS a costellazione Variante di smurf Wake up! Ping! Reply! X

Scan con ICMP Le risposte ICMP, conformi alle specifiche, a certe query aiutano gli attaccanti ad apprendere comè fatta la rete Fare riferimento ai lavori di Ofir Arkin

Difense di ICMP Limitare i tipi e i codici ICMP ammessi sulla rete Evitare quelli poco usati e con alternative migliori Re-direzione Messaggi solicitations e advertise dei router Timestamp Non consentire ai messaggi unreachable di uscire dai border router Lassenza di reply costituirà un problema (non per voi)

Protocolli del livello di trasporto

UDP Orientato ai datagram TCP è orientato agli stream (connessioni) Nessuna affidabilità nel trasporto Non cè garanzia di consegna Alcune applicazioni lavorano meglio se il controllo di errore è a livello applicativo User Datagram Protocol RFC 768

UDP format source port data (lunghezza variabile) checksum: calcolato sullintero pacchetto UDP packet (intestazione+dati) destination port lengthchecksum

UDP Responsabilità delle applicazioni Gestire ricerca e correzione di errore Capire la dimensione della sottostante MTU per evitare frammentazione dei pacchetti Correggere in caso di arrivo fuori ordine Tracciare lo stato della comunicazione tra pari

Problemi di sicurezza di UDP Lo streaming di media e il VoIP spesso usano porte dinamiche La mancanza di connessione rende difficile determinare i flussi

Attacco port loopback pingpong A B Spoof! da A :19/udp (chargen) a B :7/udp (echo)

Difese di UDP Usare proxy applicativi per incrementare la sicurezza Non esporre applicazioni non necessarie echo daytime chargen

TCP Orientato alla connessione, affidabile, servizio full-duplex di trasporto di stream Molte decisioni sono prese dal protocollo, non dalle applicazioni Dimensione dei segmenti = quantità di dati per pacchetto Conferma di ricezione dei pacchetti Ri-trasmissione di pacchetti non confermati Riordinamento dei pacchetti arrivati fuori ordine Controllo del flusso Transmission Control Protocol RFC 793

FormatoTCP source port seq/ack numbers: traccia lo stato della sessione; indica a quale byte siamo flags: urgent | acknowledge | push | reset | synchronize | finish window size: controllo di flusso checksum: calcolato sullintero pacchetto TCP (intestazione e dati) destination port sequence number acknowledgement number header length reserved flags window size checksum urgent pointer options (if any) (variable length) data (variable length)

Creazione di una connessione TCP three-way handshake A invia un pacchetto a B con: SYN impostato Porta di destinazione ISN (initial sequence number) di A AB B invia un pacchetto ad A con: SYN impostato ISN (initial sequence number) di B ACK con SYN di A + 1 A invia un pacchetto a B con: ACK con SYN di B +1

Chiusura di una connessione TCP four-way close A invia un pacchetto a B con: FIN impostato Sequence number successivo di A AB B invia un pacchetto ad A con: ACK con SYN di A +1 B invia un pacchetto ad A con: FIN impostato Sequence number successivo di B A invia un pacchetto a B con: ACK con SYN di B +1

Reset della connessione TCP B invia un pacchetto ad A con: RST impostato Sequence number successivo di B ACK con SYN di A +1 Immediato go away Nessun Ack AB

Problemi di sicurezza di TCP SYN flooding Consuma memoria con molte connessioni half-open (in Windows ~6KB per connessione, mantenuti per 4 minuti) Cambiare voce di registry tcpsynattackprotect Session hijacking Pacchetti source-routed Sniffing Numero di sequenza predicibile

Predizione del sequence number SYN ISN A AB E SYN ISN B ACK A SYN ISN E source= A SYN ISN B ACK E Cosa? RST Messaggi arbitrari ACK B (predetto!) source= A

Difese del TCP Migliore generazione dei sequence number Random Crittografia Modifiche allimplementazione Non allocare risorse fino alla completa apertura Regole di router per bloccare pacchetti spooffati Attacchi TCP si basano quasi sempre su spoofing

© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.