paint-brush
Un exploit de código abierto el año pasado cambió la forma en que los profesionales piensan sobre la seguridadpor@davidivus
330 lecturas
330 lecturas

Un exploit de código abierto el año pasado cambió la forma en que los profesionales piensan sobre la seguridad

por David Kirichenko9m2025/02/02
Read on Terminal Reader

Demasiado Largo; Para Leer

El incidente de xz Utils fue un ejemplo escalofriante de lo que está en juego.
featured image - Un exploit de código abierto el año pasado cambió la forma en que los profesionales piensan sobre la seguridad
David Kirichenko HackerNoon profile picture

El software de código abierto está en todas partes (se utiliza en casi todas las aplicaciones modernas), pero los desafíos de seguridad que enfrenta siguen creciendo. Al depender de la fuerza de voluntad de los voluntarios, las vulnerabilidades lo convierten ahora en un objetivo principal para los ataques cibernéticos tanto de piratas informáticos maliciosos como de actores estatales. El ataque de puerta trasera de xz Utils por poco pone de relieve lo frágil que puede ser la seguridad del código abierto. Dado que las herramientas de código abierto son cruciales tanto para las empresas privadas como para los gobiernos, se requerirá una mayor inversión del sector privado y del sector público.


Gran parte del código de Internet generado por la multitud es vulnerable a la infiltración de actores maliciosos y estados-nación. El software de código abierto está en el “corazón de Internet”, es mantenido en gran medida por 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 el mundo digital, está siendo atacada por varios estados-nación enemigos.


Martin Woodward, vicepresidente de relaciones con desarrolladores de GitHub, dijo anteriormente: "El software de código abierto es la base del 99 % del software del mundo". Alrededor del 97 % de las aplicaciones utilizan código fuente abierto y el 90 % de las empresas lo incorporan o lo utilizan de alguna manera.

Lo que el último año ha demostrado en materia de seguridad de código abierto

El incidente de xz Utils fue un ejemplo escalofriante de lo que está en juego. El 29 de marzo de 2024, Andres Freund, un ingeniero de software de Microsoft, “descubrió inadvertidamente una puerta trasera oculta en un software que forma parte del sistema operativo Linux”. Esta puerta trasera provenía de los archivos tar de lanzamiento de xz Utils, que fueron manipulados y permitieron el acceso no autorizado a los sistemas que utilizaban las versiones afectadas. El código fuente que se vio comprometido era el 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, su código es de acceso público, lo que permite que cualquiera pueda ver los cambios realizados. Sin embargo, esta apertura se explotó de una manera particularmente furtiva: el ataque se dirigió únicamente al código en los archivos tar de la versión (archivo comprimido para la versión de un software), dejando intacta la rama principal del repositorio. Esta táctica inteligente hizo que la vulneración fuera más difícil de detectar. Sin la vigilancia de un desarrollador y un golpe de suerte, el ataque podría haber causado un daño masivo, vulnerando innumerables sistemas en todo el mundo.


Un desarrollador llamado Jia Tan comenzó a realizar contribuciones útiles al código del proyecto y poco a poco se fue ganando la confianza del usuario. Luego, con el tiempo, el malintencionado introdujo malware de contrabando. Uno de los elementos más sorprendentes del ataque de puerta trasera de xz Utils fue cómo se introdujo el código malicioso a través de confirmaciones de Git aparentemente inofensivas. En lugar de alterar el código fuente de xz Utils directamente, el malware se ocultó como código de objeto x86_64 dentro de archivos de prueba binarios, disfrazados de pruebas unitarias para casos extremos en la descompresión de XZ. 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.


Este incidente no es aislado. Los proyectos de código abierto son objetivos atractivos para los actores estatales porque el código es público. Si bien esta apertura es excelente para la colaboración, también brinda a los atacantes un acceso fácil para estudiar el código y sus actualizaciones. El código abierto desempeña un papel vital en la infraestructura global; un informe de Lineaje en 2023 reveló que el 70% de todo el software actual es de código abierto y que el 82% de los componentes de software de código abierto son "inherentemente riesgosos". Lamentablemente, su uso omnipresente hace que sus vulnerabilidades sean aún más peligrosas.


Los informes de Lineaje y otros destacan los riesgos: el 82 % de los componentes de código abierto se consideran riesgosos debido a un mantenimiento deficiente, un código desactualizado o fallos de seguridad. Muchos de estos proyectos están a cargo de equipos pequeños o voluntarios individuales con recursos limitados, lo que los deja vulnerables a los ataques.

Cómo la IA desempeñará un papel más importante

A estos riesgos se suma el auge de los modelos de lenguaje grandes (LLM) . Si bien los LLM ayudan a los desarrolladores con tareas como la depuración o la automatización de flujos de trabajo, también pueden usarse de manera indebida. Los atacantes pueden usar los LLM para analizar rápidamente el código fuente abierto en busca de vulnerabilidades, lo que facilita la búsqueda de fallas explotables. Estas herramientas de IA también pueden crear mensajes de phishing convincentes o contribuciones falsas a proyectos de código abierto, lo que dificulta la detección de actores maliciosos. La capacidad de los LLM para imitar la interacción humana aumenta las posibilidades de que el código malicioso se filtre sin ser detectado a través del phishing y otros vectores de ataque que se pueden automatizar.


A pesar de los riesgos, los LLM también ofrecen oportunidades para mejorar la seguridad del código abierto. Pero hay que encontrar un equilibrio, ya que podría resultar prohibitivo en términos de costos, ya que es poco probable que las empresas inviertan en ejecutar analizadores basados en LLM en código abierto si no tienen presupuesto. Por ejemplo, los sistemas de IA podrían señalar cambios sospechosos en una base de código o detectar patrones inusuales en el comportamiento de los contribuyentes. Los LLM de código abierto también "se benefician de la base de rápido crecimiento de comunidades de desarrolladores que amplían sus límites y escalan diariamente para resolver desafíos complejos de ciberseguridad".


Sin embargo, la misma tecnología que fortalece las defensas también puede convertirse en un arma . Implementar un LLM de código abierto en un servidor o en un entorno de nube presenta el riesgo de acceso no autorizado al modelo o a los datos confidenciales que maneja, si no se implementan los controles de seguridad adecuados. Los actores maliciosos pueden alterar los datos de entrenamiento o el modelo en sí, inyectando código dañino o sesgos que resulten en contenido engañoso o malicioso. Además, los LLM protegidos de manera incorrecta pueden filtrar información confidencial, ya sea a través de texto generado o ataques dirigidos a la arquitectura del modelo.


Lo que antes se lograba con un único repositorio utilizando herramientas como xz Utils pronto se podrá escalar a cientos de repositorios mediante el uso de tecnologías avanzadas de GenAI por parte de una sola persona en los próximos años, y es probable que este cambio ya haya comenzado. La barrera de entrada se ha reducido drásticamente, pasando de requerir recursos a nivel de estado-nación o una dedicación extrema a algo que ahora se puede producir en masa. Es totalmente plausible que en los próximos años, la mayoría de las actualizaciones pequeñas o menores de los repositorios se generen mediante GenAI.


Si bien las contribuciones significativas y de alta calidad al desarrollo siguen siendo un desafío diferente, el papel de los encargados del mantenimiento también puede cambiar. En lugar de ser desarrolladores expertos que contribuyen activamente con código, los encargados del mantenimiento podrían ser cada vez más aquellos que se destacan en la gestión del trabajo pesado y presentan una imagen de utilidad, dejando las tareas más complejas o innovadoras a un grupo más pequeño de desarrolladores dedicados.

La IA erosiona la confianza

Los ataques de phishing tradicionales se centran en obtener el directorio interno de una empresa y apuntar a personas clave (o personas en las que confían). Con el amplio ecosistema de dependencias de NPM, que es de acceso público, los atacantes tienen una perspectiva diferente. Pueden identificar la pequeña cantidad de mantenedores de un paquete determinado, evaluar la acumulación de problemas y usar esa información para implementar bots que parezcan útiles al contribuir con correcciones u ofrecer asistencia. Esto crea una vía para ganar confianza e integrarse en el proceso de desarrollo.


Las mejores identidades falsas se crean con datos del mundo real, enriquecidos con el tiempo a través de publicaciones en redes sociales, registros académicos y más. Una identificación falsa convincente incluye una historia detallada, completa con fotos, conexiones y presencia en línea. GenAI simplifica la creación de estas identidades, al mismo tiempo que las mejora simulando la actividad de codificación en plataformas como GitHub.


Muchas de las primeras contribuciones a los proyectos de código abierto son pequeñas y fáciles de verificar, como corregir errores tipográficos en los comentarios o actualizar dependencias. Estas actividades son ideales para los atacantes que usan LLM, ya que se pueden automatizar a gran escala. Esto permite la creación de cientos de identidades falsas, cada una con perfiles de LinkedIn, cuentas de redes sociales e historiales de GitHub que contienen miles de contribuciones menores pero legítimas.


Estas identidades pueden participar en múltiples proyectos, superponerse potencialmente, y construir un historial de utilidad. Con el tiempo, un actor malintencionado podría usar una de estas identidades para enviar contribuciones más importantes. Incluso estas contribuciones pueden parecer inicialmente válidas y beneficiosas. En esfuerzos coordinados, como los de los estados-nación o los colectivos de hackers, una identidad podría reforzar la credibilidad de otra, reforzar una narrativa o ganar influencia.


Ya hemos visto ejemplos como el incidente de xz utils, en el que se utilizaron varias identidades para manipular la confianza. Cuando se descubrió el ataque, se descartaron esas identidades. En operaciones manuales, perder esos activos sería costoso. Sin embargo, con GenAI, generar nuevas identidades tiene un costo mínimo, lo que reduce significativamente los riesgos para los atacantes.

Los ataques a la cadena de suministro aumentarán

Un reciente ataque a la cadena de suministro de software tuvo como objetivo la popular biblioteca npm @solana/web3.js, que se utiliza ampliamente para crear aplicaciones basadas en Solana, comprometiendo las versiones 1.95.6 y 1.95.7 con código malicioso para robar las claves privadas de los usuarios y vaciar las billeteras de criptomonedas. El ataque explotó una campaña de phishing que permitió a los actores de amenazas obtener acceso de publicación e inyectar una función de puerta trasera, exfiltrando claves privadas a través de encabezados de Cloudflare de apariencia legítima. Las versiones afectadas se han eliminado y se insta a los usuarios a actualizar a la versión 1.95.8 y considerar rotar sus claves para mitigar los riesgos.


Se espera que los ataques a la cadena de suministro de software aumenten en 2025 debido a la creciente dependencia de las bibliotecas de código abierto y al auge de métodos de ataque sofisticados como el phishing y la ingeniería social. Según un estudio de Synopsys , las vulnerabilidades en el software de código abierto están aumentando de manera constante. Además, la mayor integración de herramientas de código abierto en los sistemas empresariales proporciona a los atacantes un mayor retorno de la inversión, lo que hace que estas infracciones sean aún más atractivas tanto para los ciberdelincuentes como para los actores patrocinados por el Estado.

Influencia de los actores estatales y selección de voluntarios

El incidente de xz Utils, al igual que el ataque a SolarWinds, sirve como una llamada de atención que pone de relieve la necesidad de una mayor inversión y colaboración entre los sectores público y privado para proteger el software de código abierto y preservar su valor como bien público digital. Las empresas que se benefician de las herramientas de código abierto deben intensificar su apoyo a estos proyectos. Este apoyo puede incluir financiación, tiempo de desarrollo o experiencia en seguridad. Los proyectos de código abierto también necesitan una mejor gobernanza, como procesos de revisión de código más estrictos y responsabilidad compartida por las actualizaciones. La reparación más rápida de las vulnerabilidades es otra prioridad, ya que los retrasos dejan los sistemas expuestos a ataques durante períodos más prolongados.


Los actores estatales siguen siendo una de las mayores amenazas. El software de código abierto les ofrece un objetivo de bajo costo y alta recompensa para el espionaje, el sabotaje y la interrupción. El ataque a SolarWinds, aunque implicó software propietario, es un excelente ejemplo de lo dañinas que pueden ser estas violaciones de la cadena de suministro.


Es probable que los atacantes sigan atacando a los encargados de mantenimiento de los proyectos con mayor frecuencia, utilizando tácticas avanzadas de ingeniería social para comprometerlos. Las herramientas de inteligencia artificial seguirán mejorando las capacidades tanto de los atacantes como de los defensores, lo que creará una carrera para mantenerse a la vanguardia de las nuevas amenazas. También es probable que los gobiernos se involucren más, lo que ayudará a promover las asociaciones público-privadas para mejorar la seguridad en todo el ecosistema. Al mismo tiempo, es posible que se introduzcan regulaciones más estrictas, lo que impulsará a las empresas a asumir una mayor responsabilidad por los componentes de código abierto que utilizan.


En lo que respecta al incidente de SolarWinds, el hecho de que haya pasado desapercibido o no depende de la perspectiva. Si bien la atención pública puede haber cambiado, los funcionarios gubernamentales y los expertos en ciberseguridad siguen centrados en abordar las lecciones aprendidas. Gran parte del trabajo en curso en materia de seguridad de la cadena de suministro de software, como las iniciativas de OpenSSF (como SLSA y GUAC), es una respuesta directa a la necesidad de defensas más sólidas, impulsadas por agencias como CISA , pero el progreso ha sido lento y no todas las organizaciones han adoptado estas protecciones. El propio gobierno federal es uno de los mayores consumidores de software de código abierto y seguirá aumentando su participación en este ámbito.


Si bien estos esfuerzos continúan tras bastidores, es posible que el impacto del incidente no haya resonado plenamente en el público en general, especialmente entre los desarrolladores de software independientes o aficionados, quienes tal vez no comprendan plenamente las implicaciones más amplias.

En definitiva, como señaló el experto Michal Zalewski, “el resultado final es que tenemos billones de dólares incalculables en juego gracias a códigos desarrollados por aficionados”. Esto subraya la posibilidad de que aún puedan estar acechando otras puertas traseras, sin descubrir, dentro del software crítico que forma la columna vertebral de Internet.


Si bien la identificación de vulnerabilidades es una preocupación, el problema más importante radica en la erosión de la confianza dentro de los ecosistemas de código abierto. El código abierto prospera gracias a las contribuciones de desarrolladores sin rostro que trabajan de buena fe, a menudo sin interacción directa ni verificación de identidad. GenAI socava esta base al permitir que muchos de esos colaboradores sin rostro sean completamente falsos.


Los ataques de phishing ya son peligrosos porque explotan la confianza en lugar de atravesar las defensas técnicas: engañan a las personas para que ejecuten código malicioso en un entorno de confianza. GenAI amplifica este riesgo al permitir que los atacantes incorporen código malicioso en paquetes de código abierto confiables bajo la apariencia de contribuciones legítimas.


Es probable que esto desencadene una carrera entre actores maliciosos que utilizan GenAI para infiltrarse en proyectos y herramientas defensivas que aprovechan GenAI para detectar y contrarrestar vulnerabilidades antes de que puedan ser explotadas. La pregunta entonces es si la confianza en el código abierto puede sobrevivir en un mundo donde los contribuyentes pueden ser cada vez más indistinguibles de los impostores impulsados por IA.


A medida que nos adentramos en el año 2025, el software de código abierto se encuentra en un punto crítico. Las amenazas se están volviendo más sofisticadas, impulsadas por actores estatales, el uso indebido de herramientas de IA como los LLM y un enfoque en la interferencia en la cadena de suministro para infligir el máximo daño. Sin embargo, con medidas proactivas, mayor inversión y responsabilidad compartida, es posible crear un futuro en el que el código abierto continúe prosperando como una fuerza para la innovación y el progreso, en lugar de una vulnerabilidad a la espera de ser explotada.