DUST: Sistemas RSS a prueba de balas

Post on 28-May-2015

645 views 2 download

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

DUST

Chema Alonsochema@informatica64.com

David Luengodluengo@informatica64.com

Once upon a time….

… y nos lo creímos…

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

Nuestro mayor problema: Los trols

…y lo arreglamos con educación

Pero… un buen día….

Y entonces salimos de Matrix…

No nos gusta tu aspecto

No nos gusta tu aspecto

No nos gusta tu nombre

Muérete de hambre

Muérete de hambre

4nOym0us

HBGary Ownage

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

• «Incitadores» en FaceBook• Propaganda viral en Inet

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 (….)

Políticos…

¿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

Algunas soluciones: OpenNIC

Algunas Soluciones: P2P DNS

Algunas Soluciones: OSIRIS CMS

Pero qué pasa si alguien tiene…

Cuidado con lo que dices…

Cuidado con lo que dices…

Ley Sinde

Cuidadín con lo que publicas.

Te sigo por RSS

Código Penal rima con Hemoal

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

FeedBurner

¿Y si no les gusta lo que publicas?

• Si se cierra el blog, puedes cambiar el feed

¿Y si te cierran el Feed RSS?

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

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).

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

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.

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.

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.

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 :).

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.

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.

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.

Demo

DUST está en beta pero…

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