← Ver todos los recursos
Buffer Overflow
Tipos de Ataques • Vulnerabilidades

Buffer Overflow

Cómo funcionan los ataques de desbordamiento de búfer para ejecutar código malicioso.

Tags

Buffer OverflowMemoryCode ExecutionExploitation
Descargar infografía

Archivo: SecPro-ataques-buffer-overflow.gif

¿Qué es un buffer overflow?

Es el desbordamiento de un búfer: el programa escribe más datos de los que caben en la región de memoria reservada y sobrescribe lo que hay a continuación. Si esa zona contiene la dirección de retorno de una función, el atacante puede redirigir la ejecución hacia código que él controla. Es una de las vulnerabilidades más antiguas y sigue apareciendo en software escrito en C y C++.

Desbordamiento de pila y de montículo

En el desbordamiento de pila (stack) se sobrescribe la dirección de retorno o punteros de control de la función en curso, lo que da un camino directo al secuestro del flujo de ejecución. En el de montículo (heap) se corrompen las estructuras de gestión de memoria dinámica, y la explotación es más indirecta pero igualmente viable.

Protecciones y cómo se evaden

Los sistemas modernos incorporan canarios de pila, DEP/NX para impedir la ejecución en zonas de datos y ASLR para aleatorizar direcciones. No son infalibles: técnicas como ROP reutilizan fragmentos del propio código legítimo para eludir DEP. La defensa real es validar siempre los límites, usar funciones seguras y, cuando el contexto lo permite, lenguajes con gestión de memoria segura.

Otros recursos de Tipos de Ataques • Vulnerabilidades

Explora más infografías

Ver catálogo completo

¿Necesitas ayuda con tu ciberseguridad? 💬