Los 10 principales riesgos del software de código abierto a tener en cuenta en 2023

Si bien el software de código abierto es la base del desarrollo de software moderno, también es el eslabón más débil en la cadena de suministro, según un informe de Endor Labs.

open source

Las vulnerabilidades conocidas, el compromiso de paquetes legítimos y los ataques de confusión de nombres serán algunos de los diez principales riesgos de software de código abierto en 2023, según un informe de Endor Labs .

Otros riesgos, según el informe, incluyen el software sin mantenimiento, el software obsoleto, dependencias sin seguimiento, riesgos relacionados con licencias, software inmaduros, cambios no aprobados y dependencias.

Casi el 80% del código de las aplicaciones modernas es código que se basa en paquetes de código abierto. Si bien el software de código abierto es la base del desarrollo de software moderno, también es el eslabón más débil en la cadena de suministro de software, según el análisis. 

Dado que el software de código abierto viene tal cual, sin garantías de ningún tipo, cualquier riesgo recae únicamente en los usuarios. Esto hace que la selección, la seguridad y el mantenimiento de estas dependencias de código abierto sean pasos cruciales en el camino de securizar toda la cadena de suministro de software.

El informe alude también a los problemas operativos y de seguridad asociados a los componentes de código abierto que pueden comprometer los sistemas, permitir violaciones de datos, socavar el cumplimiento y obstaculizar la disponibilidad. El texto incluye contribuciones de 20 expertos de la industria, incluidos CISO de HashiCorp, Adobe, Palo Alto Networks y Discord. 

 

Los tres principales riesgos de seguridad de código abierto

La vulnerabilidad conocida es el principal riesgo asociado con el software de código abierto. Ocurre cuando la versión de un componente contiene código vulnerable introducido accidentalmente por sus desarrolladores. Así, si un ciberdelincuente explota una vulnerabilidad conocida, podría comprometer la confidencialidad, integridad o disponibilidad del respectivo sistema o la de sus datos.

CVE-2017-5638 en Apache Struts que provocó la filtración de datos de Equifax y CVE-2021-44228 en Apache Log4j, también conocido como Log4Shell, son ejemplos de vulnerabilidades conocidas. 

Para evitar el riesgo de vulnerabilidades conocidas, los expertos tras la investigación sugieren que se realice un análisis regular del software de código abierto y que las organizaciones prioricen los hallazgos para optimizar la asignación de recursos. 

El compromiso de paquetes legítimos es el segundo mayor riesgo que contiene el software de código abierto. Los atacantes pueden comprometer los recursos que forman parte de un proyecto legítimo existente o de la infraestructura de distribución para inyectar código malicioso en un componente. Por ejemplo, secuestrar las cuentas de encargados de proyectos legítimos o explotar vulnerabilidades en repositorios de paquetes. El ciberataque de SolarWinds, por ejemplo, fue el resultado del compromiso de un paquete legítimo. 

El tercer mayor riesgo del software de código abierto son los ataques de confusión de nombres, en los que un atacante crea componentes cuyos nombres se asemejan a nombres de componentes de sistema o de código abierto legítimos (typosquatting), sugiere autores confiables (brandjacking) o juega con patrones de nombres comunes en diferentes idiomas o ecosistemas.

Para evitar este riesgo, las organizaciones deben verificar las características del código antes y después de los enlaces de instalación además de verificar las características del proyecto, como el repositorio del código fuente, las cuentas del mantenedor, la frecuencia de lanzamiento, la cantidad de usuarios intermedios, etc. Un ejemplo de este riesgo es el ataque de Colourama, que fue un ataque de error tipográfico en el paquete legítimo de Python llamado "Colorama" que redirigió las transferencias de Bitcoin a una cuenta controlada por el atacante.

 

Los tres principales riesgos operativos

Junto con los principales riesgos de seguridad que contiene el software de código abierto, el informe de Endor Labs también ha analizado los principales riesgos operativos que pueden presentar.

El software sin mantenimiento o un componente o una versión del componente ya no desarrollado de forma activa puede llevar a que los parches para errores funcionales y de seguridad no estén disponibles.

En este caso el desarrollo del parche tendrá que ser realizado por desarrolladores intermedios, lo que dará como resultado la necesidad de destinar un mayor esfuerzo y unos tiempos de resolución más prolongados. Durante ese tiempo, el sistema permanece, además, expuesto. 

El software obsoleto, que no debe confundirse con el software sin mantenimiento, es otro gran riesgo para el software de código abierto. Esto se refiere a un proyecto que puede estar usando una versión antigua y desactualizada de un componente, aunque existan versiones más nuevas. 

Si la versión de un componente utilizado está muy por detrás de las últimas versiones de una dependencia puede dificultar la realización de actualizaciones oportunas en situaciones de emergencia. Es posible que la versión anterior de un componente no reciba el mismo nivel de evaluación de seguridad que las versiones recientes.

“Si una nueva versión es sintáctica o semánticamente incompatible con la versión actual en uso, los desarrolladores de aplicaciones podrían requerir importantes esfuerzos de actualización o migración para resolver la incompatibilidad”, dice el informe. 

El tercer mayor riesgo operativo con el software de código abierto son las dependencias sin seguimiento. Esto ocurre cuando los desarrolladores del proyecto no son conscientes de la dependencia de un componente, ya sea porque no forma parte de la lista de materiales del software de un componente anterior, porque las herramientas de análisis de componentes de software (SCA) no lo detectan o porque el la dependencia no se establece mediante un administrador de paquetes.

Los desarrolladores deben evaluar y comparar las herramientas de Análisis de Composición de Software (SCA, por sus siglas en inglés) por su capacidad para producir listas de materiales precisas, según el informe. 

 

Aumentan los riesgos asociados con el software de código abierto

A medida que aumenta el uso del código abierto a lo largo de los años, otras empresas de ciberseguridad también destacan el riesgo que representa. A saber, la empresa de seguridad de aplicaciones Synopsys detectó al menos una vulnerabilidad de código abierto conocida en el 84% de todas las bases de código comerciales y patentadas. 

Además, el 48% de todas las bases de código analizadas por los investigadores de Synopsys contenían vulnerabilidades de alto riesgo, que son aquellas que se han explotado activamente, que ya tienen exploits de prueba de concepto documentadas o que están clasificadas como vulnerabilidades de ejecución remota de código.



TE PUEDE INTERESAR...

Accede a la cobertura de nuestros encuentros
 
Lee aquí nuestra revista digital de canal

DealerWorld Digital

 

Forma parte de nuestra comunidad
 
¿Interesado en nuestros foros? 

 

Whitepaper

Documento Pure Storage y Kyndryl INFRAESTRUCTURAS