tcp/ip - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · tcp, udp...

37
! ! TCP/IP Transmission Control Protocol/ Internet Protocol

Upload: others

Post on 20-Jun-2020

50 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ !

�� ������������� !

TCP/IPTransmission Control Protocol/

Internet Protocol

Page 2: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ �

�� ������������� �

APPLICATION

TRANSPORT

NETWORK

LINK

TCP, UDP TCP, UDP

IP, ICMP IP, ICMP

ARP ARP

http, ftp,smtp, ssh

http, ftp,smtp, ssh

Frame

Datagram

Segment

�����������������������"#�$�"��%

��������������&��'�������&����������������(���)*��������+,

�������������������)� ���+,

����������������&&�����������������������������������-��������.���,

�����������-����������������������/("(�(00�%

#��0��#"�(�1��2������������������������'��������&����������&&��������)��%

.��&3�'�&3�������3����&3����%+3�2�������������&�����������.�������&&���-����

����������--���������������-������������������������������)��%�4������

5 ��������������.��&3�������&��3���������������5 ��+,

"/#���(/"1����������������

�6"5(/$1����������������

0��$1����������������

Page 3: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ 7

�� ������������� 7

TRANSPORT: a questo livello i protocolli definisconola modalita’ secondo la quale mittente e destinatariocomunicano.

TCP (Transaction Control Protocol) : Connection-oriented, si crea una sessione di comunicazione tramittente e destinatario che viene instaurata con unaccordo iniziale, vengono scambiati I dati e vieneconclusa. E’ affidabile (ritrasmissione dei pacchettipersi).

UDP (User Datagram Protocol) : Connection-less,non viene creata una sessione di comunicazione, nonesiste un accordo preliminare tra mittente edestinatario , ovvero i pacchetti vengono inviatidirettamente dal mittente senza garanzia di consegna.

Page 4: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ 8

�� ������������� 8

NETWORK: a questo livello viene gestito lospostamento dei pacchetti all’interno di una rete chenormalmente vede la presenza di router tra mittente edestinatario.

IP (Internet Protocol) :in particolare permettel’instradamento corretto di ogni pacchetto inviato dalmittente fino al destinatario. A questo livello vengonogestiti gli INDIRIZZI IP, ed utilizzati da ogni router perdeterminare il corretto instradamento.

ICMP (Internet Control Message Protocol) : e’ unprotocollo utilizzato per segnalare condizioni di errore otestare la connettivita’.

Page 5: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ 9

�� ������������� 9

LINK: questo livello ha il compito di interfacciarsi con lostrato di rete fisico (es. Ethernet) e gestire lacomunicazione tra schede di rete.

ARP (Address Resolution Protocol) : e’ il protocollousato per mappare gli indirizzi IP (livello Network) suidentificativi fisici delle schede di rete (MAC). Questoprotocollo viene utilizzato per l’indirizzamento deipacchetti tra host (mittente-destinatario, mittente-router,router-destinatario) appartenenti ad uno stesso ramo direte.

Page 6: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ :

�� ������������� :

INCAPSULAMENTO

Implementazione del modello logico a livellidello stack TCP.

Dati

Dati

Dati

TCP Header(20 bytes)

IP Header(20 bytes)

Frame Header

Page 7: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ *

�� ������������� *

4bitversion

4b head.length

8bit type ofservice (TOS) 16bit total length (in bytes)

3bitflags16bit identification 13bit fragment offset

8bit time to live(TTL) 8bit protocol 16bit header checksum

32bit source IP address

32bit destination IP address

options, data

0 15 31

IP HEADER

��������1��������������;%�8%�6��������.�����:�)���������:+3�&������''��������,

��������� ��1���'�������������.�--����7��4�"�)8�4<"6�+%�;������������=�9�=>

.������������ ���,

����1�)���������������3�������--����������3�������--��������������&��.�����������3����%3�+

��������������������&������-���������"���������&&������2�������&-����,

�� ������ ��1�����.�--����� ��������?�������������������������).�����@��&-�����@����+%

;������������=�:99979�� ����)�AA!:+%�B�������������?��������������������������'�����3

&���.�?�����������������������������������&��?����������������������������������������)��%

6�.�������C�!9���� �����&��.����+,

��� ���� ����1��������������'�������������������3�����������������������������

�������������!,

������������� ������ �1�����������������������������������������������

'������-����,

����1���'����������������������������������������������2����������������&��?�&����%

(������������.������������&��.����3��������������!����""0%�B�����2�������?��3�������������

������������������������������� ������������������������,

��� �����1�������'���2����&����������������������"/#���(/"�����������������&��.������

����������%��� �1�!,�"��1�:,

��������������1������������������?.����3���������&-����������%�;���'����.��������������

������������������������������,

��������������������� �� �������������1�������--��������������������������������������

&��.����%

Page 8: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ D

�� ������������� D

INDIRIZZI IP

255824C

65000+1616B

16M+248A

No. di HostHost BitsNetwork BitsClasse

1 9 2 . 1 6 8 . 1 1 0 . 1 2 3

Classe A Network Host

Network Host

Network Host

Classe B

Classe C

Page 9: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ E

�� ������������� E

223.255.255.255192.0.0.0C

191.255.255.255128.0.0.0B

127.255.255.2550.0.0.0A

IP FinaleIP InizialeClasse

INDIRIZZI NON INSTRADABILI:

Le sottoreti 192.168 e 172.16 sono RISERVATEall’uso all’interno di RETI PRIVATE, non sono indirizziutilizzabili su Internet.

La sottorete 127 e’ riservata al LOOPBACK: client eserver su stessa macchina (normalmente si usa 127.0.0.1)

Page 10: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ !�

�� ������������� !�

SOTTORETE (RFC 950, 1985)

!:�bit x bit 16-x bit

NETWORK SUBNET HOST

Classe B

SUBNET MASK

Es. 140.252.13.32 , classe B, 16 bit per Network. Deirestanti? Come faccio a sapere quali bit indicano laSubnet e quali indicano l’Host?

�������1���&���-������������������F���3�&������������#���4��?�&���

����������)!D @����.������:9���@����.�������&����������+%�6?������������.�

���&������������������.�����������������������������'�����)���-��������+%

(����������&���-���������������=>���4�6"

6?��������-���������?������������������������.��.��������������������

������--��)��%�������4+������������&��&���&��������������������������������

������������4�6"� #�$%

Page 11: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ !!

�� ������������� !!

SUBNET MASK : 1 per Network e Subnet; 0 per Host

NETWORK SUBNET HOST

Classe B

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0255 255 255 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0255 255 255 240

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0255 255 255 192

255.255.255.0 : 255 subnet e 255 host per subnet;

255.255.255.240 : 4095 subnet e 15 host per subnet

255.255.255.192 : 1023 subnet e 63 host per subnet

Page 12: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ !�

�� ������������� !�

6bit(reserved)

4b head.length

16bit source port number 16bit destination port number

16bit window size

16bit TCP checksum 16bit urgent pointer

32bit sequence number

32bit acknowledgment number

options, data

0 15 31

TCP HEADER

FIN

SYN

RST

PSH

ACK

URG

������������ �� ������� ���� ���1������������������������������������

����������%�������'������?&&���-�����)��������#��0��#"�(�+��.����

�������������������������������"��,��������������������&������������

����������--�����������'����������������������������������,

��!��������� ���1�������������2���-3�������'������&������ ���������

����������������&��.����%�B�����������������������������-��3���

��2�������������������������������������/#�G( ,

�����"������� ���� ���1�����������/�������������3�������'�����

����6���;(���2��������������.������������������������������������������

&��.����,

��������� ��1������&����?.�����"��3������������������?�9,

�����#$%&'���('����'�%��'��)�'����*�1����������������,

+ ���"���,��1�G���������������H������3��������������������� �����.����

����������&��?��������,

���������1������&����?.�������,

$���� ����� ���1�)��������������+%

Page 13: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ !7

�� ������������� !7

f t p 21/ t cp Fi l e Tr ansf er

ssh 22/ t cp Secur e SHel l

t el net 23/ t cp Tel net [ 112, JBP]

smt p 25/ t cp Si mpl e Mai l Tr ans f er [ 102, JBP]

ht t p 80/ t cp www www- ht t p Wor l d Wi de Web HTTP

pop3 110/ t cp Post Of f i ce Pr ot ocol - Ver si on 3

aut h 113/ t cp Aut hent i cat i on Ser vi ce

net bi os- ssn 137- 139/ t cp NETBI OS Sessi on Ser vi ce

i map2 143/ t cp I nt er i m Mai l Access Pr ot ocol v2

l ogi n 513/ t cp r emot e l ogi n;

unknown 635/ t cp unass i gned

domai n 53/ udp Domai n Name Ser vi ce

domai n 53/ t cp Domai n Name Ser vi ce

Esempi di Porte

������1�����:99793�������������"������G��)2�������������?����&���������&����

�����:997:C�+%�������'��������&����������&&��������)��������#��0��#"�(�+

�����������������������%

�-�����,������$./%��0��������1���/�#��2�334 �5�0����*��-��/%

����/�1���/����� '������6�� �����������!�������5�� �5�����

!����������6�,��2

0��&����������!��83���������������I'����J�)��������&����+�&���.�?�����

�?���������� �&��?����������)�����&�������������������������&+%

(�������&��?�������.�������������!��8��������'���������&���������������������-�

����-�������������������K�)������3�'�&3���.3����&3�&�&73������3����%+%� ����

������&&���-�����&��?���������.����&����������������!��8%

0�������&���1�.��&1LL���%���%���L��������L��L�����������L&�����������

Page 14: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ !8

�� ������������� !8

TCP FLAGS

SYN : richiesta di stabilire una sessione, sempre il primopacchetto di una comunicazione TCP;

ACK : conferma del pacchetto precedente, sia esso dati,SYN o FIN;

FIN : indica l’intenzione del mittente di terminare la sessione in maniera concordata;

RST : reset della sessione;

PSH : operazione di push, i dati vengono subito inviati al destinatario senza bufferizzarli;

URG : dati urgenti (es. CTRL+C) vengono inviati con precedenza sugli altri;

Page 15: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ !9

�� ������������� !9

16bit source port number 16bit destination port number

16bit UDP length 16bit UDP checksum

data

0 15 31

UDP HEADER

Page 16: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ !:

�� ������������� !:

16bit destination port number8bit type 8bit code

data

0 15 31

ICMP HEADER

Page 17: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ !*

�� ������������� !*

Esempi di messaggi ICMP

TIPO CODICE

0 0 echo reply (risposta al ping)

3 1 host unreachable

3 13 unreachable - admin prohibited

4 0 source quench

8 0 echo request (ping)

11 0 time exceeded in transit

������1����&������&���,

7���!�1��������������������2������?������--�������������������������?

�������������)�?�������������3��?.���������?�����������&&���������������

���&������+,

7���!7�1�����������.���?#��6����(�"/(0�0��"����'������&������

&����������������������2����&��.�����)������--�����������3�&�������

�����3����%+

8�����1����������&��������������������'������������3����������������.������

����������������������'��2���-���������������,

D�����1�&���

!!�����1���������������'����.�����""0�����?�--�������2��������������&��.����3

����'����������������������2������������������������%

Page 18: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ !D

�� ������������� !D

Sessione TCP

Client ServerSYN (ISNC)

SYN (ISNS) ACK (ISNC+1)

ACK (ISNS+1)

data

ACK (ISNC)

ACK (ISNS +1)

FIN (ISNC) ACK (ISNS)

FIN (ISNS) ACK (ISNC+1)

HANDSHAKE

Full-duplexData Stream

Terminazione‘concordata’

�������(/�1�����2������&����������������I.���.��J���������������

���������"��3���������)���������2������������+��������������������������

������,

����0�5��7�� �� ����1����'�������������)�����3���������#&&�������+���

�����'������&��C�&���.�?����������������"���������'������������������

��������������������?���������������������������,

������,�����1�����������������������������%�B�������������?�����

I��������J�)I����'��J+�&���.�?����������������&�����������������������

H���#�$��.��&����������������&�������&��&��������������-����%�6�����

��.������������������-�����I������������J������2���������������

&������������&��.������������'���/�"�)/6�6"+��������.��&�������?����

����������������������%

Page 19: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ !E

�� ������������� !E

t c l i ent . net . 52894 > t ser ver . com. 23: S 3900690: 3900690( 0)

t ser ver . com. 23 > t c l i ent . net . 52894: S 1379776: 1379776( 0) ack 3900691

t c l i ent . net . 52894 > t ser ver . com. 23: . ack 1379777

t c l i ent . net . 52894 > t ser ver . com. 23: P 1: 28( 27) ack 1

t ser ver . com. 23 > t c l i ent . net . 52894: P 1: 14( 13) ack 1

t ser ver . com. 23 > t c l i ent . net . 52894: P 14: 23( 9) ack 28

t c l i ent . net . 52894 > t ser ver . com. 23: R 28: 28( 0) ack 1

Analisi del Traffico di Rete

HANDSHAKE - STREAM - TERMINATION (in questocaso RESET anziche’ FIN)

"�����&�1���������&��?���''�������--����������''�����������

���.�����!�7�1�F���.���)�����������2�������������������#�$

���������������!+,

���.�����8���:�1�H������&��C���������%��6/��(�;6�M�(�6���������

���--�����������''������������)�������"�����&+3�����#�$�����������

��?.���.���&����������������-�����������2�������������������

�-��.�?��������&���������!�)���������2�����������������&��.�����'�����

.���������-�����������+,

���.�����*�1��������������������%

Page 20: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ ��

�� ������������� ��

Elementi minimi da valutare nell’analisi:

• L’handshake e’ stato completato?

• Sono stati trasmessi dati?

• Chi ha iniziato e/o terminato la connessione?

����������5�� ��1�����?�?����.���.������&����3������'����.����

�������.���&�������������-�����#�6/"#����������2�����������������%

B�������?���������������&����������������-������������������--��

�������������%����������'���&���?�������.���.������������&�����������

���&�����.������������������������������.�����������������������N�6?

�����������?����������N�������������������������������������N

�������������� �1�����?�?�������������������������'����.�����������������

����������������������������������?������������&&���-����%

���������,� �4�������������������8�1�/������������2����.����.����-���

���������������������2����.���������������������������������-����%

Page 21: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ �!

�� ������������� �!

Specifiche TCP: RFC 793 (Postel, 1981)

Un segmento in arrivo che contenga un RESET viene semprescartato senza alcuna risposta.

Se una porta e’ chiusaSe il segmento in arrivo NON contiene un RESET alloraviene inviato come risposta al mittente un pacchetto con ilflag RESET attivo.

Se una porta e’ aperta ed e’ nello stato di listenSe il segmento in arrivo contiene un ACK allora vienerisposto un RESET;

Se il segmento in arrivo contiene un SYN allora vieneinviato come risposta al mittente un pacchetto con i flagSYN ACK attivo;

Se nessuno dei precedenti e’ vero allora il segmento vienescartato senza risposta.

Ord

ine

di v

alut

azio

ne d

elle

con

dizi

oni

����������������1

����/�1���������-��������?��������3���������������������?�&��������,

����/��1���������-����?�������������?����#""6�#���������������,

/���9����/��1����������������?�����%

Page 22: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ ��

�� ������������� ��

abc. com. t el net > ef g. net . t el net : ack 1379777

abc. com. t el net > hi l . or g. t el net : ack 1379777

abc. com. i map > ef g. net . i map: ack 1379777

abc. com. i map > hi l . or g. i map: ack 1379777

abc. com. ssh > ef g. net . ssh: ack 1379777

abc. com. ssh > hi l . or g. ssh: ack 1379777

abc. com. t el net > mno. i t . t el net : ack 1379777

mno. i t . t el net > abc. com. t el net : R

abc. com. t el net > pqr . i t . t el net : ack 1379777

pqr . i t . t el net > abc. com. t el net : R

Cosa succede in questa traccia?

6���������������1

���������&�����?.���.�������&����������"��,

������������������O�!��8�����������2��������������-����,

����2����������������&��������,

������?�&��������N���&��.������������������&�����)P��'���?+�����������3

���������'��������������&������-�����"��%

����2����������N��.�����������N

������������������&���������'����.�����������������?���������������

)�����������3����������3����%+%

�������������/6�6"������'����.�����������������������)�������&���?�����

&��������0(�6���0��"6�+%

/������2�����N

Page 23: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ �7

�� ������������� �7

Il PING fornisce la stessa informazione.

Perche’ usare questo e non il ping? Spesso il ping vieneimpedito dai firewall (si evita che chiunque da Internetpossa scoprire gli host attivi nella rete interna).

Questi pacchetti invece potrebbero essere fatti passaredal firewall, ad esempio perche’ scambiati per pacchettilegittimi di un handshake (i terzi dell’handshake). Siamoin presenza di un probabile

ACK SCANScanning: tecniche per acquisire informazioni utili ad unattacco.

Spiegazione

Page 24: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ �8

�� ������������� �8

Come viene raccolto questo traffico di rete?

ANALIZZATORE DI TRAFFICO (SNIFFER, SENSORE,PROBE).

Esempio : TCPdump

Comunicazione su di una Ethernet

• ogni computer analizza tutti i pacchetti della sottorete;

• se un pacchetto non e’ indirizzato a se’ stesso, lascheda di rete lo scarta;

• se il pacchetto e’ indirizzato a se’ stesso vieneprocessato dai livelli dello stack TCP.

0��������-��������������������������)��%�6�.�����+�&��������.���������

&��.���������������--����������������&�����)��������������.�����������+

����������������&���'���������������%

B�����3����&�������������'�����3���������&������������?��������������������

����&��.�����)������������0��$+����������������������3���������?���

����������3��������%

�������--��������''�����������3�2�����3��������������������.�����

�&���'������1

Q���'��-�����������''�������������������������.�����������)���������.���

��.�����������'��-�������.�������-��%�.���$�+,

Q�����'������.������������������---�����������������������&��.����

���������)����&��������5+%

Page 25: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ �9

�� ������������� �9

Internet

router

router

subnet 140.252.1

subnet 140.252.5

subnet 140.252.13

C1

C2

S1

S2

Sensore1

Sensore2

B������''��������������������������N

����������>�/����0����

��������!�1������

����������1������2������������������������!8�%�9�%!7,

0���������������!8�%�9�%!7

��������!�1���

����������1���

"�����������!8�%�9�%9������������!8�%�9�%!

��������!�1���

����������1���

Page 26: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ �:

�� ������������� �:

FRAMMENTAZIONE

MTU (Maximum Transmission Unit): dimensione massimadei pacchetti ammessi da una rete.Es. Ethernet MTU = 1500 bytes.

20IP header

8ICMP header

ICMP data

1500 bytes 1500 bytes 1000 bytes

4000 bytes

A B C D E

0�'������-������������2����������������������������������

������.��&�������������&�.���������������������'���������������������%

���������3��������������&������������?�����������������H/# 6�"#/6

���&��.��������&��.�����&��?��������%

����������������������������&��1������.����2�����)&���+����8����� ���%

���� ����1����.����,

D�� ����1��� ��.����,

����������)8�������D+�=�7E*��1��� �����

#��������������6�.������) "��=�!9��+�������������'��������%�����N

Page 27: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ �*

�� ������������� �*

20IP header

8ICMP header

1472ICMP data

1500 bytes 1500 bytes 1020 bytes

4040 bytes

20IP header 1480

ICMP data

20IP header

1020ICMPdata

A B C

D

E

����������&��.��������&�������������7E*��� ���%

0�'������-���������&��?���&�������� "��)!9���� ���+�������

'�����������������������&��.��������"/#G#4�06����������3�2�����

�����������?���F6#G6/�)���� ���+%

0?�� ��F6#G6/������N���3�&�����������������������%

�(0(��0��/� (�H/# 6�"(� #�"�6�6�0?F6#G6/�G60

�/("(�(00(�G��"/#���(/"�)"��3��� �+3�R0��#0"/��F#��(

�(0(�0?F6#G6/���%

Page 28: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ �D

�� ������������� �D

4bitversion

4b head.length

8bit type ofservice (TOS) 16bit total length (in bytes)

3bitflags16bit identification 13bit fragment offset

8bit time to live(TTL) 8bit protocol 16bit header checksum

32bit source IP address

32bit destination IP address

options, data

0 15 31

IP HEADER

��������1��������������;%�8%�6��������.�����:�)���������:+3�&������''��������,

��������� ��1���'�������������.�--����7��4�"�)8�4<"6�+%�;������������=�9�=>

.������������ ���,

����1�)���������������3�������--����������3�������--��������������&��.�����������3����%3�+

��������������������&������-���������"���������&&������2�������&-����,

�� ������ ��1�����.�--����� ��������?�������������������������).�����@��&-�����@����+%

;������������=�:99979�� ����)�AA!:+%�B�������������?��������������������������'�����3

&���.�?�����������������������������������&��?����������������������������������������)��%

6�.�������C�!9���� �����&��.����+,

��� ���� ����1��������������'�������������������3�����������������������������

�������������!,

������������� ������ �1����������������,

����1���'����������������������������������������������2����������������&��?�&����%

(������������.������������&��.����3��������������!����""0%�B�����2�������?��3�������������

������������������������������� ������������������������,

��� �����1�������'���2����&����������������������"/#���(/"�����������������&��.������

����������%��� �1�!,�"��1�:,

��������������1������������������?.����3���������&-����������%�;���'����.��������������

������������������������������,

��������������������� �� �������������1�������--��������������������������������������

&��.����%

Page 29: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ �E

�� ������������� �E

IDENTIFICATION : valore unico per tutti I frammenti di unpacchetto originario che dovra’ essere riassemblato adestinazione.

FLAGS : un bit per indicare more fragments, settato a 1per tutti I frammenti tranne l’ultimo che ha il flag a 0.Un secondo bit per indicare don’t fragment, cioe’ peristruire i router che, se fosse necessaria laframmentazione, il datagram va scartato e nonframmentato

OFFSET : e’ l’offset dei dati nei diversi frammenti rispetto Idati del datagram originario.

Page 30: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ 7�

�� ������������� 7�

20IP header

8ICMP header

1472ICMP data

20IP header 1480

ICMP data

20IP header

1020ICMPdata

A B C

D

E

Offset = 0

More Frag = 1

Frag ID = 21223

Lung. Dati = 1480

Offset = 1480

More Frag = 1

Frag ID = 21223

Lung. Dati = 1480

Offset = 2960

More Frag = 0

Frag ID = 21223

Lung. Dati = 1020

R����''�������������������������������������������>��������.����

�������������������������'�������������������������%

����������������������������)���������6"5(/$+��?����&�������.�

�?F�����������������"/#���(/"�)"��3��� �+%

Page 31: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ 7!

�� ������������� 7!

abc. com > ef g. net : i cmp: echo r equest ( f r ag 21223: 1480@0+)

abc. com > ef g. net : ( f r ag 21223: 1480@1480+)

abc. com > ef g. net : ( f r ag 21223: 1020@2960)

Frag IDDati

Offset

Morefragments

�("#/6�1����������&�����'�����������&����?�����-���������&���������

)�� �+���������&��������������)��.����2����+%

B������&���.�?��(0(��0��/� (�H/# 6�"(�F#�0?F6#G6/�G60

0�;600(�G��"/#���(/"�)"��3��� �+%

Page 32: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ 7�

�� ������������� 7�

abc. com > ef g. net : i cmp: echo r equest ( DF)

r out er . net > abc. com : i cmp: ef g. netunr eachabl e - need t o f r ag ( mt u 1500) ( DF)

Uso del flag don’t fragment (DF)

������'���GH�'����������������3�����?����&���&&���������)���������8���

� ���+3��������������&������������?�����������������6�.���������� "��=

!9�������������������������������&����������������������������������

��������� �������&��.���������.��������������'��%

Page 33: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ 77

�� ������������� 77

abc. com. > 192. 168. 133. 0: ( f r ag 54050: 1480@4440+)

abc. com. > 192. 168. 133. 0: ( f r ag 54050: 1480@2960+)

abc. com. > 192. 168. 133. 0: ( f r ag 54050: 1480@4440+)

abc. com. > 192. 168. 133. 0: ( f r ag 54050: 1480@1480+)

abc. com. > 192. 168. 133. 0: ( f r ag 54050: 1480@2960+)

abc. com. > 192. 168. 133. 0: ( f r ag 54050: 1480@5920+)

abc. com. > 192. 168. 133. 0: ( f r ag 54050: 1480@4440+)

abc. com. > 192. 168. 133. 0: ( f r ag 54050: 1480@1480+)

Cosa succede in questa traccia?

6��������������1

���������'�����������-����)(''����=��+,

���������'��������'�����)'��� ����H��������=��+,

���''������&�����,

�NNNNNNN���!8D�������������������������E:����������������������888�����������������������9E��

�NNNNNNNNN

���������������������������������!8D��� ����������������������!8D��� ���������������������!8D��� ���

��&��.���������������������������������1����������'������3���&��.�����&�������������

�������������������''�������)�������������������������������+%

������?�&��������N

����%/�������%/�������/�����1���/�1�!E�%!:D%!77%���>�������������������������>

������������?�&���������������������3�����?��������������������'������%

Page 34: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ 78

�� ������������� 78

router

subnet 192.168.5

C1

Sensore1

frammenti

abc.com

Internet

routerBSD

subnet 192.168.133

��.�����'��������?����&����.�������������������%

������������.�����--������''�������.��2������.���&�������������

&�����������?������������������������������'��������)�����������������

��������+%

������&���N���&�����.�����������&��.���������������������������

��������������������������������2�������������������������������������%

B�����N��.���&������&�������'������&����������������������N

����.�?��������'�����������-������2������'����N�����.�?�.���''���

��&�����N

Page 35: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ 79

�� ������������� 79

Spiegazione (prima parte)

Frammento iniziale mancante : il frammento iniziale e’l’unico ad avere l’header del livello di TRANSPORT (TCP,UDP, ICMP). Potrebbe essere stato bloccato dalla politicadi sicurezza (tipo di servizio vietato).

Gli altri frammenti, non avendo header TCP/UDP/ICMPsuperano la verifica.

Frammento finale mancante : nessuna spiegazione,possibile datagram IP manipolato volutamente.

Page 36: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ 7:

�� ������������� 7:

Spiegazione (seconda parte)

Offset ripetuti : molti frammenti passano attraverso ilfirewall e raggiungono l’host di destinazione.

Consideriamo meglio l’IP address di destinazione:192.168.133.0 -> broadcast per sistemi operativi BSD.

Nel nostro esempio abbiamo un router BSD che:

- riceve i frammenti e li mantiene in cache in attesa diriassemblare il datagram originale;

- frammento iniziale e finale non arrivano impedendo ilriassemblaggio;

- molti frammenti con stesso FRAG ID continuano adarrivare, impedendo il time-out del router;

0?������--��K%<%M%���?��?������--�������������&������������&�����������

'������4�G

#�����������?������--��K%<%M%�99��?��?������--����������������������&��

���������&����������C%

���&��.��������������?������--�������������K%<%M%��)��K%<%M%�99���

�������+�������������3����2������.����������'��-������������������3

������&�����������--��������������.�������������������������K%<%M

)!E�%!:D%!77����������������&��+%

Page 37: TCP/IP - unina.itwpage.unina.it/pieroandrea.bonatti/didattica/security/slides-12.pdf · TCP, UDP TCP, UDP IP, ICMP IP, ICMP ARP ARP http, ftp, smtp, ssh http, ftp, smtp, ssh Frame

������������� ������������������� �������������

�� ������������������������������������������������ 7*

�� ������������� 7*

Spiegazione (conclusione)

Il router BSD non va in time-out -> overload

- la capacita’ di routing del traffico regolare si degrada fino adannullarsi.

DENIAL OF SERVICEQuindi:

- attacco portato con successo;

- politica di sicurezza perimetrale non efficace;

- complessita’ nel gestire la frammentazione.

www.cisco.com/warp/public/770/nifrag.shtml

0?������--��K%<%M%���?��?������--�������������&������������&�����������

'������4�G

#�����������?������--��K%<%M%�99��?��?������--����������������������&��

���������&����������C%

���&��.��������������?������--�������������K%<%M%��)��K%<%M%�99���

�������+�������������3����2������.����������'��-������������������3

������&�����������--��������������.�������������������������K%<%M

)!E�%!:D%!77����������������&��+%