Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

ESTÁGIO DE SEGURANÇA DA INFORMAÇÃO
5° Centro de Telemática de Área
 
MÓDULO II
Protocolos TCP/IP
 
Protocolo IP
O datagrama IP
 
Protocolo IP
Versão - Este campo controla a versão do protocolo a que 
pertence o pacote;
HL (Header Length) - Este campo indica o comprimento do 
cabeçalho uma vez que este possui comprimento variável 
em palavras de 32 bits. Seu valor mínimo é igual a 5;
ToS (Type of Service - Tipo de Serviço) - Informa o tipo de 
serviço que o host deseja. Pode haver diversas combinações 
de confiabilidade e velocidade desejadas. Esse campo é 
muito utilizado para prover alguns tipos de QoS;
Comprimento Total - Comprimento total do pacote, tanto 
quadro quanto cabeçalho. O comprimento máximo é de 
65.536 Bytes (MTU);
 
Protocolo IP
Identificação - Permite ao host de destino determinar a que 
datagrama pertence um fragmento recém-chegado. Todos os 
fragmentos de um datagrama contêm o mesmo valor em 
Identificação;
DF (Don't Fragment - Não Fragmente) - Este bit informa 
aos gateways para não fragmentar este pacote, se não o 
destino será incapaz de juntar novamente as partes;
MF (More Fragments - Mais Fragmentos) - Todos os 
fragmentos exceto o último possui esse bit ativado. Ele indica 
que este pacote não é o último de uma seqüência de 
fragmentos;
Offset - 
 
Protocolo IP
TTL (Time to Live - Tempo de Vida) – Tempo máximo em 
que um datagrama pode permanecer na rede em segundos, 
inicialmente configurado como 255. A cada salto este campo 
é decrementado. No momento que ele atingir o valor zero 
este pacote será descartado. Foi criado para evitar que 
pacotes trafeguem indefinidamente na rede;
Protocolo - Indica a qual, dentre os diversos processos da 
camada de transporte, pertence o datagrama. Este campo 
somente é analisado após a remontagem completa do 
quadro;
Checksum (Soma de Verificação) - Esta verificação diz 
respeito somente ao cabeçalho;
 
Protocolo IP
Endereço de Origem e Endereço de Destino - Indicam o 
numero de rede e de host da origem e do destino;
Opções - Utilizado para informações de segurança, 
roteamento na origem, relatório de erros, depuração, fixação 
da hora e outros. Também utilizado para implementação 
compatível de versões subseqüentes.
 
Protocolo UDP
O datagrama UDP
 
Protocolo UDP
 A mensagem UDP contém:
- porta de origem: usada pelo destino em uma 
resposta
- porta de destino: usada na demultiplexação
 O checksum UDP engloba:
- cabeçalho do datagrama UDP + 
pseudo-header
- endereço IP de origem e destino + protocol 
field + UDP length
- pseudo-header é usado para verificar se o 
pacote UDP atingiu seu destino correto 
 
Protocolo TCP
O datagrama TCP
 
Protocolo TCP
Portas de destino e origem - identificam os programas 
aplicativos nas extremidades da conexão.
Número de Sequência - identifica a posição na cadeia 
de bytes do transmissor de dados no segmento.
Número de Confirmação ou Reconhecimento - 
identifica o número do octeto que a origem espera 
receber posteriormente.
Tamanho do cabeçalho - tamanho do cabeçalho em 
bytes.
 
Protocolo TCP
Flags- da esquerda para a direita
URG – existem dados urgentes
ACK - campo de reconhecimento é válido
PSH - solicita a função push (envio imediato).
RST - restabelecer a conexão
SYN - iniciar a conexão
FIN - liberar uma conexão
Tamanho da Janela - tamanho da janela de recepção, 
quantidade máxima de bytes que o computador pode 
receber.
 
Protocolo TCP
Checksum – Soma de verificação feita em todo 
conteúdo do segmento TCP. Para computar o 
CHECKSUM, o TCP utiliza um pseudo header de 12 
bytes adicionado ao datagrama inicial. O pseudo-header 
não é transmitido e sim descartado logo após o 
CHECKSUM ser computado.
Urgent Pointer – Posição dos dados urgentes dentro do 
segmento IP, só é válido se o Flag URG estiver ativo.
 
Protocolo TCP
 
Protocolo TCP
 
Protocolo TCP
Máquina de Estados Finita (FSM)
--> Mecanismo usado para explicar o funcionamento de protocolos 
complexos. Trata o protocolo como uma máquina virtual que 
transita por vários estados de operação em resposta a 
acontecimentos.
 
--> Conceitos essenciais:
Estado: A “circunstância” ou “status” que descreve o software do 
protocolo em um dado instante. 
Transição: A ação de mudar de um estado para outro. 
Evento: Algo que provoque a transição entre estados. 
Ação: Algo que o dispositivo faz em resposta a um evento antes 
da ocorrência da transição para outro estado. 
 
Protocolo TCP
Máquina de Estados Finita (FSM)
--> O estado das conexões TCP é controlado por mensagens do 
próprio protocolo. Estas mensagens são enviadas através do 
ajuste de bits dos flags do cabeçalho do datagrama TCP.
 
--> Estas mensagens são:
SYN: Uma mensagem de sincronismo, usada para iniciar e 
estabelecer uma conexão. Tem este nome porque uma de suas 
funções é sincronizar os números de sequência entre os 
dispositivos.
FIN: Uma mensagem de término, corresponde a um segmento 
TCP com o bit FIN ajustado para um, indicando que um dispositivo 
deseja terminar uma conexão.
ACK: Um reconhecimento, indica o recebimento de uma 
mensagem ou segmento.
 
Protocolo TCP
CLOSED
LISTEN
SYN-SENT
Estado Descrição do Estado Evento e Transição
Este é o estado inicial padrão antes do 
estabelecimento de conexões. É um estado 
fictício, pois representa uma situação onde não 
há conexões entre os dispositivos
Passive Open: Um servidor inicia o processo de 
estabelecimento de conexão executando um 
passive open em uma porta TCP. Ao mesmo tempo 
ele estabelece a estrutura de dados necessária para 
gerenciar a conexão (Transmission Control Block- 
TCB)e vai para o estado LISTEN.
Active Open, Envia SYN: Um cliente inicializa o 
processo de estabelecimento de uma conexão 
enviando uma mensagem SYN e estabelecendo o 
TCB para a conexão. Vai para o estado SYN-SENT.
Um dispositivo, normalmente um servidor, está 
esperando uma mensagem de sincronismo 
(SYN) de um cliente qualquer. Ele ainda não 
enviou o seu próprio SYN.
Recebe SYN do Cliente, Envia SYN+ACK: O 
servidor recebe o SYN do cliente. Envia de volta 
uma mensagem contendo o ACK e o seu próprio 
SYN. Vai para o estado SYN-RECEIVED.
Um dispositivo, normalmente o cliente, enviou 
uma mensagem de sincronismo (SYN) e está 
esperando por uma mensagem SYN do servidor.
Recebe SYN, Envia ACK: Se o dispositivo que 
enviou o SYN recebe um SYN do seu parceiro sem 
o ACK do seu próprio SYN, ele reconhece o SAYN 
e vai para o estado SYN-RECEIVED para esperar 
pelo ACK do seu SYN.
Recebe SYN+ACK, Envia ACK: Se o dispositivo 
que enviou o SYN recebe o ACK e o SYN do seu 
parceiro, ele reconhece o SYN e vai para o estado 
ESTABLISHED.
 
Protocolo TCP
SYN-RECEIVED
ESTABLISHED
CLOSE-WAIT
LAST-ACK
Estado Descrição do Estado Evento e Transição
O dispositivo recebeu uma mensagem SYN do 
parceiro e já enviou o seu próprio SYN. Está 
agora esperando pelo ACK do seu SYM para 
finalizar o processo de estabelecimento de 
conexão.
Recebe ACK: Quando um dispositivo recebe um 
ACK para o SYN que enviou, ele vai para o estado 
ESTABLISHED.
O estado permanente de uma conexão TCP 
aberta. Os dados podem ser trocados livremente 
pelos dispositivos. Este estado permanece até 
que a conexão seja finalizada.
Close, Envia FIN: Um dispositivo pode finalizar 
uma conexão enviando uma mensagem FIN. Vai 
para o estado FIN-WAIT-1.
Recebe FIN: Um dispositivo pode receber uma 
mensagem FIN do seu parceiro. Ele vai reconhecer 
a mensagem e mudar para o estado CLOSE-WAIT.
O dispositivo recebeu uma solicitação de 
fechamento de conexão (FIN) do outro 
dispositivo. Ele deve agora esperar que a 
aplicação local reconhecer a solicitação e gerar 
asua própria solicitação.
Close, Envia FIN: A aplicação usando o TCP foi 
informada que o parceiro deseja finalizar a conexão 
envia uma solicitação CLOSE para o TCP da 
máquina em que está sendo executada. O TCP 
então envia um FIN para o dispositivo remoto, que 
já enviou o seu FIN. O dispositivo vai parao estado 
LAST-ACK.
Um dispositivo que já recebeu a solicitação de 
fechamento da conexão (FIN), já enviou o ACK, 
enviou o seu próprio FIN e está esperando pelo 
ACK do seu FIN.
Recebe ACK para FIN: O dispositivo recebe um 
reconhecimento para a sua solicitação de 
fechamento. O dispositivo já enviou o FIN, recebeu 
o ACK, o FIN do parceiro e enviou o ACK, então vai 
direto para o estado CLOSED.
 
Protocolo TCP
FIN-WAIT-1
FIN-WAIT-2
CLOSING
TIME-WAIT
Estado Descrição do Estado Evento e Transição
Um dispositivo neste estado está esperando o 
ACK para o FIN que enviou, ou está esperando 
por uma solicitação de fechamento do seu 
parceiro.
Recebe ACK para FIN: O dispositivo recebe um 
reconhecimento para a sua solicitação de 
fechamento. Vai para o estado FIN-WAIT-2.
Recebe FIN, Envia ACK: O dispositivo não recebe 
um ACK para o seu FIN, mas recebe um FIN do seu 
parceiro. Ele reconhece I FIN e vai para o estado 
CLOSING.
Um dispositivo neste estado recebeu o ACK 
para o FIN que enviou e agora está esperando o 
FIN do seu parceiro.
Recebe FIN, Envia ACK: O dispositivo recebe um 
FIN. Envia o ACK e vai para o estado TIME-WAIT.
O dispositivo recebeu um FIN do seu parceiro, 
enviou o ACK mas ainda não recebeu o ACK 
para o FIN que enviou.
Recebe ACK para FIN: O dispositivo recebe o 
reconhecimento para a sua solicitação de 
encerramento. Vai para o estado TIME-WAIT.
O dispositivo recebeu um FIN do seu parceiro, 
reconheceu ACK, enviou o seu proprio FIN e o 
ACK. Está esperando somente para garantir que 
o ACK foi recebido e prevenir a superposição de 
conexões.
Expiração do Timer: Depois do período de espera 
determinado, o dispositivo vai para o estado 
CLOSED.
 
Protocolo TCP
 
Protocolo TCP
--> Active OPEN e Passive OPEN
--> O TCP é baseado no modelo cliente/servidor.
A preparação para a conexão difere entre o 
cliente e o servidor
Active OPEN: O processo cliente usando o TCP 
desempenha um papel ativo e inicia a conexão 
enviando uma mensagem SYN.
Passive OPEN: A aplicação servidora contacta o 
TCP e diz “Estou aqui esperando por conexões 
nesta porta”, o servidor só fica escutando a porta.
 
Protocolo TCP
Finalidades do estabelecimento da conexão
--> Contato e comunicação: Cliente e servidor 
entram em contato para estabelecer a conexão.
--> Sincronização de número de sequência: Cada 
dispositivo informa ao parceiro o número de 
sequência que vai utilizar para a primeira 
transmissão.
--> Troca de parâmetros: Certos parâmetros de 
controle da conexão são trocados pelos 
dispositivos.
 
Protocolo TCP
Cliente Servidor
Estado 
Inicial Ação Estado futuro
Estado 
Inicial Ação Estado futuro
CLOSED
Cliente não pode fazer 
nada - CLOSED
Servidor executa uma 
Passive Open LISTEN
CLOSED
Cliente executa uma 
Active OPEN criando o 
TCB e enviando um 
SYN
SYN-SENT LISTEN
Servidor espera por 
contato de um cliente 
qualquer -
SYN-SENT
Cliente espera o ACK e 
o SYN do Servidor - LISTEN
Servidor recebe o SYN 
do Cliente e envia um 
SYN+ACK
SYN-RECEIVED
SYN-SENT
Cliente recebe o 
SYN+ACK do Servidor 
e envia o ACK
ESTABLISHED
SYN-
RECEIVED
Servidor espera pelo 
ACK -
ESTABLISHED
Cliente espera que o 
servidor finalize o 
estabelecimento da 
conexão
-
SYN-
RECEIVED
Servidor recebe o ACK 
e finaliza o 
estabelecimento da 
conexão
ESTABLISHED
ESTABLISHED
Cliente está pronto 
para a comunicação - ESTABLISHED
Servidor está pronto 
para a comunicação -
 
Protocolo TCP
 
Protocolo TCP
 
Protocolo TCP
Sincronização de Números de Sequência
--> Os números de sequência são escolhidos de 
forma aleatória e independente por cada 
dispositivo.
--> Depois de escolher o ISN, o dispositivo o 
envia ao seu parceiro junto com a mensagem 
SYN.
--> A mensagem de reconhecimento ACK, 
enviada pelo parceiro trará o ISN escolhido mais 
um no número do reconhecimento.
 
Protocolo TCP
Sincronização de Números de Sequência:
Exemplo:
1- Conexão Solicitada pelo cliente: O cliente escolhe 
um ISN: 4.567. Envia um SYN com número de 
sequência 4.567. 
2- Reconhecimento e Solicitação do Servidor: O 
Servidor escolhe um ISN: 12.998. Recebe o SYN do 
Cliente. Envia um SYN+ACK com Número de 
reconhecimento 4.568 e número de sequência 12.998. 
3- Reconhecimento do Cliente: O Cliente envia um 
ACK com número de reconhecimento12.999. 
 
Protocolo TCP
 
Protocolo TCP
Além do tamanho máximo da janela, outros parâmetros 
podem ser trocados durante o estabelecimento da conexão:
Window Scale Factor: Permite que dois dispositivos 
especifiquem janelas maiores que a s possíveis com os 16 
bits do cabeçalho.
Selective Acknowledgment Permitted: Permite o uso dos 
reconhecimentos seletivos, só alguns segmentos são 
retransmitidos.
 
Alternate Checksum Method: Permite que os dispositivos 
utilizem um mecanismo alternativo para cálculo do 
checksum.
 
Protocolo TCP
Função RESET do TCP:
Tem como função trazer confiabilidade e robustez ao TCP.
Modo de lidar com conexões parcialmente abertas, 
ocasionadas por crash em aplicações sem o conhecimento 
do parceiro.
Uma mensagem de RESET se caracteriza pelo valor um (1) 
no flag RST.
Esta mensagem é gerada quando algo inesperado acontece 
para o software do TCP.
 
Protocolo TCP
Alguns casos onde o RESET é usado:
Recebimento de um segmento TCP de um dispositivo com o 
qual não possui uma conexão estabelecida (exceto se o SYN 
estiver com o valor um).
Recebimento de uma mensagem com um número de 
sequência ou número de reconhecimento inválido ou 
incorreto, indicando que a mensagem pertence a uma 
conexão anterior ou maliciosa.
Recebimento de uma mensagem SYN em uma porta na qual 
não existe nenhuma aplicação escutando.
 
Protocolo TCP
Recebimento de um segmento RESET:
Se o dispositivo estiver no estado LISTEN, o RST é ignorado 
e ele se mantém neste estado.
Se o dispositivo estiver no estado SYN-RECEIVED e estava 
anteriormente no estado LISTEN (Situação normal em 
servidores), ele retorna para o estado LISTEN.
 
Em qualquer outra situação, o RST faz com que a conexão 
seja abortada e o dispositivo vai para o estado CLOSED para 
esta conexão. O dispositivo vai informar à aplicação que a 
conexão foi fechada.
 
Protocolo TCP
Gerenciamento de conexões ociosas:
A especificação do TCP não prevê nenhuma ação para 
manter conexões ociosas (sem tráfego por longos períodos).
Um dos participantes pode cair e o outro não toma 
conhecimento disso.
Há um acordo entre alguns implementadores de que uma 
conexão ociosa por um longo período deve estar quebrada.
O software do TCP frequentemente possui um mecanismo, 
não oficial, de enviar segmentos nulos periodicamente. Se a 
conexão estiver válida, o parceiro envia o ACK.
Mecanismo conhecido como mensagens de keepalive
 
Protocolo TCP
Finalização de conexões:
No procedimento normal cada lado termina o seu lado da 
conexão enviando uma mensagem FIN (finish).
A mensagem FIN pode vir em um segmento regular que 
carrega dados.
O dispositivo que recebe o FIN responde com um ACK, 
indicando que recebeu o FIN.
A conexão não é considerada terminada até que ambos os 
lados terminem o procedimento de fechamento, enviando um 
FIN e recebendo um ACK. 
 
Protocolo TCP
Cliente Servidor
Estado Inicial Ação Estado futuro Estado Inicial Ação Estado futuro
ESTABLISHED
Depois de solicitado 
pela aplicação, cliente 
envia FIN
FIN-WAIT 1 ESTABLISHED
Servidor em operação 
normal -
FIN-WAIT 1
Cliente espera pelo 
ACK e FIN e pode 
continuar recebendo 
dados
- ESTABLISHED
Recebe o FIN e envia 
o ACK. Informa a 
aplicação e espera 
resposta.
CLOSE-WAIT
FIN-WAIT 1
Recebe ACK e espera 
FIN do servidor FIN-WAIT 2 CLOSE-WAIT
Servidor espera 
aplicação enviar o 
close
-
FIN-WAIT 2
Cliente espera o FIN
- CLOSE-WAIT
Aplicação envia o close 
e servidor envia o FIN LAST-ACK
FIN-WAIT 2 Cliente recebe o FIN e 
envia o ACK
TIME-WAIT LAST-ACK Servidor espera ACK 
do cliente
-
TIME-WAIT Cliente espera um 
período para servidor 
finalizar
-LAST-ACK Servidor ecebe ACK e 
fecha a conexão
CLOSED
TIME-WAIT Timer expira CLOSED CLOSED Conexão é fechada 
no lado do servidor
-
CLOSED Conexão é fechada - CLOSED Conexão é fechada -
 
Protocolo TCP
 
Protocolo TCP
 
ESTÁGIO DE SEGURANÇA DA INFORMAÇÃO
Perguntas?
auxsecseg02@5cta.eb.mil.br
	Página 1
	Página 2
	Página 3
	Página 4
	Página 5
	Página 6
	Página 7
	Página 8
	Página 9
	Página 10
	Página 11
	Página 12
	Página 13
	Página 14
	Página 15
	Página 16
	Página 17
	Página 18
	Página 19
	Página 20
	Página 21
	Página 22
	Página 23
	Página 24
	Página 25
	Página 26
	Página 27
	Página 28
	Página 29
	Página 30
	Página 31
	Página 32
	Página 33
	Página 34
	Página 35
	Página 36
	Página 37
	Página 38
	Página 39

Mais conteúdos dessa disciplina