Buffer Overflow Attack

Páginas: 8 (1858 palabras) Publicado: 17 de agosto de 2015
Buffer overflow
En pocas palabras el buffer overflow es el desbordamiento de la memoria preasignada a un buffer de datos, esto quiere decir que sobrescribimos el espacio asignado a un buffer de datos con más datos de los asignados y por lo tanto lo que está de más se escribe en un espacio de memoria no asignado, pero ¿Por qué puede resultar esto peligroso? ¿Cómo y quienes explotan este “error”de software? y además si es peligroso ¿Cómo lo podemos prevenir?

Detallemos, buffer es un espacio de memoria temporal que se asigna para guardar información que va a ser usada por hardware o software y así agilitar uno o varios procesos, al no tener que estar cargando dicha información varias veces cuando se la necesita usar varias veces, o para que en este espacio de memoria se guarde informaciónque se va usando de a poco.

Hasta ahí ningún problema pero, qué pasa si yo asigno un buffer de 4 “espacios de memoria” y al guardar los datos en el buffer cargo 5 “espacios de memoria”, resulta que el proceso se ejecuta y guarda los datos, pero el 5º “espacio de memoria” se desborda, es decir se sale del espacio asignado y se guarda en un espacio de memoria no asignado. Acá la palabra clave parair entendiendo por qué esto puede resultar negativo es sobrescribir, ya que al sobrescribir estaríamos escribiendo algo que ya estaba escrito y por lo tanto lo que estaba escrito se pierde, y si resulta que ¿lo qué estaba escrito es la siguiente instrucción del programa? Simple, al ya no existir, el programa se cae.

Pero seamos más negativos, que pasaría si lo que se sobrescribiera fuera larutina de seguridad del programa y el “ataque” fuera a propósito para evadir la seguridad del programa y entrar a partes del programa no permitidas al usuario común, esto causaría una vulnerabilidad en el programa y por este motivo es que resulta peligroso y es considerado un error de programación.

Este es el motivo por el cual el buffer overflow puede ser muy peligroso y un ataque a propósito bajoeta modalidad, puede ser resultar nefasto como sucedió el 2 de noviembre de 1988 cuando se dio el primer ataque bajo esta modalidad y afectó al 10% de los servidores de aquella época. Pero, ¿por qué es posible estos ataques o estos errores?, resulta que existen lenguajes y sistemas operativos que permiten el acceso directo a memoria sin restricciones y esto provoca que se acceda a espacios dememoria que realmente no asignados, por ejemplo dentro de los lenguajes tenemos algunos entre los que podemos observar cuales son Strongly Typed y que por lo tanto son seguros y otros que no lo son.

Language/Environment
Compiled or Interpreted
Strongly Typed
Direct Memory Access
Safe or Unsafe
Java, Java Virtual Machine (JVM)
Both
Yes
No
Safe
.NET
Both
Yes
No
Safe
Perl
Both
Yes
No
Safe
Python -interpreted
Intepreted
Yes
No
Safe
Ruby
Interpreted
Yes
No
Safe
C/C++
Compiled
No
Yes
Unsafe
Assembly
Compiled
No
Yes
Unsafe
COBOL
Compiled
Yes
No
Safe
https://www.owasp.org/index.php/Buffer_Overflows#General_Prevention_Techniques


Se denomina shellcode al código ejecutable especialmente preparado que se copie al host objeto del ataque para obtener los privilegios del programa vulnerable.

Así mismodentro de los lenguajes, aquellos que no manejan apropiadamente el acceso a la memoria y específicamente a los datos dentro de esos espacios de memoria son vulnerables a este tipo de error, en contrapunto aquí presentamos un listado de lenguajes que hacen un manejo apropiado de esto.

1. AMD and Intel x86-64 chips with associated 64-bit operating systems
2. Windows XP SP2 (both 32- and 64-bit)
3.Windows 2003 SP1 (both 32- and 64-bit)
4. Linux after 2.6.8 on AMD and x86-64 processors in 32- and 64-bit mode
5. OpenBSD (w^x on Intel, AMD, SPARC, Alpha and PowerPC)
6. Solaris 2.6 and later with the “noexec_user_stack” flag enabled

Ya mencionado las causas que permiten este tipo de error y conociendo lo vulnerable que puede hacer esto a un programa es conveniente que detallemos las técnicas...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

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

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS