c6.4 Seguridad integrada en el pipeline (DevSecOps)
Integrar prácticas de desarrollo seguro y pruebas automatizadas de seguridad en el ciclo de vida del software a la medida para prevenir vulnerabilidades comunes desde el diseño.
Requisito 6
Develop and Maintain Secure Systems and Software
Sub-requisitos PCI cubiertosCobertura mostrada por sub-control de PCI DSS v4.0.1. “Cubierto” = atendido por esta recomendación de AWS. “En roadmap” = técnico, planeado. “Tu responsabilidad” = control organizacional/de proceso. “Fuera de alcance” = control físico o de terceros no implementado en AWS.
6.2 Desarrollo seguro del software a la medida
- 6.2.1 Bespoke/custom software developed securely Cubierto
- 6.2.2 Developers trained in software security at least annually Tu responsabilidad
- 6.2.3 Bespoke/custom software reviewed before release Cubierto
- 6.2.3.1 Manual code reviews follow defined requirements Tu responsabilidad
- 6.2.4 Software engineering techniques prevent common attacks Cubierto
6.3 Identificación y atención de vulnerabilidades de seguridad
- 6.3.1 Security vulnerabilities identified and risk-ranked Cubierto
- 6.3.2 Inventory of bespoke/custom software and components maintained Cubierto
- 6.3.3 All system components protected via patches (critical within 1 month) Cubierto
Cómo implementarlo en AWS
Incorporar SAST, análisis de dependencias (SCA) y escaneo de secretos en CodePipeline/CodeBuild. Escanear imágenes en ECR con Inspector antes del despliegue. Capacitar a desarrolladores en codificación segura. Bloquear despliegues con vulnerabilidades críticas.
Implementación práctica
Cómo se implementa este control en cada arquitectura de referencia:
Desplaza la seguridad a la izquierda: pon puertas en el pipeline con SAST, análisis de dependencias (SCA) y escaneo de secretos, y escanea imágenes antes de desplegar para que las vulnerabilidades críticas nunca lleguen a producción.
- Añade SAST y escaneo de secretos (p. ej. CodeGuru Security) más análisis de dependencias (SCA) como etapas de CodeBuild en el CodePipeline que despliega la app.
- Escanea la imagen de contenedor con Amazon Inspector (escaneo de ECR al hacer push) antes de la etapa de despliegue.
- Falla el build ante hallazgos críticos/altos para que el código vulnerable no se promueva, y conserva registros de capacitación en desarrollo seguro para los desarrolladores.
Cómo validar: La definición del pipeline muestra las etapas de SAST/SCA/secretos y de escaneo de imagen, y un build con un hallazgo crítico plantado es bloqueado.
Evita: Escanear después del despliegue. Los hallazgos ya viven en producción; pon puertas en el pipeline para que los problemas críticos bloqueen la promoción.
Ejecuta una sola plataforma de CI/CD endurecida que despliega en las cuentas del CDE con las mismas puertas de seguridad y roles entre cuentas con privilegio mínimo.
- Opera una plataforma de CI/CD compartida y endurecida en una cuenta de herramientas dedicada con las puertas de seguridad estándar incorporadas.
- Despliega en las cuentas del CDE mediante roles de despliegue entre cuentas con alcance limitado (privilegio mínimo), nunca credenciales de larga duración.
- Aplica el mismo escaneo de imágenes (Inspector) y la puerta de bloqueo-ante-crítico para cada carga.
Cómo validar: Cada despliegue del CDE fluye por el pipeline compartido con las puertas aplicadas, y los roles de despliegue tienen alcance de privilegio mínimo.
Evita: Un pipeline por equipo con puertas inconsistentes. Estandariza en una plataforma compartida para que cada carga reciba las mismas verificaciones aplicadas.
Validación PCI
Procedimientos de prueba
- Examinar los procedimientos documentados de desarrollo de software para verificar que el software a la medida se desarrolla de forma segura conforme a todos los elementos del requisito (6.2.1).
- Examinar los registros de capacitación y entrevistar al personal para verificar que los desarrolladores recibieron formación en desarrollo seguro relevante a su rol y lenguajes (6.2.2.b).
- Examinar la evidencia de cambios de código para verificar que el código a la medida se revisa antes de su liberación conforme al requisito (6.2.3.b).
Evidencia en AWS
- Definición del pipeline con etapas SAST/SCA/escaneo de secretos.
- Resultados de escaneos en CodeBuild/Inspector que bloquean despliegues no conformes.
- Registros de capacitación en codificación segura del equipo de desarrollo.
Enfoque personalizado
Requiere un análisis de riesgo dirigido (Req 12.3.2).
Objetivo del enfoque personalizado
- 6.2 — El software a la medida y personalizado se desarrolla conforme a PCI DSS y a procesos de desarrollo seguro a lo largo del ciclo de vida del software.
- 6.3 — Las nuevas vulnerabilidades de sistemas y software que puedan afectar la seguridad de los datos de cuenta se monitorean, catalogan y evalúan por riesgo, y los parches aplicables se instalan en un plazo apropiado.
Servicios AWS
Recursos de aprendizaje
- Amazon CodeGuru Security (doc)
Referencias
- AWS Security Maturity Model: Security in the pipeline
PCI DSS Security Maturity Model