Ensayo Format String.Pdf

Páginas: 5 (1229 palabras) Publicado: 21 de octubre de 2012
ENSAYO FORMAT STRING
Paola Andrea Barco Forero
Especialización de seguridad en redes 148532, SENA
Girardot, Colombia
panbarco@misena.edu.co
Abstract— Este ensayo es acerca de la descripción y proceso del format string, una técnica o formato de códigos utilizados en programación y las variables que se realizan utilizando los errores de los sistemas operativos para realizar ataques por mediode éste.
I. INTRODUCCIÓN
Los Format String son simples cadenas, caracterizadas por el formato que se les aplica. Si has programado anteriormente en cualquier lenguaje estarás familiarizado con la función printf(). Dicha función toma como primer parámetro la cadena a mostrar, y una serie de variables que permiten formatear la salida por stdout, los cuales hacen que si están alterados en su cadenapuedan realizar intrusiones a nuestro sistema.
II. ¿QUÉ ES EL FORMAT STRING?
En este punto podemos afirmar que son errores de cadenas de formato (format string) y que muchos aprovechan estos errores para realizar ataques que se producen cuando se introducen ciertos elementos para proporcionar formato a las cadenas de texto y no existe un mínimo control de seguridad. De esta forma, se puedeconseguir una denegación de servicio o incluso la ejecución de código arbitrario en el sistema.
III. FORMATOS COMUNES
Los formatos más comunes que se pueden utilizar son: %d Formato de enteros. %i Formato de enteros (igual que %d). %f Formato de punto flotante. %u Formato sin signo. %x Formato hexadecimal. %p Muestra el correspondiente valor del puntero. %c Formato de carácter A. Subtítulos
A. Lafamilia de funciones format
Hay una serie de funciones de formato definidas en el ANSI C, algunas utilizadas para cubrir necesidades básicas y otras más complejas basadas en estas primeras, que si bien no entran dentro del estándar, si están disponibles para su uso. Funciones básicas: printf Imprime el flujo 'stdout'. fprintf Imprime el flujo de un fichero. sprintf Imprime en una cadena. snprintfImprime en una cadena comprobando la longitud. vprintf Imprime en 'stdout' desde una estructura va_arg. vfprintf Imprime en un fichero desde una estructura va_arg. vsprintf Imprime en una cadena desde una estructura va_arg. vsnprintf Imprime en una cadena comprobando la longitud desde una estructura va_arg.
Otras:
syslog, verr*, err*, vwarn*, warn*, setproctile
IV. LA PILA Y SU FUNCIONAMIENTOGráfico 1
El comportamiento de la función de formato es controlado por el format string. Recuperando los parámetros solicitados desde la pila. Así:
printf("Número %d sin dirección, número %d con dirección: %08x\n", i, a, &a);
El aspecto de la pila para la instrucción anterior es el siguiente:
Gráfico 2
El aspecto de la pila para la instrucción anterior es el siguiente
Donde:
A Dirección dela cadena. i Valor de la variable i. a Valor de la variable a. &a Dirección de la variable a.
Este tipo de vulnerabilidad se debe al funcionamiento interno de las funciones de la familia printf, que junto a un uso inadecuado de las mismas puede dar lugar a la lectura y escritura de posiciones arbitrarias de memoria. Por desgracia para el atacante (o por suerte para el programador) este tipo defallo es muy fácil de identificar en una aplicación. Cualquier persona que lea el código de un programa o cualquier herramienta de análisis de código encontrará y solucionará estos problemas, por lo que es difícil que los encontremos en la vida real, la función printf recorre la cadena de texto y la va mostrando por pantalla, hasta que encuentra un caracter de formato, en ese momento, accede a lapila (con el desplazamiento adecuado) para localizar ese argumento y sustituirlo en la posición del especificador de formato, lo que la acción ejecuta es que en este formato se escriba una dirección de memoria para poderla leer.
Tabla 1
Buffer Overflow
Format String
Se hizo notorio el peligro desde una serie de hazañas realizadas como técnicas de visibilidad
A mediados de los 80’s y 90’s
Unas...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Formato de un ensayo
  • Formato de ensayo
  • FORMATO DE ENSAYO
  • FORMATO ENSAYO
  • Formato De Ensayo
  • formato ensayos
  • Formato de ensayo
  • formato ensayo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS