Más del 75% de todas las vulnerabilidades residen en dependencias indirectas.


La gran mayoría de las vulnerabilidades de seguridad en proyectos de código abierto residen en dependencias indirectas en lugar de componentes cargados directamente y de primera mano.

«Agregando los números de todos los ecosistemas, encontramos más del triple de vulnerabilidades en dependencias indirectas que en dependencias directas». Alyssa Miller, Defensor de seguridad de aplicaciones en Snyk, dijo ZDNet en una entrevista sobre el estudio del estado de seguridad de código abierto de Snyk para 2020.

El informe analizó cómo las vulnerabilidades afectaron los ecosistemas de JavaScript (npm), Ruby (RubyGems), Java (MavenCentral), PHP (Packagist) y Python (PyPI).

Snyk dijo que el 86% de los errores de seguridad de JavaScript, el 81% de los errores de Ruby y el 74% de los de Java afectaron las bibliotecas que eran dependencias de los componentes principales cargados dentro de un proyecto.

snyk-indirecta.png

Imagen: Snyk

Snyk argumenta que las compañías que escanean sus dependencias principales en busca de problemas de seguridad sin explorar su árbol de dependencias completo en varios niveles, lanzarán o terminarán ejecutando productos que son vulnerables a errores imprevistos.

Pero aunque los errores de seguridad prevalecieron en JavaScript, Ruby y Java, no fue en PHP y Python, donde la gran mayoría de los errores estaban en las dependencias directas (componentes principales). Sin embargo, hay una razón para eso.

«Sinceramente, creo que es más una cuestión de enfoque de desarrollo dentro de los ecosistemas», dijo Miller ZDNet.

«Los proyectos de Java y Node.js, en individual, parecen aprovechar las dependencias mucho más pesadas que otros ecosistemas. En individual, cuando se observa el gran tamaño del ecosistema Node.js, los paquetes que se acumulan o aprovechan la funcionalidad clave de otros paquetes son mucho la norma

«Pregúntele a cualquier desarrollador de Node, y probablemente tengan una historia de esperar durante largos períodos para abrir un proyecto mientras npm está tratando de extraer todas las dependencias necesarias», agregó Miller. «Uno de nuestros ejemplos favoritos es una aplicación Java de 80 líneas que especifica 7 dependencias. Cuando recorre todo el árbol de dependencias, sin embargo, encuentra 59 subdependencias y, de repente, las 80 líneas de código se convierten en 740,000 líneas.

«Ese &#39peligro extraño&#39, como nos gusta llamarlo, está en el corazón de algunas brechas de alto perfil y una causa clave de complejidad en términos de seguridad de la cadena de suministro de program», dijo Miller.

Algunos errores tuvieron un gran impacto

Pero el equipo de Snyk no solo analizó la ubicación de estos errores en el ecosistema de código abierto, sino también qué tipo de errores eran.

Otro hallazgo interesante es que la mayoría de las nuevas fallas de seguridad descubiertas en 2019 fueron errores de scripting entre sitios (XSS), pero a pesar de su gran número, solo afectaron una pequeña parte de los proyectos del mundo real.

En cambio, dos docenas de prototipos de errores de contaminación tuvieron el mayor impacto de todos los errores descubiertos el año pasado, afectando a más de 115,000 proyectos diferentes de código abierto, y probablemente incluso más privados.

De estos, los prototipos de errores de contaminación en jQuery y LoDash tuvo el mayor impacto, ya que estos marcos son algunos de los conjuntos de herramientas de desarrollo de JavaScript más utilizados en la actualidad.

snyk-vuln-impact-type.png "src =" https://zdnet3.cbsistatic.com/hub/i/2020/06/26/5094bbd7-656c-4266-9335-17a8c3156089/snyk-vuln-impact-type .png

Imagen: Snyk

Pero el equipo de Snyk también señaló otra peculiaridad en su informe, a saber, que los «paquetes maliciosos» se clasificaron como el segundo tipo de problema de seguridad más común que encontraron en los proyectos el año pasado.

Esto se refiere a bibliotecas de código abierto que se han creado para ser maliciosas a propósito, o bibliotecas donde la cuenta del desarrollador fue pirateada y el código envenenado.

Según Snyk, el año pasado, los paquetes pirateados o maliciosos fueron la segunda fuente más común de problemas de seguridad para el ecosistema de código abierto.

«La gran mayoría, más del 87%, provenía de paquetes npm (JavaScript)», dijo Miller ZDNet.

Menos errores de seguridad el año pasado, pero no hay razón para celebrar

Además, Snyk también notó una caída del 20% en la cantidad de errores que descubrieron en los cinco ecosistemas que escanearon.

snyk-vuln-2019.png "src =" https://zdnet1.cbsistatic.com/hub/i/2020/06/26/03eaa4dd-0803-4a09-a5bf-ddda4e13c48d/snyk-vuln-2019.png

Imagen: Snyk

«Es difícil decir con certeza (por qué cayeron)», dijo Miller. «El escéptico de seguridad perpetuo en mí dice que esto podría ser parte del flujo y reflujo all-natural. Sin embargo, en el lado optimista, vemos algunos cambios clave en la comunidad que podrían significar que es más que un solo año atípico».

«Por ejemplo, donde vimos más vulnerabilidades de Cross-Internet site Scripting (XSS) reportadas que cualquier otro tipo de vulnerabilidad, afectaron una pequeña porción del complete de proyectos que escaneamos para el año. Eso sugiere que XSS probablemente no tenga un impacto en un uso más intensivo y por lo tanto, los proyectos maduros significan que potencialmente estamos obteniendo tracción en técnicas de codificación segura.

«Además, nuestra encuesta mostró que las actitudes en toda la comunidad están comenzando a ver la seguridad del software program como una responsabilidad compartida entre los desarrolladores y los equipos de seguridad (e incluso, en cierta medida, los equipos de operaciones)», dijo Miller.

«Esa cooperación mejorada ciertamente podría ayudar a impulsar una mejor conciencia y medidas tácticas en torno al código seguro y el uso seguro de los paquetes de código abierto».

«Habiendo trabajado en seguridad durante 15 años, ciertamente no estoy listo para proclamar un año como una señal de que las cosas han tomado una nueva dirección, pero puedes apostar que es una tendencia que continuaremos observando y veremos cómo se ven las cosas próximos meses y todo el 2020 «.

Para obtener información adicional sobre el estado de seguridad general de la comunidad de código abierto, el informe completo de Snyk está disponible para descargar aquí.





Enlace a la noticia authentic