Cómo Explotar Los Errores (Bugs) En

download Cómo Explotar Los Errores (Bugs) En

of 9

Transcript of Cómo Explotar Los Errores (Bugs) En

CMO EXPLOTAR LOS ERRORES (BUGS) EN EL CDIGO

CMO EXPLOTAR LOS ERRORES (BUGS) EN EL CDIGOVeremos como los usuarios internos pueden poner en peligro la seguridad, cmo pueden atacar los usuarios externos y trastornar el sistema operativo desde el exterior.Casi todos los mecanismos de ataque aprovechan los errores en el sistema operativo, o en algn programa de aplicacin popular como Internet Explorer o Microsoft Office.Aunque toda explotacin implica tener un error especfico en un programa especfico, hay varias categoras generales de errores que ocurren una y otra vez.SEGURIDADAtaques de desbordamiento del bfer:Uno de los ataques mas extensos es que casi todos los sistemas operativos y la mayora de los programas estn escritos en el lenguaje de programacin C (esto es porque a los programadores les gusta y se puede compilar con una eficiencia extrema). Por desgracia, ningn compilador de C realiza la comprobacin de los lmites en los arreglos.

Esto ocurre cuando se escriben/ingresan mal los datos que pueda aceptar el buffer. Tambin cuando no se revisan las condiciones de limites por lo que sobre escriben en las reas de la memoria adyacentes.Ataques de retorno a libc

Una forma de combatir estos ataques es marcar las pginas de la pila como de lectura/escritura, pero no de ejecucin.Las CPU Pentium modernas pueden hacer esto, aunque la mayora de los sistemas operativos no aprovechan esta posibilidad.Pero hay otro ataque que funciona an si los programas en la pila no se pueden ejecutar. A esto se le conoce como ataque de retorno a libc.

Ataques por desbordamiento de enterosLas computadoras realizan aritmtica nmeros enteros de longitud fija, por lo general de 8,16, 32 o 64 bits. Si la suma de dos nmeros que se van a sumar o multiplicar excede al mximo entero que se puede representar, se produce un desbordamiento.Los programas de C no atrapan este error, slo almacenan y utilizan el valor incorrecto.

Ataques por inyeccin de cdigoEste tipo de explotacin implica hacer que el programa ejecute cdigo sin darse cuenta de ello. Considerando que un programa que en cierto punto necesita duplicar un archivo suministrado por el usuario bajo un nombre distinto (tal vez como respaldo).Si el programador es demasiado perezoso como para escribir el cdigo, podra utilizar la funcin system, que crea una bifurcacin del shell y ejecuta su argumento como un comando del shell.