Seguridad de la cadena de suministro del software

Google Cloud proporciona un conjunto integral y modular de capacidades y herramientas en los productos de Google Cloud que tus equipos de desarrollo, DevOps y seguridad pueden usar para mejorar la posición de seguridad de tu cadena de suministro de software.

Cadenas de suministro de software

Una cadena de suministro de software consta de 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 supervisión y los comentarios, la comunicación y la aprobación del sistema
  • Sistemas en los que confías para desarrollar, compilar, almacenar y ejecutar tu software y sus dependencias.

Dada la complejidad y el amplio alcance de las cadenas de suministro de software, existen numerosas formas de introducir cambios no autorizados en el software que entregas a tus usuarios. Estos vectores de ataque abarcan el ciclo de vida del software. Si bien algunos ataques son dirigidos, como el ataque al sistema de compilación de SolarWinds, otras amenazas son indirectas o ingresan a la cadena de suministro a través de debilidades en el proceso o negligencia.

Por ejemplo, una evaluación de la vulnerabilidad de Apache Log4j en diciembre de 2021 por parte del equipo de Google Open Source Insights reveló 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, sino que tenían dependencias que requerían el paquete.

Las prácticas y los procesos de desarrollo también afectan las cadenas de suministro de software. Las brechas 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 el código incorrecto ingrese de forma no intencional en la cadena de suministro. Del mismo modo, la falta de administración de dependencias aumenta el riesgo de vulnerabilidades provenientes de fuentes externas o paquetes de software que usas para el desarrollo, las compilaciones 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 en la Google Cloud consola que proporcionan información de seguridad sobre el código fuente, las compilaciones, los artefactos, las implementaciones y los 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 con el framework de Niveles de cadena de suministro para artefactos de software (SLSA).

En el siguiente diagrama, se muestran los Google Cloud servicios que trabajan en conjunto 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

Protege el entorno de desarrollo

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

Cloud Workstations cambia el enfoque de seguridad hacia la izquierda, ya que mejora la postura de seguridad de tus entornos de desarrollo de aplicaciones. Las funciones de seguridad incluyen los Controles del servicio de VPC, la entrada o salida privadas, la actualización obligatoria de imágenes y las políticas de acceso de Identity and Access Management. Cloud Workstations proporciona capacidades adicionales de prevención de pérdida de datos cuando se combina con Chrome Enterprise Premium.

Protege el 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 de código abierto hace que este problema sea particularmente difícil.

  • Assured Open Source Software proporciona paquetes de código abierto que Google verificó y probó. Estos paquetes se compilan con las canalizaciones seguras de Google y se analizan, examinan y prueban periódicamente para detectar vulnerabilidades.

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

    • Los repositorios remotos almacenan artefactos de fuentes externas predeterminadas, 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. El almacenamiento en caché de artefactos en repositorios remotos reduce el tiempo de descarga, mejora la disponibilidad de los paquetes y, si está habilitado, incluye el análisis de vulnerabilidades.
    • Los repositorios virtuales consolidan repositorios del mismo formato detrás de un solo extremo y te permiten controlar el orden de búsqueda en los repositorios upstream. Puedes priorizar tus paquetes privados, lo que reduce el riesgo de ataques de confusión de dependencias.
    • También puedes proteger los artefactos configurando funciones de seguridad, como el control de acceso, los perímetros de servicio de los Controles del servicio de VPC, las políticas de la organización y otras funciones de seguridad. Para obtener más detalles, consulta la documentación de Artifact Registry.
  • Artifact Analysis detecta de forma proactiva vulnerabilidades en los artefactos de Artifact Registry.

Protege la canalización de CI/CD

Las personas que actúan de mala fe pueden atacar las cadenas de suministro de software comprometiendo las canalizaciones de CI/CD. Los siguientes productos te ayudan a proteger tu canalización de CI/CD:

  • Cloud Build ejecuta tus compilaciones en la infraestructura de Google Cloud. Las funciones de seguridad incluyen permisos detallados de IAM, Controles del servicio de VPC y entornos de compilación aislados y efímeros. Las funciones específicas para la seguridad de la cadena de suministro de software incluyen lo siguiente:

    • Compatibilidad con compilaciones de SLSA de nivel 3 para imágenes de contenedor
    • Capacidad de generar una procedencia de compilación autenticada y no falsificable para aplicaciones en contenedores.
    • Estadísticas de seguridad para aplicaciones integradas Esto incluye lo siguiente:

      • Es el nivel de compilación de SLSA, que identifica el nivel de madurez de tu proceso de compilación de software de acuerdo con la especificación de SLSA.
      • Vulnerabilidades en los artefactos de compilación
      • Procedencia de la compilación, que es una colección de metadatos verificables sobre una compilación Incluye detalles como los resúmenes de las imágenes compiladas, las ubicaciones de la fuente 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 ver las estadísticas de seguridad de las aplicaciones compiladas, consulta Compila una aplicación y consulta las estadísticas de seguridad.

  • Cloud Deploy automatiza la entrega 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 reversiones con un solo clic, seguridad y auditoría empresariales, y métricas de entrega integradas. Además, muestra estadísticas de seguridad para las aplicaciones implementadas.

Protege las aplicaciones en producción

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

  • GKE puede evaluar tu postura de seguridad de contenedores y brindar orientación activa sobre la configuración del clúster, la configuración de la carga de trabajo y las vulnerabilidades. GKE incluye un panel de postura de seguridad que proporciona recomendaciones prácticas y bien definidas para mejorar tu postura de seguridad. Para obtener instrucciones sobre cómo ver estadísticas de seguridad en el panel de postura de seguridad de GKE, consulta Realiza implementaciones en GKE y consulta estadísticas de seguridad.

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

Crea una cadena de confianza a través de la política

La autorización binaria ayuda a establecer, mantener y verificar una cadena de confianza a lo largo de tu cadena de suministro de software mediante la recopilación de certificaciones, que son documentos digitales que certifican imágenes.

Una certificación indica que la imagen asociada se compiló mediante la ejecución correcta de un proceso específico obligatorio. Según estas certificaciones recopiladas, la Autorización binaria ayuda a definir, verificar y aplicar políticas basadas en la confianza. Garantiza que la imagen se implemente solo cuando las certificaciones cumplan con la política de tu organización. Puedes configurar la Autorización binaria para que te notifique si encuentra incumplimientos de 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 Google Cloud servicio tiene su propio precio. Para obtener más información, consulta la documentación de precios de los servicios que te interesan.

¿Qué sigue?