La nueva guía de mercado de Gartner destaca la importancia del análisis de composición de software (SCA)
1 de septiembre de 2020
0 minutos de lecturaYa se publicó la Guía de mercado de Gartner 2020 para el análisis de composición de software (SCA), que destaca la creciente importancia del código abierto y la seguridad del software, y presenta recomendaciones para gestionar y mitigar los riesgos de manera eficaz.
Según la guía, más del 90 % de las organizaciones dependen del software de código abierto. Esta dependencia se debe a varios beneficios, pero, ante todo, el código abierto permite que los desarrolladores sean más productivos y entreguen código con mayor rapidez.
Esta dependencia conlleva un riesgo de seguridad considerable. Gartner descubrió que el principal desafío que enfrentan las organizaciones al usar código abierto son las vulnerabilidades de seguridad, que se introducen mediante dependencias directas o transitivas de código abierto.
Para superar este desafío, Gartner destaca el papel cada vez más importante que desempeña el análisis de composición de software (SCA) para ayudar a los equipos de desarrollo y seguridad a identificar y mitigar problemas de forma eficaz. Como señala la guía, «sin el análisis de composición de software, los beneficios del software de código abierto en el desarrollo de aplicaciones pueden verse fácilmente eclipsados por los riesgos».
Veamos más de cerca el análisis y las recomendaciones que Gartner presenta en la guía.
Recomendaciones para la seguridad del software de código abierto
Gartner recomienda que las organizaciones sigan estos cuatro pasos para gestionar y mitigar el riesgo que plantea el software de código abierto:
Agregar herramientas SCA al conjunto de herramientas de pruebas de seguridad de aplicaciones: las herramientas SCA ayudan a las organizaciones a identificar vulnerabilidades de seguridad y problemas de licencias en los componentes de código abierto que utilizan, y deben definirse como un elemento central de la estrategia general de AppSec de una organización.
Proteger la cadena de suministro de software: las aplicaciones actuales se componen de distintos bloques de construcción obtenidos de repositorios internos y externos. Esta cadena de suministro debe someterse a pruebas de seguridad frecuentes y automatizadas.
Establecer políticas para su aplicación automatizada: las organizaciones deben decidir qué nivel de riesgo pueden aceptar y aplicar esa decisión en las distintas etapas del ciclo de vida del desarrollo de software.
Dar mayor protagonismo a SCA: SCA debe convertirse en una parte integral de los flujos de trabajo de desarrollo existentes; las herramientas SCA deben ser «la norma, no la excepción».
Entender el papel de las herramientas SCA
Como se observa en la lista de recomendaciones anterior, las herramientas SCA son un tema recurrente. La guía de Gartner describe las funciones principales que ofrecen estas herramientas y explica por qué son tan importantes para gestionar y mitigar eficazmente los riesgos del software de código abierto.
Identificación de componentes de código abierto
Las herramientas SCA analizan las aplicaciones e identifican su dependencia de paquetes de código abierto, ya sea mediante dependencias directas o transitivas. Como Snyk ha demostrado anteriormente, el 80 % de las vulnerabilidades se introduce mediante dependencias transitivas, por lo que esta función es fundamental para mitigar los riesgos de forma eficaz.
Gestión del cumplimiento de licencias
Las herramientas SCA también identifican las distintas licencias de código abierto que se utilizan y ayudan así a las organizaciones a mitigar los riesgos legales asociados con el software de código abierto. Las organizaciones pueden usar herramientas SCA para establecer políticas de licencias y asegurarse de que no se introduzcan riesgos legales en las primeras etapas del desarrollo.
Vulnerabilidades de seguridad
Después de identificar las distintas dependencias de código abierto que se utilizan, las herramientas SCA también las contrastan con bases de datos de vulnerabilidades y señalan las vulnerabilidades de seguridad presentes en ellas. Una vez identificadas, algunas herramientas SCA también ofrecen información para facilitar su corrección. Por ejemplo, Snyk brinda recomendaciones de corrección con contexto completo y parches de seguridad precisos para ayudar a los equipos a corregir vulnerabilidades a tiempo.
Gobernanza y control
Las herramientas SCA pueden usarse para aplicar automáticamente políticas de seguridad y licencias en las distintas etapas del ciclo de vida del desarrollo de software. El método más común que admiten estas herramientas es integrar las pruebas de seguridad de código abierto en los procesos de CI/CD para evitar que las vulnerabilidades avancen por la canalización de entrega.
Informes y análisis
Las herramientas SCA ayudan a las organizaciones a generar listas de materiales de software (BoM), es decir, listas detalladas de las distintas dependencias usadas en el código y de dónde se usan. Estos informes permiten evaluar la exposición a futuros riesgos de seguridad, compartir información con otras partes interesadas y respaldar la estandarización.
Criterios clave para evaluar herramientas SCA
Como explica la guía, no todas las herramientas SCA son iguales: las hay de muchos tipos y formas. Para ayudar a las organizaciones a evaluar las distintas herramientas SCA disponibles en el mercado, Gartner ofrece una serie de recomendaciones precisas que orientan la toma de decisiones.
Compatibilidad con ecosistemas y lenguajes
Las herramientas SCA deben admitir los principales lenguajes de programación y frameworks que usa la organización. Estas necesidades varían de una organización a otra, pero normalmente se requiere compatibilidad con Java, JavaScript, Python, Go, .NET, PHP y Ruby.
Datos de seguridad amplios y detallados
Para garantizar que las vulnerabilidades se identifiquen y corrijan a tiempo, las herramientas SCA deben ofrecer datos de seguridad de calidad. Estas herramientas se basan en bases de datos de vulnerabilidades para generar esos datos, pero, como señala Gartner, para obtener mayor confianza y precisión en los hallazgos es necesario ir más allá del uso exclusivo de NVD. La base de datos de vulnerabilidades de Snyk reúne información de múltiples fuentes públicas, así como del ámbito académico, la comunidad y el trabajo de nuestro equipo de investigación, para ofrecer a los usuarios datos precisos, actualizados y completos.
Priorización
Los equipos de desarrollo y seguridad se enfrentan a una cantidad abrumadora de vulnerabilidades, pero cuentan con tiempo y recursos limitados. Por eso, deben priorizar. Las herramientas SCA deben proporcionarles la información que necesitan para tomar decisiones de priorización eficaces. Gartner destaca que la capacidad de priorizar las vulnerabilidades alcanzables en la ruta de ejecución de la aplicación es una función necesaria en una herramienta SCA.
Fáciles de usar para desarrolladores
Las herramientas SCA que los usuarios finales no adoptan no serán muy eficaces. Como parte de las iniciativas de «desplazamiento a la izquierda» y DevSecOps, que están cobrando impulso rápidamente en el mercado, los desarrolladores se han convertido en los principales usuarios de las herramientas SCA. Para respaldar estas iniciativas, no basta con entregar a los desarrolladores una lista de problemas para que los resuelvan ni con darles acceso a una herramienta diseñada para el equipo de seguridad. Las herramientas SCA deben priorizar a los desarrolladores: tienen que integrarse sin problemas en los flujos de trabajo de desarrollo existentes y generar la menor fricción posible.
Corrección
Detectar problemas es una cosa; poder corregirlos rápidamente es otra. Gartner destaca que las herramientas SCA también deben ayudar a las organizaciones con los pasos de corrección. Por ejemplo, Snyk ofrece priorización práctica y recomendaciones de corrección, como una puntuación de prioridad, el árbol completo de dependencias, la corrección recomendada y parches precisos. Snyk también genera pull request automatizados para agilizar aún más la corrección.
Integraciones
El ciclo de vida del desarrollo de software es complejo. Los desarrolladores usan distintos sistemas y plataformas para llevar el código desde el desarrollo hasta la producción. Lo ideal es que las organizaciones puedan integrar la seguridad del código abierto en cada una de estas etapas; por eso, las herramientas SCA deben ofrecer estas integraciones.
Informes y listas de materiales de software (BoM)
Las herramientas SCA deben ayudar a las organizaciones a hacer un seguimiento de los componentes de código abierto que utilizan a lo largo del tiempo y a crear informes (también conocidos como BoM) con base en esta información. Como se mencionó antes, estos informes se usan para evaluar la exposición y llevar un control interno, pero también pueden ser un requisito de una licencia o una orden de compra específica.
Políticas
Gartner recomienda usar políticas para definir qué condiciones de seguridad y legales son aceptables o inaceptables para la organización y, luego, aplicarlas automáticamente en los distintos proyectos. Las herramientas SCA deben admitir esta función.
Notas finales
¿Cuál es el futuro de SCA?
Actualmente, Gartner estima que solo el 40 % de las organizaciones usa herramientas SCA como parte de su conjunto de herramientas para pruebas de seguridad de aplicaciones. Sin embargo, el interés en estas herramientas parece estar en su punto más alto, con un aumento de casi el 40 % en las consultas de usuarios finales sobre el tema.
Esto no sorprende, dada la creciente adopción del código abierto. El código abierto desempeña un papel fundamental en la transformación digital y en el rápido ritmo de innovación que presenciamos hoy, especialmente durante la COVID-19, y no hay motivos para pensar que estas tendencias vayan a cambiar pronto.
Las organizaciones aprovechan el código abierto para competir en sus respectivos mercados y, al mismo tiempo, reconocen que deben gestionar y mitigar los riesgos asociados. Solo las herramientas SCA que cumplan con los criterios clave anteriores ayudarán a las organizaciones a lograr este objetivo.
Acerca de Snyk Open Source
Snyk Open Source ayuda a organizaciones como Salesforce, Google y Facebook a mejorar la seguridad de las aplicaciones, ya que permite que los equipos de desarrollo encuentren, prioricen y corrijan automáticamente vulnerabilidades de seguridad y problemas de licencias en sus dependencias y contenedores de código abierto, desde las primeras etapas y a lo largo de todo el ciclo de vida del desarrollo de software (SDLC). A diferencia de otras soluciones de seguridad del mercado, Snyk Open Source es una herramienta fácil de usar para desarrolladores que se integra sin problemas en los flujos de trabajo de desarrollo y ofrece correcciones automatizadas e información práctica de seguridad para ayudar a las organizaciones a identificar y mitigar los riesgos de manera eficiente.
Empieza con los desafíos de Capture the Flag
Aprende a resolver desafíos de captura la bandera con nuestro taller virtual introductorio a pedido.