Lección 3 de 4 · 8 min
Cómo macOS comprueba las aplicaciones que abres
Firma de código, Gatekeeper, notarización y XProtect: cuatro comprobaciones que se ejecutan antes y después de abrir una aplicación.
Cada vez que abres una aplicación por primera vez, macOS ejecuta una breve serie de comprobaciones antes de permitir que se inicie. La mayoría de las veces nunca los ves; Sólo te das cuenta cuando uno de ellos detiene algo. Esta lección sigue lo que realmente sucede, utilizando la propia descripción de Apple de cada paso.
Firma de código: demostrar quién lo construyó
La documentación de seguridad de Apple explica que en macOS, “la firma del código la realiza el desarrollador utilizando su certificado de ID de desarrollador (emitido por Apple). La verificación de esta firma demuestra al usuario que el software de un desarrollador no ha sido manipulado desde que el desarrollador lo creó y firmó”. Una firma no dice que la aplicación sea segura; dice que la aplicación es el archivo exacto que produjo el desarrollador, sin modificar desde entonces.
Notarización: el cheque propio de Apple
La notarización es un paso adicional e independiente. Apple explica que “puede ser realizado por cualquier persona en la cadena de distribución de software y demuestra que a Apple se le ha proporcionado una copia del código para verificar [si hay contenido dañino], y no se encontró [software dañino conocido]. El resultado de la notarización es un ticket, que se almacena en los servidores de Apple y, opcionalmente, se puede grapar a la aplicación”. Desde macOS Catalina, esta verificación se aplica de forma predeterminada a casi todo lo que abre, independientemente de la forma en que llegó a su Mac.
Gatekeeper: el control que se ejecuta al abrir una aplicación
Gatekeeper es lo que realmente aplica estos resultados en el momento en que haces doble clic en algo. Apple lo describe como diseñado "para ayudar a garantizar que solo se ejecute software confiable en la Mac de un usuario". Cuando un usuario descarga y abre una aplicación, un complemento o un paquete de instalación desde fuera de la App Store, Gatekeeper verifica que el software sea de un desarrollador identificado, que esté certificado ante notario de Apple como libre de [contenido dañino conocido] y que no haya sido modificado. Gatekeeper también solicita la aprobación del usuario antes de abrir el software descargado por primera vez para asegurarse de que no se haya engañado al usuario para que ejecute un código ejecutable que creía que era simplemente un archivo de datos”. Esa es la alerta que aparece la primera vez que abre algo descargado de Internet.
- Descargas una aplicación desde fuera de la App Store y haces doble clic en ella.
- Gatekeeper comprueba la firma del desarrollador y busca el ticket de certificación notarial de Apple.
- Si las comprobaciones pasan, macOS aún le pedirá que confirme que desea abrirlo la primera vez.
- Si Apple revocó la aplicación o no funciona nada, macOS se niega a abrirla y le dice por qué.
XProtect: observar después de que se haya ejecutado la aplicación
La última capa funciona después del hecho. La guía de Apple describe XProtect como la “tecnología antivirus incorporada de macOS para la detección y eliminación basada en firmas de [software dañino conocido]”, que “comprueba el contenido [dañino] conocido cada vez que: se inicia una aplicación por primera vez, se cambia una aplicación, [o] se actualizan las firmas de XProtect”, y Apple actualiza esas firmas automáticamente, independientemente de las actualizaciones completas del sistema. Si encuentra una amenaza conocida, Apple explica que "la bloquea y la mueve a la Papelera". Luego alerta al usuario en el Finder.
Lo esencial
- La firma de código demuestra que el archivo de una aplicación no ha cambiado desde que su desarrollador lo creó y firmó; Por sí solo, no significa que la aplicación sea segura.
- La notarización consiste en que Apple verifica una copia del código de la aplicación antes de que pueda ejecutarse de forma predeterminada en macOS actual.
- Gatekeeper aplica ambas comprobaciones en el momento en que abre una aplicación y solicita su aprobación la primera vez.
- XProtect sigue comprobando después de que la aplicación se ha ejecutado, utilizando firmas que Apple actualiza de forma automática e independientemente de las actualizaciones completas del sistema.
- macOS te permite anular estas comprobaciones para una aplicación específica en Configuración, pero al hacerlo se elimina una protección real, por lo que debería ser poco frecuente y deliberado.
Ponte a prueba
1. ¿Qué prueba realmente una firma de código válida?
- Que la aplicación esté libre de todos los problemas posibles.
- Que el archivo de la aplicación no haya cambiado desde que el desarrollador la firmó — Correcto.
- Que la aplicación fue revisada por un humano en Apple
- Que la aplicación no puede acceder a internet
La firma de código verifica la integridad y la identidad del desarrollador, no que la aplicación sea segura o se comporte bien.
2. ¿Qué significa la notarización, según Apple?
- Apple escribió la aplicación
- Apple revisó una copia del código de la aplicación y no encontró amenazas conocidas — Correcto.
- La aplicación se compró en la App Store.
- La aplicación ha sido traducida a varios idiomas.
La certificación notarial demuestra que a Apple se le dio el código para que lo verificara y no se encontró nada que se supiera que fuera dañino en él.
3. ¿Cuándo solicita Gatekeeper su aprobación para abrir una aplicación?
- Cada vez que abres cualquier aplicación
- Solo la primera vez que abres el software descargado — Correcto.
- Sólo para aplicaciones de la App Store
- Nunca, funciona en silencio.
Gatekeeper solicita aprobación la primera vez que abre el software descargado, por lo que no puede engañarlo para que ejecute algo inesperado.
4. ¿Cómo actualiza XProtect sus firmas de detección?
- Solo cuando instalas una actualización importante de macOS
- Automáticamente, independientemente de las actualizaciones completas del sistema. — Correcto.
- Solo cuando ejecutas un escaneo manualmente
- Nunca se actualiza una vez instalado
Apple actualiza las firmas de XProtect automáticamente y por separado de las actualizaciones completas del sistema, a menudo diariamente.
Ponlo en práctica con FireAI
Pon esta lección en práctica en tu propio Mac.
- Responde a tu primer aviso de conexión, y qué significa cada duración — Entiende exactamente qué estás aprobando la primera vez que FireAI te pregunta.
- Encuentra apps con fallos de seguridad conocidos — Cierra agujeros conocidos antes de que alguien los use: actualiza la única app que lo necesita.
- Ve qué app enciende tu cámara o micrófono, y a dónde va su tráfico — Sabe qué app puede verte u oírte, no solo que algo puede.
Fuentes
- Apple Platform Security: App code signing process in macOS
- Apple Platform Security: Gatekeeper and runtime protection in macOS
- Apple Platform Security: Protecting against malicious software in macOS
- Apple Support: Safely open apps on your Mac
Ponlo en práctica en tu Mac
Prueba todas las funciones gratis durante 17 días, sin tarjeta.