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.
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.
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 tablaConclusió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.