Home Comunidade Eventos YouTube Networks Desafios // produtos Academy News CTI | CVE Contato

09 - Source Address

#4
video explicativo
Video explicativoEspaco reservado para o video desta anotação — adicione video: https://youtu.be/... no frontmatter da nota.

O campo Source Address (Endereço de Origem) é um campo de 32 bits (4 bytes) localizado no cabeçalho IPv4, cuja função é identificar inequivocamente a interface de rede do host que originou o datagrama IP. É o endereço lógico do remetente dentro da arquitetura TCP/IP.

Este campo é um dos pilares da comunicação em rede, pois, em um protocolo "sem conexão" como o IP, onde cada pacote é uma entidade independente, o Source Address é a âncora que permite que o receptor saiba para onde enviar qualquer resposta, estabelecendo a capacidade de comunicação bidirecional em um meio tecnicamente unidirecional.

1. Estrutura Binária e Formatação

O campo de 32 bits é dividido em 4 octetos (4 grupos de 8 bits), representados convencionalmente em notação decimal pontuada (dotted-decimal notation) para facilitar a leitura humana (ex: 192.168.10.5).

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Source Address                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • Network Byte Order (Big-Endian): Seguindo o padrão do cabeçalho IP, o endereço de origem é transmitido com o byte mais significativo (MSB) primeiro. O primeiro octeto transmitido corresponde ao primeiro número na notação decimal.
  • Hierarquia: O endereço não é um número aleatório; é composto por duas partes lógicas (Net ID e Host ID), embora essas partes não sejam visíveis explicitamente no valor binário perto sem a máscara de sub-rede. Roteadores examinam apenas a parte de rede para tomar decisões de encaminhamento.
  • Posição no Cabeçalho: Ocupa os bytes 12 a 15 (palavras de 32 bits #4) do cabeçalho IPv4 mínimo.

2. Função: Identificação e Suporte à Resposta

Como o protocolo IP é inerentemente fire-and-forget (dispare e esqueça), sem estabelecimento prévio de conexão, o Source Address é o único mecanismo que permite a "conversação".

  • Endereço de Retorno: Quando o host de destino recebe o datagrama, se ele precisar responder (seja para confirmar o recebimento via TCP/ACK, enviar um erro via ICMP, ou responder a uma requisição de aplicação), ele inverterá os papéis: o endereço que estava no campo Source Address se tornará o Destination Address no novo datagrama de resposta.
  • Log e Auditoria: Este campo é fundamental para segurança e gestão. Firewalls, roteadores e sistemas de detecção de intrusão (IDS) usam o endereço de origem para aplicar políticas de controle de acesso (ACLs), como "permitir tráfego da rede interna, bloquear tráfego externo".
  • Identificação de Sessão: Em conjunto com Destination Address, Protocol, Source Port e Destination Port (em L4), o Source Address compõe a quintupla (5-tuple) que identifica unicamente uma sessão TCP/UDP.

3. Restrições e Endereços Inválidos como Origem

Devido à sua função de remetente, o protocolo IPv4 impõe regras estritas sobre quais valores podem ser colocados no campo Source Address de um pacote que está saindo para a rede pública.

  • Endereços Unicast: Geralmente, o endereço de origem deve ser um endereço Unicast atribuído a uma interface válida.
  • Exclusão de Multicast e Broadcast: Um pacote válido na internet não pode ter um endereço de Multicast (Classe D, 224.0.0.0/4) ou Broadcast (255.255.255.255) como origem, pois um pacote não pode ser "enviado por um grupo", apenas por um dispositivo específico.
  • Endereços Reservados:
    • Loopback (127.0.0.0/8): Um pacote com origem 127.0.0.1 nunca deve aparecer em uma rede externa; ele é estritamente para uso interno no host (localhost). Roteadores tipicamente descartam pacotes com origem no range de loopback.
    • Endereço Não Especificado (0.0.0.0): Este é um endereço especial usado quando um host ainda não possui um endereço IP atribuído (ex: durante a fase de descoberta do protocolo DHCP). O host envia um pedido com origem 0.0.0.0 para pedir um IP. Uma vez que o host tenha um endereço, ele deve usá-lo. Pacotes com origem 0.0.0.0 não são roteáveis na internet.
    • Link-Local (169.254.0.0/16): Endereços autoconfigurados (APIPA), não roteáveis.
    • Private Ranges (RFC 1918): 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16. Não devem aparecer como origem de tráfego entrante na borda de provedores (BCP 38).

4. O Fenômeno do NAT (Network Address Translation)

Um ponto crítico para a compreensão moderna do Source Address é o conceito de NAT. Embora a especificação original do IP assuma que o endereço de origem identifique o host final na rede privada, na prática, a maioria das redes domésticas e corporativas usa NAT.

  • Mudança em Trânsito: Quando um pacote passa por um roteador NAT (o roteador Wi-Fi de casa, por exemplo), o roteador substitui o Source Address original (o IP privado do computador, ex: 192.168.1.50) pelo seu próprio endereço IP público fornecido pelo provedor (ex: 200.100.50.20).
  • Quebra do Modelo Fim-a-Fim: Isso significa que, para a internet externa, o Source Address não é o host real, mas o intermediário. O roteador mantém uma tabela interna para lembrar qual host interno fez a requisição e poder encaminhar a resposta de volta.
  • Tipos de NAT: SNAT (Source NAT) altera origem; DNAT (Destination NAT) altera destino; PAT/Overload (NAPT) mapeia múltiplas origens internas em um único IP público via portas.
  • Implicações para Auditoria: Análises de logs emprovedoras que dependem do Source Address podem não identificar o host exato em ambiente com NAT, exigindo correlação com logs do roteador NAT.

5. IP Spoofing e Mitigação (uRPF)

Como o remetente pode colocar qualquer valor no campo Source Address, atacantes podem falsificar a origem dos pacotes (Spoofing) para ocultar sua identidade ou lançar ataques de reflexão.

Ataques que utilizam Spoofing

  • Smurf Attack: Echo Requests ICMP com origem spoofada para o endereço da vítima, dirigidos a broadcasts de redes amplificadoras.
  • SYN Flood Amplificado: Inundação de SYN TCP com origem forjada.
  • DNS Amplification Attack: Consultas DNS via UDP com origem spoofed, gerando respostas amplificadas para a vítima.
  • Reflection Attacks em geral: Qualquer protocolo UDP stateless é vulnerável.

Mitigação: uRPF (Unicast Reverse Path Forwarding)

O uRPF (RFC 3704) verifica se o endereço de origem de um pacote entrante é consistente com a tabela de roteamento do roteador:

  • Strict uRPF (modo estrito): Verifica se o pacote chegou pela mesma interface que o roteador usaria para enviar respostas ao Source Address. Usado em bordas simétricas.
  • Loose uRPF (modo flexível): Verifica apenas se existe alguma rota para o Source Address via qualquer interface. Usado em bordas assimétricas.
  • uRPF com Failsafe: Permite exceções via ACL.

Outras técnicas anti-spoofing incluem:

  • BCP 38 / RFC 2827 (Ingress/Egress Filtering): Provedores filtram pacotes com origem inconsistente com o bloco do cliente.
  • TCP SYN Cookies: Mitigam SYN floods mesmo com spoofing.

6. Comparação com o Endereço de Enlace (MAC)

É vital distinguir o Source Address (IP) do Source MAC Address (Camada de Enlace):

Característica Source IP (L3) Source MAC (L2)
Escopo Global (fim-a-fim) Local (hop-to-hop)
Persistência Constante (exceto NAT) Muda a cada salto
Hierarquia Sim (Rede.Host) Não (flat)
Endereçamento Lógico Físico (queimado em hardware)
Tamanho 32 bits (IPv4) 48 bits
Atribuição Dinâmica (DHCP) ou estática Atribuído pelo fabricante (OUI + NIC)
  • Escopo: O Endereço IP (Origem) tem escopo global (fim-a-fim) e permanece constante (a menos que haja NAT) através de toda a jornada do pacote pela internet. O Endereço MAC (Origem) muda a cada salto (hop), pois é sempre o endereço do dispositivo que colocou o quadro no meio físico imediato (o roteador anterior).
  • Persistência: O IP identifica a sessão lógica, enquanto o MAC identifica o salto físico atual.

7. Source Address em IPv6

No IPv6, o campo equivalente ocupa 128 bits (16 bytes), permitindo um espaço de endereçamento extraordinariamente maior. As regras de validação são semelhantes:

  • Endereços link-local (fe80::/10) não devem aparecer como origem de tráfego roteado.
  • Endereços multicast não podem ser origem.
  • Endereços unspecified (::) apenas em DHCPv6 Solicit.
  • Privacy Extensions (RFC 4941) geram endereços temporários para mitigar rastreamento de hosts.
  • SLAAC (Stateless Address Autoconfiguration) deriva o host ID do MAC via EUI-64.

Em suma, o campo Source Address é a assinatura de remetente do datagrama IP. Sua correta configuração, validação e proteção (contra spoofing) são fundamentais para o funcionamento seguro e confiável da Internet.