“Conocimientos Programación>Lenguajes De Programación

Cómo encontrar Desbordamientos de búfer

2013/9/14
Búsqueda de desbordamientos de buffer es una parte importante de asegurar que su programa está a salvo de los ataques y bloqueos accidentales. Un desbordamiento de memoria se produce cuando se insertan datos en una cadena o matriz sin comprobación de los límites , y la longitud de entrada es mayor que la memoria intermedia se está intentando copiar en . Encontrar lugares donde pueden producirse desbordamientos de búfer se realiza mediante la búsqueda de funciones no seguras como "recibe ", analizando las comprobación de límites en las funciones como " strncpy " y probar a fondo su programa con diferentes tipos de entrada. Instrucciones
1

Buscar el código de su programa para las funciones peligrosas como "recibe ", " scanf ", " strcpy ", " strcat ", " sprintf " y " strlen ". Estas funciones no tienen ninguna comprobación de límites incorporados y sólo son adecuados cuando el 100 por ciento de los usuarios del programa son de confianza y los accidentes ocasionales se puede tolerar . Proporcionar comprobación de límites a sí mismo mediante la verificación de que la longitud de entrada no es mayor que la longitud del búfer disponible.
2

investigar cualquier llamada de comprobación de límites funciones como " strncpy ", " strncat " y " snprintf " . Asegúrese de que el final de la matriz de entrada recibe un byte nulo . Límites comprobación incorrecta puede dar lugar a que faltan bytes nulos o uno colocado después del final de la matriz . Al combinar cadenas , asegúrese de que el cheque sale utiliza la longitud de la cadena total menos el contenido pre - existente de la cadena , en lugar de utilizar toda la longitud de la cadena como comprobar los límites.
3

prueba su programa mediante la introducción de insumos excepcionalmente grandes y ver si se bloquea , se corrompe o muestra una actividad inusual . Tenga en cuenta la dirección de todos los accidentes para ver si se corresponde con el lugar donde el programa procesa los datos de entrada . Programas como herramienta de auditoria Rough de Seguridad , también conocida como "ratas ", pueden escanear el código y la ubicación del pabellón que posiblemente son vulnerables a desbordamientos de búfer .

Lenguajes De Programación
Cómo llamar a una función en QBasic
Lo que se escribe siempre en un If /Then Statement
Cómo editar una página HTML después de que se hayan guardado
¿Qué son los dos idiomas más utilizados para el desarrollo de software profesional
Forma de guardar una variable de cadena en Integer Tipo
Cómo calcular el porcentaje de cambio en SAS
Cómo escribir un informe sobre la programación
Cómo crear Processing Fuente
Conocimientos Informáticos © http://www.ordenador.online