c6.4 Segurança integrada ao pipeline (DevSecOps)
Integrar práticas de desenvolvimento seguro e testes automatizados de segurança ao ciclo de vida do software sob medida para prevenir vulnerabilidades comuns desde o projeto.
Requisito 6
Desenvolver e Manter Sistemas e Software Seguros
Sub-requisitos PCI cobertosCobertura mostrada por sub-controle do PCI DSS v4.0.1. “Coberto” = atendido por esta recomendação da AWS. “No roadmap” = técnico, planejado. “Sua responsabilidade” = controle organizacional/de processo. “Fora do escopo” = controle físico ou de terceiros não implementado na AWS.
6.2 O software sob medida e personalizado é desenvolvido de forma segura
- 6.2.1 Bespoke/custom software developed securely Coberto
- 6.2.2 Developers trained in software security at least annually Sua responsabilidade
- 6.2.3 Bespoke/custom software reviewed before release Coberto
- 6.2.3.1 Manual code reviews follow defined requirements Sua responsabilidade
- 6.2.4 Software engineering techniques prevent common attacks Coberto
6.3 As vulnerabilidades de segurança são identificadas e tratadas
- 6.3.1 Security vulnerabilities identified and risk-ranked Coberto
- 6.3.2 Inventory of bespoke/custom software and components maintained Coberto
- 6.3.3 All system components protected via patches (critical within 1 month) Coberto
Como implementar na AWS
Incorporar SAST, análise de dependências (SCA) e varredura de segredos no CodePipeline/CodeBuild. Varrer imagens no ECR com o Inspector antes da implantação. Capacitar desenvolvedores em codificação segura. Bloquear implantações com vulnerabilidades críticas.
Implementação prática
Como este controle é implementado em cada arquitetura de referência:
Desloque a segurança para a esquerda: coloque portões no pipeline com SAST, análise de dependências (SCA) e escaneamento de segredos, e escaneie imagens antes de implantar para que as vulnerabilidades críticas nunca cheguem à produção.
- Adicione SAST e escaneamento de segredos (por exemplo, CodeGuru Security) mais análise de dependências (SCA) como etapas do CodeBuild no CodePipeline que implanta a app.
- Escaneie a imagem de contêiner com o Amazon Inspector (escaneamento do ECR no push) antes da etapa de implantação.
- Falhe o build diante de achados críticos/altos para que o código vulnerável não seja promovido, e mantenha registros de treinamento em desenvolvimento seguro para os desenvolvedores.
Como validar: A definição do pipeline mostra as etapas de SAST/SCA/segredos e de escaneamento de imagem, e um build com um achado crítico plantado é bloqueado.
Evite: Escanear depois da implantação. Os achados já vivem na produção; coloque portões no pipeline para que os problemas críticos bloqueiem a promoção.
Execute uma única plataforma de CI/CD endurecida que implanta nas contas do CDE com os mesmos portões de segurança e papéis entre contas com privilégio mínimo.
- Opere uma plataforma de CI/CD compartilhada e endurecida em uma conta de ferramentas dedicada com os portões de segurança padrão incorporados.
- Implante nas contas do CDE por meio de papéis de implantação entre contas com escopo limitado (privilégio mínimo), nunca credenciais de longa duração.
- Aplique o mesmo escaneamento de imagens (Inspector) e o portão de bloqueio-diante-de-crítico para cada carga.
Como validar: Cada implantação do CDE flui pelo pipeline compartilhado com os portões aplicados, e os papéis de implantação têm escopo de privilégio mínimo.
Evite: Um pipeline por equipe com portões inconsistentes. Padronize em uma plataforma compartilhada para que cada carga receba as mesmas verificações aplicadas.
Validação PCI
Procedimentos de teste
- Examinar os procedimentos documentados de desenvolvimento de software para verificar que o software sob medida é desenvolvido de forma segura conforme todos os elementos do requisito (6.2.1).
- Examinar os registros de capacitação e entrevistar o pessoal para verificar que os desenvolvedores receberam formação em desenvolvimento seguro relevante ao seu papel e linguagens (6.2.2.b).
- Examinar a evidência de mudanças de código para verificar que o código sob medida é revisado antes de sua liberação conforme o requisito (6.2.3.b).
Evidência na AWS
- Definição do pipeline com etapas de SAST/SCA/varredura de segredos.
- Resultados de varreduras no CodeBuild/Inspector que bloqueiam implantações não conformes.
- Registros de capacitação em codificação segura da equipe de desenvolvimento.
Abordagem personalizada
Requer uma análise de risco direcionada (Req 12.3.2).
Objetivo da abordagem personalizada
- 6.2 — O software sob medida e personalizado é desenvolvido conforme o PCI DSS e processos de desenvolvimento seguro ao longo do ciclo de vida do software.
- 6.3 — As novas vulnerabilidades de sistemas e software que possam afetar a segurança dos dados da conta são monitoradas, catalogadas e avaliadas por risco, e os patches aplicáveis são instalados em um prazo apropriado.
Serviços AWS
Recursos de aprendizado
- Amazon CodeGuru Security (doc)
Referências
- AWS Security Maturity Model: Security in the pipeline
PCI DSS Security Maturity Model