Tecnología

Inicio

Tipos de Errores formato de cadena

Tipos de Errores formato de cadena


Las vulnerabilidades de software persiguen constantemente programadores y desarrolladores. El error de formato de cadena es un tal vulnerabilidad, y puede bloquearse programas o ejecutar código malicioso. El problema con la cadena de formato gira en torno a la entrada del usuario sin marcar. El comando de impresión en C puede ser un ejemplo de este error. Un "printf ()" es una entrada del usuario sin control que permite imprimir desde lugares remotos. Utilizado solo, este comando da a los hackers oportunidades para secuestrar código para sus propósitos.

Descripción

Los desarrolladores utilizan la familia de códigos de cadenas de formato printf o salida de datos de control. La familia de códigos printf incluye comandos como fprintf, sprintf y vprintf, todas las cuales los datos de formato, pero escribir a diferentes lugares. los errores de cadenas de formato se producen cuando los desarrolladores olvidan de poner restricciones necesarias en la familia de códigos printf. Los hackers pueden introducir su propio código a través de estos códigos sin restricción, o lagunas, y secuestrar el código. El resultado, según los autores de "El Manual Shellcoders," es que el secuestrador puede entonces ser capaz de ver la información privada y ejecutar código arbitrario.

Fichas de formato

La fijación de errores de cadena de formato puede ser indolora, y el desarrollador de software sólo tiene que añadir una ficha de formato como "% s" o "x%". Por ejemplo, el desarrollador puede introducir "printf ("% s ", de entrada)" en la línea de comandos.

El token formato restringe las entradas de formato y evita que los hackers ejecutar código malicioso a través de las lagunas presentes en el código de origen. los errores de cadenas de formato suelen producirse cuando los programadores desarrollar código para programas grandes. Durante el desarrollo de código, los programadores pueden centrarse en el cuadro grande, y por lo tanto pasar por alto la cadena de formato. La cadena de formato sin control actúa entonces como una ventana de oportunidad que el atacante puede utilizar para manipular el código.

Los desbordamientos del búfer

Las cadenas de formato también pueden crear problemas de desbordamiento de búfer. Cuando un programa desborda los límites de tampón mientras que la escritura de datos, se produce desbordamiento de memoria, y el programa puede sobrescribir la memoria adyacente. Esta es una amenaza significativa en términos de seguridad de memoria de un programa. problemas de desbordamiento de búfer se asocian a menudo con los lenguajes C y C ++. Los desarrolladores de programas deben asegurarse de comprobar los límites de amortiguamiento para contrarrestar anomalías de desbordamiento de búfer. Cuando no existe un formato especificado para una función de tiempo de ejecución C, cualquier código arbitrario puede ser ejecutado a través de la laguna especificado. Dado que el código puede no conocer los límites de la memoria intermedia, puede causar un desbordamiento de búfer, y sobrescribir la memoria.

la minimización de riesgos

Puede evitar errores de cadena de formato, siguiendo algunas reglas básicas de programación. Para minimizar las ocurrencias de errores de cadena de formantes, instalar sólo los servicios públicos que usted necesita, y sólo permitir el acceso a estas utilidades a los de su grupo más grande, de acuerdo con los autores de "Hack de corrección de la red." Siempre recuerde especificar una cadena de formato para una declaración "printf". Si hay cadenas de formato personalizado en el código, tener especial cuidado al escribir privilegios de estas cadenas de formato de auto-definido.