vulnerabilidad de desbordamiento de búfer han existido por décadas y son de uso frecuente por los intrusos maliciosos . Los intrusos pueden comprometer e incluso controlar equipos remotos a través de ataques de desbordamiento de búfer . Prevenciones y soluciones se crean para impedir la intrusión de desbordamiento de búfer , incluidos los sistemas y métodos de prevención de hardware y software basado en . En primer lugar , los desarrolladores deben trabajar para mejorar sus habilidades de codificación debe evitar errores de desbordamiento de búfer en las aplicaciones. Medio ambiente
mecanismos de codificación de desarrollo pueden prevenir vulnerabilidades de desbordamiento de búfer . Enfoques sistemáticos pobres a problemas de seguridad o el uso inadecuado de herramientas y lenguajes de programación inseguridad son las causas de las vulnerabilidades. Los programadores deben dejar de usar lenguajes de programación como C inseguras para manejar la asignación de memoria , en lugar de utilizar nuevo lenguaje como C # y Java .
Valores Canarias y Protección
valores Canarias
puntero se también denominados cookies de pila , que es otro el hecho de impedir los ataques de desbordamiento de búfer . Estos protegen los datos de control de marcos de pila , como la dirección del remitente y el puntero de marco al insertar un valor en tiempo de compilación . Actúan como verificación de la integridad de los datos de control . Galletas PILA dejarán el programa al instante cuando los datos de control es manipulado .
Montón Endurecimiento
ataques de desbordamiento del montón
implementación también son explotables . Del mismo modo , los desarrolladores pueden utilizar variaciones canario dejar desbordamientos de memoria heap . Los valores canarias se encuentran en cada estructura de información de porción . Los programadores pueden aplicar los valores canario poniendo a ambos en el principio y el fin de la porción de información . Aplicaciones comparar los canarios en el comienzo de cada trama trozo con el valor al final para asegurarse de que se ha cambiado nada .
Pila no ejecutable y Heap
Usted puede prevenir código malicioso se ejecute en la memoria simplemente haciendo páginas de memoria no ejecutables . Esto se puede lograr a través de métodos de hardware o software . La mayoría de los nuevos sistemas operativos vienen con técnicas de página de memoria no ejecutables pre -instalados . Sistemas operativos más recientes de Microsoft, incluyendo Windows Vista , XP SP2 y Server SP1 , cuentan con las precauciones de desbordamiento de búfer .