Debido a las actualizaciones maliciosas que se realizaron en xz Utils, el mundo estuvo a punto de infectarse por un incidente de puerta trasera descubierto recientemente. El impacto tenía el potencial de causar una devastación similar al ataque de SolarWinds en 2020 que permitió a los piratas informáticos rusos penetrar el núcleo de muchas agencias gubernamentales de Estados Unidos.
El ataque estuvo “terriblemente cerca” del éxito y fue descrito por el ingeniero de software y criptografía Filippo Valsorda como quizás el “ataque a la cadena de suministro mejor ejecutado” que se había observado hasta la fecha, informa Ars Technica.
Gran parte del código colaborativo de Internet es vulnerable a la infiltración de malos actores y Estados-nación. El software de código abierto está en el “corazón de Internet”, su mantenimiento lo realizan en gran medida un puñado de voluntarios y eso lo convierte en un importante riesgo de seguridad tanto para las corporaciones como para los gobiernos, informó The Economist . El software de código abierto se implementa comúnmente en la infraestructura digital debido a su bajo costo. Esa infraestructura, que está integrada en todo el mundo digital, está siendo atacada por varios Estados-nación enemigos.
El 29 de marzo de 2024, Andrés Freund, ingeniero de software de Microsoft , encontró una “puerta trasera oculta en una pieza de software que forma parte del sistema operativo Linux”. Esta puerta trasera provino del código fuente de xz Utils, que fue manipulado y permitió el acceso no autorizado a sistemas que utilizaban las versiones afectadas. El código fuente que se vio comprometido era de la utilidad de compresión de datos de código abierto xz Utils en sistemas Linux. El New York Times escribió que el ingeniero evitó un “ciberataque potencialmente histórico”.
Dado que xz Utils es un software de código abierto, cualquiera puede ver el código tal como es público y qué cambios se han realizado en ese momento.
Un desarrollador llamado Jia Tan comenzó a hacer contribuciones de código útiles al proyecto y poco a poco se ganó la confianza. Luego, con el tiempo, el mal actor contrabandeó malware. El servicio de inteligencia exterior de Rusia, SVR, sospechoso de estar detrás de los ataques, es el mismo servicio de inteligencia detrás del ataque a SolarWinds.
La Open Source Security Foundation (OSSF) advirtió que el ataque a xz Utils probablemente no sea un incidente aislado. Se descubrió que los malos actores utilizaban tácticas de ingeniería social similares para intentar apoderarse de otros proyectos, como la Fundación OpenJS para proyectos de JavaScript.
En declaraciones a los medios de Frontsight, Ryan Ware, un experto en software de código abierto, explicó la magnitud de los riesgos en juego:
"Nuestra infraestructura digital es muy vulnerable", según Ware. “A la fecha son 177.914 CVE los que han sido publicados. Digamos, a modo de argumento, que hay mil millones de líneas de código en código abierto (es mucho más, pero dejaremos ese argumento para otro día). Digamos también, a modo de argumento, que la mitad de esos CVE son de código abierto (90.000 para un buen número redondo). Eso significa que para el código fuente abierto sólo hemos encontrado una vulnerabilidad por cada 11.111 líneas de código”, dijo.
"Las empresas matarían por tener un código tan limpio que solo se encontrara una vulnerabilidad por cada 11.000 líneas de código", "Además, si bien hay una pequeña caída en la cantidad de software de código abierto que se escribe en este momento, todavía estamos en máximos históricos en la cantidad de código que se escribe”, explicó Ware. Describió un escenario en el que, por cada vulnerabilidad encontrada, hay que encontrar entre 5 y 10 vulnerabilidades más antes de que el código sea correcto.
La magnitud del casi accidente de XZ Utils sirve como un claro recordatorio de la fragilidad del software de colaboración colectiva y la necesidad urgente de instalaciones a prueba de fallos, como explica Ware con más detalle:
“Sabemos absolutamente que los Estados-nación buscan subvertir la seguridad del software. Todo lo que necesitas hacer es mirar la lista de APT que existen”. Ware dijo, explicando además que "históricamente, estos actores de amenazas se han centrado en utilizar vulnerabilidades de día cero para lograr sus objetivos". Sin embargo, también señaló que “operativamente, estos actores de amenazas no simplemente encuentran un día cero y luego lo explotan inmediatamente. Acumulan vulnerabilidades de día cero (descubiertas a través de su propia investigación o adquiridas) y luego las utilizan cuando necesitan una que satisfaga sus objetivos operativos”.
Mientras tanto, Ware señaló el largo período de tiempo entre la existencia de una vulnerabilidad y el tiempo que tardan los desarrolladores de software en parchear sus sistemas. Los actores de amenazas pueden acumular vulnerabilidades durante mucho tiempo mientras continúa este retraso en las reparaciones.
Lo que no ha habido mucha visibilidad a lo largo del tiempo es lo que los actores de los estados-nación han estado haciendo para manipular el software. "Todo el incidente con xz ha dado una pequeña ventana a algo de esto, incluyendo mostrar qué tipos de recursos estos estados-nación pueden aportar", dijo Ware. Sin embargo, el incidente xz no es la única evidencia de que se ha probado algo de esta sofisticación de la ingeniería social . "Honestamente, lo que me preocupa es lo que han hecho los estados-nación tanto en el ámbito del software de código abierto como en el del software comercial, algo que no conocemos en este momento", destacó Ryan.
Cuando se le preguntó si el incidente de SolarWinds se ha desvanecido de la memoria reciente, en opinión de Ware, depende de a quién le pregunte:
“No creo que las lecciones de SolarWinds se hayan desvanecido de los funcionarios gubernamentales. Gran parte del trabajo en torno a la seguridad de la cadena de suministro de software en OpenSSF (como SLSA y GUAC) se está realizando porque CISA quiere ver soluciones en esta área”, dijo.
"Creo que definitivamente ha desaparecido de la conciencia pública, pero al mismo tiempo no sé hasta qué punto impregnó la conciencia pública", añadió Ware, destacando una perspectiva con implicaciones para el desarrollador de software aficionado promedio, a menudo miembro de la “conciencia pública”.