DUST: Sistemas RSS a prueba de balas

41
DUST Chema Alonso [email protected] David Luengo [email protected]

description

Charla impartida por David López Luengo de Informática 64 durante el IV Curso de Verano de Seguridad Informática de la Universidad Europea de Madrid.

Transcript of DUST: Sistemas RSS a prueba de balas

Page 1: DUST: Sistemas RSS a prueba de balas

DUST

Chema [email protected]

David [email protected]

Page 2: DUST: Sistemas RSS a prueba de balas

Once upon a time….

Page 3: DUST: Sistemas RSS a prueba de balas

… y nos lo creímos…

• Internet es un espacio libre• Todas las opiniones permitidas• Libertad de prensa• Nadie controla Internet• Neutralidad• Anonimato• No Rules• ….

Page 4: DUST: Sistemas RSS a prueba de balas

Nuestro mayor problema: Los trols

Page 5: DUST: Sistemas RSS a prueba de balas

…y lo arreglamos con educación

Page 6: DUST: Sistemas RSS a prueba de balas

Pero… un buen día….

Page 7: DUST: Sistemas RSS a prueba de balas

Y entonces salimos de Matrix…

Page 8: DUST: Sistemas RSS a prueba de balas

No nos gusta tu aspecto

Page 9: DUST: Sistemas RSS a prueba de balas

No nos gusta tu aspecto

Page 10: DUST: Sistemas RSS a prueba de balas

No nos gusta tu nombre

Page 11: DUST: Sistemas RSS a prueba de balas

Muérete de hambre

Page 12: DUST: Sistemas RSS a prueba de balas

Muérete de hambre

Page 13: DUST: Sistemas RSS a prueba de balas

4nOym0us

Page 14: DUST: Sistemas RSS a prueba de balas

HBGary Ownage

• Backdoors a la carta:– Task B y 12 monkeys

• «Incitadores» en FaceBook• Propaganda viral en Inet

Page 15: DUST: Sistemas RSS a prueba de balas

Internet tiene puntos debiles

• Conexiones de red– Gran Firewall de China– Ataque BGP Egipto

• Sistemas DNS–Wikileaks.org– Tarjetaroja.org

• Legislaciones– Nacionales (LSSI, Ley Sinde, Código

Penal…)– Continentales (….)

Page 16: DUST: Sistemas RSS a prueba de balas

Políticos…

Page 17: DUST: Sistemas RSS a prueba de balas

¿Cómo estar conectados siempre?

• El objetivo es desconectar la fuente de la información con la audiencia– Arrancando de raíz la fuente

• Owneando el sistema

– Haciéndola inaccesible• DDOS

– Que no sea localizable• Quitando nombre de dominio• Eliminando cuentas de servicios

– Facebook, twitter, …

• Infosec war: Eliminación de Buscadores

– Por la ley y cerrado de cuentas

Page 18: DUST: Sistemas RSS a prueba de balas

Algunas soluciones: OpenNIC

Page 19: DUST: Sistemas RSS a prueba de balas

Algunas Soluciones: P2P DNS

Page 20: DUST: Sistemas RSS a prueba de balas

Algunas Soluciones: OSIRIS CMS

Page 21: DUST: Sistemas RSS a prueba de balas

Pero qué pasa si alguien tiene…

Page 22: DUST: Sistemas RSS a prueba de balas

Cuidado con lo que dices…

Page 23: DUST: Sistemas RSS a prueba de balas

Cuidado con lo que dices…

Page 24: DUST: Sistemas RSS a prueba de balas

Ley Sinde

Cuidadín con lo que publicas.

Te sigo por RSS

Page 25: DUST: Sistemas RSS a prueba de balas

Código Penal rima con Hemoal

Page 26: DUST: Sistemas RSS a prueba de balas

Del Blog al lector

• Nombre de dominio– Entrada directamente a la web

• Suscripciones RSS– Lectores conectan al Feed XML

• Autoría– Cuenta del sistema de blogs– Nombre– Http Feed RSS

Page 27: DUST: Sistemas RSS a prueba de balas

FeedBurner

Page 28: DUST: Sistemas RSS a prueba de balas

¿Y si no les gusta lo que publicas?

• Si se cierra el blog, puedes cambiar el feed

Page 29: DUST: Sistemas RSS a prueba de balas

¿Y si te cierran el Feed RSS?

Page 30: DUST: Sistemas RSS a prueba de balas

DUST: Feeds RSS por P2P

• Sistema de publicación de feeds RSS firmados por redes P2P.

• Cliente de lectura de Feeds RSS– Http– P2P

• Republicación de contenido por P2P– Republicación de Feed RSS– Republicación de posts e imágenes

Page 31: DUST: Sistemas RSS a prueba de balas

DUST: Cómo se hace todo

• Los feeds se manejan mediante las bibliotecas rome (desaparecerá) y jdom.– Son software libre.– Rome sólo sirve para leer feeds, no para

modificarlos.– Jdom es la biblioteca estándar para manejar

XMLs mediante DOM.

• Los feeds se reciben tanto por HTTP como por P2P de manera indiferente para el usuario (para el programador es bien distinto).

Page 32: DUST: Sistemas RSS a prueba de balas

DUST: Cómo se hace todo

• La creación de claves, firma y comprobación de firmas se realiza con la biblioteca estándar de J2SE (java.security).– Sólo como prueba de concepto, se pretende

usar una biblioteca más segura (se está analizando Bouncy Castle).

– Java.security tiene (al menos) un CVE publicado, CVE-2008-5659

Page 33: DUST: Sistemas RSS a prueba de balas

DUST: Cómo se hace todo

• La compartición de archivos se realiza a través de GNUTella usando la biblioteca Jtella.– Red totalmente decentralizada (a diferencia de

ed2k o bittorrent).– Jtella con una pequeña modificación echa por

nosotros.– Se comparten feeds e imágenes.– GNUTella es un protocolo para la búsqueda de

ficheros, no para la compartición. El busca en la red e informa (si encuentra) de que IP:puerto tiene el fichero.

Page 34: DUST: Sistemas RSS a prueba de balas

DUST: Cómo se hace todo

• Para la descarga de los ficheros se ha implementado un servidor simplísimo.– Está a la escucha de nuevas conexiones.– Espera recibir un nombre de fichero y devuelve

la ristra de bytes correspondiente a ese fichero.

– Si no tiene el fichero pedido cierra la conexión.

• Sólo es una prueba de concepto, se está pensando eliminar y poner un servidor de ficheros más robusto, flexible y seguro.

Page 35: DUST: Sistemas RSS a prueba de balas

DUST: Cómo se hace todo

• La interfaz gráfica usa SWT (Standard Widget Toolkit) de Java.– Bien documentada.– Suficientemente potente para lo que

necesitamos.– Implementación para múltiples plataformas.– Cada plataforma necesita su

implementación concreta de SWT, esto hace que Dust no sea un único paquete que corre múltiples plataformas, sino muchos paquetes, cada uno para una plataforma.

Page 36: DUST: Sistemas RSS a prueba de balas

DUST: Recordatorio de qué hace

• Carácterísticas actuales de Dust:– Lector de feeds que permite leer los feeds

tanto de HTTP como firmados a través de P2P (e imágenes).

– Múltiples fuentes para un mismo feed para hacer más difícil la censura.

– Es (será en muy poco tiempo) software libre, probablemente bajo licencia Apache.

– Pensado para que la comunidad lo pueda “destripar” y proponer características (e incluso hacerlas ellos :).

Page 37: DUST: Sistemas RSS a prueba de balas

DUST: Ideas para el futuro

• Mejorar el manejo de claves, utilizar una biblioteca más segura.

• Mejorar el cliente GNUTella, que un peer informa a sus peers de nuevos peers en la red según se conecten.

• Implementar un sistema de “ranking” de peers para evitar el file pollution. Si un peer te pasa muchos ficheros falsos (mal firmados) bajarle su ranking.

• Implementar un sistema para evitar que se llene el disco por bajarse demasiados ficheros.

• Cambiar el servidor de transferencia de ficheros por uno “de verdad”.

• Diseñar e implementar una interfaz decente.

Page 38: DUST: Sistemas RSS a prueba de balas

DUST: Ideas para el futuro

• Refactorizar mucha parte del código (código que ya no se usa eliminarlo, código que no sigue las normas de estilo reescribirlo, documentar el código que no lo esté).

• Dejar de usar rome y usar sólo jdom (rome hace fácil la lectura de feeds, pero también hace falta modificación y no lo permite).

• Mejora de ciertos aspecto del Dust Internals.• DustDispatcher, DustTask, DustConf, DustLog.• Mejorar la forma de informar de la aparición

de excepciónes y/o situaciones de warning.

Page 39: DUST: Sistemas RSS a prueba de balas

DUST: Ideas para el futuro

• Dar soporte a otros tipos de redes P2P (ed2k, bittorrent, etc…)

• Integrar con la red TOR.• Permitir exportar ficheros de perfiles de

otros lectores de feeds.• Mil características más.

Page 40: DUST: Sistemas RSS a prueba de balas

Demo

Page 41: DUST: Sistemas RSS a prueba de balas

DUST está en beta pero…

• Vamos a ponerle un logo chulo para que los «social media» se animen a usarlo mucho