lunes, abril 14, 2014
|
Al 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 |
11 comentarios
242,720 vistas |
Internet , Pregunta a eliax , Software , Tecno-Seguridad |
Comentarios
Añadir Comentario |
"¿Qué haré mañana nada más abrir mis ojos?
Después de agradecer la vida...
Encender rápidamente mi tablet y leer el artículo 10.000 de Eliax.
Estoy en ascuas, como un niño, esperando ver lo que nos cuenta."
Después de agradecer la vida...
Encender rápidamente mi tablet y leer el artículo 10.000 de Eliax.
Estoy en ascuas, como un niño, esperando ver lo que nos cuenta."
en camino a la singularidad...
©2005-2024 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax
Seguir a @eliax
Este comic de XKCD es bastante explicativo también (http://xkcd.com/1354/)