Compartir a través de


Confianza cero para el acceso al código fuente (Secure Future Initiative)

Nombre del pilar: Protección de sistemas de ingeniería
Nombre del patrón: Confianza cero para el acceso al código fuente

Microsoft adoptó un enfoque de confianza cero para proteger su código fuente, lo que requiere comprobaciones comprobadas por identidades para todos los cambios de código. Entre las medidas clave se incluye la autenticación multifactor para las solicitudes de incorporación de cambios y protecciones estrictas para las ramas de producción, lo que reduce el riesgo de combinaciones no autorizadas.

Contexto y problema

El código fuente es uno de los recursos más valiosos de cualquier organización. En Microsoft, decenas de miles de repositorios y millones de líneas de código respaldan los servicios y productos usados por miles de millones en todo el mundo. Esto hace que el código fuente sea un objetivo de alto valor para los adversarios, que pueden aprovechar el acceso no autorizado para insertar cambios malintencionados, robar la propiedad intelectual o perjudicar la confianza del cliente.

Históricamente, las protecciones como los permisos de repositorio y las directivas de rama proporcionan una línea de base de control. Sin embargo, a medida que los atacantes crecen más sofisticados, aprovechando las credenciales robadas, la automatización y los vectores de cadena de suministro, los controles de acceso tradicionales ya no son suficientes. Los incidentes en todo el sector muestran cómo una sola cuenta en peligro o una solicitud de incorporación de cambios desactivada pueden tener un impacto descendente en millones de usuarios.

Para abordar esto, Microsoft operacionalizó un enfoque de confianza cero para el acceso al código fuente para ayudar a garantizar que ningún código llegue a producción sin comprobaciones rigurosas, comprobadas por identidades y auditables.

Solución

El enfoque de Microsoft aplica los principios de confianza cero directamente a los sistemas de ingeniería. Esto significa que el acceso al código fuente y la capacidad de combinar cambios en ramas de producción requieren la comprobación continua, el cumplimiento de privilegios mínimos y una prueba de presencia sólida.

Entre los elementos clave se incluyen:

  • Prueba de Presencia para Pull Requests (PoP PR): Introducido en 2024 y desplegado en 61 000 repositorios, PoP PR garantiza que cada pull request a una rama protegida sea autenticado por una persona real y verificada mediante autenticación multifactor (MFA).
  • Métodos de autenticación en capas: En función de la confidencialidad del proyecto, los ingenieros usan autenticadores de software (Windows Hello, Face ID), tokens de hardware (FIDO2 YubiKeys) o identidades de producción vinculadas a estaciones de trabajo de acceso seguro (SAW).
  • Clasificación y aplicación de ramas: Las ramas de producción (main, master, default) se etiquetan y protegen automáticamente, lo que garantiza la aplicación uniforme en toda la empresa.
  • Gobernanza de excepciones: Se realiza un seguimiento de las exenciones limitadas, revisadas y auditables (por ejemplo, para la automatización) en un sistema de administración de activos de software con cierre de sesión ejecutivo.

Al insertar comprobaciones de Confianza cero en el ciclo de vida de desarrollo de software, Microsoft evita combinaciones de código no autorizadas, reduce el riesgo de elevación de privilegios y refuerza la responsabilidad.

Orientación

Las organizaciones pueden adoptar un patrón similar mediante las siguientes prácticas accionables:

Caso de uso Acción recomendada Recurso
Acceso condicional - Cree una directiva de acceso condicional para requerir que los usuarios que accedan al modelo de implementación clásica usen la autenticación multifactor (MFA). Requerir MFA para la administración de Azure con acceso condicional
Seguridad de la autenticación - Utilice tokens de seguridad por hardware FIDO2 o identidades vinculadas a una Estación de Trabajo de Acceso Seguro (SAW) para repositorios de alta sensibilidad. Planear una implementación de autenticación sin contraseña resistente a la suplantación de identidad en Microsoft Entra ID
Excepciones de Automatización - Limitar las exenciones a los casos en los que la revisión humana es inviable; realizar un seguimiento de las aprobaciones en un sistema de gobernanza. Revisión del registro de auditoría de su organización: Documentos de GitHub
Rigor de revisión de código - Requerir al menos dos revisores y aplicar políticas de compilación exitosas antes de la combinación. Configuración y directivas de rama de Git: Azure DevOps
Canalizaciones seguras de forma predeterminada - Integrar GitHub Advanced Security para el examen de secretos, la administración de dependencias y el análisis de código. Acerca de Seguridad avanzada de GitHub

Beneficios

  • Mayor resistencia de la cadena de suministro: Impide cambios no autorizados o automatizados en el código de producción.
  • Responsabilidad mejorada: Cada cambio es rastreable a un individuo comprobado con registros auditables.
  • Protección escalable: Integración en un conjunto estandarizado y compartido de herramientas y reglas que proporcionan protecciones para más de 100 000 ingenieros con una interrupción mínima.

Compromisos

  • Fricción del desarrollador: La autenticación multifactor implementada en los puntos de combinación puede agregar tiempo y generar inconvenientes percibidos.
  • Inversión en infraestructura: Requiere tokens de hardware, estaciones de trabajo de acceso seguro (SAW) e integración con plataformas de ingeniería.
  • Administración de exenciones: La gobernanza de escenarios automatizados exige una supervisión continua.
  • Curva de adopción: Los equipos deben ajustar los flujos de trabajo para que se alineen con políticas de aplicación y ramificación más estrictas.

Factores clave de éxito

Para realizar un seguimiento del éxito, mida lo siguiente:

  • Porcentaje de repositorios de producción protegidos por directivas de prueba de presencia (PoP).
  • Número diario de solicitudes de incorporación de cambios autenticadas completadas sin omisión de directivas.
  • Reducción de intentos de combinación de código no autorizados o anómalos.
  • Cumplimiento de los requisitos de auditoría internos para la administración de excepciones.
  • Métricas de satisfacción y adopción de ingenieros equilibradas con el cumplimiento con las normas de seguridad.

Resumen

Confianza cero para el acceso al código fuente ayuda a garantizar que la propiedad intelectual más crítica de Microsoft (su código fuente) esté mejor protegida contra amenazas internas, credenciales comprometidas y ataques automatizados. Al requerir pruebas de presencia, aplicar la clasificación de ramas y escalar protecciones de confianza cero, Microsoft ha reforzado toda su cadena de suministro de software.

Con las prácticas adecuadas, las organizaciones pueden aplicar el mismo enfoque: aplicar comprobaciones de identidad sólidas en cada combinación de código, adoptar la autenticación respaldada por MFA y la autenticación respaldada por hardware y mantener la gobernanza auditable. Estas medidas crean un sistema de ingeniería resistente que mantiene la productividad y la seguridad de los desarrolladores.

Adopte Confianza cero para el acceso al código fuente en la actualidad y proteja la integridad del ciclo de vida de desarrollo de software.