jueves, julio 16, 2015

Heartbleed y seguridad web explicados en un garito de la Mafia.



Seguro que habeis leido ya algo sobre HeartBleed, el bug de seguridad de OpenSSL que ha tenido dos terceras partes de la web vulnerables a ataques. 

SSL, o Secure Socket Layer, es un protocolo de seguridad que permite comunicaciones cifradas entre navegador web y los servidores. Normalmente sabeis que estasi bajo SSL cuando una URL empieza por "https"o veis ese candadito de marras cerrado, 

Lo que permite SSL es que nadie entre vosotros y el servidor ( un hacker haciendo un ataque de "Man in de Middle", vuestra empresa, vuestro proveedor de internet, la NSA o Justin Biebber pueda leer el contenido de las páginas que visitais o la información que alli mandais. O sea permite que la web funcione como si fueran "cartas" cerradas. Los que estan enmedio siguen viendo las direcciones escritas en vuestros sobres pero no ven el contenido. Sin SSL el trafico web es como el email: tarjetas postales que la portera puede leer tranquilamente. 

OpenSSL es una implementación del servidor SSL Open Source (una variante Light del Software Libre - si me acuerdo algun dia os hablare de las diferencias entre lo uno y lo otro), o sea que el código fuente del programa esta disponible para que cualquiera lo lea (compile y ejecute) y existe una comunidad internacional que se encarga de evolucionar y mantener este software. Es bueno que haya implementaciones en Software Libre u Open Source de software tan elemental como el que sirve de plataforma a la Web. La gracia es que cualquier programador puede leer el código, ver si esta bien hecho y no tiene errores, aprender, compartir, discutir y mejorar la plataforma que todos usamos. 

Pero de vez en cuando en este proceso se escapa un fallo garrafal como Heartbleed. Voy a intentar explicar a los no informaticos como funciona este fallo y el impacto que puede tener antes de que dos terceras partes de los servidores de la red actualizen a la versión de OpenSSL que ya ha corregido esta cagada. "Cagada" es un término tecnico que usamos los informaticos en casos como estos.  Muy tecnico :-) 


Imaginad que son los 50's y don Vito Corleone monta un garito de apuestas en combates de boxeo. Tiene corredores de apuestas por toda la ciudad que recogen las apuestas y el dinero de los apostantes. Los corredores tienen que informar al garito de que apuesta ha hecho quien y confirmar que tienen la pasta (son mafiosos italianos y la pasta es muy importante... jajajaja). Despues de cada combate los ganadores de las apuestas van a ver a los corredores de apuestas para cobrar. Si alguien ha apostado a credito y pierde más de lo que puede pagar seguro que tambien cobrarà, pero eso es otro tema. 

Don Vito ha dejado el garito en manos de dos ex-boxeadores sonados: Rocco el Ratón y Ricky el de Reno. Ambos son buenos siguiendo instrucciones pero sin mucho cerebro ni iniciativa. Como un programa de ordenador. 

Ricky el de Reno responde al telefono, recoge las apuestas y le dice a Rocco el Ratón que las apunte en pizarra enorme. Rocco apunta el nombre o el alias del apostador en la pizarra en las lineas siguientes apunta las apuestas. Cuando un corredor de apuestas tiene que pagar a un apostador llama a Ricky el de Reno y le dice algo asi como: "Dime las 5 apuestas que ha hecho Johnie el Guapo para los combates del Madison de esta noche." Ricky le pregunta a Rocco, responde al corredor y marca las apuestas como pagadas. 

Pero un dia, un corredor la pregunta a Ricky el de Reno por las 10 apuestas de Johnie el guapo, cuando Johnie solo hizo 2 apuestas. Ricky y Rocco no son muy listos asi que Ricky le lee 8 lineas de la pizarra que contienen apuestas de otros corredores de apuestas. Ese corredor era un informador de la policia, y Don Corleone no se puso nada contento. 

Pues esto es lo que pasa con Heartbleed. Haciendo preguntas mal hechas, uno puede hacer que Rocco le lea la pizarra (o memory Heap) del servidor, donde a veces puede haber información muy interesante como claves y passwords de otros usuarios. 

La probabilidad de que vuestros datos se hayan visto comprometidos es baja, pero no nula. Asi que no os preocupeis demasiado, esperad a que vuestros proveedores actualizen sus servidores y entonces cambiad el password que siempre es sano.

Post data:
El incidente del garito de apuestas acabó en un titular en los peridicos que todavia hoy usan los logopedas de la mafia "Rocco el Ratón rajó a Ricky el de Reno con un rejón". 

No hay comentarios:

Publicar un comentario