Luego de lo ocurrido con Heartbleed, los desarrolladores de OpenBSD analizaron en detalle el proyecto OpenSSL y decidieron tomar cartas en el asunto para buscar una solución alternativa. Por ello, hicieron un fork del proyecto y actualmente se encuentran implementando la nueva solución.
Hace poco tiempo, un bug en el proyecto OpenSSL puso en vilo la seguridad de gran parte de los usuarios de Internet. Heartbleed generó un gran revuelo que dio a lugar casos de explotación de esta vulnerabilidad y a su vez a diversas acciones de mejoramiento de proyectos de importancia crítica. Pasado un mes de lo ocurrido, aún existen más de 300 mil servidores vulnerables.
Tiempo atrás, les contábamos acerca del estado de OpenSSL, intentando mostrar que dado su tamaño y sus recursos no es posible pedirle ciclos de pruebas, revisiones de código y demás iniciativas para mejorarlo, con la misma periodicidad que un proyecto de mayor envergadura.
Por otro lado, los desarolladores de OpenBSD notaron que implementar un manejador de memoria propio sería un gran punto a favor. Por esto mismo fue que decidieron hacer un fork del proyecto y apuntar a su objetivo.
Luego de una semana, los desarrolladores de OpenBSD habían eliminado la mitad del código existente.
A gran escala, las características de LibreSSL son las siguientes:
- Manipulación de memoria: uno de los detalles más importantes aquí es el cambio de custom memory calls por llamadas utilizando una standard library. Este cambio podría, por ejemplo, ayudar a detectar casos de buffer overflow.
- Medidas proactivas para fomentar buenas prácticas de programación. Por ejemplo, se han hecho modificaciones en el código para mejorar su legibilidad, algo vital para proyectos que perduran a lo largo del tiempo.
- Criptografía: se han logrado resultados más robustos en la generación de números pseudoaleatorios, gracias a la obtención de seeds más impredecibles.
- Remoción de código: se ha quitado el código perteneciente a arquitecturas o sistemas operativos en desuso, así como también protocolos no utilizados y algoritmos inseguros. La funcionalidad de heartbeat (que dio lugar a HeartBleed) también fue removida.
- Solución de bugs: el proyecto OpenSSL tenía bugs reportados hace años que seguían sin solucionarse. Actualmente, LibreSSL está trabajando sobre ello.
La iniciativa de LibreSSL es buena, ya que apunta a encontrar una alternativa distinta a OpenSSL, y además se lleva a cabo por un equipo de desarrolladores con vasta experiencia como lo es el equipo de OpenBSD. Se pueden consultar sus objetivos de forma específica aquí.
Se estima que la primera inclusión de LibreSSL en un sistema operativo será en OpenBSD 5.6.