Sobre proyectos, fellowship, Chile, civic hacking y otras yerbas (Vol I)

Escribo este post a modo de contar que estuve haciendo últimamente y el avance de algunos proyectos geniales en los cuales estoy trabajando.

TEDICtl;dr -> Hace unas semanas estoy en Santiago de Chile como parte del Fellowship entre TEDIC y la Fundación Ciudadano Inteligente que tiene como objetivo el desarrollo del proyecto Parlamento Abierto, una plataforma de monitoreo ciudadano de las actividades del Congreso paraguayo, para así saber quienes son los legisladores, sus CVs, sus proyectos de ley, como votan, ademas de proveer herramientas de comunicación entre ciudadanía y parlamento. La idea es que Parlamento Abierto sea una herramienta para informar a la gente de lo que pasa dentro del Congreso, porque desde mi punto de vista sin información disponible no puede haber libertad.  Si, así de interesante es este proyecto, del cual tengo el privilegio de estar como Coordinador y Desarrollador principal.

Para empezar dando un pantallazo general les cuento algo sobre la FCI. La Fundación Ciudadano Inteligente es una organización que apuesta a fortalecer la democracia promoviendo la transparencia y la participación ciudadana a través del uso innovador de las tecnologías de la información, desarrollando proyectos como:

  • VotaInteligente: Un espacio de información y comunicación entre los ciudadanos y los candidatos a representantes en cualquier tipo de elección.
  • Inspector de Intereses: Herramienta para identificar y denunciar conflictos de intereses parlamentarios.
  • Del Dicho al Hecho: Plataforma para dar seguimiento al cumplimiento de promesas electorales.

Para citar solo algunos de los muchos proyectos interesantes de la FCI.

Esta cooperación con la FCI es el primer paso para desarrollar “Parlamento Abierto”, utilizando varias herramientas del proyecto Poplus, proyecto Open Source creado principalmente por MySociety (Inglaterra), OpenNorth(Canada), FCI(Chile) y varios colaboradores alrededor del mundo con el fin de proveer de herramientas cívicas modulares que se puedan adaptar a la realidad de cualquier país.

La primera semana de trabajo arrancamos viendo algunos de los componentes de Poplus que usaríamos, empezando por PopIt, que es un sistema que permite almacenar y compartir información sobre personas, organizaciones y cargos. PopIt se usaría para almacenar los datos de cada legislador para así poder ser usado por los otros componentes o inclusive aplicaciones externas ya que tiene un API para acceder a estos datos.

legisladores

Ejemplo de los datos

Para obtener la información necesaria hizo falta programar un “scraper” que básicamente es un script que busca y recupera información especifica de sitios web, en este caso fueron los sitios del Senado y de Diputados para obtener la lista de los legisladores, cosa que se pudo hacer sin mayor dificultad y actualmente estos datos están cargados en una instancia de PopIt.

También empezamos a familiarizarnos con Bill-It que es un sistema de gestión de documentos orientado a darle seguimiento a los proyectos de ley. Bill-It es uno de los componentes mas importantes ya que permite trackear los proyectos del parlamento y asociarlos con los legisladores (Info que provee PopIt).

Datos de ejemplo

Datos de ejemplo

La recopilación de esta información está en proceso debido a la complejidad innecesaria del Sistema de Información Legislativa del congreso, se pudieron extraer varios proyectos pero no todos por el momento pero con un poco mas de esfuerzo y dedicación ya va a salir dentro de poco.

No quiero extenderme demasiado en un solo post para no cansar demasiado y eso que aun no conté nada sobre WriteIt y otros componentes que estamos usando ni lo que fue la Conferencia PoplusCon pero eso viene en el próximo post.

 

Estado de la vulnerabilidad “Heartbleed” en el sistema bancario de Paraguay

Imagen

Antes de migrar el blog aprovecho esta la oportunidad actualizarlo con el tema “de moda” en cuanto a seguridad, seguramente en estos últimos días se toparon la noticia de la vulnerabilidad CVE-2014-0160 de la librería OpenSSL, mas conocida como Heartbleed.

Antes que nada hay que aclarar que Heartbleed NO ES un virus ni tampoco un gusano(como muchos sitios de noticias reportaron), es un Bug, un error de programación. Lo peligroso de esta vulnerabilidad pasa por tres factores: El hecho que es muy dificil detectar si un servidor fue victima de este ataque, La popularidad de OpenSSL y el tiempo que lleva presente.

Imagen

OpenSSL se utiliza para proveer conexiones seguras y encriptadas mediante los protocolos SSL/TLS (como cuando aparece el candado en la barra de direcciones y en vez de http aparece https), pero no solamente se utiliza en la web, sino hay muchas aplicaciones como el correo electrónico, mensajería instantánea y muchos dispositivos de red.

El fallo pasó sin detectado desde inicios del 2012 hasta unos dias atrás(07-04-2014), durante todo ese tiempo millones de servidores estuvieron vulnerables, siendo así posible el robo de datos, incluyendo usuarios, contraseñas e inclusive las claves de encriptación, las cuales permiten desencriptar todo el trafico inclusive, trafico anteriormente capturado.

Para más información pueden ver este articulo de Ejempla o el “sitio oficial” de la vulnerabilidad http://heartbleed.com

El fallo ya fue corregido y como primer paso para no ser victimas de esta situación es actualizar los servidores afectados, como ya comenté mas arriba la versión de OpenSSL que corrige el fallo se publicó el 7 de Abril del 2014.

Pero no basta con actualizar la librería ya que si la vulnerabilidad fue explotada en el pasado(no deja rastros) la clave de encriptación pudo haber sido robada, con esto el atacante tiene la posibilidad de usar las claves para que su sitio o servicio fraudulento pueda hacerse pasar por el legítimo. 

Por eso el siguiente paso es generar nuevas claves de encriptación, revocar los certificados SSL para luego solicitar nuevos certificados SSL.

Bueno, ahora vamos a la razón de este artículo

Realice un análisis sobre el estado de los sitios web de banca electrónica de Paraguay, asi como también de otros actores del sistema financiero como las procesadoras de pagos. Fue grata la sorpresa al encontrar que todos los sitios ya se encontraban parchados y no eran vulnerables al Heartbleed, pero quise indagar un poco más con respecto a la fecha de emisión de los certificados SSL.

Es muy poco probable que esta vulnerabilidad haya sido explotada en algún sitio de banca electronica del pais pero no deja de ser posible.

Metodología

Cree un script que comprueba cada los certificados de todos los bancos habilitados por el BCP(incluyendo al BCP) y las procesadoras de tarjetas de crédito. Utiliza las librerias M2Crypto y OpenSSL de python para obtener los datos. Lo subí a mi cuenta de github https://github.com/melizeche/heartbleedpy (script rápido y sucio, se aceptan mejoras). 

Resultados

De 6 sitios no se pudo precisar si usan OpenSSL para las conexiones seguras, si no lo utilizan no son ni estuvieron en vulnerables.

Imagen

Dejo una capturas de pantalla aquí pero es mas interesante ver en mi servidor donde se actualiza cada 10 minutos la información

Para ver los datos actualizados entrar a http://melizeche.com/heartbleedpy/ donde se explica bien como leer la tablaImagenConclusión

La noticia positiva es que ninguna entidad es vulnerable al Heartbleed pero por otro lado vemos que hay muchos certificados que aún no se renovaron, como explique mas arriba, el riesgo es bajo al ser poco probable que algún banco local haya sido victima en el pasado pero no deja de ser un factor a tener en cuenta

Hay que destacar la rápida respuesta de parte de los encargados de seguridad de los bancos al parchar la vulnerabilidad pero como se explico más arriba no es suficiente eso y sería interesante que las entidades emitan algún comunicado explicando las medidas que se tomaron.

Espero que con los días la tabla se vaya poniendo cada vez más verde.

Si algo no quedó claro o pensás que no es preciso o tenés algún aporte no dudes en comentarlo más abajo.

 

Solucionar “Cannot run program emulator: error=2” de adb y android emulator en Ubuntu 13.10 64bits

Recientemente instalé Ubuntu 13.10 64bits y me encontré con que  no podía ejecutar el emulador ni el adb del SDK de Android.

Habiendome fijado en haber instalado la versión correcta del SDK no entendía porqué no funcionaba y me daba el error mencionado ademas de “No existe el archivo o directorio”, traté de ejecutarlo directamente desde la consola y me daba el mismo error.

Despues de haber investigado encontré que tenía que instalar el paquete “ia32-libs” para solucionar la ejecución de un binario de 32bits en un sistema de 64bits pero no me dejó porque en Ubuntu 13.10 no existe el paquete. Esto se debe a que desde Ubuntu 13.04 los las librerias 32bits de pueden instalar sin problemas solo especificado la arquitectura al hacer “apt-get install” (sudo apt-get install nombrepaquete:i386 por ejemplo).

Haciendola corta encontré que las librerías de x86 que necesitaba eran libc6, gcc y ncurses entonces instalé los paquetes y listo.

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

Ahora funciona sin problemas.

 

Lectura recomendada: Por qué iOS es más fluido que Android?

Ricardo Galli, de software

Hace unas pocas horas escribí esta respuesta sobre Por qué iOS es más fluido que Android (con buen criterio, eliminaron la entrada). Obviamente, por cuestiones de longitud y la “respuesta rápida” que requiere un comentario, no me quedó todo lo completo que requiere el tema. Lo que me gustaría explicar daría para muchas horas de charlas. De hecho, enseño estos temas en mi asignatura de Sistemas Operativos (II), dedico al menos unas 12 hs de clase, y aún así no entramos en muchos detalles importantes. Pero intentaré resumirlo en este apunte, fundamentalmente para que se entiendan los problemas de arquitectura, y de cómo toda decisión que se tome en una arquitectura, lenguaje o programa tiene implicaciones positivas y negativas, siempre.

Ver la entrada original 3.386 palabras más

Phishing para robar tarjetas de crédito de Itaú

Ayer leí este tweet  en el que avisaban que estaban haciendo phishing 

 entonces le pedí que me reenviara el correo que le había llegado

Sigue leyendo