ENJAMBRE es una plataforma de comunicación inalámbrica basada en estructura Adhoc, que nace como la siguiente generación de Marabunta. Las ideas en las que se basa han sido desarrolladas como parte del proyecto fin de carrera: "Análisis y Diseño de una Plataforma Anónima de Intercambio de Ficheros en una red Adhoc Inalámbrica"



Primer vistazo ...
  • ¿Por qué sobre Adhoc? : Las comunicaciones Adhoc son directas entre los usuarios, haciendo que cada nodo sea la vez cliente y servidor.
    • Broadcast: Sin duda alguna la principal características de este tipo de redes es que cada nodo tiene la posibilidad de lanzar un mensaje "al aire" y establecer comunicaciones con los nodos circundantes sin conocer ningún parámetro "a priori" de ellos. Esto implica:
      • Independencia de ISP's : Las conexiones se realizan directamente entre los usuarios, por lo que no es necesaria la participación de empresas de acceso ISP's (Internet Server Providers).
      • Confianza entre nodos : Dado que la información entre origen y destinatario se mueve por nodos hermanos intermedios se tiene que controlar el tipo de ruta que se va a usar y el nivel de confianza que ponemos en ella. Es posible generar rutas seguras (nodos del mismo anillo de confianza) o rutas con un nivel de confianza limitado.
      • Entorno NO confiable : Bienvenidos a la selva ... En contrapunto con el anterior apartado, decir que los nodos han de desarrollar también sus propios mecanismos de defensa en el propio sistema pues a diferencia de las conexiones a través de ISP's aquí no existen cortafuegos ni ningún tipo de barrera entre un posible atacante y nuestra máquina. Por lo que tenemos que protegernos nosotrosmismos de los temidos ataques de denegación de servicio (DOS) que podrían dejar a la máquina fuera de servicio.


    • Autoorganizadas: Son redes donde no existe ninguna autoridad central que maneje las identidades de cada uno de los nodos de la red, por lo que son ellos mismos los que han de ponerse de acuerdo para que la comunicación pueda realizarse. Siempre que haya 2 ó más nodos se puede generar una red Adhoc, por lo que aseguramos la máxima ubiquidad en las comunicaciones.
    • Completamente Distribuidas: Todos los nodos tienen el mismo papel en la red, han de encaminar la información de los nodos hermanos. Si cae un nodo la red se adapta para cubrir los servicios sobre los que estaba trabajando. Mientras sigan nodos activos la red seguirá "viva".
  • Anonimato y Privacidad : Es esencial en este tipo de redes ciudadana ser capaz de proteger a cada uno de los integrantes de las mismas, pues al estar formadas por elementos relativamente cercanos se podría comprometer información esencial como la posición desde la que se realizan las peticiones o que petición es la realizada.
    • Anonimato espacial: El uso de técnicas de creación de zonas "fantasmas", también llamadas zonas de inundación falsa controlada, hacen que el origen y destinatario de los mensajes no pueda ser traceado con fiabilidad. La idea es aumentar la entropía de la red y hacer que el nivel de incertidumbre sea alto a la hora de apostar por un posible emisor o receptor.


      En esta primera figura observamos un encaminamiento sin aplicar técnicas de inundación falsa, por lo que la ruta entre origen y destino queda al descubierto : Origen G, destino A.



      Sin embargo, en este segundo caso la comunicación entre G y A queda enmascarada con el envío de información falsa a otros nodos de la red como F, B, D ...

      Aunque pueda parecer que esto exige un gasto innecesario de recursos no es así puesto que en Ejambre se hace uso de la capa del nivel de Red IP, para ser usada como generadora de este tipo de envíos.Ver filtrado a nivel de Red más adelante.
    • Privacidad de las Comunicaciones: Además el uso de diferentes esquemas de cifrado hace que la transmisión de la información entre los nodos se haga de forma completamente confidencial. La idea ha sido que cada grupo de nodos, sea capaz de establecer sus propio esquema de cifrado, haciendo que el uso de sistemas simétricos o asimétricos sea una decisión particular de cada grupo de trabajo. Como veremos más adelante esto se consigue mediante el uso de técnicas de conicimiento cero.
  • Defensa ante ataques DOS : Los ataques de denegación de servicio (DOS) son evitados mediante el uso de la capa 802.11 MAC como un filtro de conexiones seguras. Esta técnica nos permite cortar las conexiones no confiables en el mismo nivel de enlace MAC, haciendo que el gasto de los recursos en los nodos sea mínimo.

    Esto se realiza mediante el uso de un filtro inteligente en el nivel de enlace, de forma que todos los paquetes que nos llegan a la tarjeta sean analizados y veamos si es información proveniente de una conexión segura o de un posible atacante.





    En esta figura vemos como en un proceso inicial denominado "Pairing" los nodos hermanos que cumplen las pruebas de confianza establecidas por ellos mismos deciden establecer las conexiones seguras. Para ello, en un primer momento se intercambian unas lista de direcciones MAC, las cuales serán usadas como información secreta a la hora de mandar un mensaje de uno a otro nodo. La idea será que cualquier nodo atacante que no conozca estas listas será incapaz de conocer una @MAC válida para establecer contacto con un determinado nodo, por lo que todos los mensajes que mande serán rechazados directamente mediante el filtro de nivel de enlace.



    En este ejemplo vemos como el nodo B que ha creado una conexión segura previa en el proceso de Pairing puede enviar mensajes al nodo A. Y estos son aceptados por e filtro del nivel de enlace haciendo que puedan pasar al análisis del siguiente nivel, el de Red / IP.



    Sin embargo, en el caso de un atacante al no conocer las listas de @ 802.11 MAC usadas para la validación de nodo confiable son rechazados en mediante el filtro de nivel de enlace.



  • ¿Es necesaria la creación de filtros especiales? ¿Por qué?:
    • El problema de los esquemas de comunicación actuales (la mayoría desarrollados por el IEEE) están edificados pensando siempre en la obtención de eficiencia y su ejecución en entornos confiables y seguros. Por lo que es a posteriori cuando se han de implementar mecanismos para asegurar la privacidad, o la estabilidad de cada uno de los nodos que componen la red.

      En el caso de Redes Adhoc Inalámbricas esto se agraba mucho más debido a que al ser las comunicaciones directas nos pude llegar cualquier tipo de paquete desde cualquier nodo que esté dentro de nuestro radio de alcance.

      Además, desde el Sistema Operativo podemos manipular los paquetes enviados, y hacer que datos como las direcciones 802.11 MAC e IP puedan ser cambiadas y utilizar estos cambios para perpretar un robo de identidad.
    • Para entender la metodología de acción de la plataforma hay que tener en mente el modelo OSI de comunicación. La idea subyacente en todo momento es la de usar las capas inferiores de este esquema para realizar tareas complejas como el encaminamiento de información o la creación de filtros de conexiones. En el modelo actual de Internet el esquema propuesto es el usado, sin embargo en las propuestas actuales de redes Adhoc Anónimas, estas decisiones son trasladadas al nivel de aplicación. En la siguiente imagen podemos ver cual es el esquema general para un mensaje del tipo: 802.11 MAC sobre TCP/IP.Es interesante presionar sobre la imagen de los campos del paquete para acceder a una copia en un tamaño mayor.

      Cada vez que analizamos una capa se produce un gasto de recursos en el nodo, y lo que es más grave, de Energía (recordemos que las comunicaciones Adhoc están pensadas para entornos móviles donde las fuentes de energía son limitadas). Como ya hemos comentado, en otras plataforma que intentan dotar de anonimato en este tipo de entornos relegan la mayoría de las decisiones al último nivel de las capas, el de Aplicación, donde aplican algotitmos de cifrado (lo que aún hace aumentar más el gasto de energía). Enjambre está edificada para la discriminación de mensajes interesantes para el nodo en el primer nivel que analiza el Sistema Operativo (Nivel de Enlace 802.11 MAC), por lo que no existen gastos extras de recursos ni queda expuesta su estabilidad y funcionamiento.



      Recomiento una lectuta a la memoria, para entender mejor como se realiza, concretamente a las secciones : Filtrado a Nivel de Red, de Enlace y los procesos previos de Pairing e IP-Flooding.



      Estado Actual y Futuro de Desarrollo:
      • Inicialmente se ha definido el esquema de funcionamiento, el cual propuse como parte de mi proyecto fin de carrera.
        El proyecto se definió como "Análisis y Diseño de una Plataforma Anónima de Intercambio de Ficheros en una red Adhoc Inalámbrica". Podeis descargar la memoria completa desde aquí:


        Descargar Memoria (pdf)


      • El proyecto nace como "evolución" de Marabunta, debido a que este último estaba concebido para su trabajo en redes cableadas (en las cuales se basa Internet), y Enjambre se centra en las redes inalámbricas autoorganizadas Adhoc.



        La Marabunta aprende a volar y se convierte en Enjambre ...



        En la actualidad estoy dando a conocer ambos proyectos al mismo tiempo, pues me interesa que la gente pueda disfrutar de un desarrollo ya completado (Marabunta) y que a la vez pueda participar con sus ideas y comentarios sobre el nuevo proyecto de futura implementación. Puedes acceder a las transparencias usadas para su presentación conjunta.


        Descargar Transparencias (pdf)
      • La idea futura sobre la que se quiere edificar Enjambre es la construcción de un módulo para el kernel GNU/Linux que soporte la creación de los citados filtros y haga uso de los diferentes sitemas de encaminamiento y cifrado. Si quieres participar en su implementación, dar ideas ... ponte en contacto conmigo.


    Otros proyectos relacionados:
    • Marabunta : Plataforma P2P anónima implementada sobre QT4.
    • Apeiron : Análisis de tecnología que nos rodea y afecta nuestra privacidad y libertad.
    Autoría: