domingo, 8 de junio de 2014

Nuevos Bugs En OpenSSL Serían Más Graves Que Heartbleed






Después de la catástrofe de seguridad llamada Heartbleed, el compromiso económico de varias empresas para reforzar el desarrollo de OpenSSL, y varios ataques de alto perfil, aparecen nuevos bugs sobre la implementación. En esta oportunidad, uno de los errores llevaría dieciséis años flotando en el código, mientras que otro habría sido provocado por el mismo desarrollador asociado a Heartbleed.

Si obedecemos a las últimas noticias relacionadas con OpenSSL, quien no conozca los detalles de su desarrollo consideraría a su funcionamiento como un verdadero milagro. Y la realidad nos indica que funcionó bastante bien… hasta que Heartbleed explotó y arrojó metralla en todas direcciones. Las acusaciones (de ambos lados) no tardaron en llegar, y se supone que los jugadores más importantes del mercado están dispuestos a inyectar una cierta cantidad de dinero en OpenSSL con el objetivo de estabilizarlo. Los creadores de OpenBSD decidieron tomar la ruta del fork y dar forma a LibReSSL, una nueva implementación. Ahora, OpenSSL se encuentra en los microscopios de expertos alrededor del mundo, y como era de esperarse, algunas de sus fisuras son realmente graves.

La última de las vulnerabilidades, descubierta por el investigador Masashi Kikuchi, está enfocada sobre un manejo inapropiado del protocolo ChangeCipherSpec (o CCS, como prefieran) mientras se lleva a cabo un handshake. Al aceptar CCS en otros intervalos aparte de los correctos, se puede hablar de una inyección CCS destinada a modificar o descifrar datos en un canal establecido. La peor parte es que el bug, cuyo nombre oficial es CVE-2014-0224, lleva dieciséis años en el código. Dicho de otra manera, existe desde el primer build de OpenSSL. El “alivio” por así decirlo, lo aporta Adam Langley, ingeniero en Google, quien explica que para aprovechar correctamente a CVE-2014-0224 se necesita obtener una posición “man-in-the-middle”, y nos recuerda que los clientes no-OpenSSL pueden ignorar esta advertencia.

El total de bugs descubiertos asciende a seis, pero hay otro que se destaca, CVE-2014-0195. Afecta a las versiones 0.9.8, 1.0.0 y 1.0.1, y permitiría nada menos que ejecución de código remoto, debido a fragmentos inválidos en DTMS (el cifrado TLS sobre UDP, en vez de TCP). Tal y como lo indican en el blog de seguridad de Hewlett-Packard, los logs vinculados a CVE-2014-0195 tienen un nombre, Robin Seggelmann, que es exactamente el mismo nombre flotando alrededor de Heartbleed. Separados, estos bugs tal vez sean más complicados de explotar, pero podrían demandar más esfuerzo en su corrección que el propio Heartbleed. Esto es apenas la punta del iceberg, y quien tenga los recursos para actualizar OpenSSL en sus sistemas, debería hacerlo de inmediato.