Protocolo ICMP
O que é Protocolo de mensagens de controle da Internet (ICMP)?
O Protocolo de mensagens de controle da Internet (ICMP) é um protocolo que os dispositivos de uma rede usam para comunicar problemas com a transmissão de dados. Nessa definição do ICMP, uma das principais maneiras pelas quais o ICMP é usado é determinar se os dados estão chegando ao seu destino e no momento certo. Isso torna o ICMP um aspecto importante do processo de relatório de erros e testes para ver como uma rede está transmitindo dados. No entanto, ele também pode ser usado para realizar ataques de negação de serviço distribuído (DDoS).
A maneira como o ICMP trabalha na comunicação em rede é semelhante à comunicação que acontece entre um carpinteiro que constrói uma casa e uma loja de materiais de construção. A loja envia pregos, assoalhos, materiais de cobertura, isolamento e muito mais, desde que cada componente chegue na ordem certa.
Por exemplo, quando o carpinteiro começa a construir uma parede, ele pede 28 caibros, 5 quilos de pregos e uma porta. Ele precisa colocar os pregos primeiro, os caibros por segundo e a porta por último. A loja de materiais de construção os envia nessa ordem, mas a porta chega primeiro. Isso não vai dar certo porque não tem como pendurar uma porta sem ter primeiro uma parede. Assim, o carpinteiro pede que a loja reenvie os pregos e os caibros, e a loja os reenvia, dizendo ao motorista para seguir um caminho diferente.
O ICMP funciona como a comunicação entre o carpinteiro e a loja. Ele transmite mensagens do receptor para o remetente sobre os dados que deveriam chegar. Se os dados não chegarem ao receptor ou forem recebidos na ordem errada, o ICMP informa o remetente para que os dados possam ser reenviados. Dessa forma, o ICMP é simplesmente um protocolo para comunicar informações sobre dados, mas não gerencia os dados em si.
Além disso, ele não tem seu próprio nível dentro do modelo de Interconexão de Sistemas Abertos (OSI), que descreve as sete camadas envolvidas nas transmissões de rede. Entender o ICMP pode ajudá-lo a ver por que ele é uma ferramenta tão valiosa, mas também é importante entender como o ICMP pode ser usado em ataques DDoS que podem ameaçar uma organização.
Para que o ICMP é usado?
O uso número um do ICMP é para relatar erros. Sempre que dois dispositivos são conectados pela Internet, o ICMP pode ser usado para criar erros que podem ir do dispositivo de recebimento para o dispositivo de envio se alguns dos dados não chegarem conforme o esperado. Por exemplo, pacotes de dados extremamente grandes podem ser enormes demais para um roteador gerenciar. Nesse caso, o roteador descartará o pacote de dados e transmitirá uma mensagem do ICMP ao remetente informando-o do problema.
Outro uso comum do ICMP é como uma ferramenta de diagnóstico para avaliar o desempenho de uma rede. O traceroute e o ping usam ICMP. O traceroute e o ping são mensagens enviadas sobre se os dados foram transmitidos com sucesso. Quando o traceroute é usado, os dispositivos pelos quais um pacote de dados passou para chegar ao seu destino são exibidos no relatório. Isso inclui os roteadores físicos que manipularam os dados.
O traceroute também informa quanto tempo levou para os dados irem de um dispositivo para outro. Cada vez que os dados vão entre os roteadores, a viagem é chamada de salto. As informações reveladas pelo traceroute podem ser usadas para descobrir quais dispositivos ao longo da rota estão causando atrasos.
Um ping é semelhante a um traceroute, mas mais simples. Ele informa quanto tempo leva para que os dados fiquem entre dois pontos. O ICMP facilita o ping porque a solicitação de eco ICMP e a resposta de eco são usadas durante o processo de ping.
O ICMP também é usado para prejudicar o desempenho da rede. Isso é feito usando uma inundação de ICMP, um ataque Smurf e um ataque ping da morte que sobrecarrega um dispositivo na rede e impede a funcionalidade normal.
Como funciona o ICMP?
O ICMP é diferente do Protocolo de Internet (IP) versão 6 ou IPv6, pois não está associado ao Protocolo de Controle de Transmissão (Transmission Control Protocol, TCP) ou ao Protocolo de Datagrama de Usuário (User Datagram Protocol, UDP). Dessa forma, não há necessidade de um dispositivo se conectar a outro antes de enviar uma mensagem ICMP.
Por exemplo, no TCP, os dois dispositivos que estão se comunicando primeiro usam um handshake que executa várias etapas. Após a conclusão do handshake, os dados podem ser transferidos do remetente para o destinatário. Essa informação pode ser observada usando uma ferramenta como a tcpdump.
O ICMP é diferente. Nenhuma conexão é formada. A mensagem é simplesmente enviada. Além disso, ao contrário do TCP e UDP, que ditam as portas para as quais as informações são enviadas, não há nada na mensagem do ICMP que a direcione para uma determinada porta no dispositivo que a receberá.
Como o ICMP é usado em ataques DDoS?
Em um ataque DDoS, o ICMP é usado de algumas formas diferentes: por meio de um ataque de inundação ICMP, um ataque ping da morte ou um ataque Smurf.
Em um ataque de inundação ICMP, o invasor tenta enviar tantos pings que o dispositivo que está sendo alvo não consegue lidar com todos os pacotes de solicitação de eco ICMP. Como cada pacote requer processamento e uma resposta, isso esgota os recursos do dispositivo, evitando que usuários legítimos sejam atendidos pelo dispositivo.
Um ataque de ping da morte envolve um invasor enviar um ping extremamente grande para um dispositivo que não consegue lidar com pings desse tamanho. A máquina pode então travar ou congelar. O pacote de dados é fragmentado à medida que se aproxima do alvo, mas durante o processo de remontagem, ele é reposicionado. Quando ele atinge o alvo, há um transbordamento de buffer, causando o mau funcionamento do dispositivo. O ataque de ping da morte é mais um perigo para equipamentos mais antigos dentro da rede.
Em um ataque Smurf, o invasor transmite um pacote ICMP que tem um endereço IP falso. Quando o equipamento na rede responde, cada resposta é enviada para o endereço IP falsificado e o destino é inundado com uma tonelada de pacotes ICMP. Esse tipo de ataque também é normalmente apenas um problema para equipamentos mais antigos.
Como a Fortinet pode ajudar
A proteção FortiDDoS da Fortinet pode manter sua rede segura contra o uso indevido de ICMP em ataques DDoS. O FortiDDoS examina o comportamento dos dispositivos e a atividade incomum da mensagem do ICMP é sinalizada para que o ataque possa ser interrompido. O FortiDDoS vem com um painel, perfis de proteção, configurações globais e uma interface gráfica de usuário fácil de usar para torná-lo mais conveniente de usar.
Para economizar tempo e esforço da sua equipe de TI, o FortiDDoS minimiza a quantidade de falsos positivos detectados. Ele também pode examinar centenas de milhares de diferentes aspectos de dados ao mesmo tempo, o que o torna uma ferramenta mais abrangente contra ataques DDoS. Além disso, com o FortiDDoS, você pode gerar relatórios e gráficos detalhados descrevendo a atividade da rede.
Perguntas frequentes
Para que o ICMP é usado?
O Protocolo de mensagens de controle da Internet (ICMP) é usado para relatar erros e realizar diagnósticos de rede. No processo de relatório de erros, o ICMP envia mensagens do destinatário para o remetente quando os dados não chegam como deveriam. Dentro do processo de diagnóstico, o ICMP é usado para enviar mensagens que são usadas por ping e traceroute para fornecer informações sobre como os dados são transmitidos.
O ICMP é o mesmo que ping?
ICMP e ping são duas coisas diferentes, embora estejam relacionadas. ICMP é um protocolo que controla como as mensagens são enviadas entre dispositivos. As solicitações e respostas de eco que o protocolo ICMP envia são normalmente chamadas de pings. Portanto, embora um ping seja produzido usando ICMP, ele não é um ICMP.
Como funciona o ping ICMP?
O processo de ping ICMP é uma maneira de testar se dois dispositivos na rede podem se conectar uns aos outros. Ele também pode ser usado para verificar a perda e o atraso de pacotes dentro de uma rede. O comando ping transmite uma solicitação de um eco ICMP para um dispositivo de rede. Esse dispositivo então responde imediatamente com um eco ICMP. Esses dados podem então ser analisados por software para verificar atrasos e se os dados estão sendo transmitidos ou não como deveriam.