El enfoque tradicional para proteger los productos de software se centra en eliminar las vulnerabilidades en el código personalizado y proteger las aplicaciones contra riesgos conocidos en dependencias de terceros. Sin embargo, este método es inadecuado y no aborda todo el alcance de las amenazas que plantea la cadena de suministro de software. No proteger todos los aspectos de esta cadena, desde la producción hasta la distribución y la implementación, expone a las organizaciones a ataques como malware, filtraciones de datos y robo de propiedad intelectual. Ignorar este paso crítico es un grave desprecio por la seguridad de la organización.
En este artículo, examinaremos la tendencia creciente de los ataques cibernéticos dirigidos a la cadena de suministro de software, así como los avances regulatorios recientes y los marcos de mejores prácticas que han surgido en respuesta a este peligro creciente. También arrojaremos luz sobre la necesidad de una nueva estrategia para proteger su cadena de suministro de software, una que supere las medidas de seguridad de aplicaciones actuales. Ilustraremos por qué las inversiones actuales en seguridad de aplicaciones ofrecen cierta protección, pero no mitigan por completo los riesgos de ciberseguridad en esta área. Finalmente, describiremos lo necesario para complementarlos para una protección total.
Para el Libro Blanco completo haga clic aquí >>>
Por qué es importante proteger la cadena de suministro de software
El uso de herramientas, bibliotecas y software de código abierto de terceros en el desarrollo de software aumenta tanto la complejidad de la cadena de suministro de software como el riesgo de posibles vulnerabilidades y ataques. Los atacantes pueden apuntar a un eslabón específico de la cadena de suministro para obtener acceso a información confidencial o interrumpir las operaciones. Estos ataques pueden tener un impacto significativo en las organizaciones y sus socios de la cadena de suministro.
Las consecuencias de varios ataques a la cadena de suministro de software ha sido noticia de primera plana en los últimos años. Como consecuencia, Gartner ha predicho recientemente que para 2025, el 45% de las organizaciones en todo el mundo habrán experimentado ataques en sus cadenas de suministro de software, tres veces más que en 2021.
A medida que la seguridad de la cadena de suministro de software gana atención, varios proveedores de soluciones de seguridad de aplicaciones se están renombrando para ofrecer soluciones en este espacio. Pero, ¿la seguridad de la cadena de suministro de software es simplemente un nuevo término para la seguridad de las aplicaciones tradicionales, o es un segmento de mercado distinto con características y tecnologías únicas? ¿Es suficiente contar con un programa de seguridad de aplicaciones (AppSec) para abordar la seguridad de la cadena de suministro de software, o las organizaciones necesitan adoptar estándares y tecnologías separados para garantizar la seguridad de su software y su cadena de suministro? Esta cuestión se explorará más a fondo en el artículo.
Marcos de regulación y mejores prácticas emergentes
El sistema Orden ejecutiva de EE. UU. sobre ciberseguridad y otras regulaciones similares reflejan la creciente importancia de la seguridad de la cadena de suministro de software y la necesidad de que las organizaciones tomen medidas apropiadas para proteger su software y su cadena de suministro. El creciente interés mostrado por los principales actores en la introducción colectiva de medidas para combatir la amenaza es un avance positivo e indica un reconocimiento cada vez mayor de la necesidad de un enfoque coordinado y que abarque a toda la industria para abordar la creciente amenaza.
Algunas de las iniciativas clave para abordar la seguridad de la cadena de suministro de software incluyen: Mejorar las prácticas de desarrollo de software; mejorar la visibilidad de la cadena de suministro; implementar prácticas seguras de adquisición de software; y desarrollar capacidades de inteligencia sobre amenazas. En general, estas iniciativas tienen como objetivo aumentar la seguridad del software y la cadena de suministro reduciendo el riesgo de ataques y garantizando que el software esté libre de vulnerabilidades y códigos maliciosos.
A continuación se muestra una breve descripción de las iniciativas clave:
- SP 800-21 del NIST Secure Software Development Framework (SSDF) tiene como objetivo impulsar la seguridad de la cadena de suministro de software para los proveedores gubernamentales de EE. UU. Ofrece prácticas de desarrollo seguras para SDLC de organizaciones para minimizar vulnerabilidades y amenazas futuras. Las directrices son personalizables e independientes del sector. Lee esto whitepaper para obtener más información sobre el impacto del SSDF en la industria del software.
- La Oficina de Gestión y Presupuesto de los Estados Unidos (OMB) publicó, en 2022, dos memorandos sobre la seguridad de la cadena de suministro de software y el papel de los SBOM para garantizar la seguridad y la integridad de la cadena de suministro de software. Las organizaciones deben cumplirlo para 2024 y garantizar la seguridad de su software y su cadena de suministro. Las agencias federales deben implementar pautas, incluido el intercambio de información y la obtención de artefactos de los proveedores.
- Los niveles de la cadena de suministro para artefactos de software (SLSA) Framework es un conjunto integral de controles y estándares de seguridad diseñados para garantizar la integridad de las cadenas de suministro de software. Fue desarrollado por OpenSSF, Google y otras partes interesadas en la ciberseguridad. Si se sigue este marco de un extremo a otro, se pueden evitar cambios no autorizados en los paquetes de software. La adopción de SLSA puede ayudar a proteger contra ataques comunes a la cadena de suministro.
- La Ley de Resiliencia Cibernética de la UE tiene como objetivo mejorar la ciberresiliencia de las organizaciones en la UE. Requiere que las organizaciones pongan a disposición SBOM para todos los productos de software que utilizan para ayudarlas a identificar y abordar posibles vulnerabilidades de seguridad desde el principio. La ley también exige que las organizaciones informen sobre las vulnerabilidades a ENISA/CERT-UE.
- El Centro de Seguridad de Internet (CIS) desarrolló la Guía de seguridad de la cadena de suministro de software CIS, que cubre las fases de la cadena de suministro de software, desde la contribución del código hasta la entrega a los consumidores finales. La guía proporciona las mejores prácticas para proteger la cadena de suministro de software, incluido el establecimiento de un programa de seguridad, la implementación de prácticas de desarrollo seguras, la realización de evaluaciones de seguridad periódicas de los proveedores, la implementación de controles de seguridad para la distribución y la implementación, y el monitoreo continuo de vulnerabilidades y ataques.
- tienda de firmas es un proyecto de código abierto centrado en proteger las cadenas de suministro de software. Proporciona un método para proteger mejor las cadenas de suministro de software de forma abierta, transparente y accesible. La clave para proteger las cadenas de suministro de software es firmar digitalmente los diversos artefactos que componen las aplicaciones. Sigstore tiene como objetivo hacer que la firma de software sea ubicua y más fácil al proporcionar una solución simplificada y más rápida, en comparación con las soluciones de firma digital tradicionales. El proyecto también crea un registro de actividad abierto e inmutable.
El objetivo y las tareas de la disciplina AppSec
El equipo de AppSec en organizaciones maduras de productores de software se enfoca en proteger el software mediante capacitación de desarrolladores, revisión de código, escaneo automático y monitoreo de dependencias. Las herramientas más comunes son las pruebas de software de aplicaciones estáticas y dinámicas (SAST y DAST) para probar aplicaciones y el análisis de composición de software (SCA) para detectar vulnerabilidades conocidas en dependencias de código abierto.
Para hacer frente al panorama de amenazas en evolución, se han ideado y adoptado varias soluciones más nuevas. Una de esas soluciones es el uso de herramientas de detección de secretos, que ayudan a las organizaciones a identificar secretos como credenciales, claves API y datos confidenciales que pueden haber sido revelados involuntariamente en el código. Además, se han creado nuevas herramientas de escaneo para detectar vulnerabilidades en contenedores e infraestructura como código (IaC) en entornos de computación en la nube, lo que permite a las organizaciones garantizar la seguridad de sus aplicaciones durante la transición a la nube.
Para gestionar la amplia gama de herramientas de seguridad, han surgido soluciones de orquestación para proporcionar una visión unificada de la seguridad en todo el SDLC. Estas soluciones centralizan la gestión de herramientas y políticas de seguridad, agilizando el proceso de seguridad y reduciendo el riesgo de vulnerabilidades perdidas.
La clasificación, la deduplicación y la priorización de las alertas de seguridad se encuentran entre los principales desafíos que enfrentan los propietarios de AppSec. Puede resultar abrumador gestionar el volumen de alertas y determinar cuáles requieren atención inmediata y cuáles pueden ignorarse. Además, los propietarios de AppSec deben evaluar el impacto de las vulnerabilidades en sus sistemas específicos, lo que requiere un conocimiento profundo de la tecnología y las aplicaciones.
El enfoque AppSec cubre el SDLC desde la escritura del código hasta la construcción, el empaquetado y las pruebas y es crucial para reducir las vulnerabilidades tanto en el código personalizado como en los componentes de código abierto, mitigando así la responsabilidad de los productores y operadores de software. Los proveedores líderes en este espacio incluyen Veracode, Checkmarx, Snyk, Synopsis y Fossa.
El siguiente diagrama ofrece una descripción general simplificada del mercado de AppSec y muestra varios actores clave.
Si bien las soluciones AppSec pueden ser efectivas para detectar vulnerabilidades conocidas y patrones de código inseguros, tienden a ser reactivas en lugar de proactivas; no reducen proactivamente la superficie de ataque. Además, el gran volumen de alertas de falsos positivos generadas por los escáneres puede dificultar que los desarrolladores se centren en los problemas de seguridad más críticos. El proceso de escaneo también puede llevar mucho tiempo y alterar el cronograma de desarrollo, agregando fricción al proceso de desarrollo y ralentizando el lanzamiento de nuevo software.
El papel emergente de la seguridad de la cadena de suministro de software
Las soluciones de AppSec pasan por alto áreas del SDLC que pueden ser vulnerables a ataques y que afectan la cadena de suministro de software. Estas áreas incluyen herramientas de desarrollo, repositorios de código, sistemas de administración de código fuente, servidores de compilación y sistemas de registro de artefactos, que pueden contener vulnerabilidades y configuraciones incorrectas.
Por otro lado, desde la perspectiva de los consumidores de software, una preocupación común es que el software de terceros pueda introducir vulnerabilidades de seguridad que son difíciles de detectar y mitigar. Es importante que los consumidores evalúen y examinen exhaustivamente el software que utilizan, así como que lo supervisen y actualicen periódicamente para reducir estos riesgos.
Para superar estos desafíos, tanto los productores como los consumidores de software deben adoptar un enfoque más amplio. Los productores de software deben integrarse en todas las etapas del SDLC y aprovechar las herramientas automatizadas para abordar las amenazas a la seguridad.
- Gestión de postura CI/CD – Para proteger la cadena de suministro de software, un SDLC seguro es crucial. La gestión de postura de CI/CD automatiza el descubrimiento y aplica prácticas de seguridad. La visibilidad del SDLC y el uso seguro de la infraestructura en entornos de desarrollo es un desafío para las empresas en estos días. La gestión de la postura de CI/CD debe incluir autenticación del servidor, restricciones en repositorios/depósitos públicos y caducidad de claves. Limitar las prácticas de desarrollo riesgosas, como ejecutar recursos no verificados y hacer referencia a imágenes alteradas externamente, mejora la seguridad del software y reduce el riesgo de ataques a la cadena de suministro.
- Atestación y Procedencia – Mantener la seguridad de la cadena de suministro de software requiere certificación (verificar la autenticidad del software) y rastrear su procedencia (origen, propiedad y custodia). La certificación y la procedencia informan las decisiones de confianza, lo que reduce el riesgo de manipulación, vulnerabilidades y seguridad inadecuada en el desarrollo, al tiempo que garantiza el cumplimiento de los estándares de la industria.
Para implementar eficazmente la certificación y la procedencia, se deben recopilar y firmar criptográficamente pruebas de fuentes como administradores de código fuente, herramientas de CI, servidores de compilación, etc. La evidencia incluye la identidad del desarrollador, prueba de revisión de código, hashes de archivos/artefactos y postura de seguridad de las herramientas. Las políticas sobre certificaciones garantizan un desarrollo y una construcción seguros, una validación de manipulación y el cumplimiento de estándares como SSDF y SLSA.
Las API y las soluciones de observabilidad existentes no pueden recopilar pruebas, firmar certificaciones ni crear rastros de procedencia. Se deben desarrollar nuevos agentes para rastrear los datos generados durante el SDLC y firmar pruebas de integridad y autenticidad.
Con el mismo fin, más allá del SDLC, tanto los productores como los consumidores de software deben buscar medios para lograr lo siguiente:
- Cumplimiento continuo – La verificación continua ayuda a mantener el cumplimiento y proteger contra vulnerabilidades incluso después de la implementación. Esto implica monitorear y verificar continuamente la seguridad de los componentes de software durante todo el proceso de desarrollo e implementación de software. Un SBOM es una herramienta importante para la verificación continua que enumera los componentes de software y sus versiones utilizadas en un proyecto. Los SBOM facilitan los análisis de vulnerabilidades, ayudan a las organizaciones a anticiparse a posibles amenazas a la seguridad y garantizan el cumplimiento de regulaciones y estándares como SSDF.
- Comparta SBOM y certificaciones y monitoree el riesgo continuamente – Tener SBOM y monitorear continuamente los riesgos potenciales es crucial para mantener la seguridad y el cumplimiento del software. Los SBOM brindan a los consumidores una forma de gestionar riesgos, detectar vulnerabilidades, rechazar componentes de baja reputación y garantizar la seguridad de la cadena de suministro mediante la certificación.
Los cuatro puntos anteriores son los cuatro pilares de la seguridad de la cadena de suministro de software y los criterios para elegir una solución en este campo.
Conclusión
A medida que el desarrollo de software y el uso de componentes de terceros continúan expandiéndose, la necesidad de un enfoque integral e integrado para la seguridad de la cadena de suministro de software se ha vuelto cada vez más importante. Las medidas tradicionales de AppSec siguen siendo importantes, pero ya no son suficientes para proteger completamente contra el cambiante panorama de amenazas, y las organizaciones deben adoptar un enfoque más holístico para garantizar la seguridad de su cadena de suministro de software.
Para superar los cambiantes desafíos de seguridad, actualmente somos testigos de la evolución de la seguridad de las aplicaciones hacia la seguridad de la cadena de suministro de software. Incluye una nueva generación de tecnologías y herramientas novedosas que intentan abordar estos desafíos. Los productores de software deben integrar nuevas tecnologías de seguridad que aprovechen los marcos y herramientas modernos, y deben hacerlo en todas las etapas del SDLC y utilizar herramientas automatizadas, como gestión de postura CI/CD, tecnología de certificación y procedencia, firma continua de código, cumplimiento y gobernanza continuos, y SBOM precisos y de alta fidelidad. Los consumidores de software deben exigir SBOM y más certificaciones basadas en evidencia de todos los aspectos de seguridad del software que consumen de forma continua, antes y después de la implementación del software en producción durante todo su ciclo de vida.
Herramientas y soluciones automatizadas como Escriba Ayude a las organizaciones a alcanzar un nuevo nivel de seguridad al proporcionar una plataforma de garantía de seguridad de código continuo basada en evidencia que pueda dar fe de la confiabilidad del ciclo de vida del desarrollo de software y de los componentes de software.
Para el Libro Blanco completo haga clic aquí >>>
Este contenido es presentado por Scribe Security, un proveedor líder de soluciones de seguridad de la cadena de suministro de software de extremo a extremo, que ofrece seguridad de última generación para artefactos de código y procesos de desarrollo y entrega de código en todas las cadenas de suministro de software. Más información.