
[16/05/2022] Como demuestran las consecuencias de las vulnerabilidades de Apache Log4J a principios de este año, los mayores riesgos en el software empresarial de hoy en día no están necesariamente en el código inseguro escrito directamente por los equipos de desarrollo de software internos. Los defectos de los componentes, las bibliotecas y otros códigos open source que constituyen el grueso de las bases de código del software actual, son la parte más sumergida del iceberg de la inseguridad.
La verdad es que gran parte del software empresarial y de las aplicaciones personalizadas producidas por los equipos de DevOps y los grupos de ingeniería de software no está realmente codificado por sus desarrolladores. El software moderno actual es modular. Los desarrolladores utilizan lo que se denomina una arquitectura de microservicios para crear nuevas aplicaciones, construyéndolas de forma muy parecida a una casa de Lego: utilizando bloques que están hechos de código prefabricado. En lugar de reinventar la rueda cada vez que necesitan que su aplicación realice una función común, los desarrolladores rebuscan en su proverbial caja de bloques para encontrar el adecuado que haga lo que necesitan sin muchas complicaciones.
[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]
Esa caja es la cadena de suministro de software en constante expansión, una fuente de código a veces muy informal, que fluye desde los millones de repositorios de GitHub y proyectos de código abierto que flotan en línea hoy en día. Consta de componentes y bibliotecas que se utilizan en innumerables aplicaciones, y en la infraestructura subyacente de aplicación y desarrollo que se utiliza para construir los conductos de desarrollo modernos.
Por supuesto, los programas proporcionados por esta cadena de suministro no son realmente ladrillos y no siempre encajan perfectamente, por lo que los desarrolladores crean código personalizado para pegar todas esas piezas. De hecho, muchos suelen convertir esas creaciones en más proyectos de código abierto para que otros resuelvan problemas similares. Esta es una de las razones por las que la cadena de suministro de software sigue creciendo.
Aplicaciones construidas con código de terceros
Una aplicación moderna se compone en su mayoría de código de terceros. Según Forrester, el porcentaje de código de fuente abierta que compone la base de código de una aplicación promedio aumentó del 36% en el 2015 al 75% en el 2020.
Es una forma más rápida y escalable de desarrollar rápidamente, pero, como toda innovación tecnológica, conlleva un riesgo cibernético añadido, a menos que se tenga el cuidado adecuado. Es el pequeño y sucio secreto del mundo del desarrollo que los componentes cooptados de la cadena de suministro de software actual pueden estar muy fácilmente desfasados y plagados de vulnerabilidades. Lo que complica aún más las cosas es el hecho de que los defectos a menudo se anidan juntos, ya que diferentes proyectos pueden tener dependencias de otros en la cadena de suministro. A veces, las fallas pueden incluso ser añadidas a propósito por atacantes que siembran intencionadamente el software de código abierto con vulnerabilidades.
Las vulnerabilidades introducidas por la cadena de suministro de software pueden ser como minas terrestres de ciberseguridad ocultas en el software de la empresa, especialmente cuando las organizaciones no hacen nada para gobernar formalmente cómo sus desarrolladores utilizan la cadena de suministro de software. Muchas organizaciones ni siquiera rastrean -y mucho menos supervisan o gestionan- los tipos de componentes, bibliotecas y herramientas para desarrolladores que entran o producen el código que sus desarrolladores utilizan. Según un estudio publicado por la Fundación Linux, menos de la mitad de las organizaciones utilizan una lista de materiales de software (SBOM) que rastrea exactamente lo que entra en sus aplicaciones desde la cadena de suministro de software.
La creación de un SBOM (software bill of materials) es fundamental para la seguridad de la cadena de suministro, junto con la gobernanza del código abierto y la seguridad de la infraestructura como elementos de código que tocan las aplicaciones a lo largo del SDLC. A continuación, se presenta una lista de herramientas que ayudan a lograr esto, con un fuerte énfasis en las herramientas de análisis de composición de software (SCA) que se centran específicamente en el desarrollo de SBOM, aumentando la visibilidad de lo que entra en el software, y remediando los defectos en los componentes que son los bloques de construcción del software hoy en día.
Principales herramientas de seguridad de la cadena de suministro
Contrast Security: Conocida sobre todo por su tecnología de pruebas de seguridad de aplicaciones interactivas (IAST, por sus siglas en inglés) que detecta vulnerabilidades en las aplicaciones a través de un agente que se ejecuta en el servidor de aplicaciones, Contrast Security proporciona capacidades de SCA como parte de una pizarra completa de pruebas en su plataforma abierta, que también realiza pruebas de seguridad de aplicaciones dinámicas (DAST, por sus siglas en inglés), pruebas de seguridad de aplicaciones estáticas (SAST, por sus siglas en inglés), protección de escaneo de aplicaciones en tiempo de ejecución (RASP, por sus siglas en inglés) y comprobaciones de seguridad sin servidor en la infraestructura de AWS Lambda.
Las herramientas no solo pueden generar un SBOM, sino también contextualizar las fallas en los distintos ingredientes que componen una aplicación mediante la visualización de la arquitectura de la aplicación, los árboles de código y la información del flujo de mensajes para ayudar a la corrección del modelo de amenazas. La gobernanza de código abierto está integrada en los flujos de trabajo y las herramientas de desarrollo modernas, y el pan de cada día de Contrast consiste en salvar la brecha entre los desarrolladores y los equipos de seguridad, lo que la convierte en un actor importante en el mercado de DevSecOps.
Shiftleft: ShiftLeft, relativamente nuevo en este campo de opciones, está diseñado para encajar en el flujo de trabajo de desarrollo de los equipos de DevOps con visión de futuro. El valor principal consiste en reunir SCA y SAST en un único análisis que se realiza cuando un desarrollador hace una solicitud de extracción. La tecnología utiliza una técnica que la empresa denomina gráfico de propiedades del código (CPG, por sus siglas en inglés) para trazar las dependencias y los flujos de datos en el código personalizado, las bibliotecas de código abierto, los SDK y las API, buscando no solo los defectos en toda la aplicación -incluidos sus componentes de código abierto- sino también los puntos débiles lógicos de la aplicación. Los defectos de la cadena de suministro se priorizan por su susceptibilidad de ser atacados mediante un índice de "alcanzabilidad" que se inserta en el SBOM, y que pone en contexto lo atacable que es el componente en función de cómo se utiliza en la aplicación.
Snyk: Snyk es un conjunto de herramientas centradas en los desarrolladores y en la nube, creadas específicamente para los talleres de desarrollo nativo y de seguridad en la nube. Más conocido por sus capacidades de escaneo de seguridad de SCA y contenedores, también ofrece pruebas de vulnerabilidad de SAST y API. En febrero del 2022, la empresa adquirió Fugue, una empresa de gestión de la postura de seguridad en la nube. Como explicó Gartner, su mezcla de ofertas en la infraestructura como seguridad del código, la seguridad de los contenedores y la seguridad de las aplicaciones es representativa del hecho de que "las capas de la aplicación y la infraestructura se mezclan cada vez más. Suele comprarse por el lado del desarrollador, pero merece la pena que los CSO y el personal de seguridad busquen avanzar hacia un modelo democratizado de pruebas y correcciones de seguridad dirigidas por el desarrollador”.
Sonatype Nexus: Sonatype, una de las ofertas más antiguas del mercado de SCA, se anunciaba como una empresa de "seguridad de la cadena de suministro de software" mucho antes de que el término se colara en los títulos de las conferencias y seminarios web sobre seguridad. El corazón de la plataforma Sonatype Nexus es su capacidad para crear SBOMs detallados y gestionar políticas. Los analistas de Forrester afirman: "Las políticas son un área de fortaleza para Sonatype, con políticas listas para usar que se alinean con una serie de estándares, y un motor de políticas que permite a los usuarios crear y asignar políticas a ciertos tipos de aplicaciones". Las políticas pueden aplicarse no solo para lo que entra en el código, sino también en la gestión de la seguridad y la configuración de la infraestructura circundante como el código y los contenedores que se utilizan para desarrollar y desplegar aplicaciones.
Sonatype también ofrece gestión de repositorios para proporcionar una única fuente de verdad para todos los componentes, binarios y artefactos de construcción. La visualización del historial de componentes de Nexus y el servicio de atención al cliente de Sonatype también son señalados por los analistas como sus grandes puntos fuertes. El año pasado, Sonatype también adquirió MuseDev, lo que le ayudó a desarrollar las capacidades de Sonatype Lift, que proporciona un análisis de calidad del código fácil de usar durante la revisión del mismo.
Synopsys Black Duck: La herramienta Black Duck SCA de Synopsys realiza cuatro tipos de análisis -dependencia, codeprint, binario y snippet- para rastrear y gestionar los componentes utilizados en el software de una organización. Recientemente, Synopsis ha mejorado las capacidades de creación de listas de materiales de Black Duck para incluir a BLANK. Además de crear listas de materiales, la herramienta también realiza la gestión automatizada de políticas. Black Duck forma parte de la amplia cartera de herramientas AppSec que ofrece Synopsys, a la que Gartner nombró líder en su Cuadrante Mágico de Pruebas de Seguridad de Aplicaciones. El modelo de plataforma abierta que utiliza para ofrecer SCA junto con DAST, SAST, pruebas de penetración, fuzzing y una serie de otras capacidades de prueba es una propuesta de valor clave. Esto "hace que Synopsys sea una buena opción para las organizaciones con un desarrollo complejo y multiequipo, que utilizan una mezcla de estilos de desarrollo y tecnologías de programación", sostiene Gartner.
Veracode: Veracode, que ha sido durante mucho tiempo una potencia en el mercado de las pruebas de seguridad de aplicaciones tradicionales, con su producto SaaS maduro que ha dominado durante mucho tiempo los ámbitos SAST y DAST, ha realizado en los últimos años una fuerte inversión en SCA. Tras su adquisición de SourceClear en el 2018, hubo una cierta bifurcación entre sus capacidades de SCA de cosecha propia y lo que ofrecía a través de SourceClear, pero Veracode Software Composition Analysis es ahora un único producto disponible a través de la plataforma. "La hoja de ruta de Veracode se centra en unificar las capacidades de SAST y SCA en el entorno del desarrollador, y en mejorar las capacidades de seguridad de los contenedores y de la IaC [Infraestructura como código]", explican los analistas de Forrester. Dicen que los puntos más destacados de Veracode son sus informes de remediación y los gráficos de dependencia. El mayor punto de fricción, señalan, es la dificultad de integrarlo en los flujos de trabajo de los desarrolladores.
WhiteSource Software: Uno de los aspectos más destacados de las herramientas de SCA de WhiteSource Software es la corrección de problemas de seguridad de los componentes de forma sencilla para los desarrolladores, que incluye la alerta y la corrección de componentes obsoletos y maliciosos. "El liderazgo de WhiteSource se centra en la reparación y la priorización", escriben los analistas de Forrester, que consideran a este proveedor un líder en el espacio SCA. "WhiteSource ofrece características diferenciadoras, incluyendo un plugin para el navegador que ayuda a evitar los componentes problemáticos, y a eliminar las vulnerabilidades inalcanzables de la cola del desarrollador para mejorar su experiencia". Un punto en el que dicen que se queda atrás es en su falta de políticas out-of-the box. WhiteSource lanzó una solución SAST a principios de este año.
Basado en el artículo de Ericka Chickowski (CSO) y editado por CIO Perú
Puede ver también: