Cloud Wars
  • Home
  • Top 10
  • CW Minute
  • CW Podcast
  • Categories
    • AI and Copilots
    • Innovation & Leadership
    • Cybersecurity
    • Data
  • Member Resources
    • Cloud Wars AI Agent
    • Digital Summits
    • Guidebooks
    • Reports
  • About Us
    • Our Story
    • Tech Analysts
    • Marketing Services
  • Summit NA
  • Dynamics Communities
  • Ask Copilot
Twitter Instagram
  • Summit NA
  • Dynamics Communities
  • AI Copilot Summit NA
  • Ask Cloud Wars
Twitter LinkedIn
Cloud Wars
  • Home
  • Top 10
  • CW Minute
  • CW Podcast
  • Categories
    • AI and CopilotsWelcome to the Acceleration Economy AI Index, a weekly segment where we cover the most important recent news in AI innovation, funding, and solutions in under 10 minutes. Our goal is to get you up to speed – the same speed AI innovation is taking place nowadays – and prepare you for that upcoming customer call, board meeting, or conversation with your colleague.
    • Innovation & Leadership
    • CybersecurityThe practice of defending computers, servers, mobile devices, electronic systems, networks, and data from malicious attacks.
    • Data
  • Member Resources
    • Cloud Wars AI Agent
    • Digital Summits
    • Guidebooks
    • Reports
  • About Us
    • Our Story
    • Tech Analysts
    • Marketing Services
    • Login / Register
Cloud Wars
    • Login / Register
Home » Cómo evitar las vulnerabilidades de código abierto
Acceleration Economy En Español

Cómo evitar las vulnerabilidades de código abierto

Pablo MorenoBy Pablo MorenoDecember 19, 2022Updated:January 10, 20238 Mins Read
Facebook Twitter LinkedIn Email
Open-Source Software
Share
Facebook Twitter LinkedIn Email

En la vida, como en los negocios, lo que importa no es sólo de quién dependes, sino también de quién dependen ellos. Y, al igual que en las relaciones humanas, los ecosistemas de software comprenden una vasta red de relaciones. Algunos de estos lazos son muy profundos, mientras que otros son más superficiales. Pero el hecho permanece: el desarrollo moderno de software basado en código abierto (OSS) implica un gran árbol de dependencia con raíces largas y profundas que tocan riesgos conocidos y desconocidos.

Un informe reciente de Endor Labs encontró que el 95% de las dependencias vulnerables son transitivas. Estas dependencias transitivas son componentes integrados profundamente en la cadena de software, lo que las hace más difíciles de evaluar y alcanzar. Y no es necesariamente que estos paquetes vulnerables estén muy desactualizados: el 25 % de los paquetes lanzados en 2022 todavía tienen entre una y 18 vulnerabilidades conocidas.

Las nuevas vulnerabilidades en torno a las dependencias de código abierto continúan presentándose a diario. El reciente caos de la cadena de suministro de software agrega otra capa a las cargas de mantenimiento del “infierno de la dependencia”. Y aunque las organizaciones sin fines de lucro y los organismos gubernamentales han buscado mejorar la seguridad del código abierto e introducir regulaciones sobre la seguridad del software de terceros, la industria aún está muy lejos de tener los estándares y las técnicas necesarias para detener la marea.

El estudio 2022 State of Dependency Management de Endor analiza las complejidades del desarrollo moderno basado en código abierto y ofrece orientación. A continuación, resumiré los puntos principales del estudio para comprender mejor el estado de la gestión de la dependencia y cómo deben responder los profesionales de la ciberseguridad.

Comprender las dependencias transitivas

Una dependencia directa es cuando una aplicación depende directamente de una determinada biblioteca o paquete para funcionar. Una dependencia transitiva, por otro lado, es una dependencia incrustada dentro de un paquete. Como se puede imaginar, podría haber múltiples niveles de dependencias transitivas que los desarrolladores de aplicaciones insertan sin saberlo en sus aplicaciones al incluir otras dependencias. El gráfico 8 del informe muestra visualmente cómo las dependencias transitivas cobran vida dentro de las aplicaciones posteriores:


Aceleración Economía Ciberseguridad

En la vida, como en los negocios, lo que importa no es solo de quién dependes, sino también de quién dependen ellos . Y al igual que en las relaciones humanas, los ecosistemas de software comprenden una vasta red de relaciones. Algunos de estos lazos son muy profundos, mientras que otros son más superficiales. Pero el hecho permanece: el desarrollo moderno de software basado en código abierto (OSS) implica un gran árbol de dependencia con raíces largas que tocan riesgos conocidos y desconocidos.

Un informe reciente de Endor Labs encontró que el 95 % de las dependencias vulnerables son transitivas . Estas dependencias transitivas son componentes integrados profundamente en la cadena de software, lo que los hace más difíciles de evaluar y alcanzar. Y no es necesariamente que estos paquetes vulnerables estén muy desactualizados: el 25 % de los paquetes lanzados en 2022 todavía tienen entre una y 18 vulnerabilidades conocidas.

Las nuevas vulnerabilidades en torno a las dependencias de código abierto continúan presentándose a diario. El reciente caos de la cadena de suministro de software agrega otra capa a las cargas de mantenimiento del “infierno de la dependencia”. Y aunque las organizaciones sin fines de lucro y los organismos gubernamentales han buscado mejorar la seguridad de código abierto e introducir regulaciones sobre la seguridad del software de terceros, la industria aún está muy lejos de tener los estándares y las técnicas necesarias para detener la marea.

El estudio 2022 State of Dependency Management de Endor analiza las complejidades del desarrollo moderno basado en código abierto y ofrece orientación. A continuación, resumiré los puntos principales del estudio para comprender mejor el estado de la gestión de la dependencia y cómo deben responder los profesionales de la ciberseguridad .

Comprender las dependencias transitivas

Una dependencia directa es cuando una aplicación depende directamente de una determinada biblioteca o paquete para funcionar. Una dependencia transitiva, por otro lado, es una dependencia incrustada dentro de un paquete. Como se puede imaginar, podría haber múltiples niveles de dependencias transitivas que los desarrolladores de aplicaciones insertan sin saberlo en sus aplicaciones al incluir otras dependencias. El gráfico 8 del informe muestra visualmente cómo las dependencias transitivas cobran vida dentro de las aplicaciones posteriores:

dependencias transitivas

El informe encontró que la profundidad promedio está a dos pasos de distancia, pero podría llegar hasta siete en algunos casos. 

Para este estudio, Endor Labs tomó un conjunto de datos del informe Census II, que proporcionó una lista del software libre de código abierto (FOSS) más popular y lo enriqueció con otras fuentes. Los datos, de código abierto en GitHub, representan un análisis de las aplicaciones de producción que cubren distribuciones populares como npm, maven, nugget, pipit y ruby ​​gems.

De los 254 paquetes distintos de Maven mencionados en el conjunto de datos del Censo II, la mayoría tiene un promedio de 14 dependencias. Esto puede no parecer muy alto, pero dado que la mayoría de las aplicaciones tienen docenas, si no cientos de dependencias, la probabilidad de que una aplicación posea dependencias transitivas afectadas aumenta exponencialmente.

Como tal, hay un 32% de posibilidades de que un paquete Maven aleatorio tenga una o más vulnerabilidades conocidas ocultas en su árbol de dependencias. Algunos valores atípicos tienen muchas más dependencias, lo que aumenta las posibilidades de vulnerabilidades potenciales. Por ejemplo, log4j-core v2.19.0 tenía 141 dependencias, y se descubrió que aws-java-sdk v1.12.316 tenía 331 dependencias.

Soluciones y consejos para administrar dependencias

En un mundo de proveedores de servicios en la nube (CSP), la responsabilidad de la seguridad es compartida. El CSP protege la infraestructura y el consumidor protege las aplicaciones y los medios construidos sobre él. Sin embargo, en el mundo del código abierto, la carga de la seguridad recae en gran medida en manos del consumidor de software.

“Los consumidores de OSS mantienen la responsabilidad general y deben abordar los riesgos de seguridad de acuerdo con sus circunstancias específicas”.

Dicho esto, hemos visto un movimiento sustancial de los organismos reguladores para establecer más estándares relacionados con las dependencias de terceros. Estos incluyen el Programa de Certificación de Ciberseguridad Candidato de la UE para Servicios en la Nube, la Orden Ejecutiva 14028 de la Casa Blanca y las pautas de NIST, NITIA y ENISA. 

Además, los grupos sin fines de lucro como OpenSSF, CNCF y OWASP continúan difundiendo las mejores prácticas y desarrollando herramientas de seguridad relevantes. Sin embargo, los proveedores de software aún deben asumir la responsabilidad de garantizar que sus árboles de dependencia sean estables y estén libres de vulnerabilidades importantes.

Aquí hay algunos consejos, seleccionados del informe, sobre cómo responder:

Contribuir a proyectos de código abierto. Como he cubierto anteriormente, demasiadas empresas usan código abierto sin contribuir a los proyectos. El código abierto requiere un esfuerzo de grupo para mejorar, pero en proporción a sus altas tasas de uso, pocas organizaciones realmente los apoyan y reportan vulnerabilidades de seguridad.

Cree una cultura más inteligente en torno a la adquisición de software y la gestión de dependencias. Los proveedores de software deben sumergirse más profundamente en el “infierno de la dependencia” para auditar su área de superficie y descubrir en qué confían. Esto también significa actualizar los componentes antiguos en el árbol de dependencias y ser más selectivo durante la adquisición para evitar paquetes maliciosos.

Eliminar dependencias no utilizadas. Si un programa no invoca una dependencia en un proyecto ascendente, es mejor eliminarlo. Esto puede reducir la probabilidad de vulnerabilidades ocultas y también minimizar la hinchazón. Como dice el informe, las herramientas de análisis de composición de software (SCA) deben priorizar el análisis de las dependencias que realmente se mostrarán en producción, no las que se usan únicamente con fines de prueba.

Priorice las vulnerabilidades de alto riesgo y alcanzables. Es probable que desee corregir rápidamente las vulnerabilidades con puntajes CVSS altos. Sin embargo, también considere la accesibilidad de la vulnerabilidad, ya que los piratas informáticos pueden apuntar a las de bajo riesgo simplemente si son más fáciles de explotar.

Programe bien sus actualizaciones. El estudio encontró que solo el 9% de las actualizaciones requieren un cambio de versión importante. ¡Sin embargo, el 20,1% de los lanzamientos no importantes causan cambios importantes! La depuración de las actualizaciones de dependencia puede llevar tiempo y esfuerzo, pero dejarlas sin abordar puede hacer que las principales vulnerabilidades sean propensas a ataques. Por lo tanto, es bueno configurar una cadencia de actualización regular que funcione para su equipo.

El software envejece como la leche, no como el vino

En los últimos años, hemos sido testigos de grandes exploits como SolarWinds, Log4j y Spring4Shell, y este año la Vulnerabilidad de texto de Apache Commons y el protestware tomaron relevancia. Es probable que los ataques de confusión de dependencia y ocupación tipográfica continúen en el próximo año, junto con vectores de ataque imprevistos. 

Y con todo lo que sabemos ahora, responder a estos riesgos requerirá una vigilancia constante. Porque desafortunadamente, si se deja reposar, el software se pudre rápidamente. “El software es como la leche: se agria rápidamente”, como dice una línea del informe. Sabiendo cuán interconectado está el árbol de dependencia moderno, es esencial mantener la supervisión del número creciente de dependencias, y sus vulnerabilidades, que conforman los ecosistemas de software modernos.

Autor: Bill Doerrfeld

Artículo original aquí

En Español
Share. Facebook Twitter LinkedIn Email
Pablo Moreno
  • Website
  • LinkedIn

Business Data Scientist and Project Manager (Waterfall & Agile) with experience in Business Intelligence, Robotics Process Automation, Artificial Intelligence, Advanced Analytics and Machine Learning in multiple business fields, gained within global business environment over the last 20 years. University Professor of ML and AI, International speaker and Author. Active supporter of Open-Source software development. Looking to grow with the next challenge.

Related Posts

Streamlining Manufacturing Communication: Microsoft Teams & Copilot Lead the Evolution

April 17, 2024
automated vulnerability dection

Cómo la detección automatizada de vulnerabilidades mitiga el fraude y fortalece los sistemas financieros

April 6, 2023

Cómo crear nuevos ahorros en adquisiciones utilizando IA y RPA para agilizar las compras

April 5, 2023
Celonis government

Cómo Celonis brinda beneficios de minería de procesos a instituciones gubernamentales

April 4, 2023
Add A Comment

Comments are closed.

Recent Posts
  • Google Cloud Still World’s Hottest Cloud and AI Vendor; Oracle #2, SAP #3
  • SignUp Software Insights on Optimizing Dynamics 365 With ISV Partnerships
  • Hottest Cloud Vendors: Google Cloud Still #1, But Oracle, SAP Closing In
  • Marc Benioff AI Report Card Includes A+ for Vision but C- for Math
  • OpenAI Partners with Google Cloud Amid Soaring AI Demand, Reshaping Ties with Microsoft

  • Ask Cloud Wars AI Agent
  • Tech Guidebooks
  • Industry Reports
  • Newsletters

Join Today

Most Popular Guidebooks

Accelerating GenAI Impact: From POC to Production Success

November 1, 2024

ExFlow from SignUp Software: Streamlining Dynamics 365 Finance & Operations and Business Central with AP Automation

September 10, 2024

Delivering on the Promise of Multicloud | How to Realize Multicloud’s Full Potential While Addressing Challenges

July 19, 2024

Zero Trust Network Access | A CISO Guidebook

February 1, 2024

Advertisement
Cloud Wars
Twitter LinkedIn
  • Home
  • About Us
  • Privacy Policy
  • Get In Touch
  • Marketing Services
  • Do not sell my information
© 2025 Cloud Wars.

Type above and press Enter to search. Press Esc to cancel.

  • Login
Forgot Password?
Lost your password? Please enter your username or email address. You will receive a link to create a new password via email.