Mostrando entradas con la etiqueta EMET. Mostrar todas las entradas
Mostrando entradas con la etiqueta EMET. Mostrar todas las entradas

Comenzamos la cuarta y ultima entrega  de la serie Windows 8, y tomamos la recta final, para centrarnos en los últimos aspectos de seguridad que analizamos desde "Seguridad para Todos".


Por supuesto, no puedo dejar de recordaros que el criterio escogido para la ocasión, no es otro sino un análisis objetivo y superficial [panorámica y/o primeras impresiones] de las principales medidas y mejoras de Seguridad en Windows 8 Pro.

Antes de continuar vamos a recordar cuales son las principales medidas de Seguridad incluidas en la nueva versión de Windows:
  • Antivirus incluido de serie: Microsoft Defender.
  • Protección de arranque (BIOS), nuevo inicio Seguro: Secure Boot (UEFI).
  • Navegación Segura con Internet Explorer 10 y SmartScreen.
  • Protección Infantil.
  • Generación de nuevas contraseñas mediante imágenes.
  • Interfaz METRO que incluye un Sandbox para ejecución segura de aplicaciones.
  • Mejora en el sistema ASLR (Address Space Layout Randomization) y DEP (Data Execution Prevention), protección de acceso y ejecución de procesos no autorizados.
  • Mejoras en el Administrador de Tareas.
*(En negrita, las medidas que ya se han visto en la segunda y tercera entrega de la serie).


Interfaz METRO

Dejando de lado todas las "quejas" relacionadas con la usabilidad de la nueva interfaz, se puede afirmar que Microsoft ha querido proporcionar a Windows 8 una interfaz única como punto de unión entre todos los dispositivos que usen el sistema operativo Windows, es decir, mantener una continuidad entre el sistema que tendrá el teléfono móvil, tablet y el equipo de sobremesa.

A pesar de no ser totalmente ajenos a las críticas recibidas por numerosos expertos, en cuanto a facilidad de uso se refiere, es interesante abstraerse de los comentarios para centrarse únicamente en el aspecto que nos preocupa, al menos a mi, la Seguridad.

Source: tuexperto.com


Bajo el punto de vista de la Seguridad, la interfaz METRO proporciona a los desarrolladores la capacidad de controlar la ejecución de la herramienta en un entorno protegido, denominado AppContainer. De hecho, Windows 8 obliga que todas las aplicaciones METRO, que se vendan o estén disponibles desde la tienda de aplicaciones, deberán obligatoriamente utilizar el AppContainer, describiendo con detalle las características del programa y los permisos que ésta necesita para ejecutarse, como por ejemplo, acceder a la cámara WEB, escribir en disco duro, etc.

¿Qué es AppContainer de la interfaz METRO?

Es el nuevo entorno seguro de ejecución de aplicaciones (security sandbox) que introduce Windows 8, este nuevo sistema de seguridad, permite un control y ajustes "fino" sobre los permisos que tienen las aplicaciones que se ejecutan dentro. Por ejemplo, permite bloquear el acceso de escritura y/o lectura de una aplicación al conjunto de ficheros del Sistema. Además, las aplicaciones que se ejecutan bajo el control del AppContainer, tienen establecido el contexto de ejecución en el rol de usuario (user) necesitando una acción del usuario para elevar los privilegios y cambiar el contexto de ejecución.

Restricciones por Defecto del contenedor AppContainer

Por defecto una aplicación solo tendrá acceso a su propia directorio de la aplicación, incluyendo Local, Roaming y subdirectorios temporales, todo esto será eliminado con la des-instalación de la aplicación. Para que la aplicación pueda acceder directamente a estos directorios a través de sus librerías (API) debe de declarar esto en el "manifiesto" durante su desarrollo o solicitar una elevación de privilegios (acción del usuario), pues todas la aplicaciones se ejecutaran con el rol de usuarios (user) con privilegios limitados. Lo mismo ocurre, con el acceso a las librerías multimedia, dispositivos o sensores del equipo, necesitaran estar correctamente declarados en su "manifiesto" (texto descriptivo de la actividad de la aplicación), o solicitar el acceso, por ejemplo, para utilizar el micrófono o cámara web.

La aplicaciones desarrolladas para ser ejecutadas en la interfaz METRO, es decir, aquellas que utilizan el AppContainer, tienen su propio nivel de integridad identificativo, cuyo nombre es "AppContainer". Es por ello que este nivel de integridad de ejecución de la aplicación puede servir para diferenciar entre las aplicaciones desarrolladas para la interfaz METRO o aquellas que imitan el estilo gráfico, pero mantienen el nivel de integridad habitual del sistema operativo Windows, es decir, aquellas aplicaciones nativas win32 compatibles.

Source: tuexperto.com
Para conocer que aplicación con aspecto de la interfaz METRO es una aplicación nativa, y por tanto usa el sandbox AppContainer os recomiendo leer nuestro artículo: ¿Cómo saber cuando una aplicación se esta ejecutando en el AppContainer en Windows 8?

¿Cómo afecta esto en un equipo de Sobremesa?

Para una Tablet, la interfaz METRO introduce por defecto para toda aplicación la ejecución en su entorno seguro (AppContainer) es una característica inherente a la interfaz, y toda aplicación para dicha interfaz debe cumplir para ejecutarse. Pero en un equipo de sobremesa, las aplicaciones pueden ejecutarse sin la interfaz METRO, es decir, conviven al mismo tiempo aplicaciones desarrolladas para la interfaz METRO con aplicaciones de la interfaz clásica compatibles, que no están sujetas a dicho entorno seguro de ejecución.

Para utilizar esta aplicación de seguridad, la aplicación deberá tener su versión METRO, es decir, se necesita una versión específicamente desarrollada para ser ejecutada en la interfaz METRO, de cualquier otra forma la aplicación se ejecutará como viene siendo habitual en Windows. La única ventaja, es que todas las aplicaciones descargadas de las APPS-STORE de Windows, se ejecutaran y estarán preparadas para METRO.

Por ejemplo, los navegadores, Google y Mozilla han anunciado que están trabajando para sacar una versión para METRO, sería en ese momento cuando podrán ser ejecutadas dentro de un entorno seguro (sandbox), aunque es posible que no puedan utilizarse plugín (extensiones) dado que no estarán adaptadas a la interfaz METRO, ni a sus restricciones de uso.

Mejoras en el sistema de protección frente Malware 

ASLR (Address Space Layout Randomization)

La técnica ASLR consiste en aleatorizar (randomized) las direcciones de memoria donde es almacenado el código de un programa en ejecución, haciendo que la detección del bloque de memoria donde este se encuentra almacenado durante su ejecución se dificulte e imposibilite, por tanto, los ataques de ejecución de código arbitrario por desbordamiento de memoria (BoF).

Imagen 1: ASLR proporcionando carga aleatoria de librerias en cada inicio del sistema
Source: paperblog.com
En Windows 8 se ha extendido este mecanismo de protección a más partes del propio Sistema Operativo e introduciendo una serie de mejoras como son:



  • High Entropy ASRL (HiASLR): consistente en aumentar el espacio de direcciones para los procesadores de 64 bits, con una implicación directa en el incremento de la aleatoriedad de las direcciones de memoria.
  • ForceASLR: esta característica consiste en fuerza a todas las DLL que se ejecuten en el Sistema la utilización del sistema de protección ASLR, aún a pesar de no ser indicado específicamente en nuestra plataforma.

DEP (Data Execution Prevention)

DEP es la técnica y/o mecanismo que protege el Sistema evitando que las aplicaciones y/o programas ejecuten código arbitrario fuera del espacio de memoria que tienen asignado.

La unión de las técnicas de ASLR + DEP hacen que las probabilidades de éxito de ejecución de software sospechoso (Malware) disminuyan considerablemente.

A pesar de las mejoras de seguridad, existen algunos estudios [papers] donde se pone a prueba este mecanismo de protección, y se consigue demostrar la existencia de un punto débil [ROP], mediante el cuál podría realizarse un "bypass"(saltarse/evitar) de la protección ALSR. [Más información consulte el siguiente documento técnico: G-Free: Defeating Return-Oriented Programming through Gadget-less Binaries] [PDF][PAPERS].

Y más recientemente, a los pocos días de ser presentado Windows 8, se detecto una vulnerabilidad en el Internet Explorer 10 (navegador por defecto incluido en Windows 8) que permitía saltarse las protecciones HiASLR, AntiROP y DEP, así como el sandbox (AppContainer). [Ver más detalles].

Para incrementar la seguridad en nuestro sistema Windows se recomienda instalar una aplicación adicional desarrollada por el propio Microsoft, que consiste en el Kit de Herramientas Experiencia de mitigación mejorada (EMET). Es un conjunto de herramienta que ayudará en la prevención de ejecución de código arbitrario y vulnerabilidades no conocidas, o lo que es lo mismo los "zero-day".

WINDOWS KERNEL

Por ultimo, no quería dejar de comentar, otras de las novedades introducidas en Windows 8, es la protección a nivel de Kernel (núcleo del Sistema Operativo) con respecto a la ejecución de procesos no autorizados y/o maliciosos (malware).

Microsoft consciente de la constante evolución en las técnicas de los atacante para penetrar las defensas de su Sistema y la tendencia de utilizar el Kernel como vector de entrada (ataque) ha incluido alguna mejoras en la defensa y protección del mismo. 

Algunas de estas mejoras son:

  • Extensión de las técnicas DEP al Kernel, alcanzando en Windows 8 más partes del Sistema Operativo y/o instrucciones del kernel.
  • Incremento en la entropía de ASLR a nivel de Kernel
  • Incluido el soporte SMEP/PXN que junto a DEP, hacen mucho más difícil la explotación de las vulnerabilidades.
  • Se ha habilitado la protección de referencia NULA (NULL deference protection), prohibiendo explicitamente el mapeado de información en los primero 64K de memoria.
  • Incluir un nuevo sistema de comprobación de integridad, lo que permite bloquear varios ataques conocidos.
MEJORAS EN EL ADMINISTRADOR DE TAREAS

Merece la pena dedicar unas líneas a las mejoras introducidas en el Administrador de Tareas en Windows 8.


Windows 8 viene con un Administrador de Tareas [Crtl+Mayus+ESC] de renovada interfaz y funciones, como podemos observar en la imagen superior.

Además de la lista de procesos, aparecen novedades en el Rendimiento, con una interfaz más limpia y sencilla. Permite ver rápidamente que proceso esta consumiendo más recursos del sistema.

En la pestaña de procesos, se organizan mejor las aplicaciones que se están ejecutando, incluso se agrupan según los hilos del proceso creador (principal). En esta pestaña se incluye información de utilidad, como puede ser detalles de la línea de comando que inicia el proceso, el PID (identificador de proceso), información sobre el Editor del proceso, etc.

Se incluye una interesante característica "Historial de aplicaciones" por cada usuario del sistema, es capaz de obtener una lista de los programas que se han ejecutado a lo largo del día de uso de la computadora, con información  sobre el tiempo que ha usado la CPU, el uso que ha hecho de la red y la descarga de datos. Puede resultar de utilidad en un análisis de malware, por ejemplo.




Además, desde el Administrador de Tareas se pueden analizar los procesos / programas que se encuentran en el grupo de "arranque en el Inicio" y por tanto, examinar si tenemos algún proceso sospechoso. Además se pueden consultar parámetros como "Tiempo de Inicio", "Consumo de CPU al arrancar", etc que pueden ser útiles para determinar la utilidad de dicho proceso y su eficiencia, sobre todo de cara a optimizar el arranque de nuestro equipo.

Por supuesto, la herramienta permite consultar los recursos que esta consumiendo cada uno de los usuarios con sesión iniciada en el sistema Windows, además de poder analizar con detalle cada uno de los procesos que se encuentra en ejecución.

Es cierto que el nivel de detalle no alcanza a "Process Explorer" pero es un avance disponer de un Administrador de Tareas tan completo como el que trae Windows 8. Que nos permite realizar un análisis básico de lo que ocurre en nuestro equipo ante un suceso / evento inesperado.

FIN

Hasta aquí hemos llegado, espero que hayáis disfrutado de estos cuatro artículos donde os he ido contando las novedades de Seguridad que nos trae la nueva versión del Sistema Operativo de Microsoft. Y la conclusión, es que, dejando al margen las críticas en cuanto a la usabilidad de la interfaz METRO, se puede decir que el Sistema es más "seguro" que sus antecesores, por lo que desde el punto de vista de la "Seguridad de la Información" se recomienda actualizar el Sistema a su ultima versión, esto es Windows 8.

Últimamente se esta poniendo en entre dicho la funcionalidad de técnicas de protección que están desde hace mucho tiempo con nosotros como son el "Antivirus" y "Cortafuegos", los motivos son la evolución de las técnicas y/o vectores de ataque que el "Malware" utilizan para introducirse en el Sistema.

En efecto, las técnicas de ataque actuales que son utilizadas por el Malware (virus, troyanos, gusanos, botnets, etc) son mucho más sofisticadas, buscan explotar las vulnerabilidades (preferiblemente zero-day) de las aplicaciones mas extendidas en los Sistemas, como son Java, Navegador WEB, Adobe PDF, etc 

Además de explotar estas vulnerabilidades, aplican otras técnicas como son cifrado de comunicaciones, cifrado y/o ofuscación del código que cargan en la memoria tras explotar la vulnerabilidad, técnicas de evasión de antivirus, etc. Es por ello que a día de hoy el Antivirus y/o un cortafuegos de entrada son insuficientes para estar protegido cuando salimos a Internet.

¿Qué podemos hacer?

Gracias a un artículo de Sergio de los Santos (@ssantosv), he conocido una herramienta muy prometedora, se trata de Exploitshield, un software que detecta las técnicas de intentos de explotación de vulnerabilidades en el Sistema, bloqueando la ejecución de las mismas, de esta forma evitan que se lleve a cabo con éxito la explotación de una vulnerabilidad y evitando por tanto la infección del Sistema mediante este tipo de técnicas.

En la página web de este programa, nos muestran un vídeo de como su software es capaz de bloquear múltiples intentos de ejecución de código arbitrario en nuestro Sistema a través de una vulnerablidad en JAVA.



Características de ExploitShield:

La versión beta 0.7, permite la detección y bloqueo de técnicas de ataque a través del navegador Web en las siguientes aplicaciones:

  • Web browsers (Internet Explorer, Firefox, Chrome, Opera)
  • Media players (Windows Media Player, VLC, QuickTime, Winamp)
  • Microsoft Office (Word, Excel and Powerpoint)
  • PDF readers (Adobe Acrobat, Reader & Foxit Reader)

Esta herramienta no es la única complementaría que podemos usar para combatir el Malware, además de Exploitshield, Microsoft ha lanzado otro software que trabaja de forma similar y promete actuar frente al Malware que intenta acceder a zonas de memoria no autorizadas, es decir, exploits que pretender ejecutar código arbitrario a través de una vulnerabilidad. 

Se trata de EMET (Enhaced Mitigation Experience Toolkit) un software que permite a los usuarios mejorar la seguridad de las aplicaciones que ejecutamos en Windows utilizando dos características de seguridad avanzados de Windows Vista y Windows 7, estamos hablando de Address Space Layout Randomization (ASLR) y Data Execution Prevention (DEP). 

Dos características de Windows que se encargan de dificultar la ejecución exitosa de exploits y dificultar al Malware localizar los sectores en memoria en los que se sitúan los datos que los atacantes pretenden conseguir/reemplazar, aunque es una herramienta muy interesante, existen técnicas de evasión de ASLR y DEP, aunque esto no quiere decir que no sea efectiva, sino que "puede" prevenir los ataques.

¿Y Ahora qué?

Al igual que el Antivirus no es capaz de detectar todas las amenazas, y de protegernos ante cualquier tipo de virus/troyano o Malware, estos programas no serán capaces de parar y/o bloquear todos los ataques, pero de una cosa estamos muy seguros, sin ellos "estamos vendidos", para explicarlo con más claridad utilizaré es mismo ejemplo que Sergio de los Santos en su artículo.

El Antivirus es nuestro chaleco antibalas, y los programas antiexploits son nuestro casco y protecciones en las extremidades, sin embargo, como sabemos quedarían algunas partes del cuerpo sin proteger completamente, pero lo que esta claro que ya no será suficiente con un simple disparo, si no que tendrá que ser un autentico francotirador de elite.


Bajo la premisa de que la Seguridad Absoluta no existe, sabemos que siempre habrá una probabilidad y un riesgo de que las medidas de protección no sean capaces de detectar y eliminar la amenazas, pero en algo estaremos de acuerdo, yo de vosotros me pondría el chaleco antibalas, el caso, guantes e incluso espinilleras antes de salir a un campo de tiro (Internet).

Resumiendo

Dicho todo lo anterior, mi recomendación es complementar el software antivirus con otras medidas de protección adicionales, como por ejemplo Exploitshields, y otras herramientas de seguridad adicionales como un Host IDS, mejorando algunos aspectos de configuración de nuestro Sistema, con WinLockLess, etc.

Un Host IDS como Patriot NG herramienta que detecta cambios "sospechosos" en la configuración del sistema y/o ataques en nuestra red de área local, como por ejemplo la red inalámbrica.

Y por supuesto, la mejor manera de mantenernos protegidos, es intentar actualizar todas las aplicaciones que tengamos instaladas, sobre todo JAVA, Adobe flash, PDF, etc. Y sobre todo, lo que no sea necesario desinstalarlo.

Yo ya tengo instalado exploitshield ¿y tu? voy a darle una oportunidad.

Referencias