Detener desbordamientos de memoria ayuda a prevenir los accidentes y los hackers del programa de liberación de código malicioso que puede poner en peligro un sistema informático. Un desbordamiento de búfer se produce cuando un programa escribe datos en un buffer, normalmente una cadena o una matriz , y supera la longitud del buffer, la escritura de código en la memoria adyacente. La prevención de desbordamientos de búfer se logra mediante el uso de bibliotecas de programación que la protección de tampón de apoyo , que tiene la protección de espacio ejecutable y la elección de los lenguajes de programación que tiene la comprobación de límites . Instrucciones
1
Elige un lenguaje de programación que se ha incorporado en los controles para evitar la escritura de datos fuera de los límites de un buffer. Lenguajes como C y C + + falta una función de comprobación de límites. El . NET Framework y Java fuerza ambientes comprobación de límites. Los lenguajes interpretados tienen protección contra desbordamientos de búfer .
2
Seleccione librerías y funciones que tienen gestión del buffer y la comprobación de límites . Las funciones de C de uso general " strcpy ", " scanf " y "recibe " son especialmente vulnerables a desbordamientos de búfer . Alternativas más seguras son las funciones " strncat " " strncpy " y , lo que descarta los datos exceden la longitud especificada. Cuidado aún debe ser objeto de especificar el tamaño de búfer correcta. Un ejemplo de una alternativa más segura a la biblioteca de cadena C es el descargable " La Mejor Cadena Library . " Libre
3
instalación ejecutable protección espacio complementos para ayudar a prevenir desbordamientos de buffer . Código intentar ejecutar de la pila o montón provocar una excepción . Protección del espacio ejecutable utiliza el " no ejecutar " ( NX bit) para marcar las regiones de la memoria como no ejecutables . Ejemplos de paquetes de protección del espacio ejecutables de Unix incluyen OpenWall , Exec Shield y Pax . Complementos para Windows incluyen StackDefender y BufferShield . Puesto que Windows XP Service Pack 2 , Windows ofrece la Prevención de ejecución de datos ( DEP ) , que proporciona cierta protección contra desbordamiento de búfer.