Roteiro TOCI-08: Seguranca de Redes ¸

1

Introducao ¸˜ Protocolo IP Enderecamento IP ¸ UDP e TCP

Prof. Rafael Obelheiro rro@joinville.udesc.br

2

3

4

´ Aula 13: TCP/IP – Conceitos Basicos

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

1 / 44

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

2 / 44

A pilha de protocolos TCP/IP (1)

A pilha de protocolos TCP/IP (2)
Camada de transporte: dois protocolos principais
˜ TCP (Transmission Control Protocol): orientado a conexao, ´ confiavel, com controle de fluxo ˜ ˜ ´ UDP (User Datagram Protocol): sem conexao, nao confiavel, sem controle de fluxo → uma “casca” de transporte sobre datagramas IP

´ Camada de rede: o principal protocolo e o IP, mas existem protocolos auxiliares
˜ ˜ ´ IP (Internet Protocol): sem conexao, nao confiavel, sem controle de fluxo ICMP (Internet Control Message Protocol), IGMP (Internet Group Management Protocol): protocolos auxiliares de controle

Camada de aplicacao: HTTP (Web), FTP, TELNET (login ¸˜ ˆ remoto), SMTP (correio eletronico), DNS (traducao de nomes em ¸˜ enderecos) ¸

` ` Camada de acesso a rede: oferece uma interface de acesso as funcionalidades do enlace subjacente
engloba funcionalidades das camadas f´sica e de enlace do ı RM-OSI
c 2008 Rafael Obelheiro (DCC/UDESC) ´ Aula 13: TCP/IP – Conceitos Basicos SEG 4 / 44

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

3 / 44

Protocolo IP

Formato do pacote IP

Protocolo de rede (camada 3 no RM-OSI)
´ presente em todos os nos da rede (hosts e roteadores)

˜ ˜ ´ Protocolo sem conexao: para dois hosts se comunicarem nao e ´ ´ ˜ necessario o estabelecimento previo de uma conexao
comutacao de pacotes ¸˜

˜ ´ Servico nao confiavel ¸
˜ ˜ datagramas perdidos ou corrompidos nao sao retransmitidos datagramas podem ser duplicados ou chegar fora de ordem

Sem controle de fluxo
´ um emissor pode saturar um receptor com trafego

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

6 / 44

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

7 / 44

Roteamento e encaminhamento de datagramas
Roteamento: descoberta das rotas dispon´veis ı
protocolos: RIP, OSPF, BGP

Aspectos de seguranca no IP (1) ¸

˜ ´ Encaminhamento: transmissao da origem ate o destino
´ ´ cada no decide o proximo salto com base no endereco de destino ¸

˜ Nao existe autenticacao ou garantia de integridade ¸˜ Todos os dados transmitidos em um datagrama IP (conteudo E ´ ˆ cabecalhos) podem ser forjados ou modificados em transito ¸ Em particular, o endereco de origem pode ser forjado → IP ¸ spoofing
˜ usar o endereco IP para tomar decisoes de acesso pode ser ¸ perigoso

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

8 / 44

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

9 / 44

Aspectos de seguranca no IP (2) ¸
Fragmentacao: ao encontrar um enlace com MTU menor, um ¸˜ pacote pode ser dividido em fragmentos menores
pacotes fragmentados podem ser refragmentados ´ a remontagem e feita no destino pacotes fragmentados podem confundir firewalls ou sistemas de ˜ deteccao de intrusoes (IDSs) ¸˜ ´ houve casos de sistemas travarem com fragmentos invalidos

Enderecamento IP ¸
Enderecos IP possuem 32 bits, o que possibilita 232 enderecos ¸ ¸
´ ´ na pratica, uma boa parte desse espaco de enderecamento e ¸ ¸ desperdicada ¸

Um endereco e normalmente representado em base decimal, ¸ ´ ´ usando a notacao quaternaria (dotted-quad) ¸˜ 10101100 . 00011100 . 11000100 . 11100001 ↓ ↓ ↓ ↓ 172 . 28 . 196 . 225 Um endereco IP normalmente tem duas porcoes, um endereco ¸ ¸˜ ¸ de rede e um endereco de host: ¸
n bits 32 − n bits

endereco de rede ¸

endereco de host ¸

˜ a divisao dos bits depende de cada rede; no total, a soma deve ser sempre 32
c 2008 Rafael Obelheiro (DCC/UDESC) ´ Aula 13: TCP/IP – Conceitos Basicos SEG 10 / 44 c 2008 Rafael Obelheiro (DCC/UDESC) ´ Aula 13: TCP/IP – Conceitos Basicos SEG 12 / 44

Classes de enderecos IP (1) ¸
Originalmente, o espaco de enderecamento IP foi dividido em ¸ ¸ cinco classes
classe A B C D E estrutura do endereco ¸ 0nnnnnnn hhhhhhhh hhhhhhhh hhhhhhhh (7 bits de rede, 24 bits de host) 10nnnnnn nnnnnnnn hhhhhhhh hhhhhhhh (14 bits de rede, 16 bits de host) 110nnnnn nnnnnnnn nnnnnnnn hhhhhhhh (21 bits de rede, 8 bits de host) 1110bbbb bbbbbbbb bbbbbbbb bbbbbbbb (enderecos de multicast) ¸ 1111bbbb bbbbbbbb bbbbbbbb bbbbbbbb (enderecos reservados) ¸ repres. decimal 0.0.0.0 127.255.255.255 128.0.0.0 191.255.255.255 192.0.0.0 223.255.255.255 224.0.0.0 239.255.255.255 240.0.0.0 255.255.255.255

Classes de enderecos IP (2) ¸

Os bits iniciais determinam a qual classe pertence cada endereco ¸ ˜ A divisao de bits entre rede e host determina quantas redes podem existir em cada classe, e quantos hosts podem existir em cada rede
Classe A B C D E Bits iniciais 0 10 110 1110 1111 Bits de rede / No de redes 7 / 128 14 / 16.384 21 / 2.097.152 multicast reservado Bits de host / No de hosts 24 / 16.777.216 16 / 65.536 8 / 256

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

13 / 44

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

14 / 44

Exemplos de enderecos IP com classes ¸
10.20.30.40
classe A endereco de rede 10 ¸ endereco de host 20.30.40 ¸ rede 10 vai de 10.0.0.0 a 10.255.255.255 (16.777.216 end.)

Enderecos reservados ¸

˜ Em cada rede, dois enderecos de hosts sao reservados: ¸
endereco de rede ⇒ endereco inicial (todos os bits de host em 0) ¸ ¸ endereco de broadcast ⇒ endereco final (todos os bits de host ¸ ¸ em 1)

172.28.196.225
classe B endereco de rede 172.28 ¸ endereco de host 196.225 ¸ rede 172.28 vai de 172.28.0.0 a 172.28.255.255 (65.536 end.)

´ ´ Existem tambem varios blocos de enderecos reservados ¸
rede 0: rota default (0.0.0.0) rede 10: RFC 1918 rede 127: loopback redes 172.16 a 172.31: RFC 1918 redes 192.168.*: RFC 1918 rede 192.0.2: exemplos

192.168.132.240
?

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

15 / 44

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

16 / 44

´ Mascara de rede
´ ´ Um endereco IP possui uma mascara de rede, que e ¸ determinada pela classe do endereco ¸
´ para um endereco classe C, a mascara default (ou natural) tem os ¸ 24 bits iniciais ligados ⇒ 255.255.255.0 ´ para um endereco classe B, a mascara default tem os 16 bits ¸ iniciais ligados ⇒ 255.255.0.0 ´ para um endereco classe A, a mascara default tem os 8 bits iniciais ¸ ligados ⇒ 255.0.0.0

Sub-redes (1)

As classes de enderecos possuem uma certa inflexibilidade ¸

muitas redes precisam de uma quantidade de enderecos bem ¸ menor do que o tamanho da classe
˜ classe C com 2 hosts: 0,79% (= 2/254) dos enderecos sao ¸ aproveitados ˜ classe B com 256 hosts: 0,39% (= 256/65534) dos enderecos sao ¸ aproveitados

´ Os bits iniciais ligados da mascara determinam quais bits pertencem ao endereco de rede: ¸ ´ endereco IP AND mascara = endereco de rede ¸ ¸

´ em muitos casos uma mesma organizacao possui varias redes ¸˜ internas que precisam ser roteadas separadamente

A solucao para isso foi subdividir a faixa de enderecos de uma ¸˜ ¸ rede em um numero de sub-redes ´

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

17 / 44

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

18 / 44

Sub-redes (2)
Em vez de considerar um endereco IP como sendo um endereco ¸ ¸ ´ de rede e um endereco de host, a porcao de host e dividida em ¸ ¸˜ sub-rede e host:
n bits 32 − n bits

Sub-redes (3)
´ A quantidade de sub-redes e dada por 2s , sendo s o numero de ´ bits do endereco de sub-rede ¸ ´ ´ ´ De modo generico, uma rede com mascara de n bits e dividida ´ em 2s sub-redes com mascara de n + s bits. Exemplos:
´ uma rede classe C (mascara de 24 bits) pode ser dividida em
´ 2 SR com masc=25 bits (255.255.255.128) → 2 = 21 , 25 = 24 + 1; ´ 4 SR com masc=26 bits (255.255.255.192) → 4 = 22 , 26 = 24 + 2; ´ 32 SR com masc=29 bits (255.255.255.248) → 32 = 25 , 29 = 24 + 5.

endereco de rede ¸

endereco de host ¸

n bits

s bits

32 − (n + s) bits

´ Uma rede classe B (mascara de 16 bits) pode ser dividida em

endereco de rede ¸

endereco de sub-rede ¸

endereco de host ¸

´ 8 SR com masc=19 bits (255.255.224.0) → 8 = 23 , 19 = 16 + 3; ´ 256 SR com masc=24 bits (255.255.255.0)→ 256 = 28 , 24 = 16 + 8.

˜ Os bits correspondentes ao endereco de sub-rede sao ¸ ` ´ ´ acrescentados a mascara de rede para formar a mascara de ´ sub-rede ou mascara estendida

Por consequencia, o numero de sub-redes tem de ser uma ¨ˆ ´ ˆ potencia de 2 (2, 4, 8, 16, . . . )

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

19 / 44

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

20 / 44

Sub-redes (4)

CIDR (1)
O esquema de enderecamento IP com classes ameacou esgotar ¸ ¸ os enderecos dispon´veis (especialmente da classe B) ¸ ı

Para um dado bloco, quanto mais sub-redes houver, menos hosts ´ havera em cada uma ´ ˜ As sub-redes so sao vis´veis dentro da rede que as define; redes ı externas continuam enxergando o bloco original

´ alem disso, as tabelas de roteamento estavam ficando muito ` grandes devido a forma como os blocos de enderecos eram ¸ alocados (sequencialmente) ¨

A solucao foi mudar a forma de alocacao (que passou a ser ¸˜ ¸˜ ´ hierarquica) e flexibilizar as classes de enderecos, que deixaram ¸ de ser fixas (CIDR, Classless Inter-Domain Routing)
cada provedor recebe um grande bloco cont´nuo de enderecos, ı ¸ ´ que e subdividido entre seus clientes permite a agregacao de rotas ¸˜

A porcao de rede de um endereco IP passa a ser determinada ¸˜ ¸ ˜ ´ nao mais pela sua classe mas pela sua mascara ´ endereco IP AND mascara = endereco de rede ¸ ¸

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

21 / 44

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

22 / 44

CIDR (2)
´ Os bits iniciais ligados da mascara determinam quais bits pertencem ao endereco de rede ¸
´ para um endereco classe C, a mascara default (ou natural) tem os ¸ 24 bits iniciais ligados ⇒ 255.255.255.0 ´ para um endereco classe B, a mascara default tem os 16 bits ¸ iniciais ligados ⇒ 255.255.0.0 ´ para um endereco classe A, a mascara default tem os 8 bits iniciais ¸ ligados ⇒ 255.0.0.0

Exemplos da notacao CIDR ¸˜

´ No CIDR, qualquer mascara pode ser aplicada a qualquer endereco IP ¸ Em vez de especificar um bloco de enderecos usando o endereco ¸ ¸ ´ ´ ´ de rede e a mascara na notacao quaternaria, e poss´vel usar a ¸˜ ı notacao abreviada endereco/prefixo, onde endereco e o endereco ¸˜ ¸ ¸ ´ ¸ ´ ´ de rede e prefixo e o numero de bits ligados da mascara ´

Bloco 192.0.2.0/24 10.0.0.0/8 ou 10/8 172.16.128.0/19 192.168.3.32/28

Faixa de enderecos ¸ 192.0.2.0 – 192.0.2.255 10.0.0.0 – 10.255.255.255 172.16.128.0 – 172.16.159.255 192.168.3.32 – 192.168.3.47

´ Mascara 255.255.255.0 255.0.0.0 255.255.224.0 255.255.255.240

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

23 / 44

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

24 / 44

Caracterizando blocos CIDR

Passos para a caracterizacao de um bloco CIDR ¸˜

A caracterizacao de um bloco CIDR consiste em determinar os ¸˜ ˆ parametros desse bloco de enderecos ¸
´ mascara de rede endereco de rede ¸ endereco de broadcast ¸ ´ faixa de enderecos validos ¸

´ 1. Exprimir o endereco de rede em binario ¸
importante para determinar o endereco de broadcast ¸

´ ´ 2. Exprimir a mascara de rede em binario 3. Determinar o endereco de broadcast ¸
pegar o endereco de rede e ligar todos os bits correspondentes ao ¸ endereco de host ¸ ´ o endereco resultante e o endereco de broadcast ¸ ¸ ´ h e o numero de bits de host ´ ˜ endereco de rede e endereco de broadcast sao reservados ¸ ¸

A caracterizacao do bloco permite conhecer o espaco de ¸˜ ¸ enderecamento que se tem para trabalhar ¸

´ 4. Determinar o numero de enderecos validos, dado por 2h − 2 ¸ ´

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

25 / 44

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

26 / 44

Dividindo um bloco CIDR em sub-redes

UDP e TCP

´ ´ Para dividir um bloco CIDR em sub-redes, e necessario: ´ 1. Determinar o numero de bits de sub-rede necessarios para o ´ numero de sub-redes desejadas ´ ´ 2. Obter a mascara de sub-rede correspondente 3. Obter os dados dos blocos correspondentes a cada sub-rede Exemplos: dividir a rede 192.168.10.0/24 em 4 sub-redes dividir a rede 192.224.0.0/15 em 8 sub-redes

Principais protocolos de transporte da Internet Fornecem canais de comunicacao para aplicacoes ¸˜ ¸˜ ´ Cada aplicacao em um host e identificada por um numero de ¸˜ ´ porta
´ enderecos IP identificam nos ¸ portas identificam aplicacoes em um host ¸˜

Um numero de porta tem 16 bits ´
portas TCP e UDP podem ter o mesmo numero, mas se referir a ´ aplicacoes diferentes ¸˜

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

27 / 44

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

29 / 44

UDP (User Datagram Protocol)

Exemplos de servicos baseados em UDP ¸

“Casca” de transporte sobre o IP Caracter´sticas do servico: mesmas do IP ı ¸
˜ sem conexao ˜ ´ nao confiavel sem controle de fluxo

Caracter´sticas de seguranca: mesmas do IP ı ¸
ou seja, nenhuma
tirando um checksum de 16 bits

servico ¸ DNS DHCP NTP WINS SNMP RIP

porta 53 67, 68 123 137 161 520

descricao ¸˜ resolucao de nomes ¸˜ configuracao de hosts ¸˜ ´ sincronizacao de relogios ¸˜ servico de nomes NetBios ¸ ˆ gerencia de redes protocolo de roteamento

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

30 / 44

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

31 / 44

TCP (Transmission Control Protocol)

Exemplos de servicos baseados em TCP ¸
servico ¸ HTTP SMTP TELNET SSH HTTPS FTP DNS NBT-SSN IMAP BGP porta 80 25 23 22 443 20, 21 53 139 143 179 descricao ¸˜ web ˆ correio eletronico (servidor) emulacao de terminal ¸˜ emulacao de terminal com criptografia ¸˜ web com criptografia ˆ transferencia de arquivos ˆ transferencias de zona, resolucao de nomes ¸˜ ˜ servico de sessao NetBIOS ¸ ˆ correio eletronico (cliente) protocolo de roteamento

Protocolo usado pela maioria das aplicacoes Internet ¸˜ ˜ Orientado a conexao
´ ´ ˆ ˜ e necessario negociar parametros da conexao antes de poder transmitir dados

´ Servico confiavel ¸
˜ segmentos perdidos ou corrompidos sao retransmitidos ˜ segmentos sao entregues em ordem para a aplicacao, mesmo que ¸˜ cheguem fora de ordem

Implementa controle de fluxo
o receptor pode restringir o envio de dados por parte do emissor

A maioria das aplicacoes P2P usa TCP, mas o numero de porta ¸˜ ´ ˜ ´ nao e fixo
´ para BitTorrent, geralmente e na faixa 6881–6889
c 2008 Rafael Obelheiro (DCC/UDESC) ´ Aula 13: TCP/IP – Conceitos Basicos SEG 32 / 44 c 2008 Rafael Obelheiro (DCC/UDESC) ´ Aula 13: TCP/IP – Conceitos Basicos SEG 33 / 44

˜ Estabelecimento de conexoes TCP
˜ ˆ O estabelecimento de um conexao TCP envolve tres passos
three-way handshake

˜ Encerramento de conexoes TCP

´ ˆ ˜ Objetivo e negociar e inicializar parametros da conexao
1. A → B : SYN, ISNA
˜ A solicita conexao, informa seu numero de sequencia inicial (ISNA ) ´ ¨ˆ

2. B → A : SYN, ACK(ISNA +1), ISNB
B reconhece pedido e ISNA , informa ISNB

˜ A conexao precisa ser encerrada pelos dois lados
1. 2. 3. 4. A → B : FIN B → A : ACK(FIN) B → A : FIN A → B : ACK(FIN)

3. A → B : ACK(ISNB +1)

˜ ´ Uma conexao TCP e identificada univocamente por uma ´ quadrupla (IP de origem, porta de origem, IP de destino, porta de destino)
˜ na verdade, uma conexao TCP representa dois canais half-duplex independentes (um em cada sentido)

˜ A reconhece ISNB , conexao estabelecida

˜ ˜ Pedidos de conexao para portas fechadas sao respondidos com RST
c 2008 Rafael Obelheiro (DCC/UDESC) ´ Aula 13: TCP/IP – Conceitos Basicos SEG 34 / 44 c 2008 Rafael Obelheiro (DCC/UDESC) ´ Aula 13: TCP/IP – Conceitos Basicos SEG 35 / 44

Numeros de sequencia ´ ¨ˆ

Exemplo de numeros de sequencia ´ ¨ˆ
host X host Y

PO=A, PD =1138,

˜ Numeros de sequencia sao usados para detecter perdas e ´ ¨ˆ reordenar segmentos No TCP, numeros de sequencia representam bytes transmitidos ´ ¨ˆ ˜ na conexao
segmentos SYN e FIN consomem um byte da sequencia ¨ˆ

SYN, Se q=200

´ O reconhecimento (ACK) indica o proximo byte esperado na ˜ conexao ˜ ´ A janela de transmissao representa a quantidade maxima de ˜ bytes nao reconhecidos que um emissor pode transmitir
´ responsavel pelo controle de fluxo entre emissor e receptor

SYN/ACK =1337, PO=B, PD , ACK=C Seq=1400 ACK, Se q=D, Ac k=E Seq=F, Ack=G, dados=’t he book is’ dados=’o ble’ n the ta

Seq=H,

Ack=I,

Seq=J,

Ack=K

tempo

quais os valores de D, E, . . . , K?
c 2008 Rafael Obelheiro (DCC/UDESC) ´ Aula 13: TCP/IP – Conceitos Basicos SEG 36 / 44 c 2008 Rafael Obelheiro (DCC/UDESC) ´ Aula 13: TCP/IP – Conceitos Basicos SEG 37 / 44

Lidando com perdas
Ao transmitir um segmento, o emissor inicia um temporizador para esse segmento ´ Se, apos um determinado intervalo de tempo (timeout), o ACK ˜ ´ correspondente nao e recebido, o emissor considera que houve uma perda e retransmite o segmento ´ No receptor, uma perda e caracterizada por um segmento fora de ordem
´ nesse caso, o receptor pode enviar um ACK para o proximo numero de sequencia esperado ´ ¨ˆ
ACK duplicado

Exemplo com perdas (receptor)
host K

Ack=1

Seq=1, Ack=980, dados=’b Seq=4, wk’ Ack=980, dados=’k Seq=10, en’ Ack=980, dados=’d Seq=16, mr’ Ack=980, dados=’r Seq=19, ob’ Ack=980, dados=’p jw’

(1) (2) (3) (4) (5)

ao receber um ACK duplicado, o emissor entende que o receptor ´ esta sinalizando uma perda e retransmite o segmento

tempo

˜ quantos segmentos sao perdidos? ˜ quais ACKs sao enviados nos instantes (1) a (5)?

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

38 / 44

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

39 / 44

Aspectos de seguranca do TCP ¸

˜ Sequestro de conexoes TCP (TCP hijacking) ¨

˜ ´ O TCP nao e muito mais seguro do que IP ou UDP O uso de numeros de sequencia dificulta um pouco a injecao de ¸˜ ´ ¨ˆ ´ trafego
o atacante precisa forjar o endereco de origem E usar o numero de ¸ ´ sequencia certo para ter sucesso ¨ˆ

Premissa: atacante consegue prever ISNs gerados pela v´tima ı ˜ Exemplo: atacante X deseja estabelecer uma conexao com a v´tima B se passando por A ı
˜ 1. X abre uma conexao com a v´tima B para obter ISNB ı 2. AX → B : SYN, ISNX 3. B → A : SYN, ISNB , ACK(ISNX ) 4. AX → B : ACK(ISNB )
X usa o valor predito de ISNB ´ AX e um pacote enviado por X com endereco de A ¸ ˜ ´ B envia sua resposta, que nao e vista por X

˜ ˜ Entretanto, ataques de sequestro de conexoes TCP sao ¨ ´ conhecidos ha muitos anos
um ataque desse tipo foi usado por Mitnick contra Shimomura em 1994

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

40 / 44

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

41 / 44

˜ Sequestro de conexoes TCP (TCP hijacking) ¨

˜ Sequestro de conexoes TCP (TCP hijacking) ¨
´ Paliativo encontrado foi aleatorizar ISNs para torna-los imprevis´veis ı
RFC 1948 (Bellovin, 1996) Zalewski demonstrou em 2001 e 2002 que muitos sistemas continuavam gerando ISNs previs´veis (ver figura 2.3 no livro) ı

´ ˜ ´ Se ISNB e predito corretamente, a conexao e estabelecida, e X pode enviar dados para B como se fosse A
protocolos como RSH usam o endereco IP como mecanismo de ¸ autenticacao, e permitem que o atacante execute comandos como ¸˜ ´ ´ qualquer usuario na maquina v´tima ı

˜ ˜ A nao pode ver a resposta de B no passo 3, senao derruba a ˜ conexao com um RST
˜ nada que um SYN flood nao resolva. . .

Windows NT

IRIX

OpenVMS
c 2008 Rafael Obelheiro (DCC/UDESC) ´ Aula 13: TCP/IP – Conceitos Basicos SEG 42 / 44 c 2008 Rafael Obelheiro (DCC/UDESC)

FreeBSD
SEG 43 / 44

´ Aula 13: TCP/IP – Conceitos Basicos

Bibliografia

William R. Cheswick, Steven M. Bellovin e Aviel D. Rubin. Firewalls e Seguranca na Internet, 2a ed. Bookman, 2005. ¸ Cap´tulo 2. ı

c 2008 Rafael Obelheiro (DCC/UDESC)

´ Aula 13: TCP/IP – Conceitos Basicos

SEG

44 / 44