Los marcos de trabajo y los enfoques modernos para el desarrollo de software se enfocan en la velocidad y la confiabilidad de la entrega de software, así como en la propiedad compartida entre las partes interesadas en el software.
Además de la práctica de DevOps de cambiar a la izquierda en la seguridad, muchas otras prácticas de DevOps contribuyen a entregar software más seguro. Una mayor colaboración entre las partes interesadas, la visibilidad del trabajo, las compilaciones reproducibles, las pruebas automatizadas y los cambios incrementales son prácticas que pueden admitir la seguridad del software. De hecho, en el Informe State of DevOps de Accelerate 2022, se descubrió que las culturas de mayor confianza tienen más probabilidades de adoptar prácticas para fortalecer la cadena de suministro de software, y el uso de IC/EC ayuda a implementar prácticas de seguridad.
Sin embargo, los frameworks de desarrollo modernos carecen de orientación que ayude a las organizaciones a comprender las amenazas a su software, a evaluar su capacidad de detectar y responder a las amenazas, así como a implementar mitigaciones. También tienden a enfocarse específicamente en el código y los procesos dentro de una organización, y ignoran los factores externos que pueden afectar la integridad de las aplicaciones. Por ejemplo, un ataque que compromete un paquete de software de código abierto afecta a cualquier código que dependa directa o indirectamente de ese paquete. Los ataques a la cadena de suministro de software como estos aumentaron drásticamente desde 2020.
Cadenas de suministro de software
Una cadena de suministro de software consiste en todo el código, las personas, los sistemas y los procesos que contribuyen al desarrollo y la entrega de tu software, dentro y fuera de tu organización. En él, encontrará la siguiente información:
- El código que creas, sus dependencias y el software interno y externo que usas para desarrollar, compilar, empaquetar, instalar y ejecutar tu software.
- Procesos y políticas de acceso al sistema, pruebas, revisión, supervisión y comentarios, comunicación y aprobación
- Sistemas en los que confías para desarrollar, compilar, almacenar y ejecutar tu software y sus dependencias.
Dado el amplio alcance y la complejidad de la cadena de suministro de software, existen diversas formas de introducir cambios no autorizados en el software que entregas a los usuarios. Estos vectores de ataque abarcan todo el ciclo de vida del software. Si bien algunos ataques son el objetivo, como el ataque al sistema de compilación SolarWinds, otras amenazas son indirectas o ingresan a la cadena de suministro a través de debilidades en el proceso o negligencia.
Por ejemplo, en una entrada de blog sobre la vulnerabilidad de ejecución remota en Apache Log4j de diciembre de 2021, el equipo de estadísticas de código abierto de Google observó que había más de 17,000 paquetes afectados en Maven Central. La mayoría de los paquetes afectados no dependían directamente del paquete log4j-core
vulnerable, pero tenían dependencias que lo requerían.
Las brechas en el proceso, como la falta de revisión del código o los criterios de seguridad para la implementación en producción, pueden permitir que el código incorrecto ingrese de forma involuntaria a la cadena de suministro. De manera similar, el código malicioso puede ingresar al software si compilas con código fuente fuera del sistema de control de versiones de confianza o si empaquetas y, luego, implementas aplicaciones desde sistemas fuera del sistema de compilación de confianza y los repositorios de artefactos.
Según el estado de la cadena de suministro de software de 2021, el uso de software de código abierto y los ataques a las cadenas de suministro de software aumentaron considerablemente entre 2020 y 2021:
- Se produjo un aumento interanual del 650% en los ataques a la cadena de suministro de software en 2021.
- La disponibilidad y la demanda de paquetes de código abierto sigue aumentando, con un aumento interanual del 73% en las descargas de componentes de código abierto en 2021.
- Las vulnerabilidades son las más comunes en los proyectos de código abierto más populares.
Para proteger la integridad de tu software, es importante comprender tu posición de seguridad: cuán preparada está tu organización para detectar, responder y solucionar amenazas.
Requisitos de cumplimiento y marcos de evaluación
La creciente preocupación sobre la seguridad de la cadena de suministro generó la creación de nuevas reglamentaciones gubernamentales específicas para la seguridad de la cadena de suministro, como las siguientes:
- Órdenes ejecutivas de Estados Unidos
- Directiva sobre seguridad de redes y seguridad de la información 2 de la Unión Europea
Están surgiendo nuevos frameworks para ayudar a las organizaciones a evaluar su posición de seguridad y aprender sobre las mitigaciones ante amenazas.
- Supply Chain Levels for Software Artifacts (SLSA), un marco de trabajo de código abierto inspirado en las prácticas de seguridad de software de Google.
- Marcos de trabajo de organizaciones gubernamentales, como las siguientes:
- Instituto Nacional de Normas y Tecnología (NIST) Marco de trabajo de desarrollo de software seguro (SSDF) (Estados Unidos)
- Marco de evaluación de seguridad cibernética (Reino Unido)
Estos marcos de trabajo toman prácticas de seguridad de software establecidas y las estructuran en un formato que te ayuda a identificar las amenazas de seguridad que necesitas abordar y qué medidas tomar para mitigarlas.
Protege tu cadena de suministro de software en Google Cloud
Software Delivery Shield proporciona una solución de seguridad de cadena de suministro de software completamente administrada en Google Cloud. Incorpora prácticas recomendadas, incluidas las prácticas en frameworks como SLSA y NIST SSDF. Adoptas los componentes de la solución de forma gradual, según tus prioridades y necesidades.
¿Qué sigue?
- Obtén información sobre las amenazas a las cadenas de suministro de software.
- Evalúa tu postura de seguridad existente para poder identificar formas de fortalecerla.
- Obtén más información sobre las prácticas para proteger la cadena de suministro de software y cómo pueden ayudar las funciones de Software Delivery Shield.
- Obtén más información sobre Software Delivery Shield y prueba las guías de inicio rápido.