El ping de la muerte: uno de los primeros ataques de red
El ataque ping de la muerte (en inglés, ping of death attack), uno de los ataques más antiguos de Internet, producía la caída inmediata de los sistemas vulnerables. Afortunadamente, dejó de tener efecto en la mayoría de los dispositivos alrededor del año 1998.
El ataque ping of death utiliza el protocolo de mensajes de control de Internet (ICMP), aunque, en principio, también puede emplear otros protocolos basados en IP. Puesto que los sistemas modernos están protegidos contra el ping de la muerte, los piratas informáticos de hoy en día tienden a utilizar, en su lugar, el emparentado ping flood para perpetrar sus ataques.
¿Qué es el ping de la muerte?
El ping de la muerte es un tipo de ataque de denegación de servicio (DoS). Para desencadenarlo, el atacante envía un paquete de datos malicioso al receptor. Cuando el sistema de destino intenta procesarlo, se genera un error que bloquea el sistema.
Metafóricamente, el ping de la muerte es comparable a un paquete bomba: cuando la víctima lo abre, el mecanismo se activa y el objetivo resulta dañado o destruido de inmediato. El llamado comando ping, del que recibe su nombre este ataque, se utiliza generalmente para comprobar si un dispositivo está disponible en la red. En términos técnicos, el comando ping se basa en el protocolo de mensajes de control de Internet (ICMP), que se utiliza para transmitir información de estado en Internet.
Existen diferentes modelos de ataque que se engloban bajo el término genérico de ataques de denegación de servicio: el ping de la muerte, al igual que el SYN flood, pertenece a los ataques de protocolo. Además, están los ataques a la capa de aplicación, que incluyen en particular el HTTP flood, y ataques volumétricos que saturan el objetivo con un flujo masivo de datos, entre los que se incluyen el ping flood, muy relacionado con el ping of death, y el UDP flood, que se ha hecho famoso debido a la herramienta Low Orbit Ion Cannon, la llamada estrella de la muerte de la DDoS.
Cuál es la mecánica de un ataque ping de la muerte
Para llevar a cabo este ataque, el atacante crea un paquete ICMP que supera el tamaño máximo autorizado. Este datagrama se divide en fragmentos más pequeños para que pueda enviarse. Al volver a ensamblar todos los fragmentos en el lado del destinatario, el último supera el tamaño permitido, lo que provoca un desbordamiento de búfer si el sistema está desprotegido. El resultado es la caída o el bloqueo del sistema, que sufre el efecto de denegación de servicio.
Un paquete Echo ICMP suele tener un tamaño de 56 bytes. Por el contrario, el paquete enviado en un ataque ping of death tiene al menos 65 535 bytes, un tamaño más de mil veces mayor y equivalente al límite por paquete establecido en el subyacente protocolo de Internet (IP).
Para crear el paquete del ping de la muerte, el atacante utiliza el comando ping en la línea de comandos. La clave es un parámetro cuyo valor determina el tamaño del campo de datos ICMP. En los sistemas Windows, la opción se llama -l (del inglés load, es decir, cargar). En otros sistemas, se utiliza la opción -s (del inglés size, es decir, tamaño).
Ping de la muerte en Windows:
ping <dirección ip> -l 65500 -w 1 -n 1
Ping de la muerte en Linux/UNIX/macOS:
ping <dirección ip> -s 65500 -t 1 -n 1
Medidas para protegerse del ping de la muerte
El ping de la muerte es uno de los ataques más antiguos. Desde que se descubrió, en 1997, se han modificado algunas características del software de servidor y de los sistemas operativos, de manera que siempre se pueda garantizar que no se excede el tamaño máximo de un datagrama al combinar los fragmentos de IP. De forma alternativa, utilizar una memoria de búfer más grande puede proteger contra el temido desbordamiento. La mayoría de los sistemas modernos son inmunes al ping de la muerte.
Además, los paquetes maliciosos ya se filtran al pasar por la red, lo cual se puede hacer a nivel de rúters y cortafuegos o mediante el uso de redes de distribución de contenidos o CDN (del inglés content delivery network). En cada fragmento IP, se examina el encabezado, que debe incluir la siguiente fórmula: longitud del fragmento + longitud total ≤ 65 535 bytes. Si un fragmento IP no lo cumple, el tamaño total permitido se excede al ensamblar el datagrama y el paquete es entonces descartado.
Como todos los sistemas modernos suelen estar protegidos contra el ping de la muerte, hoy en día este ataque no representa prácticamente ningún peligro para los usuarios.