macOS Sierra: Gatekeeper Path Randomization

Los cambios realizados por Apple al respecto de Gatekeeper en macOS Sierra son una respuesta a los problemas de este sistema de gestión de aplicaciones que trata de filtrar aquellas que no han sido firmadas por un certificado de desarrollador de Apple evitando así que pueda instalarse malware en el Mac con facilidad. Gatekeeper puede ser sobrepasado por un atacante que busque instalar malware en el Mac y los cambios realizados por Apple el pasado octubre de 2015 no solucionaron totalmente el problema por lo que en macOS Sierra Apple ha decidido implementar dos medidas: una visible y otra no.

En macOS Sierra, Apple ha decidido limitar la descarga de aplicaciones en el panel de control Seguridad y Privacidad, pestaña General, a dos tipos de aplicaciones: Mac App Store y Desarrolladores Identificados. Esto implica que los usuarios deben seleccionar una de estas dos opciones y Gatekeeper buscará el correspondiente firmado de código en las aplicaciones descargadas para validarlas y permitir su ejecución. Este cambio, sin embargo, no implica que no sea factible poder ejecutar aplicaciones no firmadas, en el caso de que un usuario avanzado haya decidido descargar y utilizar alguna de ellas: el método de hacer clic e invocar el menú contextual para indicar a continuación Abrir seguirá funcionando para ejecutar aplicaciones no firmadas, aunque el usuario deberá aceptar (y asumir por tanto) la responsabilidad de la ejecución de las mismas. Esto fue confirmado por Simon Cooper, un manager de ingeniería de Apple durante una sesión en la WWDC de 2016.

Hay un cambio más debajo del capó de macOS Sierra en busca de una mayor y mejor seguridad del sistema, no obstante. Para evitar el problema de las aplicaciones reempaquetadas y sus correspondientes ataques, una forma de intentar infectar el sistema creando una aplicación que parece ser legítima pero que incluye software malicioso en componentes externos incluidos en la aplicación que no son gestionados directamente por Gatekeeper, macOS Sierra situará aleatoriamente estas aplicaciones en el disco, haciendo imposible que el código malicioso pueda recuperar información basándose en el uso de rutas preestablecidas, con lo que simplemente no encontrará los recursos asociados al mismo y quedará inerte.

Las imágenes .dmg, uno de los sistemas habituales de distribución de software más populares, estarán sujetas a este sistema aleatorio pero además ahora Apple firmar las imágenes de disco a los desarrolladores que trabajen con este tipo de distribución de software fuera de la App Store, utilizando los certificados generados como desarrollador de software para Mac desde su cuenta. Esto añadirá una barrera de seguridad más ya que al intentar abrir una imagen de disco no firmada, recibiremos las correspondientes alertas al respecto, teniendo que evaluar la idoneidad de seguir adelante y asumiendo de forma personal el problema de seguridad que puede causar el software de su interior que todavía no ha sido ejecutado.

Como funciona

Gatekeeper, cuando se ejecuta una aplicación fuera de la App Store, mira en su interior en busca de un firmado de código específico que se incluye cuando el desarrollador de la aplicación tiene una ID de Apple. Esto está pensado así para que un desarrollador pueda crear aplicaciones fuera de la App Store, pero estén convenientemente firmadas de forma que si es un malware, por ejemplo, haya alguien físico detrás del software. Gatekeeper como tal lleva funcionando en OS X desde hace muchos años pero no es un sistema perfecto.

En septiembre de 2015, un investigador de seguridad encontró una forma muy sencilla de sobrepasar la seguridad de Gatekeeper, incluso cuando la protección está activada al nivel máximo. El hack utiliza un archivo binario considerado confiable por Apple e identificado por Gatekeeper como tal. Una vez Gatekeeper confía en el binario, éste puede ejecutar archivos que están en la misma carpeta sin que sean investigados previamente por Gatekeeper, permitiendo la instalación así de malware.

Patrick Warble, director de la empresa de seguridad Synack comentó que la forma de sobrepasar a Gatekeeper más que aprovechar un defecto en sí, se aprovecha de la forma de trabajar que tiene ya que la única función del sistema de seguridad es comprobar si el certificado asociado a una aplicación es correcto, es decir, está generado por la Mac App Store o pertenece a un desarrollador identificado, pero no controla las futuras acciones de la aplicación. Así, si la aplicación es válida, la deja pasar, pero no controla qué hace y cómo lo hace… después.

El proceso es muy simple (y lo voy a explicar también de forma muy simple). Básicamente descargas una imagen de disco o un archivo comprimido que corresponde a una aplicación. Al abrir la imagen o descomprimirlo y hacer clic en la aplicación, Gatekeeper comprueba el certificado de la misma y le da paso, pero entonces la aplicación hace una llamada a un segunda aplicación que se ejecuta a espaldas de Gatekeeper y que puede contener malware.

Ante este problema, la política SIP de OS X 10.11 El Capitan puede ayudar mucho, ya que impide que un malware se instale con facilidad al no tener acceso al sistema incluso cuando se introduzca una contraseña de administrador.

Gatekeeper-bypass-hack

La respuesta, Gatekeeper Path Randomization

Gatekeeper Path Randomization es un intento de evitar esta vulnerabilidad y funciona creando y montando una imagen de disco en modo solo lectura en una ruta temporal dentro del sistema de archivos de macOS Sierra, copiando la aplicación a esa imagen de disco montada y lanzando la aplicación desde allí. Como las rutas al respecto de la ejecución de la aplicación han cambiado al enviarse esa aplicación dentro de esa imagen de disco de solo lectura, cualquier intento de cargar recursos externos una vez ejecutado Gatekeeper resultan inútiles. Gatekeeper Path Randomization funciona solo cuando se intenta ejecutar una aplicación fuera de la carpeta de Aplicaciones, en concreto, la carpeta de Descargas definida por el usuario.

El problema llega con las aplicaciones descargadas desde internet y que corresponden a desarrolladores de confianza y la forma en la que los usuarios ejecutan esas aplicaciones, ya que al intentar abrir esas aplicaciones desde la carpeta de descargas (política muy habitual entre muchos usuarios) ciertas características de las mismas quedan deshabitadas como por ejemplo, la ejecución de actualizaciones de software a través del framework Sparkle, por ejemplo, y lo que es peor, si el usuario, una vez ha ejecutado la aplicación, no le funciona, la mueve a la carpeta Aplicaciones y vuelve a intentar ejecutarla, seguirá sin funcionar en función de cómo haya sido empaquetada para su distribución.

Llegados a este punto, los desarrolladores de aplicaciones que se descargan y comercializan fuera de la App Store para Mac tienen no solo que evaluar sus aplicaciones con macOS Sierra, sino evaluar cómo se ejecutarán cuando se descarguen desde internet y Gatekeeper Path Randomization se ejecute sobre las mismas cuando se realice una acción tan inocente como intentar abrirlas desde la carpeta de descargas. Evidentemente GPR ofrece muchas ventajas de seguridad contra archivos que se descargan solos y tratan de engañar a los usuarios con menos conocimientos, pero es también un cambio que obliga a revaluar la forma en la que utilizamos las propias descargas los usuarios más experimentados, obligándonos a crear nuevas formas de trabajo a la que nos tenemos que acostumbrar.

0 0 votos
Article Rating
Subscribe
Notify of
0 Comments
Opiniones Inline
Ver todos los comentarios
0
Me encantaría saber tu opinión, por favor, deja un comentariox
()
x