Sei sulla pagina 1di 9

CMO EXPLOTAR LOS

ERRORES (BUGS) EN EL
CDIGO
Veremos 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.
SEGURIDAD
Ataques 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
ENTEROS
Las 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
CDIGO
Este 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.

Potrebbero piacerti anche