90 likes | 279 Views
Buffer overflow. Cecilia Menéndez González Erick Giovanni Sánchez Madero Miguel Ángel González Alarcón.
E N D
Buffer overflow Cecilia Menéndez González Erick Giovanni Sánchez Madero Miguel Ángel González Alarcón
Una de las mayores vulnerabilidades de seguridad que tienen los actuales sistemas operativos y programas es ser sensibles a un desbordamiento de buffer, o como mejor se les conoce: Buffer Overflows.
En resumen buffer overflow o desbordamiento de buffer es un error de sistema causado por un defecto de programación, de tal forma que el programa que lo sufre pretende escribir mas información en el buffer (unidad de memoria) de la que este puede alojar.
Un poco de Historia...: • En Noviembre de 1988 se produce el primer ataque mediante esta técnica usando un gusano que se aprovechaba de un desbordamiento de buffer en el servicio finger de un servidor Unix, solo fue el principio...
Durante los últimos años miles de vulnerabilidades basadas en Buffer Overflow han permitido que un atacante pueda ejecutar código malicioso en nuestras maquinas, es más, los seis primeros avisos de seguridad del CERT Coordination Center describen fallos de este tipo en numerosos programas.
Este desbordamiento es posible porque el autor del programa no incluyó el código necesario para comprobar el tamaño y capacidad del buffer en relación con el volumen de datos que tiene que alojar.
Normalmente este fallo se da cuando el programador no tiene en cuenta el tamaño de algún buffer dentro de su programa y si este se llena de datos que no tienen salida, afecta a otras partes de la memoria en las cuales hay otros datos o partes de otro programa viéndose afectados y pudiendo causar un bloqueo tanto del programa afectado y del propio software que lo produce.
¿Cómo afecta a la seguridad de un equipo? • El problema de seguridad de los buffer overflow consiste en que si el programa hace llamadas a subrutinas con comandos que modifiquen esas subrutinas y estas caen en un desbordamiento de buffer, es decir, las subrutinas llamadas con esos modificadores se salen del buffer mediante un exploit, el proceso padre queda perdido y es cuando un atacante mediante dicho exploit puede incorporar rutinas a medida para que hagan lo que él, y no el programa afectado, quiera.
El buffer overflow es un problema de código defectuoso, por lo tanto como usuarios nada podemos hacer para evitarlo (salvo que además de usuarios seamos expertos programadores, y dispongamos del código fuente de la aplicación que sufre el desbordamiento). En realidad el único remedio es estar informado de los programas que sufren estos problemas, y tener el software actualizado.