Un certificado de firma de código(Mac OS Code Signing Certificate), es una firma que actúa como un “sello de validez” de las aplicaciones desarrolladas por Apple. Esto se creó con el fin de generar confianza entre los usuarios a la hora de ejecutar cualquier software de MacOS. Sin embargo, este método de validación está presentando inconvenientes que permite a cualquier aplicación maliciosa o malware ejecutarse como si se tratase de un programa legítimo de la marca.

Un bug en los programas de seguridad de terceros, ocasiona que un malware sea interpretado como una aplicación legítima de Mac, debido a que su certificado de firma de código aparece avalado por Apple.

Cuando un desarrollador realiza un código de firma de una aplicación, incorpora una firma en el archivo ejecutable, que se puede usar para verificar que la aplicación no haya sido alterada y que sea de la organización de la que espera que sea.

Según un análisis publicado por el investigador de seguridad de Okta, Josh Pitts, la vulnerabilidad en aplicaciones de terceros se explota desde un archivo Fat malicioso, especialmente diseñado para engañar a estas herramientas para que piensen que están firmadas por Apple.

Un archivo Fat, es un archivo ejecutable de Mac,que puede contener varios binarios que se dirigen a un tipo de CPU en particular. Esto permite que un ejecutable contenga diferentes versiones de la misma aplicación para ejecutarse en diferentes arquitecturas de CPU.

El problema radica en que muchas aplicaciones de terceros no están comprobando correctamente cada componente del archivo Fat para validar la firma.

Los programas de verificación solo están analizando si el primer binario en el archivo Fat esté firmado por Apple, sin validar resto de las secciones; al cumplirse la primera validación, las aplicaciones toman el ejecutable como legítimo, incluso la parte maliciosa.

Esto permite a los atacantes, diseñar ejecutables de malware, supuestamente firmados por Apple, cuando en realidad no lo están.

Cuando Pitt reportó el bug a Apple, esta respondió alegando que el fallo venía por una mala ejecución de los desarrolladores de terceros: “Los desarrolladores externos deberán realizar un trabajo adicional para verificar que todas las identidades en un binario universal sean las mismas si quieren presentar un resultado significativo“.

Entre las aplicaciones afectadas se encuentran VirusTotal, Facebook, Google, F-Secure, ©Yelp o Carbon Black.