47
Pattern Recognition and Applications Lab Università di Cagliari, Italia Dipartimento di Ingegneria Elettrica ed Elettronica Protocolli della rete Internet & Attacchi Ing. Davide Ariu http://pralab.diee.unica.it Contenuti della lezione Networking Protocolli Internet: lo stack TCP/IP Link Layer & Indirizzamento Fisico. Livello Network: l’Internet Protocol Livello di Trasporto: i protocolli TCP e UDP DHCP DNS Attacchi: Network Sniffng & Scanning Spoofing Attacchi ai livelli Link, Network, e Trasporto. SMURF Attack Denial of Service Attacchi ai livelli Link, Network, e Trasporto

Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

  • Upload
    ledung

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

Pattern Recognition and Applications Lab

Università di Cagliari, Italia

Dipartimento di Ingegneria Elettrica

ed Elettronica

Protocolli della rete Internet & Attacchi

Ing. Davide Ariu

http://pralab.diee.unica.it

Contenuti della lezione

•  Networking •  Protocolli Internet: lo stack TCP/IP

•  Link Layer & Indirizzamento Fisico. •  Livello Network: l’Internet Protocol •  Livello di Trasporto: i protocolli TCP e UDP

•  DHCP •  DNS

•  Attacchi: •  Network Sniffng & Scanning •  Spoofing

•  Attacchi ai livelli Link, Network, e Trasporto. •  SMURF Attack •  Denial of Service

•  Attacchi ai livelli Link, Network, e Trasporto

Page 2: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Comunicazione fra Host: problemi fondamentali •  Le moderne applicazioni software sono spesso costruite per

funzionare all’interno di una architettura client-server. Gli esempi sono innumerevoli:

–  Applicazioni cloud –  Browser internet –  Posta Elettronica –  Applicazioni Mobili

•  Nella realizzazione della comunicazione fra i due terminali (Host), i problemi da risolvere sono i seguenti:

–  Definire le modalità di accesso ad un canale trasmissivo –  Definire le modalità di consegna del dato fra i due terminali –  Definire le modalità di consegna del dato fra le applicazioni che prendono parte

alla comunicazione (siano effettivamente un client e un server o 2 peers) –  Nel caso di scambio di contenuti testuali, definire una comune codifica

dell’informazione (e.g. ASCII, UNICODE, ISO-8859-X, MS-Windows-125X, etc.)

http://pralab.diee.unica.it

La pila ISO/OSI

•  Negli anni ‘70 venne prodotto un modello astratto utile a definire come il problema della comunicazione fra Host debba essere rappresentato: la pila ISO/OSI

•  Scopo principale del modello è quello di scomporre il problema della comunicazione in sotto-problemi isolati nei vari livelli della pila

Layer Protocol Data Unit Esempi

Applicazione

Data Presentazione

Sessione HTTP, HTTPS, FTP, SMTP, SSH, TELNET, RPC, PAP

Trasporto Segment TCP, UDP,

Network Packet IPv4, IPv6, IPSEC, ICMP

Data Link Frame IEEE 802.2, PPP

Fisico Bit DSL, Ethernet Phy, IEEE 802.11

Page 3: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Lo stack TCP/IP - 1

•  E’ una implementazione concreta del modello ISO/OSI •  E’ organizzato su 4 livelli, su cui vanno a mapparsi i 7 livelli del

modello ISO/OSI

ISO/OSI Layer Protocol Data Unit Esempi

Applicazione

Applicazione Data HTTP, HTTPS, FTP,

SMTP, SSH, TELNET, RPC, PAP

Presentazione

Sessione

Trasporto Trasporto Segment TCP, UDP,

Network Internet Packet IPv4

Data Link Link Frame IEEE 802.X

Fisico

http://pralab.diee.unica.it

Lo stack TCP/IP - 2

•  Link layer (detto anche Data-link Layer o Network Interface Layer):

–  Ha l’obiettivo di far diventare il canale fisico (e.g. un cavo di rame) un canale logico, ovvero un mezzo su cui i dispositivi possono affacciarsi per scambiare le informazioni

–  Include la gestione dell’HW e dell’interfaccia da parte del SO

•  Livello di rete (Network): –  Responsabile della gestione del traffico e della consegna dei dati

•  Livello di Trasporto: –  Consente di stabilire un flusso di dati fra due host, consentendone la consegna all’applicazione corretta

•  Livello dell’ Applicazione: –  Consente di gestire le specificità di ogni applicazione (e.g. codifica dei dati) –  Consente di gestire le sessioni

Applicazione

Trasporto

Network (Internet)

Link

Page 4: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Applicazione

Trasporto

Network

Ethernet

TCP

IP

HTTP CLIENT

Ethernet driver

TCP

IP

HTTP SERVER

Ethernet driver

TCP protocol

HTTP protocol

IP protocol

Ethernet protocol

Inca

psul

amen

to

Dei

ncap

sula

men

to

Link

Lo stack TCP/IP – 3 (incapsulamento)

http://pralab.diee.unica.it

Lo stack TCP/IP - 4 (incapsulamento)

•  In trasmissione, il dato generato dall’applicazione attraversa lo stack dall’alto verso il basso

–  Ciascuno dei livelli dello stack aggiunge al dato di partenza delle informazioni (header) necessarie al funzionamento del livello stesso

•  In ricezione, il dato ricevuto dall’Host destinazione attraversa lo stack dal basso verso l’alto

–  Il dato viene progressivamente “spogliato” delle informazioni aggiunte da ciascuno dei livelli dello stack, fino ad essere recapitato all’applicazione destinataria del dato stesso

Mail Applicazione Internet Link Trasporto

Mail Applicazione Internet Link Trasporto

Page 5: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Indirizzamento: logico vs. fisico

•  Lo stack TCP/IP prevede due differenti livelli di indirizzamento: –  Indirizzamento Fisico – Link Layer –  Indirizzamento Logico – Internet Layer

•  Link-layer Address: –  Utilizzato per indirizzare il traffico all’interno di una stessa rete –  MAC Address, 48 bit (hard-coded)

•  Internet-layer Address: –  Utilizzato per indirizzare il traffico fra reti distinte (non per forza

geograficamente lontane) –  IP Adddress, 32 bit (IPv4), configurato (in maniera statica o dinamica) sul sistema

operativo del dispositivo •  IPv6 (128 bit), offre uno spazio di indirizzamento di dimensioni >> rispetto a IPv4

e dunque una potenziale associazione uno-a-uno fra indirizzo IP e dispositivo

http://pralab.diee.unica.it

•  48-bit vengono utilizzati per l’indirizzamento: –  I primi 24 bit identificano il produttore –  I secondi 24 identificano il dispositivo

•  MTU (Maximum Transmission Unit): 1500 bytes

Link Layer – Indirizzamento Hardware

0800 IP Datagram 0806 ARP request/reply 8035 RARP request/reply

dest (48-bits)

src (48-bits)

type (16-bits)

data (46-1500B)

CRC (32-bits)

Page 6: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

•  Wireshark (W/U) –  Cattura del traffico di rete

•  ipconfig / ifconfig (W/U) –  Mostra configurazione interfaccia –  Mostra MAC address dell’interfaccia –  Consente di modificare il MAC Address dell’interfaccia

sudo ifconfig en0 ether 01:23:45:67:89:ab

•  iwconfig (Unix only) –  Configura un interfaccia wireless

Link Layer - Strumenti

6 coppie da 8 bit ciascuna

http://pralab.diee.unica.it

Perché è necessario l’indirizzamento logico?

•  Il Link layer fornisce un meccanismo di indirizzamento dei dispositivi (MAC Address), che identifica ciascun dispositivo in maniera univoca

•  Questo indirizzo mi è sufficiente per recapitare il traffico da una macchina sorgente ad una macchina destinazione da una parte all’altra del pianeta?

–  Se mi limitassi a guardare all’univocità dell’indirizzo potrei pensare di si ma… –  …sarebbe un meccanismo molto poco flessibile:

•  Ogni host dovrebbe comunicare a tutta la rete ogni spostamento (anche piccolo, es. casa-lavoro) per poter essere sempre raggiungibile

•  Bisognerebbe informare tutta la rete ogni qual volta un dispositivo viene sostituito da un altro (es. un vecchio server viene sostituito da uno nuovo)

•  Per ottenere la giusta flessibilità è necessario un meccanismo di indirizzamento “logico” che sia separato dall’indirizzamento fisico

Page 7: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Livello di rete (Network o Internet)

•  Il livello 3 offre le funzionalità di indirizzamento logico dei dispositivi connessi alla rete

–  Consente di slegare il “ruolo*” che uno o più Host ricoprono all’interno della rete dal suo indirizzo fisico

•  *solitamente a ruoli “logici” differenti vengono assegnati IP appartenenti a range diversi

•  Nello stack TCP/IP il protocollo che opera a livello 3 è il protocollo IP (Internet Protocol)

•  E’ il protocollo su cui poggia l’intera rete INTERNET •  Definito nella RFC 791 (IPv4) •  Coadiuvato dai protocolli ARP, RARP, ICMP

•  Il protocollo IP: •  È un protocollo connectionless •  Unreliable best-effort datagram:

•  Consegna (delivery), integrità, ordinamento, non-duplication NON SONO GARANTITE

•  Soggetto a dropping, tampering, replaying, spoofing

http://pralab.diee.unica.it

32-bit source IP address

32-bit destination IP address

16-bit

Header Checksum

8-bit protocol

8-bit TTL

options (if any)

data (if any)

16-bit identification

13-bit fragment offset

3-bit flags

4-bit Header len.

16-bit total length (in bytes)

8-bit Type of Service

4-bit version

20 bytes

Internet Protocol (v4) - Header

Page 8: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Internet Protocol (v4) – Riepilogo Header - 1

•  Version (4 bits) –  Valore corrente = 4 (IPv4)

•  Header Length (4 bits) –  Numero di “words” da 32 bit nell’header, incluse le opzioni

•  Type (8 bits) –  Priority (3 bits), QoS (4 bits), Unused (1 bit)

•  Total Length (16 bits) –  Lunghezza totale, header + dati

•  Identification (16 bits) –  +1 incrementer

•  Flags (3 bits) & Offsets (13 bits) –  Utilizzati per gestire la frammentazione dei dati

http://pralab.diee.unica.it

•  Time To Live (8 bits) –  Indica il numero massimo di host che un pacchetto può attraversare prima di

giungere a destinazione

•  Protocol (8 bits) –  Specifica il tipo di protocollo incapsulato nel datagram (TCP, UDP)

•  Header checksum (16 bits) –  Calcolato su tutto l’ Header IP

•  Addresses (32 + 32 bits) –  Specificano sorgente e destinazione

Internet Protocol (v4) – Riepilogo Header - 2

Page 9: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

•  I 32-bit di indirizzo sono divisi in 4 byte: •  E.g. 151.56.79.237 (notazione decimale puntata)

•  Indirizzi Pubblici vs. Privati •  Pubblici - Raggiungibili tramite rete Internet (univoci) •  Privati – Raggiungibili solo all’interno di una rete privata

32-bit source IP address

32-bit destination IP address

16-bit

Header Checksum

8-bit protocol

8-bit TTL

16-bit identification

13-bit fragment offset

3-bit flags

4-bit Header len.

16-bit total length (in bytes)

8-bit Type of Service

4-bit version

20 bytes

Internet Protocol (v4) – IP address

Range Indirizzi Privati

Da A

Class A range 10.0.0.0 10.255.255.255

Class B range 172.16.0.0 172.31.255.255

Class C range 192.168.0.0 192.168.255.255

http://pralab.diee.unica.it

32-bit source IP address

32-bit destination IP address

16-bit

Header Checksum

8-bit protocol

8-bit TTL

16-bit identification

13-bit fragment offset

3-bit flags

4-bit Header len.

16-bit total length (in bytes)

8-bit Type of Service

4-bit version

20 bytes

Internet Protocol (v4) – Protocol Version

•  Versione Protocollo IP •  Contiene il valore 4

Page 10: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

•  Limita il tempo di vita dei pacchetti, stabilendo quale è il numero massimo di hop (router) che un pacchetto può attraversare:

•  Viene solitamente inizializzato (dal mittente) ai valori 32 o 64 •  Viene decrementato di 1 ad ogni hop attraversato •  Il pacchetto viene scartato quando il TTL raggiunge il valore 0

32-bit source IP address

32-bit destination IP address

16-bit

Header Checksum

8-bit protocol

8-bit TTL

16-bit identification

13-bit fragment offset

3-bit flags

4-bit Header len.

16-bit total length (in bytes)

8-bit Type of Service

4-bit version

20 bytes

Internet Protocol (v4) – Time To Live

http://pralab.diee.unica.it

32-bit source IP address

32-bit destination IP address

16-bit

Header Checksum

8-bit protocol

8-bit TTL

16-bit identification

13-bit fragment offset

3-bit flags

4-bit Header len.

16-bit total length (in bytes)

8-bit Type of Service

4-bit version

20 bytes

Internet Protocol (v4) – Protocol

•  Specifica quale è il protocollo che ha “generato” il pacchetto IP

•  E.g. TCP (0x06), UDP (0x11), , ICMP (0x01)

•  Lista completa numeri di protocollo: •  http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml

Page 11: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

•  Le reti Ethernet hanno una MTU (Maximum Transfer Unit) di 1500B •  Se un pacchetto IP eccede questa dimensione deve essere “frammentato”

•  I 3 bit di flag consentono di segnalare: •  Se il pacchetto può essere frammentato o meno •  Se esistono ulteriori frammenti oltre al corrente

•  L’offset (espresso in byte) consente di ri-assemblare il pacchetto a destinazione

32-bit source IP address

32-bit destination IP address

16-bit

Header Checksum

8-bit protocol

8-bit TTL

16-bit identification

13-bit fragment offset

3-bit flags

4-bit Header len.

16-bit total length (in bytes)

8-bit Type of Service

4-bit version

20 bytes

Internet Protocol (v4) - Fragmentation

http://pralab.diee.unica.it

IP Fragmentation – Un esempio

•  Esempio –  4000 byte datagram (3980 byte dati) –  MTU = 1500 byte

Length = 4000 Fragflag = 0 Offset = 0

Length = 1500 Fragflag = 1 Offset = 0 Length = 1500 Fragflag = 1 Offset = 185 Length = 1040 Fragflag = 0 Offset = 370 1480 byte dati

Offset = 2960/8 Header Data

Header Data

Header Data

Data

Page 12: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

IP Fragmentation Attacks – Evasion

•  Sfrutta il meccanismo dell’IP fragmentation per suddividere un pacchetto di attacco in 2 o più pacchetti consecutivi

–  Il datagram originario viene “smontato” in una sequenza di pacchetti consecutivi –  Ciascuno di questi pacchetti contiene

•  Una parte dell’attacco •  Dei dati random

–  I singoli pacchetti di per se non sono “pericolosi” né vengono riconosciuti come tali dai dispositivi di filtraggio (e.g. firewall o network intrusion detection system) che non effettuano la ricostruzione del pacchetto IP

•  I dispositivi che operano in full-proxy mode non sono suscettibili a questo tipo di attacco

Attack

A…

t… t…

a… c…

k…

A…

t…

t…

a…

c…

k…

http://pralab.diee.unica.it

IP Fragmentation Attacks – Overlapping fragments

Length = 4000 Fragflag = 0 Offset = 0 Length = 1500 Fragflag = 1 Offset = 0 Length = 1500 Fragflag = 1 Offset = 185 Length = 1040 Fragflag = 0 Offset = 370

Page 13: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

IP Fragmentation Attacks – Overlapping fragments

Length = 4000 Fragflag = 0 Offset = 0 Length = 1500 Fragflag = 1 Offset = 0 Length = 1500 Fragflag = 1 Offset = 100 Length = 1040 Fragflag = 0 Offset = 200

Header Attack Data Random Data

Header Attack Data Random Data

Header Attack Data Random Data

Attack

http://pralab.diee.unica.it

Internet Protocol (v4) - Indirizzamento

•  L’indirizzo IP (32 bit, rappresentati in notazione decimale puntata) contiene in realtà 2 differenti informazioni:

–  Indirizzo della rete, individuato dai primi N bit –  Indirizzo dell’Host, individuato dai restanti 32-N bit, che individuano una

specifica macchina all’interno della rete

•  La subnet mask consente di individuare gli N bit che costituiscono l’indirizzo di rete

–  Anche la subnet-mask viene espressa usando la notazione decimale puntata –  Es. 11111111 11111111 10000000 00000000 = 255.255.128.0

•  In alternativa si può usare la notazione /N (/17 nell’esempio) –  I bit che indirizzano la rete e l’host devono essere sempre contigui –  E.g. 11111111 11111111 10101010 00000000 = 255.255.170.0

Non rappresenta una subnet valida

Page 14: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

•  Esempio

•  IP: 192.168.1.100 •  Subnet Mask: 255.255.255.0 (/24) •  Indirizzo Rete: 192.168.1.0 •  Indirizzo Host: .100 •  Indirizzo Broadcast: 192.168.1.255

192 168

1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0

255 255

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 100 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0

255

0

1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0

Network Host

Internet Protocol (v4) - Indirizzamento

http://pralab.diee.unica.it

Internet Protocol (v4) - Indirizzamento

•  Non tutti gli indirizzi IP sono raggiungibili su Internet –  Solo gli indirizzi “Pubblici” sono raggiungibili su Internet (in gergo, vengono

talvolta definiti come indirizzi “routabili”) –  Gli indirizzi che non sono raggiungibili su Internet vengono detti privati

•  Gli indirizzi IP possono assumere valori da 0.0.0.0 a 255.255.255.255

Class Bit iniziali

Bit rete Bit Host Indirizzo Iniziale

Indirizzo finale

A 0 8 24 0.0.0.0 127.255.255.255

B 10 16 16 128.0.0.0 191.255.255.255

C 110 24 8 192.0.0.0 223.255.255.255

D (multicast) 1110 Non definito Non definito 224.0.0.0 239.255.255.255

E (riservata) 1111 Non definito Non definito 240.0.0.0 255.255.255.255

10.0.0.0 10.255.255.255 /8

172.16.0.0 172.31.255.255 /12

192.168.0.0 192.168.255.255 /16

Page 15: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

•  Come realizzo una comunicazione fra macchine connesse all’interno di una rete locale?

•  Ho due macchine (Host A e Host B), collegate fra loro tramite uno Switch Ethernet (rete locale). Le due macchine devono poter comunicare.

•  La scheda di rete di ciascuna delle due macchine avrà il suo MAC Address a 48 bit

•  Ciascuna macchina conosce ovviamente il proprio MAC Address ma non conosce quello dell’altra macchina

•  Ciascuna macchina ha un suo indirizzo IP •  Host A – 192.168.1.1 •  Host B – 192.168.1.2

•  Gli Switch sono dispositivi Layer 2 che non sono in grado di gestire l’informazione sull’indirizzo IP

•  Per poter realizzare la comunicazione: –  L’ IP datagram deve venire incapsulato in un frame Ethernet –  Devo disporre di un meccanismo che mi consenta di gestire la

corrispondenza fra indirizzi IP e MAC address.

Iniziamo a unire i pezzi…

Frame Header Frame Data IP Header IP Data

http://pralab.diee.unica.it

•  Il protocollo ARP (0x0806) viene utilizzato per ottenere il MAC address a partire dall’indirizzo IP –  L’Host A (IP 192.168.1.1) vuole comunicare con l’ Host B (IP

192.168.1.2) –  A effettua una richiesta ARP (Ethernet broadcast) di questo tipo:

arp who-has 192.168.1.2 tell 192.168.1.1 –  Gli indirizzi IP possono essere sostituiti dagli hostname –  Il sistema operativo mantiene una cache contenente dei MAC address

noti (può essere visualizzata/modificata con il comando arp) –  Digitare sul terminale arp -a

–  Il protocollo RARP (0x0835) è il protocollo antagonista al protocollo ARP (ottiene l’indirizzo IP dal MAC address)

Il protocollo ARP (Address Resolution Protocol)

Page 16: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

•  Se Host A vuole trasmettere dei dati a Host B, conoscendone ovviamente l’indirizzo IP (e nell’ipotesi che tutte le cache ARP siano vuote):

•  Host A invia in broadcast una richiesta per 192.168.1.2 (Host B) •  Broadcast a livello Link, perché non conosco il MAC address di Host B

–  Who has 192.168.1.2 tell 192.168.1.1 –  MAC-A viene inserito nella ARP cache di Host-B

•  Host-B invia una risposta ARP a Host-A •  The MAC address of 192.168.1.2 is ab:cd:ef:12:34:56 •  MAC-B viene inserito nella ARP cache di Host-A

•  A invia un IP datagram a Host-B •  Usando il MAC Address appena ottenuto •  E l’IP 192.168.1.1

Quindi…

http://pralab.diee.unica.it

Invio di un pacchetto IP

Page 17: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Invio di un pacchetto IP

http://pralab.diee.unica.it

Invio di un pacchetto IP

Page 18: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Invio di un pacchetto IP

http://pralab.diee.unica.it

Invio di un pacchetto IP

Page 19: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Precisazione su Invio di un pacchetto IP

•  Quanto visto finora circa l’invio di dati da una macchina A ad una macchina B vale soltanto nel caso di macchine che si trovano sulla stessa rete

–  L’indirizzo di rete deve essere il medesimo per le due macchine –  Se le macchine si trovano sulla stessa rete, la consegna del traffico da una

macchina all’altra avviene di fatto solamente utilizzando le informazioni di livello 2 (MAC Address)

–  Le informazioni di livello 3 (indirizzo IP) vengono principalmente utilizzate dall’utente (o dagli applicativi) che non possono conoscere direttamente i MAC Address delle macchine

•  Il protocollo ARP si occupa di tradurre le informazioni sull’indirizzo IP in informazioni sul MAC Address

•  Se le macchine si trovano su reti differenti ho bisogno di un dispositivo Layer 3 (Router o Switch Layer 3)

http://pralab.diee.unica.it

Invio di un pacchetto IP

•  Esempio 1 –  Host A

•  IP Address: 192.167.1.16 •  Subnet Mask: 255.255.255.0 •  Gateway: 192.167.1.1

–  Host B •  IP Address: 192.167.1.77 •  Subnet Mask: 255.255.255.0

•  Host A e Host B si trovano sulla stessa rete? Host A può raggiungere Host B tramite direct delivery?

–  Host A ottiene l’indirizzo di rete di Host B e lo confronta con il proprio •  Fa l’AND della propria Subnet Mask con l’IP di Host B

–  Sia Host A che Host B si trovano sulla rete 192.167.1.0, quindi possono raggiungersi tramite direct delivery

Page 20: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Invio di un pacchetto IP

•  Esempio 2 –  Host A

•  IP Address: 212.167.1.16 •  Subnet Mask: 255.252.0.0

–  Host B •  IP Address: 212.164.128.61 •  Subnet Mask: 255.252.0.0

•  Host A e Host B si trovano sulla stessa rete? Host A può raggiungere Host B tramite direct delivery?

–  Host A ottiene l’indirizzo di rete di Host B e lo confronta con il proprio •  Fa l’AND della propria Subnet Mask con l’IP di Host B

–  Sia Host A che Host B si trovano sulla rete 212.164.0.0, quindi possono raggiungersi tramite direct delivery

http://pralab.diee.unica.it

•  Lo SWITCH opera a livello 2 dello stack ISO OSI •  Prende le decisioni utilizzando il MAC Address •  Si basa su una MAC address table nella quale ad ogni porta dello switch è associata

una lista di tutti i MAC Address raggiungibili attraverso quella porta •  In condizioni normali il traffico viene inoltrato solamente sulla porta su cui è attestato

il MAC Address di destinazione

•  Il ROUTER opera a livello 3 dello stack ISO OSI •  Prende le decisioni utilizzando l’Indirizzo IP •  Si occupa di instradare il traffico fra reti differenti •  Con il comando traceroute è possibile vedere quali router vengono “attraversati” nel

percorso tra 2 host

Dispositivi di Rete

Porta 1 Porta 2 Porta 3

aa:aa:aa:bb:bb:bb 11:22:33:44:55:66 11:aa:22:bb:33:cc

cc:cc:cc:dd:dd:dd 44:dd:55:ee:66:aa

77:bb:88:cc:99:00

Page 21: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Attacchi contro gli Switch

•  MAC Address Flooding –  C’è un limite al numero di MAC Address che possono essere memorizzati nella

MAC Address di uno switch –  Su uno Switch di medie caratteristiche questo numero è nell’ordine dei 5-6000

MAC Address –  Una volta raggiunto questo limite, lo Switch non potendo memorizzare ulteriori

MAC address inizia a inviare tutto il traffico su tutte le porte per garantire che comunque l’Host destinatario della comunicazione sia raggiunto dal traffico

•  Di fatto, il comportamento dello Switch “degenera” e lo Switch si comporta come i vecchi Hub (che erano dei semplici ripetitori di segnale senza alcuna intelligenza)

–  Posso indurre questo comportamento facendo pervenire allo Switch traffico da MAC address spoofati

•  Contromisure –  Disattivo la modalità di learning sulle porte una volta che la rete è a regime –  Spengo le porte non utilizzate

•  https://www.youtube.com/watch?v=jxNRxB9yN9k

http://pralab.diee.unica.it

Spoofing

•  To spoof Imitare •  Vanno sotto il nome di spoofing tutti quegli attacchi in cui

l’attaccante fornisce un’identità diversa da quella reale, impersonando di fatto un altro utente (o dispositivo)

–  IP Address spoofing •  Può essere utilizzato per avere accesso ad un sistema

–  MAC Address Spoofing •  Man in the middle attacks

–  DNS Spoofing •  Consente di dirottare il traffico

–  Spoofing Biometrie •  Può essere utilizzato per avere accesso ad un sistema

Page 22: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

MAC Address Spoofing/ARP Poisoning

http://pralab.diee.unica.it

Man in the middle

Page 23: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

ICMP – Internet Control Message Protocol

•  E’ il protocollo utilizzato per scambiare messaggi di controllo/errore in relazione alla consegna dei datagram IP

•  I messaggi ICMP vengono incapsulati all’interno dei datagram IP

•  I messaggi ICMP possono essere di 3 tipi: –  Richieste (Requests) –  Risposte (Replies) –  Messaggi di Errore

http://pralab.diee.unica.it

•  Vengono trasmessi all’interno di datagram IP

Messaggi ICMP

IP Header ICMP Message

IP Datagram

8-bit type 8-bit code 16-bit checksum

(contents depend on type and code)

Page 24: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Messaggi ICMP

type code Description Query Error

0 0 Echo reply (ping reply) *

3 Destination unreachable *

0 Network unreachable *

1 Host unreachable *

3 Port unreachable *

… …

8 0 Echo request *

… …

•  La lista completa dei messaggi ICMP è disponibile: –  http://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml –  Capitolo 6 del libro “TCP/IP Illustrated” Vol. 1 – W. Richard Stevens

http://pralab.diee.unica.it

Messaggi Destination Unreachable

•  Sono i messaggi che il gateway (il router) invia in risposta ad una echo requests qualora la destinazione del ping non sia raggiungibile

–  Sono messaggi di tipo 3 (codici 0-15)

•  Alcuni esempi: –  0 – Network Unreachable –  1 – Host Unreachable –  2 – Protocol Unreachable –  3 – Port Unreachable –  4 – Fragmentation needed but don’t fragment bit set –  6 – Destination network unknown –  ...

•  La lista completa dei messaggi ICMP è disponibile: –  http://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml –  Capitolo 6 del libro “TCP/IP Illustrated” Vol. 1 – W. Richard Stevens

Page 25: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Spoofing dei messaggi Destination Unreachable •  Questo tipo di attacco consente di tagliare fuori dalla rete il/gli

host vittima dell’attacco –  Sono di conseguenza degli attacchi Denial of Service

•  Se l’Host A riceve un messaggio “Destination Unreachable” mentre sta inviando dei dati all’Host B taglia immediatamente la connessione

–  All’applicazione viene restituito un messaggio di errore

•  L’attacco può essere portato saturando la rete di messaggi Destination Unreachable relativamente all’Host B (vittima), così che nessuna macchina possa iniziare una connessione verso l’Host B.

http://pralab.diee.unica.it

Attacchi “ICMP Echo”

•  Il protocollo ICMP può evidentemente essere utilizzato per acquisire informazioni sulla rete:

–  I datagram ICMP echo vengono inviati a tutti gli host sulla rete –  L’Attaccante può collezionare le risposte degli host determinando in questo

modo quali sono attivi e quali no –  Questa attività è una attività di raccolta delle informazioni (“information

gathering”) che è funzionale alla preparazione dell’attacco, dato che consente di individuare tutti i possibili obiettivi all’interno della rete

•  Una volta che ho determinato quali sono tutte le macchine attive, posso passare ad una fase di studio delle singole macchine, per determinarne caratteristiche e vulnerabilità

Page 26: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Traceroute

•  Traceroute è un utility che consente di determinare il percorso verso una certa destinazione (sia esso un singolo Host o un intera rete) sollecitando l’invio da parte dei router di messaggi ICMP Time Exceeded

•  Traceroute: –  Invia una serie di datagram IP verso la destinazione –  Sui datagram viene impostato un basso valore del TTL –  Si parte dal valore 1, che viene progressivamente incrementato –  Ogni qual volta il pacchetto viene scartato dal router (Hop) intermedio, la

sorgente riceve indietro un messaggio ICMP time exceeded

•  E’ uno strumento utile per il mapping della rete –  Utile per acquisire informazioni sulla rete, sia in preparazione di un attacco che

con finalità di amministrazione

http://pralab.diee.unica.it

SMURF Attack

•  Basato sullo spoofing dell’indirizzo IP della vittima: –  L’attaccante effettua il ping verso l’indirizzo di broadcast della rete, utilizzando

come indirizzo sorgente del ping l’indirizzo IP della macchina vittima –  Dal momento che il ping è diretto verso l’indirizzo di broadcast della rete, tutte

le macchine presenti e attive sulla rete risponderanno al ping con delle echo replies •  Le echo replies saranno indirizzate verso l’indirizzo IP della macchina vittima,

che l’attaccante ha inserito come sorgente del ping •  La macchina vittima riceverà una ingente mole di traffico, tanto più grande

quanto maggiore è la dimensione della rete sulla quale ho effettuato il ping –  L’attacco produce come conseguenze un Denial of Service, dato che è finalizzato

a saturare la banda e le risorse HW della macchina vittima. –  E.g.

•  Rete: 192.168.1.0/24 – 

•  IP Vittima: 192.168.1.1 •  L’attaccante invia delle echo requests verso 192.168.1.255 utilizzando come

indirizzo sorgente 192.168.1.1 •  Le echo requests vengono generate manualmente i pacchetti con l’indirizzo IP

spoofato

Page 27: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Denial of Service

•  Ricadono in questa categoria tutti gli attacchi il cui scopo è: –  Interrompere un servizio –  Impedire l’accesso ad una risorsa –  E.g. accesso ad un server web, utilizzo di una rete

•  L’attacco viene portato sovraccaricando l’obiettivo di un attacco in modo da consumarne tutte le risorse:

–  Banda •  E.g. Flooding Attacks

–  Memoria & CPU •  E.g. SYN Flooding Attack

•  DDOS – Distributed Denial of Service –  L’attacco viene portato utilizzando molte macchine contemporaneamente

http://pralab.diee.unica.it

DDos - Distributed Denial of Service

Page 28: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

2 Gennaio 2016 – BBC DDos

http://pralab.diee.unica.it

DDOS – Conseguenze…

Page 29: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Reconneissance Attacks

•  Non costituiscono degli attacchi veri e propri (nel senso che non producono direttamente danni)

•  Consentono però di acquisire informazioni sulla vittima (una macchina, una rete, un’organizzazione) che sarà poi vittima dell’attacco

–  E’ dunque un attività di studio della vittima propedeutica alla realizzazione dell’attacco vero e proprio.

–  Consente di acquisire le informazioni necessarie alla costruzione dell’attacco

•  Si sfruttano di solito sorgenti di informazioni aperte (OSINT – Open Source Intelligence)

–  Internet queries –  DNS queries –  Ping sweeps –  Port sweeps

•  Lo stesso tipo di attività viene svolta quando, con finalità preventive, si effettua una verifica delle vulnerabilità del sistema

http://pralab.diee.unica.it

Protocolli di Trasporto: TCP & UDP

•  I protocolli di livello trasporto si occupano di recapitare i dati alle applicazioni

–  Ad ogni applicazione è associata una porta

•  I due protocolli di trasporto utlizzati nello stack TCP/IP sono TCP e UDP

TCP • Connection Oriented • Affidabile • Applicazioni in cui quali è importante l’AFFIDABILITA’ nella consegna dei dati (es. SMTP, POP, HTTP)

UDP • Connectionless • Best effort • Applicazioni in cui è fondamentale l’EFFICIENZA nella consegna dei dati (es. DNS, Skype, Streaming)

Page 30: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Port Number Range Port Group

Da 0 a 1023 Well Known (Contact) Ports

Da 1023 a 49151 Registered Ports

Da 49152 a 65535 Private and/or Dynamic Ports

• La coppia Porta-Indirizzo IP prende il nome di “Socket”

Port Addressing

http://pralab.diee.unica.it

•  La coppia Porta-Indirizzo IP prende il nome di “Socket” •  Una connessione TCP fra due Host A e B è completamente

identificata dalla “Socket Pair”, ovvero dalla quadrupla:

•  Con il comando netstat è possibile visualizzare un elenco delle connessioni attive

–  netstat –a –p tcp –  netstat –a | grep ESTABLISHED

Socket Pair Indirizzo IP Host A Indirizzo IP Host B

Porta Host A Porta Host B

Port Addressing

Page 31: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

•  L’Header TCP è di 20 byte totali

16-bit source port number

32-bit sequence number

32-bit acknowledgement number

16-bit dest. port number

16-bit window size

16-bit urgent pointer

16-bit TCP checksum

options (if any)

data (if any)

4-bit header lenght reserved (6 bits)

Flags (6 bits) URG, ACK, PSH, PST, SYN, FIN

TCP - Header

http://pralab.diee.unica.it

•  L’Header TCP è di 8 byte totali

16-bit source port number

16-bit dest. port number

16-bit UDP Checksum

16-bit UDP Lenght

data (if any)

UDP - Header

Page 32: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

TCP Segmentation & Reassembly

•  E’ possibile che un applicazione debba inviare/ricevere grossi volumi di dati (MB/GB)

•  Non sarebbe pratico inviare tutti questi dati attraverso un unico invio

•  Necessità di ritrasmettere tutto in caso di errore •  Occupazione del canale per lungo periodo •  Necessità di avere in ricezione buffer di dimensioni elevate

•  Il protocollo TCP si occupa di dividere i dati da inviare segmenti che verranno inviati separatamente e ri-assemblati a destinazione.

http://pralab.diee.unica.it

•  I segmenti vengono inviati separatamente sul canale •  Il protocollo di trasporto TCP si occupa di:

–  Riordinarli utilizzando il sequence number –  Garantire l’affidabilità della comunicazione attraverso il meccanismo di

acknowledgment

–  Gestire l’invio dei dati tenendo conto delle capacità della rete e delle macchine coinvolte nella comunicazione

TCP Segmentation & Reassembly

Page 33: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

TCP Connection Establishment Three-way Handshake

http://pralab.diee.unica.it

TCP Connection Termination

Page 34: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

TCP - Problemi

•  Abbiamo visto che il primo passo verso la realizzazione di una connessione TCP è l’invio da parte dell’Host che inizia la connessione di un pacchetto con TCP SYN flag impostato a 1

•  In seguito a questo sono necessari altri due passaggi (SYN + ACK da parte del ricevente e ulteriore acknowledgment da parte dell’Host che ha iniziato la connessione)

•  Tuttavia, già al termine del primo passaggio, l’Host ricevente ha creato un processo per gestire la richiesta, allocando a questo le necessarie risorse (memoria + CPU)

–  Posso dunque esaurire le risorse del server semplicemente inviando in breve tempo numerose richieste di avvio di una connessione TCP (TCP SYN Flooding)

–  Attacco tipico contro un webserver –  Il server può difendersi chiudendo arbitrariamente le connessioni che non si

finalizzano entro un determinato intervallo di tempo •  Può determinare difficoltà di collegamento qualora la rete fosse congestionata

http://pralab.diee.unica.it

•  Normalmente, una connessione TCP si chiude con i due endpoints che si scambiano un flag “FIN” –  Al quale fa comunque seguito un ACK

•  E’ però possibile che un endpoint decida di chiudere “arbitrariamente” inviando un pacchetto in cui mette a 1 il bit RST (es. il processo va in crash) –  Unilaterale –  Effetto immediato (no acknowledgment) –  Possibile solo se il peer conosce l’esatto sequence number

TCP - Problemi

Page 35: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

16-bit source port number

32-bit sequence number

32-bit acknowledgement number

16-bit dest. port number

16-bit window size

16-bit urgent pointer

16-bit TCP checksum

options (if any)

data (if any)

4-bit header lenght reserved (6 bits)

FLAGS (RST)

TCP - Problemi

http://pralab.diee.unica.it

•  Normalmente, una connessione TCP si chiude con i due endpoints che si scambiano un flag “FIN” –  Al quale fa comunque seguito un ACK

•  E’ però possibile che un endpoint decida di chiudere “arbitrariamente” inviando un pacchetto in cui mette a 1 il bit RST (es. il processo va in crash) –  Unilaterale –  Effetto immediato (no acknowledgment) –  Possibile solo se il peer conosce l’esatto sequence number –  Se si conoscono numeri di porta e sequence number è

possibile interrompere abritrariamente una sessione TCP.. –  Ma non solo…

TCP Injection

Page 36: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

l’attaccante

TCP Disruption

http://pralab.diee.unica.it 83

TCP s Rate Management

Unless there s loss, TCP doubles data in flight every round-trip . All TCPs expected to obey ( fairness ).

Mechanism: for each arriving ack for new data, increase allowed data by 1 maximum-sized packet

E.g., suppose maximum-sized packet = 100 bytes Time

Page 37: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it 84

Protocol Cheating

How can the destination (receiver) get data to come to them faster than normally allowed?

How do we defend against this?

ACK-Splitting: each ack, even though partial, increases allowed data by one maximum-sized packet

Time Change rule to require full ack for all data

sent in a packet

http://pralab.diee.unica.it 85

Protocol Cheating

How can the destination (receiver) still get data to come to them faster than normally allowed?

How do we defend against this?

Opportunistic ack ing: acknowledge data not yet seen!

Time

Page 38: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it 86

Approach #1: if you receive an ack for data you haven t sent, kill the connection

Works only if receiver acks too far ahead

Approach #2: follow the round trip time (RTT) and if ack arrives too quickly, kill the connection

Flaky: RTT can vary a lot, so you might kill innocent connections

Approach #3: make the receiver prove they received the data

Add a nonce ( random marker) & require receiver to include it in ack. Kill connections w/ incorrect nonces

o (nonce could be function computed over payload, so sender doesn t explicitly transmit, only implicitly)

Keeping Receivers Honest

Note: a protocol change

http://pralab.diee.unica.it

•  UDP è basato sul protocollo IP

•  Sulle reti IP I pacchetti: –  Possono venire scartati –  Possono Arrivave corrotti (il checksum si applica solo agli header) –  Possono venire trasmessi non in sequenza ordinata –  Possono essere soggetti a duplicazione

•  UDP non risolve questi problemi poichè I datagram: –  Potrebbero non arrivare –  Potrebbero arrivare corrotti (il checksum UDP è opzionale) –  Possono arrivare non in sequenza ordinata –  Possono essere soggetti a duplicazione

UDP - Problemi

Page 39: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it 24

http://pralab.diee.unica.it 25

Page 40: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it 92

Dynamic Host Configuration Protocol

new client

DHCP server

offer message includes IP address, DNS server, gateway router , and how long client can have these ( lease time)

http://pralab.diee.unica.it 93

Dynamic Host Configuration Protocol

new client

DHCP server

offer message includes IP address, DNS server, gateway router , and how long client can have these ( lease time)

Threats?

Page 41: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it 94

Dynamic Host Configuration Protocol

new client

DHCP server

offer message includes IP address, DNS server, gateway router , and how long client can have these ( lease time)

Attacker on same subnet can hear

new host s DHCP request

http://pralab.diee.unica.it 95

Dynamic Host Configuration Protocol

new client

DHCP server

offer message includes IP address, DNS server, gateway router , and how long client can have these ( lease time)

Attacker can race the actual server; if they win, replace DNS

server and/or gateway router

Page 42: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it 96

Substitute a fake DNS server Redirect any of a host s lookups to a machine of attacker s choice

Substitute a fake gateway Intercept all of a host s off-subnet traffic

o (even if not preceded by a DNS lookup) Relay contents back and forth between host and remote server

o Modify however attacker chooses

An invisible Man In The Middle (MITM) Victim host has no way of knowing it s happening

o (Can t necessarily alarm on peculiarity of receiving multiple DHCP replies, since that can happen benignly)

How can we fix this?

DHCP Threats

Hard

http://pralab.diee.unica.it

•  Quando dobbiamo accedere ad una macchina il più delle volte digitiamo il “nome” della macchina

•  Es. www.tiscali.it •  Per noi è sicuramente più semplice ricordare una stringa

piuttosto che l’indirizzo IP 213.205.32.10 –  Ma per funzionare, le macchine hanno bisogno dell’indirizzo IP…

•  Il Domain Name System è un servizio (porta 53, TCP-UDP) attraverso il quale è possibile “risolvere” un hostname in un indirizzo IP

Domain Name System

Page 43: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

DNS Server

amazon.com

google.co.uk

apple.de

54.239.26.128

193.206.135.49

17.172.224

.31

  Distributed   Hierarchical

AUTH apple.de Response codes

Code Response

0 Set of IP addresses

1 Format error

2 Server failure

3 Name error

4 Not implemented

5 Refused

NXDomain

Successful domain resolution

Domain Name System – Principi di Design Slide credit: Ing. Guido Mureddu

http://pralab.diee.unica.it

Domain Name System

Page 44: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

•  I record in un server DNS possono essere di diverso tipo: •  A IPv4 Address Record (32-bit) •  AAAA IPv6 Address Record (128 bit) •  CNAME Canonical Name (Alias) •  MX Mail Exchange Record •  NS Name Server

•  Le utility dig e nslookup consentono di interrogare i server DNS

•  Esercizio: utilizzando nslookup e dig si determino i nomi di server web, mail e dns del dominio “unica.it”.

Domain Name System

http://pralab.diee.unica.it

•  In realtà la macchina: –  Va a vedere se esiste una entry in /etc/hosts (esiste un file host.txt anche in

Windows) –  Successivamente va a vedere nella propria cache DNS

•  Windows: ipconfig /displaydns /flushdns •  Linux: $ sudo /etc/init.d/nscd restart

–  Altrimenti contatta il server DNS del provider •  I server DNS dei provider di fatto mantengono una “cache” di ricerche fatte in

precedenza

Domain Name System

Page 45: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Domain Name System – Content Delivery Networks Slide credit: Ing. Guido Mureddu

DNS Server

google.com

82.85.147.35 82.85.147.38 82.85.147.20 82.85.147.46 82.85.147.48 82.85.147.37 82.85.147.31 82.85.147.26 82.85.147.42 82.85.147.49

d18hpzm1x350m8.cloudfront.net dcky6u1m8u6el.cloudfront.net et-16-23.bas1-2-prd.ir2.yahoo.com so-2-0-0.pat2.ams.yahoo.com r19---sn-p5qlsnlk.c.googlesyndication.com r12---sn-ab5l6nee.c.googlesyndication.com

Geographic distribution of CDN server nodes

CDNs are designed to find an optimal node for each request. Possible criteria:   Geographic   Network topology and structure   Service status (ping, current load)

http://pralab.diee.unica.it

Botnets / 1 – Fast Flux Networks Slide credit: Ing. Guido Mureddu

DNS

kinure-desrt.su

24.214.18.16794.176.115.21546.98.100.46159.224.33.8176.107.89.7131.128.88.14891.245.73.138….

Control Server

T = ~ 120s (IP fluxing)

  “Malicious CDN”   Network of unreliable, compromised hosts   Node selection and content delivery is

hardly optimal   Constantly evolving and mutating

Page 46: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Botnets / 2 – DGA-based Slide credit: Ing. Guido Mureddu

Infected host DNS

... mswvqdcbjrrh.xyz inoommbkbrnb.xyz nslkjmtmultc.xyz nslkjmtmultc.xyz otpxxonvrdck.xyz nslkjmtmultc.xyz ipsckkviveop.xyz wfdehxuvkbcy.xyz kcgkiiqrrsos.xyz otpxxonvrdck.xyz nyerbuebmxhy.xyz ...

Domain Generation Algorithm

... NXDomain NXDomain 185.19.244.42 NXDomain ...

T = ~ 24h

Control Server

“Domain fluxing”

Conficker botnet: DGA activity subgraph

http://pralab.diee.unica.it

Extra Slides

Page 47: Protocolli della rete Internet & Attacchipeople.unica.it/giorgiogiacinto/files/2016/03/05... · 2016-03-24 · Mail Applicazione Trasporto Internet Link ... – Indirizzamento Fisico

http://pralab.diee.unica.it

Protocolli di Rete

http://pralab.diee.unica.it

Comandi Utili

•  ipconfig/ifconfig–  Mostra/Consente di modificare configurazione e MAC address dell’interfaccia

•  ping–  Consente di verificare se un host è attivo e raggiungibile –  Si potrebbe non ricevere risposta al ping nei seguenti casi:

•  L’host è spento o c’è un qualche problema sulla route verso l’host •  I pacchetti ICMP vengono bloccati da un firewall (ICMP è il protocollo di rete

utilizzato dal ping) •  L’host è configurato in modo da non rispondere al ping

•  arp–  Consente di visualizzare e/o manipolare i contenuti della ARP Table

•  nslookup–  Consente di interrogare i name server

•  netstat–  Consente di vedere l’elenco delle connessioni di rete attive –  E’ possibile filtrare per protocollo, indirizzo, etc.

•  traceroute/tracert–  Consente di visualizzare il percorso effettuato dal traffico fra due host