Red de conocimiento informático - Conocimiento sistemático - ¿Ataque de desbordamiento?

¿Ataque de desbordamiento?

El problema del desbordamiento del búfer no es cosa del pasado. Los ataques de desbordamiento del búfer (también conocido como desbordamiento de pila) se han convertido en una de las técnicas de piratería más utilizadas. Según las estadísticas, los desbordamientos del buffer representaron más del 50 por ciento de todos los errores de seguridad críticos que provocaron recomendaciones de CERT/CC sólo el año pasado. La causa principal del problema de desbordamiento del búfer es que C (y su descendiente C++) es inherentemente inseguro. No hay límites para verificar las referencias de matrices y punteros. Es decir, los desarrolladores deben verificar los límites (y este comportamiento a menudo se ignora). De lo contrario, corre el riesgo de tener problemas. También hay muchas operaciones de cadenas inseguras en la biblioteca C estándar, que incluyen: strcpy(), sprintf(), gets(), etc. Los desbordamientos del búfer se originan por la necesidad de que cada programa se ejecute: espacio para colocar datos. La mayoría de los programas informáticos crean múltiples direcciones en la memoria para almacenar información. El lenguaje de programación C permite a los programadores crear memoria en tiempo de ejecución en dos partes diferentes de la memoria: la pila y el montón. Normalmente, los datos asignados al montón son los obtenidos mediante malloc() o new. Los datos asignados a la pila generalmente incluyen variables locales no estáticas y todos los parámetros pasados ​​por valor. La mayor parte del resto de la información se almacena en la memoria estática global. Cuando se asignan bloques adyacentes del mismo tipo de datos, esta área de memoria se denomina búfer. (Quiere conocer los detalles en la siguiente página) /ediy/inforcenter/enet_z.jsp?articleid=20051116472907