No es nada habitual que un reputado “cazador de bugs” desvele públicamente sus métodos, pero Tom Ferris -un nombre habitual en la sección de agradecimientos de los boletines de Microsoft- lo ha hecho, no sin antes advertirnos que encontrar bugs en productos Microsoft no es tan difícil como parece: “Es un asunto muy básico. Me sorprende que Microsoft no encuentre estas cosas por sí misma.”
Ferris ha explicado a eWEEK (Bug Hunting, Step by Step) la metodología que utiliza, y que consta básicamente de los siguientes pasos:
* Saber dónde mirar: un buen consejo es mirar en las partes del programa donde se validan entradas, sobre todo cuando provienen de un protocolo exterior, como RDP. Tampoco es mala idea mirar los sitios que Microsoft acaba de parchear. “Muchas veces introducen un nuevo fallo donde han parcheado”, dice Ferris.
* Obtener el código: y puesto que el de Microsoft es propietario no queda más remedio que recurrir a la ingeniería inversa, utilizando depuradores como SoftICE, y desensambladores como IDA Pro para traducir las DLLs -o los ejecutables- a ensamblador.
* Encontrar el agujero: a tal fin, Ferris construye algún tipo de script capaz de probar miles de datos intencionadamente malformados contra los puntos del programa que se sospechan débiles. Eventualmente, se logra hacer caer al programa.
* Analizar la vulnerabilidad: es decir, comprobar si es o no crítica, si es factible escribir un exploit, etc.
–
via: Kriptopolis por luthier









