viernes, 19 de enero de 2018

Así es como macOS te permite instalar módulos en el Kernel sin permisos de administrados ni contraseñas


Seguro que alguna vez hemos oído la frase “Mac es lo más seguro” o “Mac no tiene fallos ni virus”. Aunque es cierto que macOS es un sistema operativo menos vulnerable ante fallos de seguridad y virus, eso no significa que sea un sistema totalmente invulnerable, y mucho menos en las últimas versiones del sistema operativo macOS, que cada poco deja en evidencia la seguridad de Apple con fallos tan absurdos como el que vamos a explicar a continuación.

Una de las medidas de seguridad de Apple pensadas para protegernos del malware y de las aplicaciones maliciosas es que para poder ejecutar aplicaciones en este sistema estas deben haberse descargado desde la App Store, su propia tienda, o estar firmadas con un certificado de un desarrollador de confianza. De no ser así, la aplicación quedará bloqueada por el centro de seguridad de macOS a la espera de que el usuario elija, manualmente, si quiere ejecutar la aplicación (con los riesgos que supone) o no.

Por motivos de seguridad, para poder instalar estas aplicaciones de terceros es necesario identificarnos en el sistema, por ejemplo, con una cuenta de administrador que nos garantice que sabemos lo que hacemos y que no está intentando poner en peligro nuestro sistema un usuario cualquiera.

Ejecutar app bloqueada macOS

Esta medida de seguridad está muy bien, ya que evitaremos ejecutar sin querer aplicaciones maliciosas. Sin embargo, lo lógico es que, para ejecutarla, tengamos que identificarnos en el sistema, algo que no ocurre.

Poder ejecutar aplicaciones maliciosas en el sistema es peligroso, pero no dejan de ser aplicaciones. La cosa cambia cuando lo que estamos intentando instalar es un módulo en el Kernel de macOS. Los módulos del Kernel son mucho más peligrosos para la seguridad de los usuarios y, a pesar de ello, Apple también permite que cualquiera los instale sin necesidad de autenticarse, como ha descubierto Will Dorman, analista de vulnerabilidades del CERN.

Como podemos ver en las capturas que muestra este investigador de seguridad, macOS permite que aplicaciones, como VirtualBox, instalen módulos en el Kernel sin necesidad de haber sido ejecutadas con permisos de administrador, tanto si la cuenta es “admin” como si se trata de un usuario normal sin permisos de ningún tipo.

Apple así lo quiso, y así lo hizo, ¿dónde está la seguridad de macOS?


Cuando nos encontramos con esto, lo primero que nos viene a la cabeza es que se trata de una vulnerabilidad como cualquier otra, por ejemplo, los fallos de seguridad que llevan ocultos desde hace 15 años y que permiten a un pirata informático ejecutar código remoto, o el enlace para iMessage que puede hacer que nuestro macOS funcione mal.

Sin embargo, esta vez no se trata de un fallo de Apple, sino que estos cambios son intencionados tal como se indica en la página de soporte de Apple. Dentro de esta página podemos ver todas las circunstancias en las que es posible instalar módulos en el Kernel sin firmar, pero la más llamativa es la que se permite desde macOS 10.13.2 que, utilizando MDM, cualquier desarrollador puede instalar extensiones sin consentimiento.

Así, este investigador nos ha demostrado cómo es posible instalar los módulos de VirtualBox en el kernel sin necesidad de nada más, ni contraseñas ni permisos de administrador, nada.

Desde luego, esta nueva característica de macOS va en contra de cualquier idea que tengamos de seguridad, y de todo lo que Apple ha sido, y no será, en cuanto a sistemas seguros e invulnerables.