3.3 Producir Software Bien Asegurado (PW)

3.3 Producir Software Bien Asegurado (PW) en los pasos de CI/CD posteriores al despliegue

3.3 Producir Software Bien Asegurado (PW) para tareas posteriores al despliegue

Las organizaciones deben producir software bien asegurado con vulnerabilidades de seguridad mínimas en sus versiones.


PW.1

Diseñar el software para cumplir con los requisitos de seguridad y mitigar los riesgos de seguridad: Identificar y evaluar los requisitos de seguridad del software; determinar qué riesgos de seguridad es probable que enfrente el software durante su operación y cómo el diseño y la arquitectura del software deben mitigar esos riesgos; y justificar cualquier caso en el que el análisis basado en riesgos indique que los requisitos de seguridad deben relajarse o eximirse. Abordar los requisitos y riesgos de seguridad durante el diseño del software (seguro por diseño) es clave para mejorar la seguridad del software y también ayuda a mejorar la eficiencia del desarrollo.


Para cumplir con SSDF PW.1 en un contexto posterior al despliegue usando herramientas de código abierto, el enfoque cambia a:

  • Mantener un registro a prueba de manipulaciones de cada componente de software en cada versión

  • Garantizar que los datos de procedencia permanezcan accesibles para auditorías, investigaciones y respuesta a vulnerabilidades

  • Permitir que adquirentes y usuarios posteriores verifiquen de manera independiente el origen y la integridad de cada componente

Tareas Herramientas
PW.1.1:

Usar formas de modelado de riesgos, como modelado de amenazas, modelado de ataques o mapeo de superficie de ataque, para ayudar a evaluar el riesgo de seguridad del software.

PW.1.2:

Rastrear y mantener los requisitos de seguridad, riesgos y decisiones de diseño del software.

PW.1.3:

Cuando sea apropiado, incorporar soporte para usar funciones y servicios de seguridad estandarizados (por ejemplo, permitir que el software se integre con sistemas existentes de gestión de logs, gestión de identidad, control de acceso y gestión de vulnerabilidades) en lugar de crear implementaciones propietarias de funciones y servicios de seguridad.

Semgrep

Análisis estático y dinámico que puede ejecutarse contra bases de código desplegadas en entornos espejo de staging para detectar patrones inseguros.

Wapiti

Escáner de seguridad de aplicaciones web para aplicaciones desplegadas.

Zap (Zed Attack Proxy)

Pruebas activas y pasivas de aplicaciones en vivo para detectar vulnerabilidades.

Inspec

Valida que las aplicaciones desplegadas cumplan con estándares de codificación segura.

Ortelius

Sincronización cada 10 minutos con OSV.dev para detectar nuevas vulnerabilidades en artefactos desplegados.

OpenSCAP

Escanea sistemas para verificar cumplimiento con líneas base relacionadas con codificación segura.

Falco

Registro y monitoreo: detecta comportamiento inseguro en tiempo de ejecución (por ejemplo, llamadas al sistema inseguras).

Wazuh

Monitorea logs de la aplicación y del sistema operativo para eventos relacionados con seguridad.

AuditD

Captura llamadas de sistema de bajo nivel relacionadas con la ejecución de código.

Syft

Genera SBOMs para aplicaciones desplegadas con monitoreo continuo.

Hoppr

Hoppr es un kit de utilidades de SBOM / cadena de suministro: el procesamiento y movimiento de “materiales” de la cadena de suministro se alinea con la recolección, mantenimiento y compartición de procedencia.

OWASP Dependency-Track

Rastrea continuamente SBOMs para detectar nuevas vulnerabilidades

Trivy

Escanea contenedores/sistemas de archivos desplegados para CVEs conocidas en código y dependencias.

Grype

Escaneo enfocado de vulnerabilidades para artefactos desplegados.

PW.2

Revisar el diseño del software para verificar el cumplimiento con los requisitos de seguridad y la información de riesgos: Ayudar a garantizar que el software cumpla con los requisitos de seguridad y aborde satisfactoriamente la información de riesgos identificada.


Para cumplir con SSDF PW.2 en un contexto posterior al despliegue usando herramientas de código abierto, el enfoque cambia a:

  • Verificación continua de que el código desplegado (fuente o binario) no ha sido manipulado.

  • Evaluación continua de vulnerabilidades en aplicaciones y componentes desplegados.

  • Disparadores de revisión de código posteriores a la liberación cuando se detecta una vulnerabilidad o incidente.

  • Evidencia auditable de que el software desplegado coincide con el código aprobado y revisado.

Tareas Herramientas
PW.2.1:

Tener (1) una persona calificada (o personas) que no hayan estado involucradas con el diseño y/o (2) procesos automatizados instanciados en la cadena de herramientas que revisen el diseño del software para confirmar y hacer cumplir que cumple con todos los requisitos de seguridad y aborda satisfactoriamente la información de riesgos identificada.

Sigstore Cosign

Verifica que los contenedores y binarios desplegados hayan sido firmados en tiempo de compilación.

Rekor

Almacena datos de verificación y attestations en un log evidente ante manipulaciones.

In-Toto

Garantiza que el código desplegado coincida con los pasos revisados del pipeline de build.

Tripwire OSS

Monitorea archivos desplegados para detectar cambios no autorizados.

Semgrep

Revisa código desplegado en espejo para detectar problemas de seguridad o violaciones de políticas.

GitHub CodeQL

Consultas avanzadas de código para detectar patrones de vulnerabilidad.

Wapiti

Escaneo de vulnerabilidades web contra endpoints desplegados.

Ortelius

Rastrea vulnerabilidades en endpoints en vivo para tiempos de remediación rápidos.

Zap (Zed Attack Proxy)

Pruebas DAST automatizadas y manuales para aplicaciones en vivo.

Nikto

Escaneo de vulnerabilidades enfocado en servidores.

OpenSCAP

Mapea resultados a líneas base de cumplimiento.

DefectDojo

Rastrea vulnerabilidades encontradas durante revisiones posteriores al despliegue y las vincula con la remediación.

PW.4

Reutilizar software existente y bien asegurado cuando sea factible en lugar de duplicar funcionalidad: Reducir los costos del desarrollo de software, acelerar el desarrollo y disminuir la probabilidad de introducir vulnerabilidades de seguridad adicionales en el software reutilizando módulos y servicios de software cuya postura de seguridad ya haya sido verificada. Esto es particularmente importante para software que implementa funcionalidades de seguridad, como módulos y protocolos criptográficos.


Nota: PW.3 fue movido a PW.4


Para cumplir con SSDF PW.4 en un contexto posterior al despliegue usando herramientas de código abierto, el enfoque cambia a:

  • La detección de vulnerabilidades se ejecuta continuamente en entornos de producción o equivalentes a producción.

  • Los resultados se triagean y asignan rápidamente.

  • Existe una ruta automatizada o semiautomatizada hacia la remediación (por ejemplo, parcheo, reconstrucción de imágenes o actualización de componentes).

  • Toda la actividad es auditable y está vinculada a los artefactos de liberación.

Tareas Herramientas
PW.4.1:

Adquirir y mantener componentes de software bien asegurados (por ejemplo, bibliotecas, módulos, middleware, frameworks) de proveedores comerciales, de código abierto y otros desarrolladores externos para ser utilizados por el software de la organización.

PW.4.2:

Crear y mantener componentes de software bien asegurados internamente siguiendo procesos SDLC para cubrir necesidades comunes de desarrollo interno que no puedan satisfacerse mejor con componentes de terceros.

PW.4.3:

Movido a PW.1.3

PW.4.4:

Verificar que los componentes de software comerciales, de código abierto y todos los demás componentes de terceros adquiridos cumplan con los requisitos definidos por la organización durante todo su ciclo de vida.

Git

Almacena reportes de vulnerabilidades firmados y metadatos de commits de parches.

Rekor

Registra de forma inmutable resultados de escaneo, remediaciones y firmas.

Ortelius

La auditoría y retención de evidencia rastrea qué entornos están ejecutando qué versión, permitiendo el redespliegue dirigido de builds parchados.

Trivy

Escanea contenedores en ejecución, sistemas de archivos y clústeres Kubernetes; también genera SBOMs.

Grype

Escaneo de vulnerabilidades impulsado por SBOM para imágenes y directorios.

Clair

Monitorea registros de contenedores para detectar imágenes vulnerables.

OpenVAS / Greenbone

Escaneo de vulnerabilidades de red y hosts.

Syft

Genera SBOMs desde entornos desplegados.

OWASP Dependency-Track

Monitorea SBOMs para detectar nuevos CVEs y violaciones de políticas.

Vulnix

Escaneo de vulnerabilidades basado en Nix a partir de entradas SBOM.

Kyverno

Controlador de admisión nativo de Kubernetes que aplica umbrales de vulnerabilidad.

Falco

Detecta anomalías en tiempo de ejecución que pueden indicar explotación.

Nikto

Escaneo de vulnerabilidades enfocado en servidores.

Keel

Automatiza redespliegues de contenedores cuando se publica una nueva imagen.

Kured

Reinicios automatizados de nodos Kubernetes para parcheo del kernel.

DefectDojo

Centraliza datos de vulnerabilidades provenientes de escáneres; asigna tareas de remediación y rastrea SLAs.

The Hive

Respuesta a incidentes y coordinación para eventos urgentes de vulnerabilidades.

PW.5

Crear código fuente adhiriéndose a prácticas de codificación segura: Disminuir la cantidad de vulnerabilidades de seguridad en el software y reducir costos minimizando las vulnerabilidades introducidas durante la creación del código fuente que cumplan o superen los criterios de severidad de vulnerabilidad definidos por la organización.


Para cumplir con SSDF PW.5 en un contexto posterior al despliegue usando herramientas de código abierto, el enfoque cambia a:

  • Verificación continua de la integridad, el cumplimiento y la postura de seguridad del software desplegado.

  • Validaciones continuas para asegurar que el software en ejecución siga cumpliendo los requisitos de seguridad que tenía al momento de la liberación.

  • Detección de drift, nuevas vulnerabilidades introducidas y cambios de configuración.

  • Mantenimiento de evidencia verificable de estas validaciones a lo largo del tiempo.

Tareas Herramientas
PW.5.1:

Seguir todas las prácticas de codificación segura apropiadas para los lenguajes de desarrollo y el entorno, con el fin de cumplir los requisitos de la organización.

Trivy

Escaneos continuos de contenedores desplegados, sistemas de archivos y clústeres Kubernetes.

Grype

Detecta CVEs en SBOMs o imágenes desplegadas.

Clair

Escaneo continuo de vulnerabilidades para imágenes en registros.

Syft

Genera SBOMs desde sistemas en ejecución para monitoreo continuo.

Inspec

Define y ejecuta validaciones de cumplimiento (CIS, NIST, políticas específicas de la organización) contra entornos desplegados.

OpenSCAP

Evalúa sistemas en ejecución contra líneas base de seguridad.

Kube-bench

Valida despliegues de Kubernetes contra benchmarks CIS.

Kube-hunter

Identifica posibles rutas de ataque en clústeres Kubernetes desplegados.

Falco

Detecta cambios en tiempo de ejecución en archivos, procesos y comportamiento de red.

AIDE

Monitoreo de integridad de archivos para asegurar que binarios/configuraciones no sean alterados.

osquery

Consulta el estado del sistema para detectar cambios de configuración no autorizados.

Open Policy Agent

Aplica políticas continuas de cumplimiento en tiempo de ejecución.

Kyverno

Motor de políticas nativo de Kubernetes para prevenir actualizaciones inseguras.

DefectDojo

Centraliza resultados de verificación y rastrea problemas a lo largo del tiempo.

Rekor

Almacena reportes de verificación firmados en un registro a prueba de manipulaciones.

PW.6

Configurar los procesos de compilación, intérprete y build para mejorar la seguridad del ejecutable: Disminuir la cantidad de vulnerabilidades de seguridad en el software y reducir costos eliminando vulnerabilidades antes de que ocurran las pruebas.


Para cumplir con SSDF PW.6 en un contexto posterior al despliegue usando herramientas de código abierto, el enfoque cambia a:

  • Ejecutar escaneos programados sobre contenedores en ejecución, máquinas virtuales y registros; integrarlos con monitoreo de SBOM

  • Mantener SBOMs para el software desplegado; monitorear nuevos CVEs.

  • Puntuar hallazgos (CVSS, EPSS); priorizar correcciones según severidad y explotabilidad.

  • Reconstruir/redesplegar automáticamente cuando haya imágenes parchadas disponibles.

Tareas Herramientas
PW.6.1:

Usar compiladores, intérpretes y herramientas de build que ofrezcan funcionalidades para mejorar la seguridad del ejecutable.

PW.6.2:

Determinar qué funcionalidades de compiladores, intérpretes y herramientas de build deben usarse y cómo debe configurarse cada una, luego implementar y usar las configuraciones aprobadas.

Trivy

Trivy ejecuta escaneos semanales sobre todas las imágenes de contenedores y hosts de producción → los resultados son firmados y registrados en Rekor.

Syft

Regenera SBOMs para artefactos desplegados y marca nuevos CVEs.

DefectDojo

Puntuación CVSS + asignación de SLA a los responsables.

Keel

Reconstrucción/redespliegue automático cuando haya imágenes parchadas disponibles.

Kured

Reinicios automatizados de nodos Kubernetes para parcheo del kernel.

Argo Rollouts

Usa despliegues canary/escalonados para versiones parchadas.

OpenVAS

Ejecuta escaneos programados en contenedores en ejecución, máquinas virtuales y registros; se integra con monitoreo de SBOM.

Rekor

Almacena registros firmados de detección, triage, corrección y verificación.

PW.7

Revisar y/o analizar código legible por humanos para identificar vulnerabilidades y verificar el cumplimiento con los requisitos de seguridad: Ayudar a identificar vulnerabilidades para que puedan corregirse antes de que el software sea liberado y así prevenir su explotación. El uso de métodos automatizados reduce el esfuerzo y los recursos necesarios para detectar vulnerabilidades. El código legible por humanos incluye código fuente, scripts y cualquier otra forma de código que la organización considere legible por humanos.


Para cumplir con SSDF PW.7 en un contexto posterior al despliegue usando herramientas de código abierto, el enfoque cambia a:

  • Mantener un registro que demuestre que la versión desplegada pasó por el proceso requerido por la organización de revisión de código y/o análisis automatizado.

  • Garantizar que todos los parches de emergencia/hotfix enviados después del despliegue también sean revisados o analizados, incluso si se hace después de la liberación.

  • Mantener evidencia lista para auditoría.

Tareas Herramientas
PW.7.1:

Determinar si debe utilizarse revisión de código (una persona observa directamente el código para encontrar problemas) y/o análisis de código (se usan herramientas para encontrar problemas en el código, ya sea de forma totalmente automatizada o en conjunto con una persona), según lo definido por la organización.

PW.7.2:

Realizar la revisión de código y/o el análisis de código con base en los estándares de codificación segura de la organización, y registrar y triagear todos los problemas descubiertos y las remediaciones recomendadas en el flujo de trabajo del equipo de desarrollo o en el sistema de seguimiento de issues.

Semgrep

Ejecuta SAST contra el código exacto vinculado a los binarios desplegados; incluye escaneo de dependencias.

GitHub CodeQL

Vuelve a ejecutar el análisis de código en espejos de producción.

DefectDojo

Mantiene registros inmutables de todas las revisiones, aprobaciones y ejecuciones de análisis automatizado.

Rekor

Commits firmados, historial de ramas protegidas y resultados de escaneo.

PW.8

Probar código ejecutable para identificar vulnerabilidades y verificar el cumplimiento con los requisitos de seguridad: Ayudar a identificar vulnerabilidades para que puedan ser corregidas antes de que el software sea liberado con el fin de prevenir su explotación. El uso de métodos automatizados reduce el esfuerzo y los recursos necesarios para detectar vulnerabilidades y mejora la trazabilidad y la repetibilidad. El código ejecutable incluye binarios, bytecode ejecutado directamente y código fuente,
y cualquier otra forma de código que la organización considere ejecutable.


Para cumplir con SSDF PW.8 en un contexto posterior al despliegue usando herramientas de código abierto, el enfoque cambia a:

  • Probar continuamente los ejecutables desplegados para detectar vulnerabilidades

  • Verificar el cumplimiento con los requisitos de seguridad

  • Retroalimentar los hallazgos al desarrollo

Tareas Herramientas
PW.8.1:

Determinar si debe realizarse pruebas de código ejecutable para encontrar vulnerabilidades no identificadas por revisiones, análisis o pruebas previas y, de ser así, qué tipos de pruebas deben utilizarse.

PW.8.2:

Definir el alcance de las pruebas, diseñarlas, ejecutarlas y documentar los resultados, incluyendo el registro y triage de todos los problemas descubiertos y las remediaciones recomendadas en el flujo de trabajo del equipo de desarrollo o en el sistema de seguimiento de issues.

Trivy

Escanea contenedores y sistemas de archivos desplegados para detectar CVEs conocidas en código y dependencias.

Grype

Escaneo enfocado de vulnerabilidades para artefactos desplegados.

Ortelius

Sincronización cada 10 minutos con OSV.dev para detección de nuevas vulnerabilidades en artefactos desplegados.

OpenVAS / Greenbone

Escaneo de vulnerabilidades de red y hosts.

Inspec

Mapea resultados de escaneo a estándares de seguridad (NIST, CIS, OWASP ASVS).

OpenSCAP

Resultados de escaneo de cumplimiento, perfiles base, documentación de excepciones.

Wapiti

DAST, fuzzing y monitoreo en tiempo de ejecución para detectar comportamiento inseguro.

Zap (Zed Attack Proxy)

Reportes de DAST y fuzzing.

PW.9

Configurar el software para que tenga configuraciones seguras por defecto: Ayudar a mejorar la seguridad del software en el momento de la instalación para reducir la probabilidad de que el software sea desplegado con configuraciones de seguridad débiles, poniéndolo en mayor riesgo de compromiso.


Para cumplir con SSDF PW.9 en un contexto posterior al despliegue usando herramientas de código abierto, el enfoque cambia a:

  • Verificar el software y la infraestructura desplegados contra la línea base de configuración segura de la organización (por ejemplo, NIST 800-53, CIS Benchmarks, DISA STIGs).

  • Usar policy-as-code y herramientas de gestión de configuración para mantener los sistemas desplegados en cumplimiento.

  • Integrar validaciones de configuración dentro del monitoreo en tiempo de ejecución

Tareas Herramientas
PW.9.1:

Definir una línea base segura determinando cómo configurar cada ajuste que tenga efecto en la seguridad o que sea un ajuste relacionado con seguridad, de modo que la configuración por defecto sea segura y no debilite las funciones de seguridad proporcionadas por la plataforma, la infraestructura de red o los servicios.

PW.9.2:

Implementar las configuraciones por defecto (o grupos de configuraciones por defecto, si aplica) y documentar cada configuración para los administradores del software.

Ortelius

Monitorea continuamente drift en configuraciones de contenedores.

Inspec

Compara sistemas desplegados contra líneas base seguras de configuración (NIST, CIS, STIG).

OpenSCAP

Compara sistemas desplegados contra líneas base seguras de configuración (NIST, CIS, STIG).

Falco

Monitorea continuamente cambios de configuración; alerta o autorremedia desviaciones.

Wazuh

Logs de detección de drift y acciones de remediación.

Ansible

Policy-as-code y gestión de configuración para asegurar que todos los despliegues coincidan con la línea base.

Saltstack

Playbooks de configuración, logs de enforcement e historial de cambios de políticas.

Git

Almacena resultados de escaneo firmados y registros de detección de drift en sistemas evidentes ante manipulaciones.