Vulnerabilidades que disminuyen en código abierto, pero lentas …


Incluso a medida que se produce más código, las dependencias indirectas continúan socavando la seguridad.

Impulsado por el crecimiento en los ecosistemas de JavaScript, Java y Python, la cantidad de paquetes de software de código abierto se duplicó en 2019, pero la cantidad de vulnerabilidades se redujo en un 20%, lo que sugiere que los desarrolladores están eliminando vulnerabilidades simples, según muestra un nuevo informe.

Si bien la disminución es sin duda una buena noticia, la mayoría de los equipos de desarrollo aún no pueden inventariar adecuadamente sus dependencias de application, un punto de preocupación porque las dependencias indirectas, es decir, las bibliotecas utilizadas por el código importado, pueden dar cuenta de la mayoría de las vulnerabilidades. Más del 70% de las vulnerabilidades en Node.js, Ruby y Java, por ejemplo, ocurren en dependencias indirectas, no en la biblioteca initial de código abierto importada, según el «Estado de seguridad de código abierto 2020«informe, publicado hoy por la firma de seguridad de application Snyk.

En un caso, una aplicación Java comprendía 80 líneas de código con siete dependencias, pero cuando se importó todo el código, la foundation del código se expandió a 59 subdependencias y más de 700,000 líneas de código, dice Alyssa Miller, defensora de seguridad de aplicaciones en Snyk

«Ni siquiera sabes necesariamente que todas esas dependencias están ahí, pero están minando tu seguridad», dice ella.

Como los componentes de computer software de código abierto se han convertido posiblemente en la parte más importante del desarrollo de software, la gestión de las vulnerabilidades planteadas por esos componentes se ha convertido en una tarea importante para las empresas. Casi todos los programas de computer software usan software program de código abierto, y la aplicación promedio united states 445 componentes de código abierto, según un estudio reciente de Synopsys.

Reconociendo esto, el Foro de Seguridad de Web (ISF) lanzó su «Implementación de computer software de código abierto: desafíos y recompensas«informe hoy, destacando las mejores prácticas para las empresas que utilizan software de código abierto en el desarrollo.

«Muchas organizaciones están adoptando metodologías ágiles y DevOps, lo que está impulsando una mayor adopción de OSS (computer software de código abierto) y, a su vez, la creación de nuevas aplicaciones de código mixto». declaró Paul Holland, analista principal de investigación en la ISF. «La creciente prevalencia de OSS debe equilibrarse mediante un esfuerzo concertado para gestionar su uso de manera adecuada y efectiva».

Los diferentes lenguajes de programación y sus marcos de aplicación asociados tienen diferentes consideraciones a la hora de proteger el program. Las aplicaciones PHP tienden a usar un número relativamente bajo de bibliotecas de código abierto, 34 en promedio, pero tienen una mayor cantidad de vulnerabilidades, según los datos analizados por la firma de seguridad de aplicaciones Veracode.

En el último informe de Snyk, la compañía descubrió que la popularidad de los marcos de aplicaciones net basados ​​en JavaScript continuó creciendo a medida que más desarrolladores confiaban en JavaScript y Node.js. El componente de la encuesta del estudio encontró que el 73% de los desarrolladores usaban plataformas basadas en JavaScript. La popularidad llevó a las aplicaciones Node.js administradas por la plataforma NPM a más del doble a 13 millones de paquetes.

La gran dependencia de los programas de JavaScript en el código importado (las aplicaciones promedio tienen 377 dependencias, según Veracode) significa más dependencias indirectas. En su análisis, Snyk encontró que el 86% de las vulnerabilidades de JavaScript ocurrieron en dependencias indirectas.

«Hay muchos factores que pueden entrar en juego aquí. NPM tiene una caída bastante significativa en el número de vulnerabilidades, pero también tienen una sólida acumulación de vulnerabilidades que están investigando, lo que está causando retrasos en las soluciones», dice Miller.

Dos clases de vulnerabilidad demuestran la naturaleza única del software de código abierto y las dependencias, donde los tipos de vulnerabilidad tienden a generar muchos problemas informados o son generalizados, pero generalmente no ambos.

Según el informe, un número significativo de proyectos de computer software de código abierto sufrió ataques en forma de cambios maliciosos en el proyecto. Un cambio malicioso generalmente ocurre cuando un desarrollador deshonesto, a menudo un agente de una nación-estado o una pandilla cibercriminal, se une a un proyecto para introducir una vulnerabilidad. Sin embargo, si bien su gravedad es crítica, dichos cambios maliciosos no afectaron a muchos proyectos.

Por otro lado, con una clase de vulnerabilidades de JavaScript conocida como contaminación de prototipos, miles de paquetes pueden verse afectados por una sola vulnerabilidad. Dos prototipos de vulnerabilidades de contaminación afectaron la seguridad de más del 25% de los proyectos escaneados, dijo Snyk en su informe. La contaminación de prototipos puede permitir que el código en un objeto malicioso sobrescriba el comportamiento de la clase de prototipo, contaminando todas las demás clases que dependen de ese comportamiento. La clase de vulnerabilidad no es conocida, pero un solo problema a menudo puede tener un impacto generalizado.

«Son difíciles de encontrar», dice Miller. «Creo que esa es la razón por la que vemos un bajo número de ellos. No es una vulnerabilidad bien entendida en este momento».

Finalmente, las imágenes de contenedores de computer software (Docker es el ejemplo más preferred) a menudo agrupan application vulnerable y deben investigarse, dijo Snyk. La versión más reciente del servidor Node, en el momento del informe, tenía más de 642 vulnerabilidades conocidas en el software program contenido en la imagen, incluidas 17 vulnerabilidades altas, dijo la compañía.

«Las empresas deben tratar de minimizar la huella de software de estas imágenes», dice Miller. «Si utiliza Node-Slender (la versión simplificada del servidor Node), pierde el 95% de las vulnerabilidades. Por lo tanto, si no necesita la imagen completa, elija la versión mínima».

Contenido relacionado:

Aprenda de los expertos de la industria en un entorno propicio para la interacción y la conversación sobre cómo prepararse para ese «día realmente malo» en ciberseguridad. Haga clic para más información y para registrarse para este evento bajo demanda.

Periodista veterano en tecnología de más de 20 años. Ex ingeniero de investigación. Escrito para más de dos docenas de publicaciones, incluidas CNET News.com, Dim Studying, MIT&#39s Know-how Review, Well-liked Science y Wired Information. Cinco premios para periodismo, incluyendo Mejor fecha límite … Ver biografía completa

Lectura recomendada:

Más ideas





Enlace a la noticia original