DEP en Internet Explorer 8, tocado y hundido

Hola,

Hace apenas 24 horas que escribí sobre DEP (Data Execution Prevention), y sus limitaciones. Hoy, VUPEN ha anunciado que ha trabajado sobre el exploit existente, y la peor pesadilla de los responsables de seguridad de la empresa parece haberse vuelto realidad: su código mejorado permite la explotabilidad en Internet Explorer 8 aún operando con DEP, siempre y cuando el soporte JavaScript del navegador esté activo.

La gente de VUPEN no ha liberado el código mejorado, limitándose a decir que han empleado técnicas de manupulación novedosas. Han entregado al fabricante sus evidencias para que se pueda mitigar el devastador efecto de que se pueda eludir DEP estando el navegador en situación máxima de vulnerabilidad (que nadie se olvide que esto es un drive-by puro y duro, ya que con sólo visitar una página maliciosa tu equipo puede quedar). VUPEN ha aclarado que aunque es posible eludir DEP, se requiere que JavaScript esté activo para que el ataque tenga éxito. Cabría aquí preguntarse la cantidad de cosas que dejan de funcionar cuando se deshabilita el soporte JavaScript en un navegador, pero eso es harina de otro costal.

Para rematar la fiesta, Tavis Ormandy, un ingeniero de seguridad de Google, ha anunciado públicamente el descubrimiento de un problema de seguridad que afecta a todas las versiones de Windows desde NT 3.1 (publicado en 1993) hasta el novedoso Windows 7 (publicado en 2009). Aunque es un problema poco importante en lo que a seguridad se refiere, sí que es relevante que Ormandy haya liberado el código después de entregarle los detalles de la vulnerabilidad a los de Redmond el pasado 12 de Junio de 2009. Una vez agotado el plazo que ha considerado apropiado (y mucho ha esperado, creo yo) ha dado a conocer en público los detalles con la esperanza de que esto acelere el proceso de resolución.

Volviendo a IE, que por desgracia es un asunto de una trascendencia mucho más elevada, si había razones para aparcar Internet Explorer hasta que se libere un parche corrector, ahora son mucho más poderosas. Al Gobierno alemán se le han unido recientemente el francés y el australiano para recomendarnos no usar el navegador de Microsoft hasta que la mínima condición de seguridad sea reestablecida. Consejo que desde estas líneas suscribo plena y absolutamente.

Un saludo,

0 day en Internet Explorer. La protección DEP y sus limitaciones

Buenas,

Por hacer un poco de seguimiento al tristemente famoso último 0 day en Internet Explorer, comentaros que la compañía ha habilitado un portal específico para asesorar a los usuarios del navegador. No es que contenga gran cosa, pero algo es algo.

Algunas fuentes que dan por sentado que Microsoft ofrecerá un parche fuera de su ciclo de actualizaciones, y alguno que otro ha salido a la palestra reivindicando que ha modificado el exploit para dar más cobertura a otras versiones. En ambos casos no veo información suficiente para creerme ni lo primero ni lo segundo, aunque obviamente sería deseable que el parche estuviera a disposición de los usuarios lo más rápido posible y que finalmente las modificaciones del ataque no afecten a las versiones que en este momento se consideran seguras.

La compañía ha hecho también público un magnífico artículo en el que clarifica un poco la situación, y cuya lectura recomiendo a todos los que usen Internet Explorer porque explica muy correctamente en qué se basa la protección DEP (Data Execution Prevention), cuya activación se está recomendando para evitar los efectos del exploit. Por resumir un poco, Microsoft está instando a los usuarios a actualizar a su última versión ya que DEP viene activado por defecto en las siguientes combinaciones:

  • Internet Explorer 8 en Windows XP Service Pack 3
  • Internet Explorer 8 en Windows Vista Service Pack 1 y posteriores
  • Internet Explorer 8 en Windows Server 2008
  • Internet Explorer 8 en Windows 7

Si se dispone de cualquier otra combinación, hay que activar DEP para Internet Explorer empleando la herramienta que está disponible en este enlace, salvo en los casos en los que no sea posible (Por ejemplo, Windows 2000 no permite el soporte DEP)

En el artículo también se proporciona un vídeo en el que se explica con meridiana claridad en qué se basa la dualidad softwarehardware en DEP, así como los cuatro requisitos básicos que son necesarios para que DEP pueda protegernos de ataques en los que se pretende ejecutar código:

  • Disponer de una CPU con soporte DEP (XD en Intel y NX en AMD) algo presente en la práctica totalidad de procesadores vendidos desde hace unos 6 – 8 años.
  • La necesidad de que esta tecnología esté activa en la BIOS (parece ser que aunque DEP esté soportado en el hardware, no siempre viene activado en la BIOS, aunque me inclino a pensar que estos casos son anecdóticos)
  • Que tu sistema Windows tenga soporte para DEP y pueda hacer uso del soporte DEP hardware (En el caso de Windows, hablamos de XP SP2, XP SP3, 2003 SP1, Vista, 2008 y Windows 7)
  • Y por último, que la aplicación (en este caso Internet Explorer 8) pueda hacer uso de DEP, cosa que sólo ocurre por defecto, tal y como hemos comentado, en XP SP3, Vista SP1, 2008 y Windows 7

En el vídeo también se explica cómo verificar, a través de Process Explorer, si Internet Explorer está haciendo uso de DEP (ya que DEP se activa o no a nivel proceso, independientemente de la capa aplicación). Para ello hay que irse al menú View, opción Select Columns y en la pestaña Process Image, marcar DEP Status. También es recomendable leer este artículo para saber en qué estado está DEP en el equipo.

Por último recalcar que DEP no es la panacea, ya que existen (y son conocidos públicamente) mencanismos basados en clases .NET para saltarse la protección DEP. Lo bueno que tiene Internet Explorer 8 es que no permite el uso de esas clases en la zona Internet, pero ojito: sí se permiten en la zona Intranet, con lo que un atacante que coloque dicho bypass en una red corporativa podría anular la protección DEP, en cuyo caso todas las versiones del navegador serían vulnerables. Es por esta razón que sigo pensando que, en ausencia de parche, lo más prudente es no utilizar Internet Explorer salvo que se tenga un control absoluto y un conocimiento muy preciso de la situación en todo momento, lo cual provoca un serio problema para los sistemas corporativos que por una razón u otra, sólo funcionan con Internet Explorer (ERPs, CRMs y plataformas con acceso Web similares). Especialmente grave el caso de aquellos despliegues en los que ni siquiera se puede emplear Internet Explorer 8 por problemas de compatibilidad con distintas plataformas, en cuyo caso sólo queda santiguarse y salir al campo con la esperanza de que no nos metan un gol por la escuadra hasta que árbitro pite el final del partido (y nos entregue un parche oficial)

Un saludo,