El blog de seguridad de FireAI

Por FireAI Security & Research Team · Publicado

Monitorización de red en un Mac: ve todas las conexiones que hacen tus aplicaciones

Monitorización de red en un Mac: ve todas las conexiones que hacen tus aplicaciones

Tu Mac está hablando ahora mismo. No en sentido figurado: en este momento, varias docenas de procesos mantienen sockets abiertos hacia servidores de los que nunca has oído hablar, y la mayor parte de eso está bien. Comprobaciones de actualizaciones, sincronización, notificaciones push, telemetría, una fuente que se descarga. El objetivo de monitorizar la red no es entrar en pánico por el volumen, sino poder responder una pregunta sobre cualquier línea concreta: qué aplicación, con quién y por qué. macOS te da tres herramientas gratuitas que te llevan parte del camino. Este artículo explica qué muestra cada una, dónde se detiene y qué añade encima un cortafuegos por aplicación.

Monitor de Actividad: totales, no destinos

Abre Monitor de Actividad, haz clic en la pestaña Red y obtendrás la visión general honesta para la que Apple lo diseñó. La guía de Apple describe el panel inferior: paquetes entrantes y salientes, datos recibidos y enviados en megabytes, y un gráfico que puedes alternar entre rendimiento de paquetes y de datos. La lista de procesos de arriba te dice cuánto ha enviado y recibido cada proceso. Lo que no te dice es adónde. No hay columna para el host remoto, ni puerto, ni país. Monitor de Actividad responde a «¿hay algo usando mucho ancho de banda?» y se detiene ahí. Es la herramienta adecuada para detectar que un proceso auxiliar ha subido dos gigabytes durante la noche, y la herramienta equivocada para averiguar a quién.

lsof: una instantánea de cada socket abierto

La herramienta de línea de comandos lsof lista los archivos abiertos, y en Unix un socket de red es un archivo. Con la opción -i, que la página del manual de macOS describe como la selección de archivos cuya dirección de Internet coincide, obtienes cada conexión abierta con el nombre del proceso propietario, su ID de proceso, el protocolo y la dirección y el puerto locales y remotos. Añade -n y -P para mantener direcciones y puertos en formato numérico en lugar de esperar al DNS inverso. El resultado es la imagen gratuita más completa que puedes tener del momento presente, y el énfasis está en momento: lsof es una instantánea. Una conexión que se abrió, envió un kilobyte y se cerró en el medio segundo anterior a que pulsaras Intro simplemente no está ahí. Además identifica el proceso por nombre y PID, no por quién lo firmó, así que un binario llamado «Adobe Update Helper» en una carpeta temporal parece exactamente igual que el auténtico.

nettop: la misma vista, actualizada en directo

nettop es lo más parecido a un monitor de conexiones en directo que incluye macOS. Su página del manual lo describe como la visualización de una lista de sockets o rutas con estadísticas de red actualizadas periódicamente. En la práctica ves cada proceso, sus conexiones abiertas, bytes entrantes y salientes por conexión, la interfaz en uso y el estado de la conexión, refrescándose cada segundo. Resuelve el problema de la instantánea de lsof y sigue siendo la mejor respuesta integrada a «qué está haciendo esa aplicación ahora mismo». Sus límites son los mismos que los de lsof en todo lo demás: ninguna identidad más allá de un nombre de proceso, ninguna noción de país u organización detrás de una dirección, ninguna memoria de lo que ocurrió hace una hora y ninguna forma de decir no. Puedes observar una conexión con nettop; no puedes detenerla.

El cortafuegos integrado no ayuda aquí

La gente suele suponer que activar el cortafuegos en Ajustes del Sistema cubre esto. No es así. La propia guía de Apple es cuidadosa con las palabras: el cortafuegos de macOS protege tu Mac de contactos no deseados iniciados por otros ordenadores. Es un filtro de entrada. No tiene nada que decir sobre lo que tus aplicaciones envían hacia fuera, que es la dirección a la que apunta cada pregunta de este artículo. Para el control de salida por aplicación, Apple ofrece el framework Network Extension, cuyos proveedores de filtro de contenido permiten a una aplicación de terceros ver y filtrar los flujos de red con la identidad de la aplicación que los generó. Ese es el cimiento sobre el que se construyen los cortafuegos por aplicación modernos en macOS, y es lo que convierte una lista de sockets en una lista de decisiones.

Qué añade un cortafuegos por aplicación

Cuatro cosas, en concreto. Identidad: un flujo se atribuye a una aplicación firmada, de modo que una regla para Slack se aplica a Slack y no a cualquier cosa que comparta su nombre; las reglas por aplicación de FireAI siguen la firma de código de la aplicación por esta razón. Visibilidad: cada conexión se muestra mientras ocurre, incluidas las que duran medio segundo. Contexto: la dirección IP en bruto se resuelve a la organización y el país que hay detrás, que FireAI muestra en un mapa mundial en directo con las conexiones bloqueadas en rojo. Y control: una conexión puede permitirse o denegarse por host, dominio, IP o puerto, y una aplicación desconocida tiene que preguntar antes de su primera conexión, con el motivo del veredicto del modelo local mostrado en el aviso. Si no estás de acuerdo con una decisión que tomó la IA, la deshaces, y esa acción se convierte en una regla visible que puedes leer más tarde o exportar como archivo de texto.

FireAI también acepta órdenes en lenguaje natural, en inglés o en francés, como «block Microsoft Teams», que es una forma más rápida de escribir una regla que un diálogo con cuatro campos. Lo que no hace merece decirse con la misma claridad: no inspecciona el contenido del tráfico cifrado, no escanea archivos y no examina procesos ni memoria. Trabaja en el nivel de quién se conecta con qué, y es honesto sobre esa frontera.

Cómo leer una conexión

Toma cualquier línea de nettop o de un registro de cortafuegos y hazte tres preguntas. Primera, la empresa: ¿de quién es la dirección? La mayor parte del tráfico va a un puñado de proveedores de alojamiento y redes de contenido, y una aplicación de música que habla con Amazon o Cloudflare normalmente solo está hablando con su propio backend. El patrón que hay que notar es el desajuste: una aplicación de notas conectándose a una red publicitaria, o una utilidad de capturas de pantalla conectándose a un proveedor de alojamiento que no tiene motivo para usar. Segunda, el país: no porque un servidor extranjero sea malo, sino porque un cambio es informativo. Una aplicación que se ha conectado a Irlanda durante un año y hoy se conecta por primera vez a un país nuevo ha cambiado algo. Tercera, el puerto. El 443 es HTTPS y cubre casi todo; el 80 es HTTP sin cifrar y debería ser raro en 2026; el 53 es DNS; el 22 es SSH; el 445 es compartición de archivos SMB; el 5353 es Bonjour en la red local. Una aplicación de consumo que abre el puerto 22 o el 445 hacia una dirección de Internet es lo bastante inusual para justificar una pregunta.

Patrones que merecen un segundo vistazo

  • Beaconing: el mismo proceso contactando con la misma dirección a intervalos fijos, cada sesenta segundos o cada diez minutos, con cargas diminutas. MITRE ATT&CK describe el mando y control como el intento del adversario de comunicarse con los sistemas comprometidos para controlarlos, y un latido regular es la forma más común que adopta. Las comprobaciones de actualizaciones también hacen beaconing, así que la señal es un proceso desconocido, no el ritmo por sí solo.
  • Nodos de salida de Tor: el Tor Project publica su lista de nodos de salida, y no hay ningún motivo corriente para que una aplicación de productividad llegue a uno. FireAI aplica esa lista localmente como una de sus fuentes de inteligencia de amenazas.
  • HTTP sin cifrar con credenciales: un formulario de inicio de sesión, una clave de API o un número de tarjeta enviados por el puerto 80 son legibles por cualquiera en el camino. La protección de datos sin cifrar de FireAI está hecha exactamente para este caso e impide que números de tarjeta, contraseñas y claves de API salgan por HTTP sin cifrar.
  • Una primera conexión de una aplicación instalada hace tiempo: una aplicación que ha estado en silencio durante meses y de repente abre un socket se ha actualizado, ha sido sustituida o ha sido secuestrada por un plugin. Las tres cosas merecen saberse.
  • Binarios sin firmar o desconocidos que se conectan siquiera: en un Mac donde todo lo que usas está firmado, un binario sin firmar haciendo su primera conexión es la alerta más útil que puede lanzar un cortafuegos. Los modos de seguridad más estrictos de FireAI, Paranoico y Bajo ataque, bloquean las aplicaciones sin firmar directamente.
  • Direcciones en listas de bloqueo publicadas: Spamhaus describe su lista DROP como rangos tan peligrosos que la ofrece gratis a cualquiera que quiera esa capa de protección; FireHOL agrega y documenta fuentes públicas de IP centradas en ataques y abusos; abuse.ch gestiona plataformas de inteligencia de amenazas mantenidas por la comunidad. FireAI aplica estas fuentes localmente, como listas de bloqueo de IP para todo el sistema, sin enviar tu tráfico a ningún sitio.

Filtrado de DNS, con honestidad

El DNS es donde viven muchos productos de filtrado de red, así que es justo preguntar dónde se sitúa FireAI. Hoy, FireAI filtra en la propia conexión: aplica fuentes de inteligencia de amenazas y listas de bloqueo de IP a las direcciones a las que tus aplicaciones llegan realmente, y las reglas por aplicación pueden coincidir con un nombre de host o de dominio. Lo que todavía no hace es actuar como tu resolutor de DNS ni ofrecer DNS cifrado propio; está previsto, y preferimos decirlo a insinuarlo. Hay una consecuencia práctica que conviene entender. El DNS cifrado, especificado como DNS over TLS en la RFC 7858 y DNS over HTTPS en la RFC 8484, y compatible en todo el sistema en macOS desde la sesión de la WWDC 2020 de Apple sobre cómo habilitar DNS cifrado, oculta tus consultas a cualquiera en la ruta de red. Eso es bueno para la privacidad y también significa que un filtro que solo observa las consultas DNS se queda ciego cuando un navegador usa su propio resolutor DoH. Un filtro que actúa sobre la dirección de destino sigue viendo la conexión, porque la aplicación sigue teniendo que abrirla. Ningún enfoque es completo por sí solo, y por eso la postura honesta es «ambos, con el tiempo» y no la afirmación de que uno sustituye al otro.

Una rutina práctica

No necesitas vigilar la red todo el día. Una rutina viable son tres minutos una vez a la semana: abre la lista de conexiones de FireAI, recórrela aplicación por aplicación y mira las que no reconoces. Comprueba la empresa y el país detrás de cualquier cosa nueva. Escribe una regla para lo que decidas, de modo que nunca revises la misma conexión dos veces, y exporta tus reglas de vez en cuando para que un Mac nuevo empiece con tus decisiones y no desde cero. Las herramientas gratuitas siempre estarán ahí cuando quieras la vista en bruto; un cortafuegos por aplicación es lo que convierte esa vista en algo sobre lo que puedes actuar.

El papel de FireAI y de HisnLabs

lsof and nettop will show you a snapshot; what they cannot do is stop a connection, remember your decision, or tell you in plain words which company and country sit behind an IP address — and that gap is exactly the one FireAI was built to fill.

FireAI es el propio producto de HisnLabs: un cortafuegos con IA integrada para Mac. Muestra, en lenguaje claro, cada conexión que hacen tus aplicaciones y te deja decidir qué sale de tu Mac; su IA funciona en el propio equipo, así que tu tráfico nunca se envía a HisnLabs ni a nadie más. El equipo de investigación en seguridad de HisnLabs es quien mantiene esas decisiones fiables: cataloga qué dominios son simple telemetría frente a un servicio real, sigue el país y la red detrás de una conexión, y entrena el modelo local (la función Autopilot) con tráfico real, sin que nada salga de tu Mac.

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

Fuentes