1.2 Proteger el Software (PS)
1.2 Tareas de Proteger el Software (PS) para Código y Precompilación
Las organizaciones deben proteger todos los componentes de su software contra la manipulación y el acceso no autorizado.
PS.1: Proteger todas las formas de código contra el acceso no autorizado y la manipulación
Ayuda a prevenir cambios no autorizados en el código, tanto inadvertidos como intencionales, que podrían eludir o anular las características de seguridad previstas del software. Para el código que no está destinado a ser accesible públicamente, esto ayuda a evitar el robo del software y puede dificultar o alargar el tiempo que los atacantes necesitan para encontrar vulnerabilidades en él.
| Tareas | Herramientas |
|---|---|
|
PS.1.1:
Almacenar todas las formas de código – incluyendo código fuente, código ejecutable y configuración-como-código – basándose en el principio de menor privilegio para que solo el personal, herramientas, servicios, etc. autorizados tengan acceso. Almacenar todo el código fuente y la configuración-como-código en un repositorio de código, y restringir el acceso según la naturaleza del código. Por ejemplo, el código abierto destinado al acceso público puede requerir protección de integridad y disponibilidad; otro código puede también necesitar protección de confidencialidad. |
GitHub Proporciona un repositorio centralizado de código fuente con control de acceso, auditoría y cumplimiento de flujos de trabajo, apoyando prácticas SSDF para la gestión segura de código y control de cambios. |
|
GitLab Ofrece control de versiones integrado, CI/CD y flujos de trabajo de seguridad que permiten gobernanza, trazabilidad y procesos de desarrollo seguros alineados con SSDF. |
|
|
Bitbucket Apoya SSDF gestionando el código fuente con acceso basado en roles, opciones de integridad de commits y flujos de revisión obligatorios. |
|
|
SourceForge Aloja y distribuye proyectos de código abierto con control de versiones y gestión de releases, apoyando requisitos SSDF para procedencia y transparencia del código. |
|
|
Subversion Proporciona control de versiones centralizado permitiendo prácticas SSDF para seguimiento de cambios, auditoría y acceso controlado al código fuente. |
|
|
Git Permite historial inmutable, trazabilidad y flujos de desarrollo distribuidos, fundamentales para la integridad y responsabilidad del código en SSDF. |
|
|
GitBucket Ofrece hosting de repositorios Git con control de acceso y funciones de colaboración que apoyan la gobernanza segura de SSDF. |
|
|
Gitea Proporciona repositorios Git ligeros y autoalojados que cumplen con los requisitos SSDF de gestión controlada del código y auditabilidad. |
|
|
gittuf Refuerza el cumplimiento de SSDF aplicando políticas criptográficas y metadatos de confianza verificables sobre repositorios y flujos de trabajo Git. |
|
|
GitHub Signing Commits Garantiza la integridad del código alineada con SSDF verificando criptográficamente la identidad de los autores de los commits. |
|
|
Sigstore Permite la verificación de artefactos y commits alineada con SSDF mediante firmas criptográficas auditable y registros de transparencia sin claves. |
|
|
Github CODEOWNERS Aplica la separación de roles y responsabilidad SSDF exigiendo que los propietarios designados revisen y aprueben los cambios de código. |
|
|
GitHub Code Review Apoya el desarrollo seguro SSDF haciendo cumplir revisiones por pares, comprobaciones de políticas y puertas de aprobación antes de integrar código. |
|
|
Gitlab CODEOWNERS Implementa la asignación de responsabilidades SSDF enviando automáticamente los cambios a los revisores responsables. |
|
|
Gitlab Code Review Guidelines Establece estándares de revisión alineados con SSDF que reducen defectos y riesgos de seguridad antes de fusionar el código. |
PS.2 Proporcionar un Mecanismo para Verificar la Integridad del Software Lanzado
Ayuda a los adquirentes de software a asegurarse de que el software que adquieren sea legítimo y no haya sido manipulado.
| Tareas | Herramientas |
|---|---|
|
PS.2.1:
Hacer que la información de verificación de integridad del software esté disponible para los adquirentes de software. Publicar hashes criptográficos de los archivos de lanzamiento en un sitio web seguro. |
Apache Infrastructure Signing Releases Apoya SSDF asegurando que los lanzamientos de software de Apache estén firmados criptográficamente y sean verificables, estableciendo un origen confiable y protegiendo contra artefactos de distribución manipulados. |
|
OpenPGP Proporciona mecanismos criptográficos alineados con SSDF para firmar y verificar código y artefactos, garantizando autenticidad, integridad y no repudio. |
|
|
The GNU Privacy Guard Implementa los estándares OpenPGP para habilitar prácticas SSDF al firmar código fuente, commits y lanzamientos con identidad verificable del desarrollador. |
|
|
Let's Encrypt Apoya la entrega segura alineada con SSDF al emitir certificados TLS gratuitos y automáticos que protegen los canales de distribución de software y los servicios del desarrollador contra interceptaciones y manipulaciones. |
|
|
EJBCA Community Permite cumplir con SSDF proporcionando una PKI de código abierto para gestionar certificados usados para autenticar desarrolladores, sistemas y artefactos de software. |
|
|
Dogtag Certificate System Apoya los requisitos de confianza e identidad de SSDF al emitir y gestionar certificados digitales para la firma segura de software y la autenticación de infraestructura. |
|
|
OpenXPKI Proporciona gestión del ciclo de vida de certificados alineada con SSDF para establecer, auditar y aplicar confianza en las canalizaciones de desarrollo y liberación de software. |
|
|
Step-CA Habilita la automatización de identidad criptográfica según SSDF mediante la emisión de certificados de corta duración para desarrolladores, sistemas CI/CD y flujos de trabajo de firma de software. |
PS.3 Archivar y Proteger Cada Versión de Software
Conservar las versiones de software para ayudar a identificar, analizar y eliminar vulnerabilidades descubiertas en el software después de su lanzamiento.
| Tareas | Herramientas |
|---|---|
|
PS.3.1:
Archivar de manera segura los archivos necesarios y los datos de soporte (por ejemplo, información de verificación de integridad, datos de procedencia) que se deben conservar para cada versión de software. Almacenar los archivos de la versión, imágenes asociadas, etc., en repositorios siguiendo la política establecida por la organización. Permitir acceso de solo lectura al personal necesario y ningún acceso a otras personas.
PS.3.2:
Recopilar, proteger, mantener y compartir datos de procedencia de todos los componentes de cada versión de software (por ejemplo, en un Software Bill of Materials (SBOM)). Hacer que los datos de procedencia estén disponibles para los adquirentes de software de acuerdo con las políticas de la organización, preferiblemente usando formatos estandarizados. |
Permisos de Acceso en GitHub Aplica control de acceso basado en roles según SSDF restringiendo quién puede ver, modificar o administrar los repositorios de código fuente. |
|
Roles y Permisos de GitLab Soporta la gobernanza SSDF definiendo roles granulares que aplican el principio de mínimo privilegio y separación de funciones a lo largo del SDLC. |
|
|
Roles de Repositorio en GitHub para una Organización Implementa controles organizacionales SSDF estandarizando los niveles de permisos entre equipos y repositorios. |
|
|
Roles y Permisos de GitLab Implementa controles organizacionales SSDF estandarizando los niveles de permisos entre equipos y repositorios. |
|
|
Ortelius Extiende los controles SSDF más allá del código fuente al aplicar acceso, trazabilidad y responsabilidad sobre software desplegado, SBOMs y metadatos del entorno en vivo mediante un gemelo digital centrado en despliegue. |
|
|
Generador AI SBOM Soporta SSDF generando y manteniendo automáticamente SBOMs precisos que mejoran la visibilidad de componentes y la trazabilidad de vulnerabilidades en todo el SDLC. |
|
|
CycloneDX Permite la transparencia de componentes alineada con SSDF proporcionando un formato de SBOM estandarizado optimizado para seguridad, integridad y análisis de riesgos. |
|
|
Herramientas y Utilidades de Etiquetado SWID Apoyan las prácticas SSDF identificando de forma única los componentes de software instalados para permitir inventario de activos, rastreo de procedencia y correlación de vulnerabilidades. | |
|
SPDX Proporciona un estándar compatible con SSDF para documentar componentes de software, licencias y relaciones, apoyando la transparencia y cumplimiento en la cadena de suministro. |
|
|
bomctl Soporta el consumo de SBOMs SSDF validando, consultando y gestionando SBOMs a lo largo de los flujos de trabajo de construcción y liberación. |
|
|
OWASP Dependency-Check Permite la detección de vulnerabilidades SSDF identificando CVEs conocidos en dependencias de terceros durante el desarrollo y la construcción. | |
|
Dependency-Track Soporta la gestión de riesgos SSDF analizando continuamente SBOMs para monitorear vulnerabilidades de componentes y cumplimiento de políticas. |
|
|
Clair Contribuye a SSDF escaneando imágenes de contenedores para detectar vulnerabilidades conocidas antes del despliegue. |
|
|
Grype Soporta prácticas de construcción segura SSDF detectando vulnerabilidades conocidas en imágenes de contenedores y sistemas de archivos usando datos de SBOM. |
|
|
Ortelius Extiende SSDF más allá del tiempo de construcción correlacionando y agregando SBOMs, vulnerabilidades y metadatos de despliegue para identificar qué entornos en vivo están realmente en riesgo. |
|
|
Protobom Soporta la interoperabilidad SSDF proporcionando bibliotecas y herramientas reutilizables para generar y transformar SBOMs entre formatos. |
|
|
Syft Permite el descubrimiento de componentes SSDF generando SBOMs a partir de código fuente, contenedores y artefactos en ejecución. |
|
|
Hoppr Soporta el intercambio y descubrimiento de SBOMs SSDF permitiendo la distribución segura y recuperación de artefactos SBOM. |
|
|
Tern Contribuye a la transparencia SSDF analizando imágenes de contenedores para producir inventarios detallados de componentes y SBOMs. |
|
|
Trivy Soporta el desarrollo seguro SSDF escaneando vulnerabilidades, configuraciones incorrectas y secretos expuestos en código y artefactos. |
|
|
aoss-verifier Permite la validación de cumplimiento SSDF verificando la integridad y autenticidad de artefactos de código abierto. |
|
|
Sigstore Soporta la procedencia SSDF permitiendo la firma criptográficamente verificable de artefactos y SBOMs con registros de transparencia. |
|
|
Protocolo TLSNotary Contribuye a la confianza SSDF proporcionando prueba criptográfica de integridad de datos para metadatos de seguridad y dependencias obtenidos externamente. |
|
|
GitHub Actions Permite la automatización SSDF integrando controles de seguridad, generación de SBOMs y cumplimiento de políticas directamente en los flujos de trabajo de CI. |
|
|
GitLab CI/CD Soporta pipelines seguras SSDF integrando controles de construcción, prueba, escaneo y liberación dentro de un sistema CI/CD gobernado. |
|
|
Jenkins Servidor de automatización totalmente open-source, bajo licencia MIT, con un ecosistema extensible de plugins, ampliamente usado para implementar controles de seguridad CI/CD alineados a SSDF. |
|
|
Updatecli Soporta la remediación SSDF automatizando actualizaciones de dependencias, configuraciones y políticas de manera controlada y auditable. |
|
|
Renovate Permite el mantenimiento seguro SSDF actualizando automáticamente dependencias vulnerables mientras se preservan los controles de revisión y aprobación. |