TCP/IP: cosa rischio se lo uso?. Importanza Obiettivo di oggi: Capire come funzionano alcuni...

54
TCP/IP: cosa rischio se lo uso?

Transcript of TCP/IP: cosa rischio se lo uso?. Importanza Obiettivo di oggi: Capire come funzionano alcuni...

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

TCP/IP: cosa rischio se lo uso?

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

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

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

4-Applicazione

3-Trasporto

2-Rete

1-Interfaccia1-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

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

Convenzioni usate nella presentazione

“A” e “B” rappresentano host sulla rete

I diagrammi con il formato dei protocolli hanno il seguente formato:

elemento elemento

0 8 16 24 31

elemento

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

Protocolli del livello Interfaccia

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

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

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

Formato di un messaggio ARP

hardware type protocol type

HA length PA length operation

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)

0 8 16 24 31

operation: 1 = Richiesta ARP 2 = Risposta ARP

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

Operazione ARP

1.1.1.1

1.1.1.2

A

BChi ha IP 1.1.1.2?

Chi ha IP

1.1.1.2?

Chi ha IP 1.1.1.2?00:11:22:33:44:55:66-1.1.1.2

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

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 192.168.99.254 tell 192.168.99.35

00:80:c8:f8:5c:73 00:80:c8:f8:4a:51: arp reply 192.168.99.254 is-at 00:80:c8:f8:5c:73

Gratuitous: reply inviato prima della richiesta

Spesso indirizzato ad un router di upstream

arp reply 192.168.99.35 is-at 0:80:c8:f8:4a:51 (0:80:c8:f8:4a:51)

Unsolicited: broadcast dell’host che ha un dato IP; normalmente all’avvio

Ottimo per trovare IP duplicati

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

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’è l’host destinatario

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

Attacco Man In The Middle ARP

1.1.1.1

1.1.1.2A

BChi ha IP

1.1.1.2?

1.1.1.2 è a 00:11:22:33:44:55:66

1.1.

1.2

è a

99:8

8:77

:66:

55:

441.1.1.1 è a

99:88:77:66:55:

44

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

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

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

Protocolli del livello rete

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

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 dall’altro 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

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

Formato IP

version datagram length

Identification (ID) flags fragment offset

header checksum

source IP address

destination IP address

options, se presenti (lunghezza variabile)

0 8 16 24 31headerlength type of service

time to live next protocol

(riempimento)

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

Formato IPVersion: 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

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

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)

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

Operazioni del routing IP

1.1.1.1 1.1.1.2 1.1.1.3 1.1.1.4 1.1.1.5

1.1.1.254

Rete1.1.1.0/24

A B

Datagram

per 1.1.1.5

È per il mio IP?

Datagram

per 9.8.7.6

È per il mio IP?

Guarda nelle tabelle di routing

Decide come ruotare

Decrementa il TTL

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

Algoritmo di routing di base

Estrarre l’indirizzo di destinazione D dal datagramCalcolare il prefisso di rete N

IF N corrisponde ad una delle reti connesse direttamenteConsegnare 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 NSpedire il datagram al successivo hop specificato nella tabella

ELSE IF la tabella di routing contiene una default routeSpedire il datagram al router specificato in tabella come default router

ELSE dichiarare un errore di routing

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

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”)

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

Checksum IP non è sicurezza

Attaccante:

Intercetta i datagram

Falsifica (spoofing) l’indirizzo

Calcola il nuovo checksum

É da intendersi solo per la determinazione di eventuali errori

A calcola checksum e lo aggiunge all’header

B calcola checksum e lo confronta con quello ricevuto

Se non coincidono, B elimina il pacchetto (silente)

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

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 all’IP 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 l’uso di un link alternativo e decongestionare i router principali

Hacking: per esempio per raggiungere, da Internet, una macchina con indirizzo privato (es. 10.1.1.1) passando per una macchina che ha un indirizzo pubblico e uno privato della stessa rete

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

Source routing

10.0.0.254

131.107.0.254

10.0.0.1

SA: <non è importante>DA: 10.0.0.1SR: via 131.107.0.254

AB

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

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

L’ordine di consegna non è garantito

I frammenti possono essere persi

In questo caso tutti i frammenti devono essere ritrasmessi (è IP, non TCP)

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

Formato IPFrammentazione

version datagram length

Identification (ID) flags fragment offset

header checksum

source IP address

destination IP address

options, if any (lunghezza variabile)

0 8 16 24 31

ID: unico per ogni datagram; copiato in ogni frammentoflag1: un bit per “more fragments”; nullo per l’ultimo frammentoflag2: un bit per “don’t fragment”; se 1, IP scarta il datagram e crea errore ICMPoffset: dall’inizio del datagram originale (multipli di 8-byte)length: solo di questo frammento

headerlength type of service

time to live next protocol

(riempimento)

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

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)

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

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!

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

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

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

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 l’errore

Aiuta a determinare quale protocollo causa l’errore

Internet Control Message Protocol RFC 792

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

Formato ICMP

type checksum

content (Lunghezza variabile; dipende da tipo e codice)

0 8 16 24 31

type: tipo di messaggiocode: tipo di sotto messaggio

code

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

Messaggi ICMPType Code Description Code Description Query Error

0 0 echo reply 3 destination unreachable

0 network unreachable 8 source host isolated (obsolete)1 host unreachable 9 destination network administratively prohibited2 protocol unreachable 10 destination host administratively prohibited3 port unreachable 11 network unreachable for DiffServ4 fragmentation needed but

don’t-fragment bit is set12 host unreachable for DiffServ

5 source route failed 13 communication administrativelyprohibited by filtering

6 destination network unknown 14 host precedence violation7 destination host unknown 15 precedence cutoff in effect

4 0 source quench 5 redirect

0 for network 2 for DiffServ and network1 for host 3 for DiffServ and host

8 0 echo request 9 0 router advertisement

10 0 router solicitation 11 time exceeded

0 TTL = 0 during transit 1 TTL = 0 during reassembly12 parameter problem

0 IP header bad (catchall error) 1 required option missing13 0 timestamp request 14 0 timestamp reply 15 0 information request (obsolete) 16 0 information reply (obsolete) 17 0 address mask request 18 0 address mask reply

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

ICMP echo

type checksum

optional data (lunghezza variabile)

0 8 16 24 31

type: 8 = request0 = reply

code: 0identifier, sequence number: per far corrispondere

risposte e richiestedata: ritornati allo speditore

code

identifier sequence number

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

ICMP Attacchi di riconoscimento

“Port unreachable” = porta chiusa

“Host unreachable” = host non esiste

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

ICMPAttacchi di ridirezione

Avviso agli host dell’esistenza di route migliori

Difficile da implementare

Può provenire solo dal default gateway dell’host 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

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

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

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

DDoS a costellazione Variante di “smurf”

Wake up!

Ping!

Reply!

X

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

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 Arkinhttp://www.sys-security.com/html/projects/icmp.html

http://www.sys-security.com/html/projects/X.html

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

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

L’assenza di reply costituirà un problema (non per voi)

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

Protocolli del livello di trasporto

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

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

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

UDP format

source port

data (lunghezza variabile)

0 8 16 24 31

checksum: calcolato sull’intero pacchetto UDP packet (intestazione+dati)

destination port

length checksum

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

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

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

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

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

Attacco port loopback “pingpong”

A B

Spoof!da A:19/udp (chargen)a B:7/udp (echo)

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

Difese di UDP

Usare proxy applicativi per incrementare la sicurezza

Non esporre applicazioni non necessarie

echo

daytime

chargen

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

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

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

FormatoTCP

source port

0 8 16 24 31

seq/ack numbers: traccia lo stato della sessione; indica a quale byte siamoflags: urgent | acknowledge | push | reset | synchronize | finishwindow size: controllo di flussochecksum: calcolato sull’intero pacchetto TCP (intestazione e dati)

destination port

sequence number

acknowledgement numberheaderlength reserved flags window size

checksum urgent pointer

options (if any) (variable length)

data (variable length)

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

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

A B

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

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

Chiusura di una connessione TCP “four-way close”

A invia un pacchetto a B con:• FIN impostato• Sequence number successivo di A

A B

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

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

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

A B

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

Problemi di sicurezza di TCP

SYN floodingConsuma memoria con molte connessioni half-open (in Windows ~6KB per connessione, mantenuti per 4 minuti)

Cambiare voce di registry tcpsynattackprotect

Session hijackingPacchetti source-routed

Sniffing

Numero di sequenza predicibile

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

Predizione del sequence number

SYNISN A

A B

E

SYNISN BACK A

SYNISN Esource=A

SYNISN BACK E

Cosa?

RST

Messaggiarbitrari

ACK B (predetto!)source=A

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

Difese del TCP

Migliore generazione dei sequence number

Random

Crittografia

Modifiche all’implementazione

Non allocare risorse fino alla completa apertura

Regole di router per bloccare pacchetti “spooffati”

Attacchi TCP si basano quasi sempre su spoofing

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

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