Seguridad de la cadena de suministro de software

Google Cloud proporciona un conjunto completo y modular de funciones y herramientas en los productos de Google Cloud que pueden usar tus desarrolladores, equipos de DevOps y equipos de seguridad para mejorar la postura de seguridad de tu cadena de suministro de software.

Cadenas de suministro de software

Una cadena de suministro de software está formada por todo el código, las personas, los sistemas y los procesos que contribuyen al desarrollo y la entrega de tu software, tanto dentro como fuera de tu organización. Incluye lo siguiente:

  • 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 para el acceso, las pruebas, la revisión, la monitorización y los comentarios, la comunicación y la aprobación de los sistemas.
  • Sistemas en los que confías para desarrollar, compilar, almacenar y ejecutar tu software y sus dependencias.

Dada la gran cobertura y la complejidad de las cadenas de suministro de software, hay muchas formas de introducir cambios no autorizados en el software que proporcionas a tus usuarios. Estos vectores de ataque abarcan todo el ciclo de vida del software. Aunque algunos ataques son selectivos, como el ataque al sistema de compilación de SolarWinds, otras amenazas son indirectas o entran en la cadena de suministro a través de vulnerabilidades en los procesos o por negligencia.

Por ejemplo, una evaluación de la vulnerabilidad de Apache Log4j realizada en diciembre del 2021 por el equipo de Google Open Source Insights descubrió que había más de 17.000 paquetes afectados en Maven Central. La mayoría de estos paquetes no dependían directamente del paquete log4j-core vulnerable, pero tenían dependencias que requerían el paquete.

Las prácticas y los procesos de desarrollo también influyen en las cadenas de suministro de software. Los fallos en los procesos, como la falta de revisión del código o de criterios de seguridad para la implementación en producción, pueden permitir que se introduzca código incorrecto en la cadena de suministro sin querer. Del mismo modo, la falta de gestión de dependencias aumenta el riesgo de que se produzcan vulnerabilidades en fuentes externas o paquetes de software que utilices para el desarrollo, la compilación o la implementación.

Protege las cadenas de suministro de software en Google Cloud

Google Cloud proporciona lo siguiente:

  • Productos y funciones que incorporan prácticas recomendadas de seguridad para el desarrollo, la compilación, las pruebas, la implementación y la aplicación de políticas.
  • Paneles de control en la Google Cloud consola que proporcionan información de seguridad sobre fuentes, compilaciones, artefactos, implementaciones y tiempos de ejecución. Esta información incluye vulnerabilidades en artefactos de compilación, procedencia de compilación y listas de dependencias de la lista de materiales de software (SBOM).
  • Información que identifica el nivel de madurez de la seguridad de tu cadena de suministro de software mediante el framework Supply chain Levels for Software Artifacts (SLSA).

En el siguiente diagrama se muestran los Google Cloud servicios que trabajan conjuntamente para proteger la cadena de suministro de software. Puedes integrar algunos o todos estos componentes en tu cadena de suministro de software para mejorar tu postura de seguridad.

Google Cloud componentes de la cadena de suministro de software

Proteger el entorno de desarrollo

Cloud Workstations proporciona entornos de desarrollo totalmente gestionados en Google Cloud. Los administradores de TI y de seguridad pueden aprovisionar, escalar, gestionar y proteger sus entornos de desarrollo. Los desarrolladores pueden acceder a entornos de desarrollo con configuraciones coherentes y herramientas personalizables.

Cloud Workstations implementa tareas de seguridad al inicio del proceso de desarrollo mejorando la seguridad de tus entornos de desarrollo de aplicaciones. Entre las funciones de seguridad se incluyen Controles de Servicio de VPC, entrada o salida privadas, actualizaciones de imágenes forzadas y políticas de acceso de gestión de identidades y accesos. Cloud Workstations ofrece funciones adicionales de prevención de la pérdida de datos cuando se combina con Chrome Enterprise Premium.

Protege la cadena de suministro de software

Proteger el suministro de software (artefactos de compilación y dependencias de aplicaciones) es un paso fundamental para mejorar la seguridad de tu cadena de suministro de software. El uso generalizado de software libre hace que este problema sea especialmente difícil.

  • Assured Open Source Software proporciona paquetes de código abierto que Google ha verificado y probado. Estos paquetes se crean con flujos de procesamiento seguros de Google y se analizan, analizan y analizan en busca de vulnerabilidades de forma periódica.

  • Artifact Registry es un gestor de paquetes universal para todos tus artefactos y dependencias de compilación. Al centralizar todos tus artefactos y dependencias, tienes más visibilidad y control sobre el código de tu cadena de suministro de software.

    • Los repositorios remotos almacenan artefactos de fuentes externas predefinidas, como Docker Hub, Maven Central, el índice de paquetes de Python (PyPI), Debian o CentOS, así como fuentes definidas por el usuario para formatos compatibles. Al almacenar en caché los artefactos en repositorios remotos, se reduce el tiempo de descarga, se mejora la disponibilidad de los paquetes y se incluye el análisis de vulnerabilidades si está habilitado.
    • Los repositorios virtuales consolidan repositorios del mismo formato en un único endpoint y te permiten controlar el orden de búsqueda en los repositorios de upstream. Puedes priorizar tus paquetes privados, lo que reduce el riesgo de ataques de confusión de dependencias.
    • También puede proteger los artefactos configurando funciones de seguridad como el control de acceso, los perímetros de servicio de Controles de Servicio de VPC, las políticas de la organización y otras funciones de seguridad. Para obtener más información, consulta la documentación de Artifact Registry.
  • Artifact Analysis detecta de forma proactiva las vulnerabilidades de los artefactos de Artifact Registry.

Proteger el flujo de procesamiento de CI/CD

Los agentes perniciosos pueden atacar las cadenas de suministro de software vulnerando las canalizaciones de CI/CD. Los siguientes productos te ayudan a proteger tu flujo de procesamiento de CI/CD:

  • Cloud Build ejecuta tus compilaciones en la Google Cloud infraestructura. Las funciones de seguridad incluyen permisos de gestión de identidades y accesos detallados, Controles de Servicio de VPC y entornos de compilación aislados y efímeros. Entre las funciones específicas de la seguridad de la cadena de suministro de software se incluyen las siguientes:

    • Compatibilidad con compilaciones de nivel 3 de SLSA para imágenes de contenedor.
    • Posibilidad de generar procedencia de compilación autenticada y no falsificable para aplicaciones en contenedores.
    • Estadísticas de seguridad de las aplicaciones creadas. Entre los datos que recoge se incluyen los siguientes:

      • El nivel de compilación de SLSA, que identifica el nivel de madurez del proceso de compilación de tu software de acuerdo con la especificación de SLSA.
      • Vulnerabilidades en los artefactos de compilación.
      • Crea la procedencia, que es un conjunto de metadatos verificables sobre una compilación. Incluye detalles como los resúmenes de las imágenes compiladas, las ubicaciones de origen de entrada, la cadena de herramientas de compilación, los pasos de compilación y la duración de la compilación.

    Para obtener instrucciones sobre cómo consultar estadísticas de seguridad de aplicaciones compiladas, consulta el artículo Crear una aplicación y consultar estadísticas de seguridad.

  • Cloud Deploy automatiza el envío de tus aplicaciones a una serie de entornos de destino en una secuencia definida. Admite la entrega continua directamente a Google Kubernetes Engine, GKE Enterprise y Cloud Run, con aprobaciones y restauraciones con un solo clic, seguridad y auditoría empresariales, así como métricas de entrega integradas. Además, muestra estadísticas de seguridad de las aplicaciones implementadas.

Proteger aplicaciones en producción

Google Kubernetes Engine (GKE) y Cloud Run ayudan a mejorar la seguridad de tus entornos de ejecución. Ambos incluyen funciones de seguridad para proteger tus aplicaciones en tiempo de ejecución.

  • GKE puede evaluar tu postura de seguridad de contenedores y ofrecerte orientación activa sobre la configuración de clústeres, la configuración de cargas de trabajo y las vulnerabilidades. GKE incluye un panel de control de la postura de seguridad que proporciona recomendaciones útiles y basadas en opiniones para mejorar tu postura de seguridad. Para obtener instrucciones sobre cómo ver información valiosa sobre seguridad en el panel de control de postura de seguridad de GKE, consulta el artículo Desplegar en GKE y consultar información valiosa sobre seguridad.

  • Cloud Run incluye un panel de seguridad que muestra estadísticas sobre la seguridad de la cadena de suministro de software, como información sobre el cumplimiento del nivel de compilación de SLSA, la procedencia de la compilación y las vulnerabilidades encontradas en los servicios en ejecución. Para obtener instrucciones sobre cómo consultar estadísticas de seguridad en el panel de estadísticas de seguridad de Cloud Run, consulta Desplegar en Cloud Run y consultar estadísticas de seguridad.

Crear una cadena de confianza mediante políticas

Autorización binaria ayuda a establecer, mantener y verificar una cadena de confianza en tu cadena de suministro de software mediante la recogida de atestaciones, que son documentos digitales que certifican imágenes.

Una certificación significa que la imagen asociada se ha creado ejecutando correctamente un proceso específico obligatorio. Según las atestaciones recogidas, Autorización binaria ayuda a definir, verificar y aplicar políticas basadas en la confianza. De esta forma, la imagen solo se despliega cuando las atestaciones cumplen la política de tu organización. Puedes configurar Autorización binaria para que te avise si detecta alguna infracción de las políticas.

Por ejemplo, las certificaciones pueden indicar que una imagen es:

Puedes usar la autorización binaria con GKE y Cloud Run.

Precios

Cada servicio de Google Cloud tiene sus propios precios. Para obtener más información, consulta la documentación de precios de los servicios que te interesen.

Siguientes pasos