El blog de seguridad de FireAI

Por FireAI Security & Research Team · Publicado

¿En qué aplicaciones de Mac puedes confiar? Firma, notarización, permisos y comportamiento en la red

¿En qué aplicaciones de Mac puedes confiar? Firma, notarización, permisos y comportamiento en la red

Confiar en una aplicación en una Mac no es una sola decisión de sí o no. Son cuatro preguntas separadas, cada una respondida por un mecanismo distinto: quién la creó, la revisó Apple, qué puede tocar y qué hace realmente una vez que está corriendo. Apple documenta las tres primeras a detalle. La cuarta es la que tienes que observar tú mismo, y es la que atrapa a una aplicación que pasó las tres primeras y luego se descompuso.

App Store o descarga directa

La página de soporte de Apple Abrir aplicaciones de forma segura en la Mac llama a la App Store el lugar más seguro para conseguir software, por dos razones concretas: Apple revisa cada aplicación antes de aceptarla, y Apple puede retirar una aplicación rápidamente si más tarde se descubre un problema. Las aplicaciones de la App Store además deben ejecutarse dentro del App Sandbox, que la página de Apple sobre Gatekeeper y la protección en tiempo de ejecución describe como algo que limita a qué datos puede llegar una aplicación y la obliga a usar las API de macOS para hablar con otras aplicaciones.

Eso no hace sospechosa toda descarga directa. Muchísimo software legítimo para Mac se distribuye fuera de la tienda porque el sandbox prohíbe lo que necesita hacer (utilerías de disco, herramientas de desarrollo, firewalls incluidos). La diferencia es que, en una descarga directa, el paso de revisión se reemplaza por dos verificaciones más ligeras que Apple describe en las mismas páginas: una firma que dice quién creó la aplicación y un análisis de notarización.

Developer ID y notarización: qué demuestran

Un certificado Developer ID lo emite Apple a un desarrollador inscrito en el Apple Developer Program, y le permite a Gatekeeper confirmar que una aplicación fue firmada por ese desarrollador y no ha sido modificada desde entonces. Eso es todo lo que demuestra una firma: identidad e integridad. No dice nada sobre la intención. Una aplicación firmada puede seguir siendo una mala aplicación; la firma solo significa que Apple sabe de quién es el nombre que lleva y puede revocarla.

La notarización es la segunda verificación. La documentación para desarrolladores de Apple sobre notarizar software de macOS antes de distribuirlo la describe como un análisis automatizado del software firmado con Developer ID en busca de contenido hostil conocido y problemas de firma de código, tras el cual Apple emite un ticket que Gatekeeper puede leer. La página de soporte de Apple es cuidadosa con las palabras: la notarización significa que «Apple revisó si contenía software malicioso y no se detectó ninguno». Es un análisis contra lo que Apple ya conoce, no una revisión de lo que hace la aplicación, y Apple puede revocar una notarización más adelante si descubre algo nuevo.

El atributo de cuarentena

El mecanismo que vincula estas verificaciones a una descarga en particular es un atributo extendido del archivo, com.apple.quarantine, que Safari y la mayoría de los demás navegadores y aplicaciones de mensajería le ponen a todo lo que guardan. Cuando abres por primera vez un archivo que trae ese atributo, Gatekeeper realiza sus verificaciones y pide tu aprobación. La página de Gatekeeper de Apple describe el comportamiento predeterminado como revisar todo el software en busca de contenido malicioso conocido la primera vez que se abre. Puedes ver el atributo tú mismo con el comando de Terminal xattr -l sobre un archivo descargado.

Si una aplicación no está firmada o no está notarizada, macOS se niega a abrirla y ofrece una vía para forzarlo. La página de soporte de Apple Abrir una aplicación de un desarrollador desconocido en la Mac explica los pasos y luego agrega una advertencia que vale la pena citar en esencia: forzar esta configuración es la forma más común en que una Mac se infecta, y Apple recomienda buscar otra aplicación en su lugar, incluso cuando el desarrollador parezca consolidado. La regla práctica se sigue directamente. Forzarlo debería ser un acto raro y deliberado para software en el que tienes una razón concreta para confiar, nunca un reflejo.

Permisos: qué puede tocar una aplicación

La tercera pregunta es el alcance. Desde macOS 10.15, explica la página Controlar el acceso de las aplicaciones a los archivos de la Guía de seguridad de la plataforma de Apple, las aplicaciones deben pedir permiso antes de leer tu Escritorio, Documentos, Descargas, iCloud Drive o volúmenes de red, y el acceso a la cámara, el micrófono, la grabación de pantalla, el monitoreo de pulsaciones y el Acceso total al disco solo se otorga mediante avisos explícitos o un cambio manual en Configuración del Sistema, Privacidad y seguridad. El sistema detrás de estos avisos se llama TCC (Transparency, Consent and Control), y su principio, en palabras de Apple, es que los usuarios deben tener plena transparencia, consentimiento y control sobre lo que las aplicaciones hacen con sus datos.

Los permisos son en sí mismos una señal de confianza. Un administrador del portapapeles que pide acceso a Accesibilidad tiene una razón. Una aplicación de fondos de pantalla que pide Acceso total al disco y Grabación de pantalla no la tiene. El desajuste entre para qué sirve una aplicación y lo que pide suele ser visible antes de que la aplicación haya hecho nada en absoluto, y no cuesta nada negarlo y ver si la aplicación sigue funcionando.

Comportamiento en la red: la pregunta que las otras verificaciones no pueden responder

La firma, la notarización y los permisos se evalúan todos antes o en el momento de una petición. Ninguno observa la aplicación a lo largo del tiempo, y ninguno mira la única actividad que convierte un problema de privacidad en uno de seguridad: mandar datos fuera de la Mac. Una aplicación puede estar firmada por un desarrollador real, notarizada por Apple, con solo los permisos que plausiblemente necesita, y aun así subir tus contactos a un intermediario de analítica, consultar un punto de rastreo cada pocos minutos o, después de que una actualización rutinaria reemplace su código, empezar a hablar con un servidor con el que nunca había contactado.

Leer el comportamiento en la red como señal de confianza significa hacerse unas cuantas preguntas concretas sobre cada aplicación. ¿Se conecta siquiera y, si lo hace, es lo esperable para lo que hace? ¿Con qué hosts habla, y son los del propio desarrollador, un servicio reconocible o una lista de dominios de publicidad y analítica? ¿Usa conexiones cifradas, o sale algo por HTTP sin cifrar? ¿Cambia su comportamiento después de una actualización? ¿Y se conecta con una periodicidad fija cuando no la estás usando? Nada de esto requiere conocimientos expertos; requiere ver las conexiones, que macOS no te muestra por defecto.

Para esto existe FireAI. Su mapa en vivo muestra cada conexión que hace cada aplicación, con el destino, el país y la red que hay detrás, y su revisión Private AI, un modelo local, juzga cada conexión nueva de una aplicación desconocida usando la reputación del destino, si el binario se ha visto antes, el puerto y el protocolo, y si el enlace está cifrado, y luego explica su razón en lenguaje claro. Su protección de datos sin cifrar evita que números de tarjeta, contraseñas y claves de API salgan por HTTP sin cifrar, sin importar qué aplicación los mande. Cada decisión de la IA se convierte en una regla visible que puedes deshacer, y las reglas pueden escribirse en inglés o francés natural («block Microsoft Teams») o exportarse como archivo de texto.

Bloquear lo que no está firmado y seguir la firma

Dos decisiones de diseño de FireAI salen directamente del modelo de Apple descrito arriba. Primera, sus modos de seguridad más estrictos, Paranoico y Bajo ataque, impiden por completo que las aplicaciones sin firmar se conecten, junto con la telemetría y los rastreadores, lo que convierte el diálogo de «¿estás seguro?» de Apple en un valor predeterminado a nivel de red: un binario sin firmar puede ejecutarse si insististe, pero no puede llamarle a nadie. Segunda, las reglas por aplicación de FireAI siguen la firma de código de la aplicación y no su nombre o ruta. Un impostor llamado «Slack.app» en la carpeta Descargas no hereda la regla que escribiste para el Slack auténtico, porque la firma no coincide; y cuando la aplicación real se actualiza, la regla se conserva, porque sí coincide. Es la misma identidad que Apple usa para Gatekeeper, aplicada a la red.

Lo que esto no hace

FireAI no escanea los archivos de una aplicación, no inspecciona su código ni su memoria y no es un antivirus; no puede decirte que una descarga es hostil antes de que la ejecutes. Si ya permitiste una aplicación, el tráfico que se esconde dentro de esa aplicación hereda su permiso. El tráfico cifrado hacia un destino de buena reputación se juzga por destino y patrón, no por contenido. Y ningún firewall reemplaza a las tres primeras verificaciones: la decisión de confianza más barata y confiable en una Mac sigue siendo preferir la App Store o una descarga firmada con Developer ID y notarizada, rechazar el diálogo para forzar la apertura y negar los permisos que una aplicación no tiene razón visible para necesitar.

Juntas, las cuatro preguntas dan una definición práctica de una aplicación de Mac confiable: firmada por un desarrollador conocido, notarizada por Apple, que pide solo lo que plausiblemente necesita y que habla solo con servidores que tienen sentido para lo que hace. Apple te permite revisar las tres primeras al instalarla. La cuarta solo puedes verla observando, y por eso es la que vale la pena agregar.

Dónde entran FireAI y HisnLabs

Apple answers the first three trust questions at install time; FireAI exists for the fourth, showing what each app actually does on the network and keying every rule to the same code signature Gatekeeper already relies on.

FireAI es el producto de HisnLabs: un firewall con IA que corre directamente en tu Mac. Te muestra, en lenguaje claro, cada conexión que hacen tus aplicaciones y te deja decidir qué sale de tu Mac; su IA funciona de manera local, así que tu tráfico nunca se envía a nosotros ni a nadie más. El equipo de investigación en seguridad de HisnLabs es el que mantiene esas decisiones confiables: cataloga qué dominios son simple telemetría y cuáles un servicio real, rastrea el país y la red detrás de cada conexión, y entrena el modelo local (la función Autopilot) con patrones de tráfico reales, sin que nada de eso salga de tu Mac.

Puedes leer las decisiones técnicas detrás de FireAI, o probarlo durante 17 días, en FireAI, de HisnLabs.

Fuentes