6 votos

¿En qué herramientas integradas se basan las aplicaciones tipo Little Snitch?

Little Snitch es un conocido software que permite a los usuarios de Mac bloquear las conexiones salientes de una aplicación específica.

Ahora, cada vez que pregunto cómo hacer lo mismo con las herramientas integradas de OS X, recibo una respuesta como: "No puedes hacer esto sin Little Snitch. El firewall incorporado de PF no es un firewall de aplicación, y el AF incorporado sólo puede bloquear el tráfico entrante. Ninguna herramienta de OS X permite esto".

Esto no puede ser cierto. Es decir, en este caso, ¿cómo podría Little Snitch, o Hands Off!, o pequeñas aplicaciones como RadioSilence ¿lograr esto para empezar? Sin duda, estas aplicaciones deben utilizar algún tipo de herramienta integrada para bloquear el tráfico por aplicación. He buscado alternativas de código abierto con la idea de echar un vistazo a sus fuentes y averiguar "cómo lo hacen". Pero... No he encontrado ninguna alternativa de código abierto. ¿Alguna idea?

3voto

siva Puntos 23

Little Snitch utiliza un extensión del núcleo de la red para interceptar el tráfico de la red.

Los NKEs permiten crear módulos que pueden cargarse y descargarse dinámicamente en posiciones específicas de la jerarquía de la red. Estos módulos pueden supervisar y modificar el tráfico de la red y puede recibir notificaciones de eventos asíncronos de la capa del controlador, como los cambios de estado de la interfaz.

Cada uno de los mecanismos de KPI de red realiza una tarea específica. Los mecanismos KPI de red básicos son:

  • Filtro de enchufe KPI, que permite a un KEXT filtrar el tráfico entrante o saliente en un zócalo determinado, dependiendo de la forma en que se conecten. Los filtros de socket también pueden filtrar la comunicación fuera de banda, como las llamadas a setsockopt o bind. Los filtros resultantes se encuentran entre la capa de sockets y el protocolo.

  • Filtro de interfaz KPI, que permite a un KEXT añadir un filtro a una interfaz de red específica . Estos filtros de interfaz (antes conocidos como NKE de enlace de datos) pueden observar pasivamente el tráfico (independientemente del tipo de paquete) a medida que entra y sale del sistema. También pueden modificar el tráfico (por ejemplo, cifrar o realizar la traducción de direcciones). Básicamente, actúan como filtros entre una pila de protocolos y un dispositivo.

Existen alternativas a las extensiones del kernel de red, como has mencionado, pero sólo para determinados casos de uso.

Debido a que incluso los errores menores en el código a nivel del kernel pueden causar graves consecuencias, incluyendo la inestabilidad de la aplicación, la corrupción de datos, e incluso el pánico del kernel, las técnicas descritas en este documento deben ser utilizadas sólo si no existe otro mecanismo. Por ejemplo, cuando sea posible, En general, el filtrado de IP debe realizarse mediante ipfw . De la misma manera, el registro de paquetes debe hacerse generalmente utilizando bpf .

Las extensiones del núcleo de red son mucho más potentes y permiten un control más detallado.

El énfasis en el contenido citado es mío. No conozco el otro software, pero supongo que sigue el mismo principio.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X