“Conocimiento Programación>Lenguajes De Programación

Cómo encontrar Desbordamientos de búfer

2011/7/18
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 se puede demostrar que un idioma es decidible?
Las técnicas de semántica Descripción
Cómo encontrar los códigos de color hexadecimal
¿Sería posible que el usuario desarrolle un nuevo intérprete de comando?
Cómo enviar datos del formulario HTML en un archivo de texto
Cómo hacer un botón predeterminado de NET
Cómo crear controladores de eventos Jquery
Cómo deshabilitar la autenticación de Windows en IIS
Conocimiento de la computadora © http://www.ordenador.online