24 noviembre 2008

Como protegerte de buffer overflows, format strings y similares

A estas alturas de la película, casi todo el mundo conoce ya lo que es un buffer overflow o, cuanto menos, lo asocia a técnica-para-explotar-vulnerabilidades. Tal vez sea la forma mas común o la mas ampliamente explotada a lo largo de los años para sacar partido a vulnerabilidades. No obstante, existen otro tipo de vulnerabilidades que se pueden explotar con otras técnicas que igualmente son un serio problema a la hora de defender un sistema.

No voy a entrar en detalle sobre descripciones técnicas de estas vulnerabilidades ya que existe abundante material en Internet sobre los pormenores de porque se produce un buffer overflow, format string y similares.

Lo que hoy voy a presentar es una herramienta que incorpora protección contra ese tipo de ataques en sistemas Windows. Su nombre: WehnTrust

WehnTrust es una herramienta gratuita destinada a sistemas Windows XP / 2000 y 2003 que incorpora una serie de protecciones para tratar de anular los efectos de un exploit contra el sistema operativo.

Su funcionamiento está basado en el trabajo que realizó la gente de Pax para el kernel de Linux (muchos conocerán el famoso parche Grsecurity) portando a Windows, entre otras, la tecnica ASLR (Address Space Layout Randomization)

Pero no todo es gratis, claro. El coste directo de este tipo de parches es una penalización relativamente perceptible en el rendimiento del sistema, indirectamente existe la probabilidad de que algunos programas no sean muy amistosos con este tipo de modificaciones en la ejecución normal y empiecen a dar misteriosos cuelgues. Incluso cabe la posibilidad de que el sistema se vuelva inestable ya que este tipo de soluciones se meten muy profundamente en las entrañas del sistema y al no ser un software probado y ultra-testado por Microsoft no lo podemos denominar estable.

WehnTrust, una vez instalado en el sistema, se lanza automáticamente al arrancar Windows y tiene como interface de administración un tray en la barra de tareas. Si lo lanzamos, podemos ver un breve resumen del funcionamiento de la herramienta donde, entre otras cosas, podremos ver el numero de intentos de 'explotacion' que ha detectado y bloqueado.


En caso de que algún programa se declare rebelde a ser ejecutado bajo las protecciones de la herramienta, podemos añadir una excepción decidiendo que programa va a ejecutarse 'sin protección' y que tipo de protección deseamos deshabilitar



En definitiva WehnTrust es una muy interesante herramienta bastante recomendable en entornos donde la exposición del PC le haga susceptible de ataques en forma de exploits.