Durante casi 11 años, los hackers podrían pasar fácilmente por alto los controles de firma de macOS de terceros

Durante casi 11 años, los hackers podrían pasar fácilmente por alto los controles de firma de macOS de terceros

Durante casi 11 años, los piratas informáticos han tenido una manera fácil de obtener malware macOS más allá del escrutinio de una serie de herramientas de seguridad de terceros al engañarlos haciéndoles creer que Apple firmó los productos maliciosos, dijeron los investigadores el martes.

Las firmas digitales son una función de seguridad básica para todos los sistemas operativos modernos. Las firmas generadas criptográficamente hacen posible que los usuarios sepan con total certeza que una aplicación fue firmada digitalmente con la clave privada de una parte confiable. Pero, de acuerdo con los investigadores, el mecanismo que muchas herramientas de seguridad de macOS han utilizado desde 2007 para verificar las firmas digitales ha sido trivial para eludir. Como resultado, ha sido posible que alguien pase el código malicioso como una aplicación que se firmó con la clave que Apple usa para firmar sus aplicaciones.

La técnica funcionó utilizando un formato binario, conocido como un archivo Fat o Universal, que contenía varios archivos que se escribieron para diferentes CPU utilizadas en Macs a lo largo de los años, como i386, x86_64 o PPC. Solo el primer archivo llamado Mach-O en el paquete tuvo que ser 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 incluyen VirusTotal, Google Santa, Facebook OSQuery, Little Snitch Firewall, Yelp, OSXCollector, Carbon Black's db Response y varias herramientas de Objective-See. Muchas empresas y personas confían en algunas de las herramientas para ayudar a implementar procesos de listas blancas que permiten que solo las aplicaciones aprobadas se instalen en una computadora, mientras que prohíben todas las demás.

El gusano Stuxnet, que se enfocó en el programa de enriquecimiento de uranio de Irán hace ocho años, se basó en firmas digitales pertenecientes a desarrolladores de software legítimos. El año pasado, los investigadores dijeron que la firma de códigos fraudulentos estaba más extendida de lo que se creía y anterior a Stuxnet en unos siete años. La mayoría de esos ataques implicaron la obtención de certificados de firma de confianza de Microsoft Windows que pertenecen a desarrolladores legítimos. La falsificación de Apple, por el contrario, no requería tal robo de certificado.

"Es realmente fácil", dijo Joshua Pitts, ingeniero de pruebas de penetración de la firma de seguridad Okta, sobre la técnica. Cuando lo descubrió en febrero, contactó rápidamente a Apple y a los desarrolladores externos. "Esto realmente me asustó, así que fuimos directamente al modo de divulgación".

Pitts dijo que las herramientas integradas en macOS no eran susceptibles a la derivación, lo que ha sido posible desde el lanzamiento de OS X Leopard en 2007. Okta ha publicado más datos aquí. La publicación demostró cómo el bypass hizo que las herramientas afectadas mostraran que Apple había firmado un archivo llamado ncat.frankenstein, aunque no fue así.

Esta no es la primera vez que los investigadores encuentran una forma de evitar las comprobaciones de firmas en herramientas de terceros.

Patrick Wardle, el desarrollador de las herramientas Objective-See y Chief Research Officer de Digita Security, dijo que las herramientas de terceros, incluida la suya, casi siempre pueden pasarse por alto cuando los hackers las atacan directa o proactivamente.

"Si un hacker quiere evitar su herramienta y la dirige directamente, ganará", dijo Wardle. Continuó diciendo que el bypass fue el resultado de documentación ambigua y comentarios proporcionados por Apple para usar interfaces de programación públicamente disponibles que hacen que los cheques de firma funcionen.

"Para ser claros, esto no es una vulnerabilidad o un error en el código de Apple... básicamente una documentación poco clara/confusa que llevó a las personas a usar su API incorrectamente", dijo Wardles. "Apple actualizó [sus] documentos para que sean más claros, y los desarrolladores de terceros solo tienen que invocar la API de una forma más concreta (que siempre estuvo disponible)".