texto:   A-   A+
eliax

Eliax explica: Heartbleed, el problema de seguridad más grande de Internet
eliax id: 11103 josé elías en abr 14, 2014 a las 01:02 AM (01:02 horas)
HeartbleedeliaxAl menos que hayan estado viviendo en una cueva en estos días pasados, o de vacaciones (como es mi caso, y que decidí interrumpir brevemente para hablarles de este importance tema), es bastante posible que hayan escuchado sobre "Heartbleed" al menos unas cuantas veces en estos días, y los menos técnicos quizás se estén preguntando ¿qué es esa cosa, cómo funciona y cómo me afecta? Así que hoy les respondo a esas preguntas de forma breve y fácil de entender en un formato eliaxístico...

Para empezar, es bueno entender que a lo que esto afecta es a un componente llamado "OpenSSL" que implementa el protocolo "SSL" que todos utilizamos al navegar de forma segura el Internet.

SSL es la tecnología responsable de presentar el "candadito" que vemos en nuestros navegadores cada vez que nos conectamos a páginas con datos cifrados (como cuando entramos nuestro usuario y clave para revisar nuestros correos o entrar a alguna red social), con la finalidad de que tales datos no sean interceptados y leídos por cualquier intermediario en Internet.

Por su parte, OpenSSL es un programa o software que implementa el protocolo SSL en servidores web (como el popular Apache). Si SSL es el idioma seguro del Internet, OpenSSL es la persona que habla ese lenguaje en el lado opuesto de nuestro navegador web.

Es bueno notar que así como varias personas pueden hablar un idioma, que así mismo pueden haber varios programas/software que implementen el protocolo SSL, por lo que es importante entender que OpenSSL es apenas uno de esos programas, ya que existen otros.

Sin embargo, OpenSSL es la implementación de SSL más popular del mundo, y se estima que al menos el 60% de los servidores web lo utilizan, y el problema del Heartbleed es un problema que afecta directamente a OpenSSL, por lo que en teoría al menos el 60% del Internet está en riesgo (en unos instantes les explico en riesgo de qué, específicamente).

Sin embargo, en la práctica la cifra de sistemas afectados es mucho menor, con estimados que rondan el 17%, ya que no todo el mundo utiliza la misma versión de OpenSSL, y sólo una versión reciente muy específica es la que ha sido afectada (y corregida en una actualización más reciente aún).

Pero, ¿cómo exactamente funciona Heartbleed y cómo nos afecta?

Pues sucede que parte del protocolo SSL es mantener una conexión abierta entre el servidor web y quien sea que se conecta a este de modo seguro (como tu navegador web con el candadito), y uno de los mecanismos que el protocolo utiliza es el de mantener un "latido" digital entre ambos extremos, en donde por ejemplo tu navegador web cada cierto tiempo le informa al servidor web "aún estoy vivo", de paso pidiendo cierta información al servidor web.

Y el problema está precisamente en ese instante del protocolo en donde el navegador web le pide información al servidor web...

Sucede que en esa parte del protocolo, los datos que el servidor te envía son medidos exactamente, de modo que por ejemplo si el servidor te envía unos datos que ocupan 1024 caracteres (o "1 KB" en términos técnicos, asumiendo 1 Byte por carácter), este no sólo te envía esos datos sino además una descripción de su tamaño en sí (esto se hace por motivos de eficiencia y de poder saber que recibiste la cantidad correcta de datos).

Sin embargo, alguien descubrió que en una versión específica de OpenSSL es posible pedirle al servidor web más datos de los que estás supuesto a recibir. Específicamente, un hacker que haya creado una versión especial de un navegador web puede pedir hasta 64KB (sobre 65,000 caracteres) de datos contiguos de su memoria.

¿Qué significa eso de 64KB continuos de la memoria? Pues este es el corazón del asunto... Sucede que un servidor web típico por lo general interactúa con miles de personas a la vez, por lo que en su memoria temporal se encuentran rastros de todas sus operaciones e interacciones recientes con los usuarios.

Eso significa que dentro de la memoria interna del servidor, justo al lado de los datos de otra persona pueden estar almacenados temporalmente las últimas operaciones que hayas realizado con tu navegador web, en donde una esas operaciones bien pudo haber sido la de proveer tu usuario y clave al servidor para tener acceso a alguna cuenta tuya.

¿Qué significa eso? Pues significa que si un hacker justo después de ti le pide al servidor que le provea no sólo sus datos, sino los 60 mil y pico de caracteres que le siguen en su memoria interna, que hay una cierta posibilidad de que obtenga los datos de tu usuario y clave (que internamente en la memoria del servidor se almacenan sin cifrado alguno).

Esto podría aparentar que es algo difícil para un hacker poder explotar, ya que el hacker tendría que interactuar con el servidor justo después de ti, pero en la práctica la realidad es que se le hace relativamente trivial a un hacker explotar esta falla, ya que lo único que tiene que hacer es automatizar un proceso que constantemente (varias veces por segundo, 24 horas al día) le pida 64KB de datos al servidor, con el fin de aumentar sus posibilidades considerablemente de caer justo en el preciso momento en donde la memoria de tu conexión yace al lado o en la cercanía de la memoria del proceso maligno.

Esto tiene como consecuencia que es imperativo que cambies tu clave si no la has cambiado en semanas recientes, ya que sí has accedido a un portal web que aún no haya arreglado esta vulnerabilidad, entonces estás en riesgo de que algún hacker ya sepa tu clave...

Pero, ¿cómo saber si una página que frecuentas aún no ha corregido esta falla? Pues una manera es con esta herramienta web, la cual te pide la dirección de Internet de una página, y este te revisa si esa página es vulnerable o no al Heartbleed.

Finalmente, para los curiosos, si se preguntan de dónde sacaron ese nombre, pues tiene que ver con que en el protocolo SSL la palabra "latido" en inglés es "beat", y "latido de corazón" es "heartbeat", y dado que este problema lo que hace es "desangrar" tus datos, le pusieron "Heartbleed", que literalmente significa "desangrado de corazón"...

autor: josé elías

Comentarios

  • Este comic de XKCD es bastante explicativo también (http://xkcd.com/1354/)

    • +1

      :)

      • A ver, claves de que por ejemplo, de gmail? de Yahoo mail? de Hotmail? de banca, de que en general? Gracias.

  • debo haber estado en una cueva porque ni idea tenia gracias eliax

  • Lo peor es que han demostrado que se puede obtener la clave privada del servidor. Eso sí que es grave en el caso de sitios muy interesantes para los delincuentes como bancos o sitios populares como facebook. Un malware puede alterar los DNS de un equipo o del router de la casa (que muchas veces está con la clave original de fábrica) y así redirigir páginas a servidores falsos. Teniendo la clave privada se puede suplantar la pagina con ssl y todo.

  • También los que usan Chrome pueden instalar la extensión Chromebleed, la cual despliega una advertencia si el sitio que estás visitando tiene esta vulnerabilidad.

  • Gracias Eliax. Una vez más, me alegro que haya llegado ''el fin de Eliax como lo conociamos'', pues ahora no solo los artículos siguen igual de interesante, sino tambien que sabemos que tienes una tranquilidad mental al no tener la presion de escribir diario.

    Saludos!

  • me pregunto cómo los hackers lograron descubrir eso. Es que no entiendo cómo llegaron a esa conclusión

    • Simplemente toman un especificación técnica (en este caso, del protocolo SSL) y empiezan a desviarse de la especificación para ver cómo responde el servidor/servicio remoto.

      Para hacer esto sin embargo es necesario uno poder tener herramientas que creen versiones no-estandarizadas de los protocolos, razón por la cual estos investigadores utilizan Linux y compilan sus propias versiones de las herramientas.

  • Gracias eliax, este tema tan importante tiene tan pocos comentarios, y la verdad no lo habia escuchado en ningun lado.

  • Gracias! este es un articulo genial.

Añadir Comentario

tu nombre
tu email
(opcional)
web personal
(opcional)
en respuesta a...
comentario de caracteres máximo
3 + 9 = requerido (control anti-SPAM)
 

"Mi mente va a estallar, esto es EXTRAORDINARIO!!!!!!!!!!"

por "Patricio" en jul 23, 2010


en camino a la singularidad...

©2005-2017 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax