[Nuevo informe] En un Windows 10 básico, el 22,2% de las librerías no aplica alguna medida de seguridad anti-exploit

miércoles, 21 de septiembre de 2016

A finales de 2013 se descubrió un 0day en Internet Explorer (CVE-2013-3893). Se trata de una vulnerabilidad encontrada mientras estaba siendo aprovechada por atacantes desde no se sabe cuándo.. Sin entrar en detalles, lo que más llamaba la atención es cómo habían conseguido crear el exploit. Dos de los enemigos de los creadores de exploits son habitualmente DEP en menor medida y ASLR en gran parte. ¿Cómo habían eludido este último sistema de seguridad? Simple: una DLL de sistema no tenía activado ASLR. No había razón alguna para que no lo hubiesen activado en esa en particular, quizás fue solo un despiste, pero que permitió a los atacantes aprovechar de forma sencilla una grave vulnerabilidad.

¿Qué otros binarios de sistema no han activado esta y otras protecciones en Windows 10? Este informe, elaborado por el área de innovación y laboratorio de ElevenPaths, desvela cuántos binarios no implementan las medidas básicas de seguridad en los ejecutables más comunes que cualquier usuario puede tener en Windows 10.

Cuatro medidas de seguridad

Cada nuevo sistema operativo que se lanza al mercado es más seguro que el anterior porque aplica más y mejores técnicas de mitigación o protección en seguridad. Al menos eso se dice en las campañas publicitarias y notas de prensa en las que los lanzan. Se incluyen métodos revolucionarios que prometen grandes mejoras y acabar con los problemas de seguridad existentes. Sin embargo, los problemas siguen ahí. Se transforman, se intercambian, se potencian unos y olvidan otros… pero nunca desaparecen. En este estudio hemos analizado las medidas de seguridad más recientes y clásicas, relativas a la compilación de binarios en Windows que implementa Windows 10. Pretendemos responder a algunas preguntas: ¿Utiliza sus propias fórmulas más modernas? ¿Aplica las medidas más clásicas a todos sus binarios? ¿En qué porcentaje? ¿Y otros fabricantes, aplican estas técnicas? Veremos en este informe estudiaremos qué medidas de seguridad pueden tener activadas los ejecutables en Windows 10, y cuáles tienen activadas en realidad.

En el informe se han comprobado cuatro medidas de seguridad básicas: DEP, ASLR, SEH y CFG. Son cuatro métodos anti-exploit que, de encontrarse activos en un fichero ejecutable (exe o dll) dificultan a un potencial atacante la capacidad de aprovechar vulnerabilidades de ejecución de código.

El experimento

Los ficheros objetivo del estudio han sido los ejecutables (EXE) y librerías (DLL). Se han analizado todos los ejecutables en tres perfiles de instalación (Windows 10, Windows 10 con paquete ofimático, y Windows 10 con paquete ofimático y navegadores y lectores PDF). Hemos almacenado sus características, o lo que es lo mismo qué flags de los mencionados más arriba se encuentran activos en los ejecutables y librerías. Hemos analizado el siguiente número de ficheros por cada perfil:
  • Base: 18489 archivos DLL y 2597 archivos EXE.
  • Ofimática: 20735 archivos DLL y 2716 archivos EXE.
  • Completa. 20856 archivos DLL y 2774 archivos EXE.
En general, en un Windows 10 básico con Office, navegadores y lectores PDF, un 22,20% de los ficheros binarios no activan alguna de las medidas de seguridad estudiadas.

El porcentaje de ficheros protegidos según cada perfil aumenta en tanto en cuanto la medida de seguridad se encuentra más asentada y arraigada, dejando a CFG (más reciente) en el último lugar con entre un 80 y un 90% de adopción en los diferentes perfiles. NO_SEH, aunque también antigua, no es tan adoptada. Es posible que se deba a la circunstancia de cada fichero, que daría cabida a otras medidas complementarias y que cubrieran con otras fórmulas la necesidad de protección que ofrece NO_SEH.


Con respecto a los navegadores (y programas de terceros en general) parece que Chrome ya ha adoptado en buena medida las nuevas mitigaciones anti-exploit como CFG y tiene al 100% asimiladas el resto. El único fichero de Chrome que no tiene activado ASLR es el propio instalador. Firefox, olvida CFG y NO_SEH.


Entre los lectores de PDF más populares, Adobe (históricamente un desastre en seguridad) funciona en este sentido mejor que Foxit. El 100% de sus binarios tiene activado DEP y ASLR, aunque ambos ignoran la nueva medida de seguridad CFG.


En general, la tecnología de mitigación más reciente, CFG, es la más olvidada tanto por la propia Microsoft (un 90% de sus ficheros en la instalación base no lo implementan) como por los programas más habituales (solo Chrome lo tiene en cuenta en un 81% de sus ficheros, el resto lo ignoran). Sin embargo, otras tecnologías de mitigación más antiguas son mucho más populares, como ASLR y DEP se encuentra casi universalmente adoptada tanto por programas como por sistema operativo.

A medida que se introducen programas fuera de la instalación base, (ofimáticos, navegación o lectores PDF) el porcentaje de ficheros desprotegidos crece, sobre todo en CFG.

Cabe recordar, como siempre, que la presencia o no de algunas de estos sistemas de mitigación (especialmente SEH) no merma necesariamente la seguridad del sistema operativo o los programas. Se pretende hacer énfasis con esto en que estas fórmulas son muy recomendadas, pero pueden encontrarse casos en los que otras mitigaciones adicionales o las circunstancias del binario (por ejemplo que no suela encontrarse en memoria, como el instalador) no las hagan necesarias… aunque por el contrario es altamente improbable que activarlas suponga un riesgo.

En este sentido, el programa para mitigar la explotación (entre otras funciones) como EMET, de la propia Microsoft, ayuda a implementar de forma obligatoria e incluso reforzar muchas de las técnicas descritas junto con otras.

Todos los detalles del informe, en los que se explican las tecnologías en detalle y se aportan más gráficas y comparativas, están disponibles en SlideShare.



No hay comentarios:

Publicar un comentario