Welcome to "127.0.0.1"

COLLECTING DATA IS THE ONLY FIRST STEP FOR WISDOM BUT SHARING DATA IS THE FIRST STEP FOR COMMUNITY ..


Sincerely:

0110101001101111011011100110000101110100011010000110000101101110


lunes, marzo 10, 2008

¿que es un buffer overflow ?

Este desbordamiento es posible porque el autor del programa no incluyó el código necesario para comprobar el tamaño y capacidad del buffer en relacion con el tamaño de datos que tiene que alojar.

Los problemas comienzan cuando el exceso de datos se escribe en otras posiciones de memoria, con la perdida de los datos anteriores.


EJEMPLO:
#include
#include

int main(int argc, char *argv[])
{
char buffer[10];
if (argc < 2)
{
fprintf(stderr, "MODO DE USO: %s string\n", argv[0]);
return 1;
}
strcpy(buffer, argv[1]);
return 0;
}


Si entre los datos perdidos por la sobreescritura se encuentran rutinas o procedimientos necesarios para el funcionamiento del programa que estamos ejecutando, el programa dará error.
Cuando la memoria de un programa llega a sobreescribir en forma aleatoria, el programa generalmente se colgará.

El problema para la seguridad nace cuando este desbordamiento de buffer es provocado intencionalmente por alguien mediante envio de datos que incluyen porciones de código, calculando la cantidad de datos para poder predeterminar cual es el sobrante que se va a sobreescribir y donde. Provocado el desbordamiento, contienen una instrucción que apunta a una posición de memoria distinta, donde se encuentra el codigo ejecutable enviado por el atacante.

El programa, inducido a funcionar anormalmente por la perdida de datos causada por el desbordamiento, ejecutará el código enviado por el atacante. esta chido !!NO

El buffer overflow es un problema de código defectuoso, por lo tanto como usuarios nada podemos hacer para evitarlo (salvo que ademas de usuarios seamos expertos programadores, y dispongamos del codigo fuente de la aplicacion que sufre el desbordamiento). En realidad el unico remedio es estar informado de los programas que sufren estos problemas, y tener el software actualizado.