Seguridad de la cadena de suministro del software

Google Cloud proporciona un conjunto integral y modular de funciones y herramientas en todos los productos de Google Cloud que tus desarrolladores, equipos de DevOps y de seguridad pueden usar para mejorar la postura 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. It includes:

  • 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 al sistema, las pruebas, las revisiones, la supervisión y los comentarios, la comunicación y la aprobación.
  • Sistemas de confianza para desarrollar, compilar, almacenar y ejecutar tu software y sus dependencias.

Debido al amplio alcance y la complejidad de las cadenas de suministro de software, existen varias formas de realizar cambios no autorizados en el software que les 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 que realizó el equipo de Google Open Source Insights en diciembre de 2021 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, pero tenían dependencias que lo requerían.

Las prácticas y los procesos de desarrollo también afectan a las cadenas de suministro de software. Las brechas en el proceso, como la falta de revisión de código o los criterios de seguridad para la implementación en producción, pueden permitir que el código incorrecto ingrese a la cadena de suministro de forma involuntaria. De manera similar, la falta de administración de dependencias aumenta el riesgo de vulnerabilidades 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 consola de Google Cloud que proporcionan información de seguridad sobre la fuente, las compilaciones, los artefactos, las implementaciones y los tiempos de ejecución Esta información incluye vulnerabilidades en los artefactos de compilación, la procedencia de la compilación y las 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 la cadena de suministro para artefactos de software (SLSA)

En el siguiente diagrama, se muestran los servicios de Google Cloud 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.

Componentes de la cadena de suministro de software de Google Cloud

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 mejorando la postura de seguridad de los entornos de desarrollo de tus aplicaciones. Las funciones de seguridad incluyen Controles del servicio de VPC, entrada o salida privadas, actualización de imágenes forzada y políticas de acceso de Identity and Access Management. Cloud Workstations proporcionan funciones adicionales de prevención de pérdida de datos cuando se combinan con Chrome Enterprise Premium.

Protege el suministro de software

Proteger el suministro de software (compila artefactos y dependencias de la aplicación) es un paso fundamental para mejorar la seguridad de tu cadena de suministro de software. El uso generalizado del software de código abierto hace que este problema sea particularmente desafiante.

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

  • Artifact Registry es un administrador de paquetes universal para todos tus artefactos de compilación y dependencias. Cuando centralizas 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 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 las vulnerabilidades de los artefactos en Artifact Registry.

Protege la canalización de CI/CD

Las personas o entidades 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. Entre las funciones específicas de la seguridad de la cadena de suministro de software, se incluyen las siguientes:

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

      • El nivel de compilación de SLSA, que identifica el nivel de madurez de tu proceso de compilación de software según la especificación de SLSA
      • Vulnerabilidades en los artefactos de compilación
      • La 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.

    Si deseas obtener instrucciones para 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 clic, auditoría y seguridad empresarial, así como 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. Ambas incluyen funciones de seguridad para proteger tus aplicaciones durante el tiempo de ejecución.

  • GKE puede evaluar la postura de seguridad de tus 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 a nivel de la compilación de 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 políticas

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 certificación, 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 obligatorio específico. En función de estas certificaciones recopiladas, la Autorización binaria ayuda a definir, verificar y aplicar políticas basadas en la confianza. Se asegura de 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 tiene las siguientes características:

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 interesan.

¿Qué sigue?