O que é o Protocolo de Mensagens de Controle da Internet (ICMP)?

O protocolo de mensagens de controle da internet é usado para diagnosticar problemas de rede na internet.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Definir o ICMP
  • Descrever como o ping e o traceroute funcionam
  • Entender como o protocolo ICMP pode ser usado em ataques DDoS

Copiar o link do artigo

O que é o Protocolo de Mensagens de Controle da Internet (ICMP)?

O Protocolo de Mensagens de Controle da Internet (ICMP) é um protocolo de camada de rede usado por dispositivos de rede para diagnosticar problemas de comunicação de rede. O ICMP é usado principalmente para determinar se os dados estão chegando ao destino pretendido em tempo hábil. Comumente, o protocolo ICMP é usado em dispositivos de rede, como roteadores. O ICMP é essencial para relatórios e testes de erros, mas também pode ser usado em ataques de negação de serviço distribuída (DDoS).

Para que o ICMP é utilizado?

O objetivo primário do ICMP é o relatório de erros. Quando dois dispositivos se conectam pela internet, o ICMP gera erros para compartilhar com o dispositivo de envio no caso de algum dos dados não chegar ao destino pretendido. Por exemplo, se um pacote de dados for muito grande para um roteador, o roteador descartará o pacote e enviará uma mensagem ICMP de volta à fonte original dos dados.

Um uso secundário do protocolo ICMP é realizar diagnósticos de rede; os utilitários de terminal comumente usados traceroute e ping operam usando o ICMP. O utilitário traceroute é usado para exibir o caminho de roteamento entre dois dispositivos de internet. O caminho de roteamento é o caminho físico real dos roteadores conectados pelos quais uma solicitação deve passar antes de atingir seu destino. A jornada entre um roteador e outro é conhecida como “salto” e um traceroute também informa o tempo necessário para cada salto ao longo do caminho. Isso pode ser útil para determinar as fontes de atraso da rede.

O utilitário ping é uma versão simplificada do traceroute. Um ping testará a velocidade da conexão entre dois dispositivos e informará exatamente quanto tempo um pacote de dados leva para chegar ao seu destino e retornar ao dispositivo do remetente. Embora o ping não forneça dados sobre roteamento ou saltos, ainda é uma métrica muito útil para medir a latência entre dois dispositivos. As as mensagens de solicitação de eco e resposta de eco ICMP são comumente usadas com a finalidade de executar um ping.

Infelizmente, os ataques de rede podem explorar esse processo, criando meios de interrupção, como o ataque de inundação de ICMP e o ataque ping of death.

Como funciona o ICMP?

Ao contrário do protocolo de internet (IP), o ICMP não está associado a um protocolo de camada de transporte como TCP ou UDP. Isso torna o ICMP um protocolo sem conexão: um dispositivo não precisa abrir uma conexão com outro dispositivo antes de enviar uma mensagem ICMP. O tráfego IP normal é enviado usando TCP, o que significa que quaisquer dois dispositivos que trocam dados realizarão primeiro um handshake TCP para garantir que ambos os dispositivos estejam prontos para receber dados. O ICMP não abre uma conexão dessa maneira. O protocolo ICMP também não permite direcionar uma porta específica em um dispositivo.

Como o ICMP é usado nos ataques DDoS?

Ataque de inundação de ICMP

Uma inundação de ping ou inundação de ICMP ocorre quando o invasor tenta sobrecarregar um dispositivo de destino com pacotes de solicitação de eco de ICMP. O alvo tem que processar e responder a cada pacote, consumindo seus recursos de computação até que usuários legítimos não possam receber o serviço.

Ataque de inundação de ICMP:

Ataque ping of death

Um ataque ping of death ocorre quando o invasor envia um ping maior do que o tamanho máximo permitido para um pacote para uma máquina de destino, fazendo com que a máquina congele ou falhe. O pacote é fragmentado no caminho para seu destino, mas quando o destino remonta o pacote em seu tamanho máximo original, o tamanho do pacote causa um estouro de buffer.

O ataque ping of death é, em grande parte, histórico atualmente. No entanto, equipamentos de rede mais antigos ainda podem ser suscetíveis a ele.

Ataque Smurf

Em um ataque Smurf, o invasor envia um pacote ICMP com um endereço de IP de origem falsificado. O equipamento de rede responde ao pacote, enviando as respostas para o IP falsificado e inundando a vítima com pacotes ICMP indesejados. Como o "ping of death", atualmente o ataque Smurf só é possível com equipamentos obsoletos.

O ICMP não é o único protocolo de camada de rede usado em ataques DDoS na camada 3. Os invasores também usam, no passado, pacotes GRE, por exemplo.

Normalmente, os ataques DDoS na camada de rede visam equipamentos e infraestrutura de rede, em oposição aos ataques DDoS na camada de aplicativos, que visam propriedades da web. O Magic Transit da Cloudflare é uma maneira de se defender contra ataques DDoS na camada de rede.