macOS Sierra: Gatekeeper Path Randomization, las luces y las sombras

En ese primer artículo os ofrecí unas primeras líneas generales de Gatekeeper Path Randomization  o GPR a partir de ahora, es una nueva característica de Gatekeeper diseñada para evitar que software malicioso pueda ser ejecutado sobrepasando esta medida de seguridad diseñada por Apple.

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

El investigador de seguridad advirtió del problema a Apple y cree que en Cupertino se está trabajando en una forma de solucionar este problema para eliminarlo o limitar los daños que pueda causar. Un portavoz de Apple de hecho confirmó que se está trabajando en una actualización de seguridad.

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, salvo que en algún punto del desarrollo de macOS Sierra Apple decida implementar algún tipo de advertencia o cuadro de diálogo que permita una acción directa que mueva las aplicaciones directamente a la carpeta de Aplicaciones o solicite esa acción antes de ejecutar una aplicación.

Jeff Johnson de Rogue Ameba ha publicado un artículo sobre este tema en el que ofrece detalles adicionales sobre cómo esta nueva política afecta a los desarrolladores externos de aplicaciones fuera de la Mac App Store y la solicitud de creación de una política integrada dentro de la aplicación que evite que sistema aplique GPR a la misma.

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