Al igual que en el ámbito de las TI, las cuestiones de deuda también afectan a la ciberseguridad en las empresas. Veracode arroja luz sobre este tema menos conocido al enumerar las vulnerabilidades que no se han corregido durante un año y que aún siguen presentes en el parque de aplicaciones. El estudio se basa en datos recopilados por el editor durante las recientes pruebas de seguridad de aplicaciones estáticas (SAST), pruebas de seguridad de aplicaciones dinámicas (DAST) y análisis de componentes de software (SCA) de más de un millón de aplicaciones.

“Con la proliferación de código generado por IA, se generan cantidades masivas de código inseguro y existe la posibilidad de que se convierta en una deuda de seguridad”, afirmó Chris Eng, director de investigación de Veracode. “Dada la escala de la deuda de seguridad que encontramos, vale la pena preguntarse si las herramientas de reparación asistidas por IA pueden ayudar a reducir esta deuda sin tener que reorientar o escalar los equipos de desarrollo”. El estudio también encontró una cantidad significativa de fallas tanto en el código propio como en el de terceros, lo que destaca la importancia de probar ambos a lo largo del ciclo de vida del desarrollo de software.

Índice
  1. Vulnerabilidades críticas disminuidas, pero no eliminadas
  2. Recomendaciones para reducir la deuda técnica

Vulnerabilidades críticas disminuidas, pero no eliminadas

El estudio descubrió que, para 2023, la prevalencia de vulnerabilidades de alta gravedad había disminuido (en el 17,9 % de las aplicaciones) a la mitad de su nivel de 2016 (en el 37,9 % de las aplicaciones). Y aunque solo el 3,2 % de todas las vulnerabilidades se clasificaron como muy graves (puntuación CVSS de 9 o superior), casi el 16 % de estas infracciones tenían "altas probabilidades" de ser explotadas. Esto significa que poco menos del 1 % (0,7 %) de todas las vulnerabilidades detectadas en 2023 eran críticas y altamente explotables. En general, según los análisis SAST, DAST y SCA de Veracode, el 80 % de todas las aplicaciones activas tienen vulnerabilidades sin resolver, en comparación con el 73 % de los análisis SAST únicamente, que consideran problemas específicos de la fase de desarrollo de la aplicación. Las vulnerabilidades detectadas en componentes de terceros y de código abierto fueron comparables a las detectadas en códigos propios. De hecho, el 63,4% de las aplicaciones tenían vulnerabilidades en los códigos originales, mientras que el 70,2% de las aplicaciones tenían vulnerabilidades en códigos de terceros.

Según el estudio, esto está relacionado con la adopción más amplia de la IA y requiere un análisis exhaustivo de ambas fuentes en el ciclo de desarrollo. Además, el estudio destacó el hecho de que, en promedio, una aplicación típica tiene 42 vulnerabilidades por cada 1 MB de código. Los scripts entre sitios (XSS), las inyecciones, los recorridos de directorios y los componentes vulnerables y obsoletos son las principales vulnerabilidades en aplicaciones de alta intensidad (resultados promedio por aplicación) y alto volumen (porcentaje de aplicaciones).

Recomendaciones para reducir la deuda técnica

La deuda de seguridad del software afecta al 42% de todas las aplicaciones. Esta cifra se reduce al 23% cuando se suman las aplicaciones con menos de un año de antigüedad, lo que significa que el 57% de las aplicaciones tienen vulnerabilidades pero no deudas. El panorama es un poco diferente cuando se considera el legado de seguridad crítico (vulnerabilidades críticas sin parches). “Una gran mayoría de las organizaciones (71%) tienen algún nivel de deuda de seguridad”, según el estudio. “Casi la mitad de las organizaciones (46%) tienen vulnerabilidades persistentes y de alta gravedad que pueden clasificarse como deuda de seguridad crítica”.

En promedio, casi la mitad de todas las infracciones (47 %) en una organización se pueden atribuir a la deuda de seguridad. Para abordar esto, el estudio hace algunas recomendaciones, incluida la integración de la seguridad en la gestión del ciclo de vida del desarrollo, la remediación continua con un enfoque en la deuda de seguridad crítica, el fortalecimiento de las habilidades de seguridad de los desarrolladores y la comprensión del perfil de deuda para el lenguaje de programación en cuestión.