Descargar Transparencias - ENJAMBRE

Transcripción

Descargar Transparencias - ENJAMBRE
http://marabunta.laotracara.com
http://enjambre.laotracara.com
David Gascón Cabrejas
[email protected]
http://www.laotracara.com
●
Perspectiva Inicial
–
¿Qué es Marabunta?
●
–
¿Qué servicios ofrece actualmente Marabunta?
●
–
Intercambio de mensajes de forma anónima
¿Finalidad de Marabunta?
●
●
–
Plataforma P2P anónima y distribuida
Contar con una red distribuida que no sea sensible a la
censura
Mandar mensajes a todos los nodos de forma, que en pocos
segundos miles de nodos obtengan la información
¿Quién usa Marabunta?
●
Toda aquella persona que quiere un canal de comunicación
no controlado por las empresas de servicios de comunicación
ni por organizaciones gubernamentales
●
Perspectiva Inicial
–
¿Intercambio de mensajes?
●
–
La idea es pensar en Marabunta como en un canal de
distribución de mensajes de forma que la gente pueda
expresar libremente sus ideas
¿Utilidad real?
●
●
Programas similares se están usando en países como China,
debido al control que el gobierno ejerce sobre la
comunicación es ese país
Cada día los gobiernos de los países occidentales,
especialmente EEUU está aplicando censura a la hora de
tratar temas conflictivos para el gobierno. Un ejemplo de esto
es la censura aplicada sobre las páginas web de los soldados
que estaban realizando misiones en Irak
●
Redes P2P actuales: Conexiones
–
Directas
●
Se establecen entre 2 nodos, los cuales conocen la información necesaria para conectar con su 'par'
–
+ Puerto
155.210.229.244 : 80
●
Red GNUtella : esquema de P2P actual
●
Redes anónimas (Perspectiva general): Conexiones
–
Indirectas (Topologías: anillo, chord, grid ...)
●
La idea es poder establecer una conexión virtual entre A y C a través de B, de forma que A se conecta con B, y C se conecta con B (ambas conexiones de forma directa)
–
Hay que pensar en entornos limitados (NAT, Firewall ...)
●
Marabunta: Conexiones Indirectas
–
Indirectas
●
Es como en el esquema de las redes anónimas pero en este caso el destinatario es toda la red.
–
Queremos hacer broadcast de mensajes
●
Marabunta: Conexiones Indirectas
–
La idea es que cada nodo se comporte como un servidor,
de forma que además de ocuparnos de nuestras
conexiones lo hagamos de las de los demás, reenviando
los mensajes que le llegan, por lo que en cada paso
incrementamos el anonimato
●
Marabunta: Conexiones UDP/IP
–
Todas conexiones son mediante UDP/IP ,debido a que la
comunicación de los datagramas se realiza NO orientada
a conexión
–
Esto hace que sea imposible demostrar la veracidad del
origen o destino de los mensajes que viajan por la red
–
La comunicación es tremendamente fluida
–
Las cuestiones de fiabilidad de las comunicaciones , y
demás asuntos de conectividad y comunicación se
relegan al nivel de aplicación
●
Marabunta: Organización de la Red
–
Cada nodo conoce a un determinado número de
hermanos de la red: Actualmente Máximo 15 nodos
–
Cada nodo sólo intercambia mensajes con sus hermanos
–
Cada 3 segundos , la aplicación manda un datagrama (de
unos pocos bytes) a sus hermanos con 2 finalidades:
●
Estoy vivo (ping ...)
●
¿Tienes nuevos hermanos que compartir conmigo?
–
Como la comunicación es UDP/IP y los mensajes se
pueden perder pero a los 3 seg se volverá a mandar
–
Hay 10 min de TimeOut para eliminar a un hermano en
caso de falta de respuesta
●
Marabunta: Organización de la Red
–
Cada uno de los nodos decide si darse a descubrir o no
–
El tener un número máximo de nodos a los cuales nos
podemos conectar como hermanos hace que la red se
pueda ampliar guardando a su vez la identidad de gran
parte de los nodos
–
NO hacemos reenvío de la petición “Busca Hermanos” a
todos nuestros hermanos, se aplica un algoritmo de
selección de hermanos a reenviar basado en la posición
de los hermanos en la lista de almacenaje
–
Este algoritmo es la clave para mantener el anonimato en
la red
–
Nunca reenviará mensaje de búsqueda de hermanos de
un nodo conocido por el mismo método, haciendo que no
pueda conocer a nodos más allá de 2 saltos
●
Marabunta: Envío de Mensajes
–
Ante la llegada de un mensaje:
●
Miramos el ID del mismo, a ver si ya lo hemos tratado
●
En caso afirmativo se elimina
●
En caso negativo lo reenviamos a TODOS nuestros
hermanos
–
Como el envío en mediante datagramas UDP/IP la
comunicación es tremendamente fluida y rápida
–
Como la difusión es total no nos tenemos que preocupar de
reenviar los mensajes más de 1 vez
–
Los TimeOut's usados a la hora de realizar el envío de
mensajes son de 1 seg, por lo que no sobrecargamos la red
●
Marabunta: Envío de Mensajes
–
Conexiones actuales
●
Marabunta: Envío de Mensajes
–
Envío de Mensajes
●
Marabunta: Envío de Mensajes
–
Reenvío de Mensajes
●
Marabunta: Accediendo a la Red
–
Conocer la IP de un nodo que está en la red
–
Cargar un fichero de IP's (histórico) que algún
día estuvieron activas
–
Acceder a uno de los NIDOS de hormigas
●
●
●
son listas que reflejan los últimos nodos que acceden a
la red
Utilizan el mismo algoritmo para su reparto que el que
se usa en Marabunta para promocionar a un hermano
en la red
están implementados en php , y Marabunta accede de
igual forma que lo haría un navegador web (de hecho
realiza una petición http)
●
Futuro de Marabunta
–
Problemas actuales
●
●
●
Comunicación mediante redes cableadas, el acceso
a la red sigue siendo un problema
No podemos hacer broadcast a los nodos más allá
de nuestro gateway principal en el mejor de los
casos
Las limitaciones de IPv4 ha hecho que se tengan
que usar apaños como los NATS , lo que dificulta la
comunicación si se usan routers que no soportan la
creación de rutas de comunicación de
entrada/salida para las comunicaciones UDP/IP
●
Futuro de Marabunta
–
Desarrollo paralelo de “ENJAMBRE”
(V.0.0 2006)
●
Comunicación WIRELESS:
–
–
–
Posibilita el desarrollo de comunicación 100 % anónima
Podemos hacer broadcast para entrar en la red
Cada uno de estos “enjambres” tiene la posibilidad de
ofrecer una serie de servicios
●
Anonimato de los nodos
●
●
Privacidad de la información : Cifrado,
cifrado, cifrado ...
Redes auto-organizativas
●
●
Identificación
Localización de los nodos
●
El Entorno Adhoc
–
–
Comunicaciones Directas
●
Acceso libre al medio (el aire)
●
Difusión Total en todo el radio de Acción (Broadcast)
Redes autoorganizadas
●
Ausencia de servidor centralizado
●
Los nodos son encaminadores
●
No hay capa de seguridad intermedia
●
Exige un nivel de confianza entre ellos
●
Anonimato
–
–
Privacidad
●
Proteger la Identidad Origen / Destino
●
Proteger la Localización Espacial Origen / Destino
●
Asegurar la NO trazabilidad de las comunicaciones
Confidencialidad
●
–
Datos transmitidos
Protección Ataques
●
Evitar ataques personalizados
●
Problemas Entorno Adhoc
–
Niveles de la Comunicación
●
●
●
–
Recursos Limitados
●
●
–
Están pensados para funcionar en entornos confiables
Modelo TCP/IP sobre 802.11 no es válido
Robo de Identidad : MAC e IP falseables
Fuentes de Energía Limitadas
CPU y memoria limitada (móviles, PDA's ...)
Sensible ante Ataques
●
Denegación de Servicio (DOS)
●
Problemas de las soluciones de Anonimato
–
–
Cifrado en las Comunicaciones
●
Uso continuo del nivel de Aplicación para tratarlo
●
Pérdida del encaminamiento a nivel de Red
Gasto continuo de Recursos
●
Acceso al nivel de Aplicación para la resolución de todo
tipo de servicios (se sobrecarga el nivel más complejo)
–
Dominio de Confianza
●
Necesidad de un sistema de claves común
●
Objetivos de la Solución Propuesta
–
Anonimato eficiente
●
Proceso Previo de Emparejamiento
–
●
Inundación Controlada
–
–
Poner en común los secretos sin decirlos
Aumento de la calidad del Anonimato
Disponibilidad
●
Filtros de Nivel de Enlace y Red
–
●
Técnicas eficientes frente a ataques (DOS)
Múltiples Dominios de Confianza
–
Conseguir una red heterogénea
●
Proceso Previo de emparejamiento: PAIRING
–
Broadcast
●
Proceso Previo de emparejamiento: PAIRING
●
Identificamos a que organizaciones pertenecemos con
técnicas de conocimiento cero
●
●
C (“27/03/2006/04”)CSx
Se crea un canal seguro de comunicación y pueden
intercambiarse las matrices de direcciones y la información
para su transformación
(
M0
M1
...
...
 M j M j+1
...
...
M n­i M n­i+1
...
M i­1
...
...
... M j + i ­1
...
...
... M n­1
)(
,
T0
T1
...
...
 T j T j+1
...
...
T n­i T n­i+1
...
T i­1
...
...
... T j + i ­1
...
...
... T n­1
)
●
Proceso Previo de emparejamiento: IP-FLOODING
–
Intercambio de Direcciones
●
●
Una vez hemos establecido las conexiones seguras,
intercambiamos las matrices de direcciones IP que
usaremos para aumentar la Entropía de la Red
medinate el proceso de “Inundación Falsa Controlada”
Las direcciones IP intercambiadas van acompañadas
de un valor probabilístico (0.0 .. 1.0)
155.210.229.244 = P(0.75)
●
201.150.189.007 = P(0.25)
●
●
Filtrado de la Información
–
Modelo de mensaje TCP / IP sobre 802.11 MAC
●
Filtrado de la Información : Nivel de Enlace
●
Filtrado de la Información : Nivel de Enlace
●
Filtrado de la Información : Nivel de Enlace
●
Filtrado de la Información : Nivel de Red
ProbEntrada(G) = "0.7"
ProbSalida(B) = 0.35 < 0.7 ­­> Reenvío
ProbSalida(D) = 0.60 < 0.7 ­­> Reenvío
ProbSalida(E) = 0.85 > 0.7 ­­> NO Reenvío
Clave Pública
Nodo
@ IP Salientes
Probabilidad
PB
215 . 050 . 039 . 133
0.75
PB
234 . 152 . 203 . 076
0.35
PD
076 . 098 . 133 . 175
0.75
PD
136 . 238 . 073 . 128
0.25
●
Filtrado de la Información : Nivel de Red
●
Generación de Nuevas Direcciones Secretas
–
Usamos la Información de Transformación
intercambiada (en Pairing e IP-Flooding)
–
Finalidad: Mantener las conexiones seguras
activas sin intercambiar nueva información
–
Implementación dependiente de los recursos
finales de cada uno de los nodos
Operaciones Matriciales
● Registros de Desplazamiento
●
●
Búsqueda de Ficheros
–
Difusión Total: Entropía Máxima de la Red
●
Respuesta a la Búsqueda de Ficheros
–
Encaminamiento con Inundación Falsa Controlada
Resultados Obtenidos
Inundación en la Red vs Camino Verdadero
Nodos Accedidos
●
160
150
140
130
120
110
100
90
80
70
60
50
40
30
20
10
0
Encaminamiento Activo
Encaminamiento Fantasma
10
50
100
Nodos en la Red
500
1000
Resultados Obtenidos
1000
900
800
Nodos Accedidos
●
700
600
Nodos Totales
Nodos Accedidos
500
400
300
200
100
0
10
50
100
500
Nodos Totales
1000
●
Conclusiones
–
–
Anonimato
●
Entropía alta usando niveles bajos de comunicación
●
Técnicas de Inundación Falsa Controlada
Disponibilidad
●
Gasto de Recursos mínimo
●
Inmune a los ataques de denegación de Servicio (DOS)
●
Múltiples Dominios de Confianza
http://marabunta.laotracara.com
http://enjambre.laotracara.com
David Gascón Cabrejas
[email protected]
http://www.laotracara.com

Documentos relacionados