macOS: durante casi 11 años, los hackers han podido sobrepasar la comprobación de firma del software

Durante casi 11 años, los hackers han tenido una manera fácil de conseguir que el malware macOS pase el escrutinio de una gran cantidad de herramientas de seguridad de terceros haciéndoles creer que los productos maliciosos estaban firmados por Apple.

La técnica funcionaba utilizando un formato binario, también conocido como un archivo Fat o Universal, que contenía varios archivos que fueron escritos para diferentes CPUs usadas en Macs a lo largo de los años, como i386, x86_64, o PPC. Sólo el primer archivo Mach-O del paquete tenía que estar firmado por Apple. Al menos ocho herramientas de terceros mostrarían otro código ejecutable no firmado incluido en el mismo paquete que el firmado por Apple. Las herramientas de terceros afectadas incluyeron VirusTotal, Google Santa, Facebook OSQuery, el firewall Little Snitch, Yelp, OSXCollector, Carbon Black’s db Response, y varias herramientas de Objective-See. Muchas empresas y particulares confían en algunas de las herramientas para ayudar a implementar procesos de listas blancas que permiten que sólo se instalen en un equipo las aplicaciones aprobadas, mientras que prohíben todas las demás.

El gusano Stuxnet que atacó al programa de enriquecimiento de uranio de Irán hace ocho años dependía de firmas digitales pertenecientes a desarrolladores de software legítimos. El año pasado, los investigadores dijeron que la firma fraudulenta de códigos estaba más extendida de lo que se pensaba y era anterior a Stuxnet en unos siete años. La mayoría de estos ataques implicaban la obtención de certificados de firma fiables de Microsoft Windows que pertenecían a desarrolladores legítimos. La falsificación de Apple, por el contrario, no requería tal robo de certificado.

Es muy fácil“, dijo Joshua Pitts, ingeniero superior de pruebas de penetración de la empresa de seguridad Okta, sobre la técnica. Cuando lo descubrió en febrero, se puso rápidamente en contacto con Apple y con los desarrolladores de terceros. “Esto me asustó mucho, así que pasamos al modo de revelación.”

Pitts dijo que las herramientas integradas en macOS no eran susceptibles al bypass, lo que ha sido posible desde el lanzamiento de OS X Leopard en 2007. Okta ha publicado más sobre el bypass aquí. En el artículo, se demuestra cómo el bypass causó que las herramientas afectadas mostraran que un archivo llamado ncat.frankenstein pareciera que estaba firmado por Apple, aunque no lo estaba.

Esta no es la primera vez que los investigadores han encontrado una manera de eludir las verificaciones de firmas en herramientas de terceros. En 2015, por ejemplo, un investigador publicó este hack subvirtiendo la lista blanca en Google Santa. Patrick Wardle, el desarrollador de las herramientas Objective-See y Director de Investigación de Digita Security, dijo que las herramientas de terceros, incluyendo las suyas propias, casi siempre pueden ser ignoradas cuando los hackers las atacan directa o proactivamente.

Si un hacker quiere pasar por alto tu herramienta y atacarla directamente, ganará“, dijo Wardle. Continuó diciendo que el bypass fue el resultado de documentación ambigua y comentarios que Apple proporcionó para el uso de interfaces de programación disponibles públicamente que hacen que funcionen las comprobaciones de firmas.

Para ser claros, esto no es una vulnerabilidad o un error en el código de Apple… básicamente sólo documentación confusa o poco clara que llevó a la gente a usar su API incorrectamente“, ha comentado Wardle a Ars technica. “Apple actualizó [sus] documentos para que fueran más claros, y los desarrolladores de terceros sólo tienen que invocar la API con una flag más completa (que siempre ha estado disponible)“.

 

In this article


Join the Conversation

3 comments

  1. Queimacasas

    Cuantos agujeros tenemos … tremendo trabajo lo de los profesionales de la seguridad
    Por cierto, habéis retirado de la página principal el pequeño indicativo del número de comentarios de cada artículo ¿no? yo lo revisaba bastante

  2. luisba

    Gracias por el artículo, me queda la duda de si al tener instalado Little Snitch (en mi caso la versión 3.8) tengo algún riesgo…

    1. Carlos Burges Ruiz de Gopegui

      No tienes ningún riesgo.