Definición de ‘desbordamiento de búfer’

| |

Definición: El desbordamiento de búfer ocurre cuando un programa intenta almacenar más datos en un área de almacenamiento temporal de los que puede contener. Escribir fuera del área de memoria asignada puede dañar los datos, bloquear el programa o provocar la ejecución de código malicioso que puede permitir que un atacante modifique el espacio de direcciones del proceso de destino.

Descripción: El desbordamiento del búfer ocurre cuando los datos que se escriben en el búfer también terminan corrompiendo los valores de los datos en las direcciones de memoria. Los ataques de desbordamiento de búfer ocurren cuando las malas prácticas de programación (que suministran el marco) dejan vulnerabilidades abiertas. Es común en algunos lenguajes de programación porque exponen detalles de bajo nivel de búferes para tipos de datos. Muchas funciones de manipulación de memoria en el lenguaje de programación no operan la verificación de límites y pueden sobrescribir rápidamente los búfer asignados en los que operan. Este es un error común en el desarrollo de aplicaciones web. Es necesario asignar búferes que sean lo suficientemente grandes o comprobar si hay problemas de desbordamiento. El desbordamiento de búfer puede estar presente en aplicaciones web que sirven la expresión estática y dinámica. Los atacantes utilizan desbordamientos de búfer para dañar la pila de ejecución de las aplicaciones web. No es como el típico virus de correo electrónico donde los usuarios pueden protegerse no abriendo los archivos adjuntos. En los ataques de desbordamiento de búfer, los usuarios ni siquiera tienen que abrir el mensaje para habilitar el ataque. Al detectar una variable dentro de algunos límites antes de que se use, se pueden evitar los desbordamientos del búfer. En los ataques de desbordamiento de búfer, los datos adicionales pueden contener códigos diseñados para activar acciones específicas, transmitiendo de hecho nuevas instrucciones a la computadora atacada.