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: