Tecnología

Inicio

Cómo prevenir BUFFE y desbordamientos

Detener los desbordamientos de búfer ayuda a evitar errores en el programa y los hackers de la liberación de código malicioso que puede poner en peligro un sistema informático. Un desbordamiento de búfer es cuando un programa escribe datos en una memoria intermedia, comúnmente una cadena o una matriz, y supera la longitud de la memoria intermedia, 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 soportan amortiguar la protección, la protección que tiene el espacio ejecutable y la elección de los lenguajes de programación que tienen comprobación de los límites.

Instrucciones

1 Elegir 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 tampón. Lenguajes como C y C ++ falta una función de comprobación de límites. El marco .NET y Java entornos fuera de la fuerza de cheques. Los lenguajes interpretados tienen protección contra desbordamientos de búfer.

2 Seleccione las bibliotecas y las funciones que tienen gestión de memoria intermedia y la comprobación de los límites. El C funciones "strcpy" de uso común, "scanf" y "entiende" son especialmente vulnerables a desbordamientos de búfer. alternativas más seguras incluyen las funciones y strncpy "" "", que strncat desechado de datos que exceden la longitud especificada. Obstante, es necesario tomar para especificar el tamaño del búfer correcta. Un ejemplo de una alternativa más segura a la biblioteca de cadena C es la "La Biblioteca de cuerdas Mejor." Gratis para descargar

3 Instalar ejecutables de protección de espacios complementos para ayudar a prevenir desbordamientos de búfer. Código intentar ejecutar de la pila o montón provocar una excepción. la protección del espacio ejecutable utiliza el "no ejecutar" (NX bits) para marcar regiones de memoria como no ejecutables. Ejemplos de paquetes ejecutables de protección de espacios para Unix incluyen OpenWall, Exec Shield y Pax. Complementos para Windows incluyen StackDefender y BufferShield. Desde Windows XP Service Pack 2, Windows ofrece Data Execution Prevention (DEP), que proporciona cierta protección contra desbordamiento de búfer.


Artículos relacionados