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

6

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

Ahora, cuando pregunto cómo hacer lo mismo con las herramientas OS X incorporadas, obtengo una respuesta como: "no puede hacer esto sin Little Snitch. El firewall PF incorporado no es El firewall de la aplicación y el AF incorporado solo pueden bloquear el tráfico entrante. Ninguna herramienta OS X lo permite ".

Esto no puede ser cierto. Quiero decir, en este caso, ¿cómo lograría esto, en primer lugar, Little Snitch, o Hands Off! Estas aplicaciones deben usar herramientas integradas de algún tipo para bloquear el tráfico por aplicación. Busqué alternativas de código abierto con la idea de echar un vistazo a sus fuentes y descubrir "cómo hacen esto". Pero ... no encontré ninguna alternativa de código abierto. ¿Alguna idea?

    
pregunta Zozor 04.06.2016 - 08:20

1 respuesta

3

Little Snitch usa una extensión de kernel de red para interceptar el tráfico de red.

  

Las NKE le permiten crear módulos que se pueden cargar y descargar dinámicamente en posiciones específicas en la jerarquía de la red. Estos módulos pueden monitorear y modificar el tráfico de la red y pueden recibir notificaciones de eventos asíncronos desde la capa del controlador, como los cambios de estado de la interfaz.

  

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

     
  • KPI de filtro de zócalo, que permite a KEXT filtrar el tráfico entrante o saliente en un zócalo determinado, según cómo estén conectados. Los filtros de socket también pueden filtrar las comunicaciones fuera de banda, como las llamadas a setsockopt o bind. Los filtros resultantes se encuentran entre la capa de socket y el protocolo.
  •   
  • ...
  •   
  • Filtro de interfaz KPI, que permite a KEXT agregar un filtro a una interfaz de red específica . Estos filtros de interfaz (anteriormente conocidos como NKE de enlace de datos) pueden observar pasivamente el tráfico (independientemente del tipo de paquete) a medida que fluye dentro y fuera 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 de kernel de red, como usted mencionó, pero solo para ciertos casos de uso.

  

Debido a que incluso los errores menores en el código de nivel de kernel pueden causar serias consecuencias, incluida la inestabilidad de la aplicación, la corrupción de los datos e incluso el pánico del kernel, las técnicas descritas en este documento deben usarse solo si no existe otro mecanismo. Por ejemplo, cuando sea posible, el filtrado de IP generalmente se debe hacer usando ipfw . De manera similar, el registro de paquetes generalmente se debe hacer usando bpf .

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

Énfasis en el contenido citado mío. No estoy familiarizado con el otro software pero asumo que sigue el mismo principio.

    
respondido por el grg 04.06.2016 - 12:11

Lea otras preguntas en las etiquetas