Este post es una traducción y adaptación de su versión original en We Live Security
En el último año, Microsoft (MS) corrigió una gran cantidad de vulnerabilidades para Windows y sus componentes, así como para Office. Algunas de estas vulnerabilidades eran utilizadas por atacantes para propagar códigos maliciosos antes de que estuviera disponible la revisión para el software al cual estaba dirigida la amenaza; en otras palabras, lo que llamamos un ataque 0-day. La mayoría de estos ataques se concentraban en fallas de Internet Explorer.
Podemos decir que el año 2013 fue notable por el surgimiento de vulnerabilidades 0-day que principalmente se utilizaron en ataques dirigidos. En este caso, los criminales informáticos trabajaron en el desarrollo de exploits (programas que aprovechan vulnerabilidades), pero en lugar de hacerlo para propagar códigos maliciosos, el propósito era emplearlos en ataques a usuarios específicos a la vez que intentaban alcanzar ciertos objetivos, algunos de los cuales eran conocidos solo por los mismos atacantes.
En la tabla que aparece a continuación, se muestran las estadísticas de las vulnerabilidades que Microsoft corrigió el año pasado.
Las vulnerabilidades mostradas en rojo se utilizaron in the wild; es decir, se usaron en ataques reales a usuarios finales antes de que estuviera disponible una revisión.
La siguiente tabla brinda más información sobre las vulnerabilidades para las cuales hubo exploits in the wild en el último año (antes de que apareciera la revisión correspondiente).
Como se puede observar, los atacantes lograron usar algunos archivos ejecutables del sistema Windows que no contaban con soporte para la técnica de seguridad Selección aleatoria del diseño del espacio de direcciones (ASLR) en la construcción de dispositivos para ataques de Programación orientada al retorno (ROP) y, de esa forma, lograban evadir la ASLR. Un ejemplo de éstos es la biblioteca hxds.dll de Microsoft Office 2007-2010, que se compiló sin la ASLR. Como parte del boletín de seguridad de Microsoft publicado el segundo martes de diciembre, la empresa corrigió esta falla (denominada Omisión de característica de seguridad) con la revisión MS13-106, suministrándoles el nivel apropiado de protección a los usuarios de Windows que trabajan con esta versión de Office.
La siguiente lista contiene información sobre las Recomendaciones de seguridad (RS) publicadas durante el último año.
La siguiente tabla comparativa muestra los componentes de Windows que se corrigieron con mayor frecuencia durante 2013. Tenga en cuenta que las versiones de Microsoft Windows actualmente soportadas incluyen desde Windows XP con Service Pack 3 a Windows 8.1 en equipos de escritorio, y desde Windows Server 2003 a Windows Server 2012 R2 para servidores.
Abajo se muestra la misma clasificación incluyendo Office (2003 – 2013 para Windows).
El siguiente gráfico compara las actualizaciones y las vulnerabilidades a las que se dirigieron en mayor parte.
Infección por página Web Drive-by download: es el método principal para distribuir código oculto mediante la redirección a paquetes de exploits.
Escala de privilegios para usuarios locales (Elevación de privilegios, LPE): es una forma de obtener los privilegios máximos en Windows; normalmente se asocia con el lanzamiento del código de modo kernel para evadir restricciones de modo de usuario (también conocido como escape a las restricciones de modo de usuario).
Ejecución remota de código (RCE): los atacantes usan este método, por ejemplo, en infecciones drive-by, pero en muchos casos se puede activar no solo mediante una página Web sino también por correo electrónico, mensajería instantánea, etc.
Como podemos ver en la tabla de arriba (Emisión de actualizaciones / tendencia de aprovechamiento de vulnerabilidades en 2013), los productos como el explorador Internet Explorer, .NET Framework y el complemento para Silverlight son utilizados por los atacantes para la ejecución remota de código y, de hecho, en la mayoría de los casos, se lleva a cabo mediante el explorador. Los atacantes usan una página Web especialmente diseñada con contenido malicioso que aprovecha una vulnerabilidad del software antes mencionado. Eventualmente, esta página se usa para la distribución de malware. El usuario puede seleccionar una opción especial para Internet Explorer que mitiga los exploits. Esta opción se llama Enhanced Protection Mode, EPM ("Modo de protección mejorado") o modo de caja de arena.
Abajo se muestran las opciones de caja de arena de Internet Explorer 11 para utilizar en Windows 8 y versiones posteriores (solo para ediciones de 64 bits).
La primera opción, llamada Enhanced Protected Mode (EPM), habilita el modo de restricción AppContainer para procesos en las pestañas del explorador. La segunda opción, denominada Enable 64-bit processes for Enhanced Protection Mode (Habilitar procesos de 64 bits para el Modo de protección mejorado) habilita el uso de procesos nativos de 64 bits para las pestañas del explorador. En forma predeterminada, en las versiones de 64 bits de Windows 8 y posteriores, Internet Explorer ejecuta los procesos de las pestañas del explorador como si fueran procesos de 32 bits, lo que los hace más vulnerables a recibir ataques del tipo heap spraying, una técnica utilizada por los exploits para facilitar la ejecución arbitraria de código. Los atacantes utilizan esta técnica para evadir las prácticas de mitigación de la ASLR. El espacio de direcciones virtuales en 64 bits es mucho más grande que el espacio de direcciones de 32 bits, y la ASLR es más segura en el contexto de dicho proceso.
Los atacantes también pueden aprovechar las vulnerabilidades de las aplicaciones incluidas en el paquete de software de Microsoft Office para instalar códigos maliciosos en forma remota. Al observar las actualizaciones emitidas para Office durante el último año, podemos ver que todas tuvieron como objetivo eliminar vulnerabilidades que permitían la ejecución remota de código. En este escenario, los atacantes crean un archivo de Office especialmente diseñado, por ejemplo, un archivo .DOCX para Microsoft Word, y se lo envían a la víctima en un correo electrónico utilizando phishing. El mensaje debe ser capaz de convencer al usuario de que desea abrir un archivo adjunto malicioso. Cuando se abre el archivo en una versión vulnerable de Office, el equipo del usuario queda infectado con software malicioso.
Tenga en cuenta que las versiones más nuevas de Microsoft Word 2013 y Outlook 2013 contienen características de seguridad especiales para mitigar el aprovechamiento de vulnerabilidades. Estas características prohíben que la aplicación realice funciones potencialmente peligrosas. Por ejemplo, Outlook inicia el proceso de Word con un Nivel de integridad bajo y con privilegios reducidos, lo que restringe la capacidad de shellcode de ejecutar funciones del sistema.
Los componentes del sistema operativo que se ejecutan en modo kernel (KM), el controlador del subsistema de la interfaz gráfica del usuario de Windows win32k.sys, los controladores del sistema (controladores KM), y ntoskrnl (NTOS, kernel del sistema operativo), son utilizados por los atacantes para elevar el nivel de privilegios del sistema con el objetivo de ejecutar código en modo kernel que pueda evadir las restricciones de Windows (escape a las restricciones de modo de usuario). Entre estos componentes, el controlador win32k.sys fue el que tuvo más revisiones durante el último año. La barra de color representa los niveles de revisiones en 2013; la barra gris adyacente representa los niveles en 2012.
Como podemos observar, en 2013 Microsoft reparó muchas más vulnerabilidades que en 2012. Esta tendencia se evidencia principalmente con el controlador del subsistema de la interfaz gráfica del usuario de Windows (win32k.sys) y el explorador Internet Explorer. Tenga en cuenta que en octubre, la empresa lanzó una nueva versión de Windows (Windows 8.1) y del explorador Internet Explorer 11. Internet Explorer 11 también se puede instalar en Windows 7.
La siguiente tabla muestra las vulnerabilidades (0-day al momento del aprovechamiento de las vulnerabilidades) que usaron los atacantes para distribuir códigos maliciosos. El año pasado puede llamarse con razón el año de los ataques dirigidos y de los ataques Watering Hole. Para muchos de ellos, los atacantes investigaron especialmente las vulnerabilidades y las emplearon en forma exclusiva para ataques a una región o empresa específica. En particular, los ataques Watering Hole se usaron para comprometer sitios web que recibían activamente visitas de presuntas víctimas en diversas regiones del mundo. Creemos que esta tendencia continuará en 2014.
La columna con asterisco (*) denota el mes en que la vulnerabilidad se aprovechó por primera vez en un ataque dirigido; un guión en esa columna significa que no hay datos disponibles.
El último año demostró que Microsoft prestó atención a las tecnologías de protección para neutralizar los exploits. Hubo tres innovaciones principales que tuvieron como objetivo proteger la página nula (asignación de memoria), quitar punteros en funciones ntdll de SharedUserData (mitigación de la omisión de ASLR) y prohibir la suministración de información sobre punteros a objetos del kernel para aplicaciones no confiables en Windows 8.1 (mitigación de la omisión de KASLR).
La asignación de memoria con dirección 0 (usando ntdll!ZwAllocateVirtualMemory) facilita mucho la vida de los atacantes, especialmente si están interesados en la elevación de privilegios. Luego de que el atacante asigna esta región de la memoria, necesita encontrar un controlador vulnerable que pueda ejecutar código desde esta dirección mediante un error.
Otra mejora interesante de Windows 8 es que todos los archivos compilados por Microsoft incluyen soporte de ASLR mejorada o fortalecida o ASLR de alta entropía (HEASLR). HEASLR es una nueva característica que apareció por primera vez en Windows 8. Mejora el enfoque normal de la ASLR mediante el uso de una entropía de dirección más fuerte para operaciones de memoria como la asignación de memoria virtual, la carga de imágenes, la asignación de la pila de memoria, etc.
Todos los archivos de sistema compilados por Microsoft en Windows 8+ son compatibles con HEASLR para mejorar la protección ante el potencial aprovechamiento de vulnerabilidades (enlace /HIGHENTROPYVA).
Puede verificar la actividad de HEASLR con la herramienta ProcExp.
Conclusión
Como podemos ver, durante el último año, Microsoft corrigió muchas vulnerabilidades, la mayoría de las cuales estaban relacionadas a la ejecución no autorizada o remota de código, que les permite a los atacantes comprometer sistemas vulnerables. Asimismo, la empresa introdujo funcionalidades de seguridad útiles, que complican más el proceso de aprovechamiento de vulnerabilidades. Por estas razones, muchos de los exploits que emplean dichos métodos para aprovechar vulnerabilidades no seguirán funcionando en las versiones actualizadas del sistema operativo Windows. Esto hace que Windows 8 y 8.1 sean una buena opción, por ejemplo, porque Windows 8.* incluye características de seguridad integrales que solo están disponibles para otras versiones del sistema operativo Microsoft si el usuario cuenta con la posibilidad de instalar la actualización de seguridad correspondiente. Les recomendamos a nuestros clientes instalar las actualizaciones de seguridad lo antes posible tras su lanzamiento para ayudar a que se mantengan protegidos.