buffer overflow

Páginas: 5 (1047 palabras) Publicado: 4 de marzo de 2015
buffer overflow o buffer overrun

Un desbordamiento de búfer se produce cuando un programa o proceso intenta almacenar más datos en un búfer (área de almacenamiento temporal de datos) que se tenía la intención de mantener esto sucede cuando un programa no controla adecuadamente la cantidad de datos que se copian sobre un área de memoria reservada a tal efecto (buffer) por ejemplo Si dichacantidad es superior a la capacidad preasignada, los bytes sobrantes se almacenan en zonas de memoria adyacentes, sobrescribiendo su contenido original, que probablemente pertenecían a datos o código almacenados en memoria.
Puede ocurrir accidentalmente a través de error de programación, desbordamiento de buffer es un tipo cada vez más común de ataque a la seguridad en la integridad de datos, sebasan en el uso incorrecto de ciertas funciones por parte del programador. Así pues, para poder explotar estas vulnerabilidades necesitamos unos mínimos conocimientos de cómo opera el sistema a la hora de ejecutar nuestro código.
En los ataques de desbordamiento de búfer, los datos adicionales pueden contener códigos diseñados para desencadenar acciones específicas, en efecto el envío de nuevo lainstrucciónes al ordenador atacado que podrían, por ejemplo, dañar los archivos del usuario, cambiar los datos, o revelar información confidencial. Los ataques de desbordamiento de búfer se dice que han surgido debido a que el C lenguaje de programación suministra el marco, y las prácticas de programación pobres suministra la vulnerabilidad.
En general, overflow hace referencia a un exceso de datosque se introducen en un programa para generar la inestabilidad en este.
Imaginemos que una variable de un programa puede almacenar 10 números. Si introducimos 5 números, el programa va a funcionar perfectamente ya que se realiza un uso adecuado de esta variable.
Ahora, en nuestra mente perversa, le introducimos 20 números... ¿qué pasa? pues lo que tenía que pasar, que el programa explota y secierra mostrando el famoso mensaje de "El programa a fallado y debe cerrarse", y es normal, la variable ha recogido 10 números y.... ¿y los otros 10 números? ¿Qué ha pasado con ellos? ¿Han desaparecido? pues no, esos 10 números de más han sobrescrito una zona de memoria que no pertenecía a la variable y a la cual no debería de tener acceso (la pila), por lo que el programa no ha sabido que hacer conestos datos de más y ha explotado
Ahora, ¿que pasaría si consiguiésemos sobreescribir a nuestro antojo la pila y colocar en EIP (próxima instrucción a ejecutar) la dirección de memoria que nosotros queramos que se ejecute a continuación? Pues que podríamos ejecutar cualquier comando, aplicación, servicio... en fin, lo que quisiéramos.


Funcionamiento básico
En verdad, un buffer overflow seproduce en una aplicación informática cuando no cuenta con los controles de seguridad necesarios en su código de programación. Cabe destacar que para poder llevar a cabo un desborde de memoria, se debe contar con conocimientos de programación, como también nociones básicas de arquitectura de Sistemas Operativos
El principio operativo de un desbordamiento de búfer guarda una relación muy estrecha con laarquitectura del procesador en la que se ejecuta una aplicación vulnerable.
Los datos ingresados en una aplicación se almacenan en la memoria de acceso aleatorio en una zona que se conoce como búfer. Un programa con un diseño correcto debería estipular un tamaño máximo para los datos de entrada y garantizar que no superen ese valor.
Las instrucciones y los datos de un programa en ejecución sealmacenan temporalmente en forma adyacente en la memoria, en una zona llamada pila. Los datos ubicados después del búfer contienen una dirección de retorno (que se denomina puntero de instrucción) que le permite al programa continuar su tiempo de ejecución. Si el tamaño de los datos es mayor que el del búfer, la dirección de retorno se sobrescribe y el programa leerá una dirección de memoria no...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programación, Buffer Overflow y Sus consecuencias
  • Ataque de buffer overflow
  • Buffer overflow
  • metasploit, buffer overflow
  • Buffer Overflow Attack
  • Buffer
  • Buffer
  • Buffer

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS