En el campo del software, se habla de una librería como un conjunto de acciones y funciones que se pueden utilizar en el momento de desarrollar software. En algunos lenguajes, muchas librerías se convierten en el estándar por tener ventajas importantes como la facilidad de uso o la flexibilidad que representan a la hora de escribir un programa.
Por otro lado, Apache es el nombre de un servidor web de software libre y código abierto. Desde su creación en 1995, Apache se convirtió rápidamente en uno de los estándares de Internet, y es hoy el servidor web más popular, usado por más de 300.000 empresas, entre ellas, gigantes como IBM, Cisco, Microsoft, Adobe, Facebook y Google. Esta expansión tan grande, sin embargo, mostró su punto más débil el pasado diciembre, cuando la Apache Software Foundation reveló una vulnerabilidad que afecta una de sus librerías más populares: Log4j.
¿Qué tan profunda es la vulnerabilidad?
Para empezar, Log4j es una librería desarrollada en el lenguaje Java, que si bien ha perdido terreno en los últimos años frente a Python, sigue siendo uno de los lenguajes más importantes en ambientes empresariales y de desarrollo web. En teoría, la vulnerabilidad en Log4j permite que atacantes tomen control total de servidores remotos que incorporen esta librería.
“Esto ha llevado a levantar alertas sobre millones de dispositivos y servicios que usan la biblioteca Log4j, y en ese sentido los ciberdelincuentes pueden ejecutar código arbitrario en sistemas vulnerables, aprovechando para implementar ransomware, troyanos de acceso remoto y web shells, entre otros”, explica Germán Patiño, vicepresidente de Ventas para América Latina de Lumu, una empresa de ciberseguridad. Tanto ha sido el impacto, que el popular videojuego Minecraft –desarrollado en Java– ha alertado a sus usuarios sobre el riesgo en sus computadores.
De la misma forma, Matthew Prince, CEO de Cloudflare, anunció que la vulnerabilidad encontrada es tan profunda que la compañía decidió implementar soluciones de seguridad a todos sus usuarios, de forma predeterminada y sin costo adicional. La preocupación de Prince es reveladora ya que resalta una realidad importante, y es que muchos clientes y usuarios probablemente no estén en la capacidad de responder frente a una vulnerabilidad de este tipo.
Jugadores de Minecraft podrían tomar el control del servidor escribiendo un comando en el chat del juego. Usuarios de iPhone incluso han cambiado sus nombres al comando para entrar a los servidores del correo electrónico de Apple. Esto se torna especialmente macabro si pensamos que, según Patiño, de Lumu, los ciberdelincuentes son capaces de automatizar el proceso de explotación de la vulnerabilidad. “Se vuelve fundamental buscar de manera intencional las conexiones de las infraestructuras con adversarios que intentan explotar la vulnerabilidad, monitorear continuamente los activos comprometidos y automatizar las tareas de respuesta ante la amenaza”, explica.
Una realidad incómoda
Tan pronto la Apache Software Foundation anunció la vulnerabilidad, también publicó un parche crítico para la librería Log4j que todos los desarrolladores deben implementar. La solución suena sencilla, pero el despliegue es tremendamente complicado. Cuando se habla de aplicaciones empresariales o de uso interno, implementar una actualización o parche es un problema a largo plazo.
Algunas empresas, por ejemplo, puede que estén utilizando Log4j en sus servidores, pero los desarrolladores no pueden hacer nada ya que el servidor de Apache es externo o es contratado con otra compañía. En otros casos, esta librería puede estar implementada en servicios críticos, como gubernamentales o médicos, y la creación de un parche requiere también un proceso de ensayo y error para no arriesgase a caídas de la infraestructura.
La vulnerabilidad ha sido tan grande que incluso el gobierno de los Estados Unidos intervino y anunció la fecha límite del 24 de diciembre para analizar e implementar soluciones. Sin embargo, la extensión del problema hace que este se convierta en una solución pensada a largo plazo. Más allá de la noticia en diciembre, la vulnerabilidad de Log4j es un problema que veremos explotado por años ya que 4 de cada 5 vulnerabilidades están ocultas debajo de capas profundas en el software interconectado de la Web, como lo explicó Google.
Incluso frente a presiones por parte del gobierno de los Estados Unidos, esto choca frente a la realidad de que muchas empresas están rezagadas en la carrera por la ciberseguridad. “En promedio, cada empresa tarda 206 días en identificar el ingreso de un atacante a su red, y 279 días en contener la totalidad de la brecha”, afirma Germán Patiño.
Además de la vulnerabilidad, el caos de Log4j ha provocado que la industria ponga sus ojos sobre la Apache Software Foundation y el papel del software libre en una industria cada vez más crítica. La versatilidad y su gratuidad lleva a muchas empresas a utilizar software libre. El caso de Apache es solamente uno, pero también existen otros importantes como el proyecto AOSP (Android Open Source Program), la base del sistema operativo Android, y Chromium, la base de navegadores como Google Chrome, Microsoft Edge y Opera.
Lo peculiar del asunto, sin embargo, es que muchos proyectos de software libre no existen como compañías constituidas, sino que están conformados por grupos de desarrolladores que trabajan en el código en sus ratos libres, y fundaciones que en muchos casos están soportadas solamente por las donaciones de sus usuarios.
El plan a futuro
Log4j ha resaltado una vez más la importancia del software libre en un mundo cada vez más conectado, y ha llevado a empresas como Google, IBM e incluso a la Casa Blanca a repensar su relación con este tipo de fundaciones y proyectos. El papel del software libre es un punto vital de la industria, y es importante que empresas de tecnología también apoyen estos esfuerzos para tener bases más sólidas y responder mejor a vulnerabilidades como Log4j.
Google invirtió recientemente 100 millones de dólares en la OpenSSF –Open Source Security Foundation–, mientras que otros como Microsoft han invertido en Linux y plataformas como GitHub para promover el uso de código abierto. (No sobra recordar que, si bien comparten algunos principios, el software libre y el software de código abierto u Open Source no son lo mismo, e incluso el padre del software libre, Richard Stallman, es un fuerte crítico del software de código abierto).
Empoderar a las fundaciones de software libre se traducirá a tener una base de software más robusta, pero la tarea también está en manos de las empresas que día tras día implementan estas soluciones para sus aplicaciones críticas. “Sin duda, la mejor práctica es incorporar la seguridad al ciclo de desarrollo de software, no importa si son desarrollos apoyados en código libre o no”, dice Patiño, de Lumu.
Los problemas de Log4j tal vez no se han sentido a fondo, pero sirven como una alerta de que la ciberseguridad no existe como un punto único en el tiempo, sino que es una carrera constante.
Imagen principal: İsmail Enes Ayhan (Unsplash).