O software de código aberto está en todas partes, utilízase en case todas as aplicacións modernas, pero os retos de seguridade aos que se enfronta seguen sendo máis serios. Dependendo da columna vertebral dos voluntarios, as vulnerabilidades agora convérteno nun obxectivo principal para ataques cibernéticos tanto de hackers maliciosos como de actores estatais. A chamada pechada co ataque de porta traseira de xz Utils destaca o fráxil que pode ser a seguridade de código aberto. Dado que as ferramentas de código aberto son cruciais tanto para as empresas privadas como para os gobernos, será necesario un maior investimento do sector privado e dos sectores públicos.
Gran parte do código crowdsource de Internet é vulnerable á infiltración de malos actores e estados-nación. O software de código aberto está no "corazón de Internet", é mantido en gran parte por un puñado de voluntarios e iso o converte nun importante risco de seguridade para as corporacións e os gobernos, segundo informou The Economist . O software de código aberto adoita implantarse en infraestruturas dixitais debido ao seu baixo custo. Esa infraestrutura, que está integrada en todo o mundo dixital, está baixo o ataque de varios estados-nación inimigos.
Martin Woodward, vicepresidente de relacións con desenvolvedores de GitHub dixo anteriormente: "O software de código aberto é a base do 99% do software mundial". Ao redor do 97% das aplicacións utilizan código aberto, e o 90% das empresas incorpórao ou utilízao nalgunha capacidade.
O incidente de xz Utils foi un exemplo escalofriante do que está en xogo. O 29 de marzo de 2024, Andres Freund, enxeñeiro de software de Microsoft, "atopou sen querer unha porta traseira escondida nun software que forma parte do sistema operativo Linux". Esta porta traseira procede dos tarballs de lanzamento de xz Utils, que foron manipulados e permitiu o acceso non autorizado aos sistemas que usaban as versións afectadas. O código fonte que foi comprometido foi da utilidade de compresión de datos de código aberto xz Utils nos sistemas Linux. O New York Times escribiu que o enxeñeiro evitou un "ciberataque potencialmente histórico".
Dado que xz Utils é un software de código aberto, o seu código é de acceso público, permitindo a calquera ver os cambios realizados. Non obstante, esta apertura foi explotada dun xeito especialmente furtivo: o ataque tiña como obxectivo só o código dos tarballs da versión (arquivo de arquivo comprimido para a versión dunha versión de software), deixando intacta a rama principal do repositorio. Esta táctica intelixente fixo que o compromiso fose máis difícil de detectar. Sen a vixilancia dun desenvolvedor e un golpe de sorte, o ataque podería causar un dano masivo, violando innumerables sistemas en todo o mundo.
Un desenvolvedor chamado Jia Tan comezou a facer contribucións de código útiles ao proxecto e pouco a pouco gañando confianza. Despois, co paso do tempo, o mal actor introduciu malware de contrabando. Un dos elementos máis sorprendentes do ataque de porta traseira de xz Utils foi como se introduciu o código malicioso mediante git commits aparentemente inofensivos. En lugar de alterar o código fonte de xz Utils directamente, o malware ocultouse como código obxecto x86_64 dentro de ficheiros de proba binarios, disfrazado de probas unitarias para casos extremos na descompresión XZ. O servizo de intelixencia exterior de Rusia, SVR, que se sospeita que está detrás dos ataques , é o mesmo servizo de intelixencia que está detrás do ataque SolarWinds.
Este incidente non é illado. Os proxectos de código aberto son obxectivos atractivos para os axentes estatais porque o código é público. Aínda que esta apertura é excelente para a colaboración, tamén ofrece aos atacantes un fácil acceso para estudar o código e as súas actualizacións. O código aberto xoga un papel vital na infraestrutura global; Un informe de Lineaje en 2023 revelou que o 70% de todo o software actual é de código aberto e que o 82% dos compoñentes de software de código aberto son "inherentemente arriscados". Desafortunadamente, o seu uso ubicuo fai que as súas vulnerabilidades sexan aínda máis perigosas.
Os informes de Lineaje e outros destacan os riscos: o 82% dos compoñentes de código aberto considéranse arriscados debido a un mantemento deficiente, código desactualizado ou fallos de seguridade. Moitos destes proxectos están dirixidos por pequenos equipos ou voluntarios individuais con recursos limitados, polo que son vulnerables aos ataques.
A estes riscos súmase o aumento dos grandes modelos lingüísticos (LLM) . Aínda que os LLM axudan aos desenvolvedores con tarefas como a depuración ou a automatización de fluxos de traballo, tamén se poden facer un mal uso. Os atacantes poden usar LLM para analizar rapidamente o código fonte aberto para detectar vulnerabilidades, o que facilita a busca de fallos explotables. Estas ferramentas de intelixencia artificial tamén poden elaborar mensaxes convincentes de phishing ou contribucións falsas a proxectos de código aberto, o que dificulta a detección de malos actores. A capacidade dos LLM para imitar a interacción humana aumenta as posibilidades de que o código malicioso se deslice desapercibido a través do phishing e outros vectores de ataque que se poden automatizar.
A pesar dos riscos, os LLM tamén ofrecen oportunidades para mellorar a seguridade de código aberto. Pero hai que ter un equilibrio xa que podería ser un custo prohibitivo, xa que é improbable que as empresas invistan en executar analizadores baseados en LLM en código aberto sen orzamento. Por exemplo, os sistemas de IA poden marcar cambios sospeitosos nunha base de código ou detectar patróns pouco habituais no comportamento dos colaboradores. Os LLM de código aberto tamén "se benefician da base en rápido crecemento de comunidades de desenvolvedores que empurran os seus límites e escalan a diario para resolver desafíos complexos de ciberseguridade".
Non obstante, a mesma tecnoloxía que fortalece as defensas tamén se pode usar como arma . A implantación dun LLM de código aberto nun servidor ou nun ambiente na nube presenta o risco de acceso non autorizado ao modelo ou aos datos confidenciais que manexa, se non hai os controis de seguridade adecuados. Os actores malintencionados poden manipular os datos de adestramento ou o propio modelo, inxectando códigos prexudiciais ou prexuízos que dan lugar a contido enganoso ou malicioso. Ademais, os LLM inadecuadamente protexidos poden filtrar información confidencial, xa sexa a través de texto xerado ou ataques dirixidos á arquitectura do modelo.
O que antes se conseguiu cun só repositorio usando ferramentas como xz Utils pronto podería ser escalado en centos por un só individuo aproveitando tecnoloxías avanzadas GenAI durante os próximos anos, e este cambio probablemente xa comezou. A barreira de entrada caeu drasticamente, pasando de esixir recursos a nivel estatal ou unha dedicación extrema a algo que agora pode ser producido en masa. É totalmente plausible que nos próximos anos, a maioría das actualizacións pequenas ou menores dos repositorios sexan xeradas por GenAI.
Aínda que as contribucións de desenvolvemento significativas e de alta calidade seguen sendo un desafío diferente, o papel dos mantedores tamén pode cambiar. En lugar de ser desenvolvedores hábiles que contribúen activamente con código, os mantedores poden ser cada vez máis aqueles que sobresaen na xestión do traballo gruñón e na presentación dunha imaxe de axuda, deixando as tarefas máis complexas ou innovadoras a un grupo máis pequeno de desenvolvedores dedicados.
Os ataques tradicionais de phishing céntranse na obtención do directorio interno dunha empresa e en dirixirse a persoas clave ou en quen confían. Co amplo ecosistema de dependencias de NPM, que é de acceso público, os atacantes teñen un ángulo diferente. Poden identificar o pequeno número de mantedores dun paquete determinado, avaliar a acumulación de problemas e utilizar esa información para implementar bots que parecen útiles aportando correccións ou ofrecendo asistencia. Isto crea unha vía para gañar confianza e incorporarse no proceso de desenvolvemento.
As mellores identidades falsas son creadas con datos do mundo real, enriquecidas co paso do tempo a través de publicacións en redes sociais, rexistros académicos e moito máis. Unha identificación falsa convincente inclúe unha historia de fondo detallada, completa con fotos, conexións e presenza en liña. GenAI simplifica a creación destas identidades, á vez que as mellora mediante a simulación da actividade de codificación en plataformas como GitHub.
Moitas das primeiras contribucións a proxectos de código aberto son pequenas e fáciles de verificar, como corrixir erros tipográficos nos comentarios ou actualizar dependencias. Estas actividades son ideais para atacantes que usan LLM, xa que poden automatizarse a escala. Isto permite a creación de centos de identidades falsas, cada unha con perfís de LinkedIn, contas de redes sociais e historias de GitHub que conteñen miles de contribucións menores pero lexítimas.
Estas identidades poden participar en múltiples proxectos, que poden solaparse, e construír un historial de axuda. Co paso do tempo, un actor malintencionado pode usar unha destas identidades para enviar contribucións máis críticas. Mesmo estas contribucións poden parecer inicialmente válidas e beneficiosas. En esforzos coordinados, como os dos estados-nación ou os colectivos de hackers, unha identidade podería reforzar a credibilidade doutra, reforzando unha narrativa ou gañando influencia.
Xa vimos exemplos como o incidente de xz utils, onde se utilizaron varias identidades para manipular a confianza. Cando o ataque foi exposto, esas identidades foron descartadas. Nas operacións manuais, perder tales activos sería custoso. Non obstante, con GenAI, xerar novas identidades supón un gasto mínimo, o que reduce significativamente as apostas para os atacantes.
Un ataque recente á cadea de subministración de software dirixiuse á popular biblioteca @solana/web3.js npm, que se usa amplamente para crear aplicacións baseadas en Solana, comprometendo as versións 1.95.6 e 1.95.7 con código malicioso para roubar as claves privadas dos usuarios e drenar criptomoedas. carteiras. O ataque explotou unha campaña de phishing que permitiu aos actores das ameazas obter acceso á publicación e inxectar unha función de porta traseira, filtrando claves privadas mediante cabeceiras de Cloudflare de aspecto lexítimo. Elimináronse as versións afectadas e recoméndase aos usuarios que actualicen á versión 1.95.8 e que consideren rotar as súas claves para mitigar os riscos.
Espérase que os ataques á cadea de subministración de software aumenten en 2025 debido á crecente dependencia das bibliotecas de código aberto e ao aumento de métodos de ataque sofisticados como o phishing e a enxeñería social. Segundo un estudo de Synopsys , as vulnerabilidades do software de código aberto están en aumento constante. Ademais, a maior integración de ferramentas de código aberto nos sistemas empresariais proporciona aos atacantes un maior retorno do investimento, facendo que estes incumprimentos sexan aínda máis atractivos tanto para os ciberdelincuentes como para os actores patrocinados polo Estado.
O incidente de xz Utils, ao igual que o ataque de SolarWinds, serve como chamada de atención, destacando a necesidade dun maior investimento e colaboración entre os sectores público e privado para garantir o software de código aberto e preservar o seu valor como ben público dixital. As empresas que se benefician de ferramentas de código aberto deben dar un paso máis e apoiar estes proxectos. Este apoio pode incluír financiamento, proporcionar tempo ao programador ou ofrecer experiencia en seguridade. Os proxectos de código aberto tamén necesitan un mellor goberno, como procesos de revisión de código máis estritos e responsabilidade compartida das actualizacións. Un parche máis rápido das vulnerabilidades é outra prioridade, xa que os atrasos deixan os sistemas expostos a ataques durante períodos máis longos.
Os actores estatais seguen sendo unha das maiores ameazas. O software de código aberto ofrécelles un obxectivo de baixo custo e alta recompensa por espionaxe, sabotaxe e interrupción. O ataque de SolarWinds, aínda que implica software propietario, é un excelente exemplo de como poden ser prexudiciais estas violacións da cadea de subministración.
Probablemente, os atacantes seguirán apuntando a mantedores individuais con máis frecuencia, utilizando tácticas de enxeñería social avanzadas para comprometer os proxectos. As ferramentas de IA seguirán mellorando as capacidades dos atacantes e dos defensores, creando unha carreira para estar á fronte das novas ameazas. Tamén é probable que os gobernos se impliquen máis, axudando a promover asociacións público-privadas para mellorar a seguridade no ecosistema máis amplo. Ao mesmo tempo, pódense introducir regulacións máis estritas, que empurran ás empresas a asumir máis responsabilidade polos compoñentes de código aberto que utilizan.
Cando se trata do incidente de SolarWinds, se esvaeceu da memoria depende da perspectiva. Aínda que a atención pública puido cambiar, os funcionarios gobernamentais e os expertos en ciberseguridade seguen centrados en abordar as leccións aprendidas. Gran parte do traballo en curso na seguridade da cadea de subministración de software, como as iniciativas de OpenSSF (como SLSA e GUAC), é unha resposta directa á necesidade de defensas máis fortes, impulsadas por axencias como CISA , pero o progreso foi lento, e non todos. organizacións adoptaron estas proteccións. O propio goberno federal é un dos maiores consumidores de software de código aberto e seguirá aumentando a súa implicación no espazo.
Aínda que estes esforzos continúan entre bastidores, é posible que o impacto do incidente non teña resonado plenamente no público en xeral, especialmente entre os desenvolvedores de software independentes ou afeccionados, que poden non comprender plenamente as implicacións máis amplas.
En última instancia, como sinalou o experto Michal Zalewski, "O resultado final é que temos innumerables billóns de dólares sobre o código desenvolvido por afeccionados". Isto subliña a posibilidade de que outras portas traseiras aínda poidan estar á espreita, sen descubrir, dentro do software crítico que forma a columna vertebral de Internet.
Aínda que a identificación de vulnerabilidades é unha preocupación, o problema máis grande reside na erosión da confianza nos ecosistemas de código aberto. O código aberto prospera coas contribucións de desenvolvedores sen rostro que traballan de boa fe, moitas veces sen interacción directa nin verificación da identidade. GenAI socava esta base ao facer posible que moitos deses colaboradores sen rostro sexan totalmente fabricados.
Os ataques de phishing xa son perigosos porque explotan a confianza en lugar de romper as defensas técnicas: enganan ás persoas para que executen código malicioso nun ambiente de confianza. GenAI amplía este risco ao permitir aos atacantes incorporar código malicioso en paquetes de código aberto de confianza baixo o pretexto de contribucións lexítimas.
Isto probablemente provocará unha carreira entre actores maliciosos que usan GenAI para infiltrarse en proxectos e ferramentas defensivas que aproveitan GenAI para detectar e contrarrestar vulnerabilidades antes de que poidan ser explotadas. A cuestión faise entón se a confianza no código aberto pode sobrevivir nun mundo onde os colaboradores poden ser cada vez máis indistinguibles dos impostores impulsados pola IA.
Cando entramos en 2025, o software de código aberto está nun punto crítico. As ameazas son cada vez máis sofisticadas, impulsadas por axentes estatais, o mal uso de ferramentas de IA como os LLM e un foco na interferencia na cadea de subministración para causar o máximo dano. Non obstante, con medidas proactivas, un maior investimento e unha responsabilidade compartida, é posible crear un futuro onde o código aberto continúe prosperando como unha forza para a innovación e o progreso, en lugar de ser unha vulnerabilidade á espera de ser explotada.