📋 1. Âmbito e Objetivos
1.1 Âmbito de Aplicação
Esta política aplica-se a [todos os projetos de desenvolvimento de software da organização], incluindo [aplicações internas, soluções cloud-native, APIs e integrações], e é obrigatória para [equipas de desenvolvimento, DevOps, QA e arquitetura].
1.2 Objetivos de Segurança no SDLC
- Segurança by Design: Integrar segurança desde [a fase de requisitos até manutenção] através de [threat modeling e security reviews]
- Redução de Vulnerabilidades: Minimizar falhas de segurança através de [código seguro, testes automatizados e análise estática] com objetivo de [zero vulnerabilidades críticas em produção]
- Conformidade NIS2: Garantir que [todos os sistemas essenciais] cumprem [Artigo 21 (2) - medidas de cibersegurança]
- Rastreabilidade: Manter [evidências auditáveis de todas as atividades de segurança] durante [todo o ciclo de vida do software]
1.3 Conformidade Regulamentar
NIS2 Artigo 21 (2): [Medidas para lidar com segurança de sistemas de rede e informação]
ISO 27001:2022:
- Controlo 8.25: [Ciclo de vida de desenvolvimento seguro]
- Controlo 8.28: [Codificação segura]
- Controlo 8.29: [Testes de segurança em desenvolvimento e aceitação]
Frameworks de Referência: [NIST SSDF, OWASP SAMM Level 2, BSIMM]
1.4 Papéis e Responsabilidades
Security Champion: [Presente em cada equipa de desenvolvimento, promove práticas seguras]
CISO/Security Team: [Aprovação de arquitetura, threat modeling, pentesting]
Development Lead: [Responsável por code reviews e qualidade de código seguro]
DevSecOps Engineer: [Implementação de pipeline seguro, automação de testes]
🔄 2. Fases do SDLC Seguro
2.1 Fase 1: Levantamento de Requisitos
Requisitos de Segurança:
- Identificação de [dados sensíveis (RGPD compliance)] e respetiva [classificação (Público, Interno, Confidencial, Secreto)]
- Requisitos de autenticação: [MFA obrigatória para acesso administrativo]
- Requisitos de autorização: [RBAC com princípio de menor privilégio]
- Requisitos de logging: [Auditoria de acessos e alterações críticas]
- Requisitos de disponibilidade: [SLA de 99.9% para sistemas críticos]
Artefactos Obrigatórios: [Security Requirements Document, Data Flow Diagram]
Critérios de Aprovação: [Revisão e aprovação pelo Security Team]
2.2 Fase 2: Design e Arquitetura
Threat Modeling:
- Metodologia: [STRIDE (Spoofing, Tampering, Repudiation, Info Disclosure, DoS, Elevation)]
- Ferramenta: [Microsoft Threat Modeling Tool, OWASP Threat Dragon]
- Frequência: [Obrigatório para novos projetos e alterações arquiteturais major]
- Participantes: [Arquiteto, Security Champion, CISO]
Security Design Principles:
- Defense in Depth: [Múltiplas camadas de segurança]
- Fail Secure: [Falhas resultam em estado seguro, não em bypass]
- Separation of Duties: [Funções críticas requerem múltiplas aprovações]
- Privacy by Design: [Minimização de dados, pseudonimização]
Artefactos Obrigatórios: [Threat Model Report, Security Architecture Review]
2.3 Fase 3: Desenvolvimento
Práticas de Código Seguro:
- Seguir [OWASP Secure Coding Practices] e [linguagem-specific guidelines (Java, Python, JavaScript)]
- Validação de inputs: [Whitelist validation, sanitização de outputs]
- Gestão de secrets: [Nunca hardcoded, usar HashiCorp Vault/AWS Secrets Manager]
- Criptografia: [TLS 1.3 para transporte, AES-256-GCM para armazenamento]
Code Review Obrigatório:
- Processo: [Pull Request com aprovação de 2 revisores, incluindo Security Champion]
- Checklist de segurança: [Validação de inputs, gestão de erros, logging adequado]
- Ferramentas: [GitHub Advanced Security, GitLab Security Dashboard]
Análise Estática (SAST): [SonarQube, Checkmarx, executado automaticamente em cada commit]
2.4 Fase 4: Testes
Testes de Segurança Obrigatórios:
- Unit Tests de Segurança: [Testes de validação de inputs, boundary conditions]
- DAST (Dynamic Analysis): [OWASP ZAP, Burp Suite Pro em ambiente de staging]
- SCA (Dependency Scanning): [Snyk, OWASP Dependency-Check para vulnerabilidades conhecidas]
- Container Scanning: [Trivy, Clair para imagens Docker]
- Penetration Testing: [Obrigatório para sistemas críticos antes de produção]
Critérios de Aceitação: [Zero vulnerabilidades críticas, máximo 5 de severidade alta com plano de remediação]
2.5 Fase 5: Deployment
Pipeline de Deployment Seguro:
- Aprovações: [Security sign-off obrigatório para produção]
- Configuração: [Hardening de servidores, princípio de menor privilégio]
- Secrets Management: [Rotação automática de credenciais, sem secrets em código]
- Rollback Plan: [Capacidade de reverter deployment em menos de 15 minutos]
Verificações Pós-Deployment:
- Smoke tests de segurança: [Verificação de TLS, headers de segurança]
- Configuração de logging: [Integração com SIEM]
- Monitoring de segurança: [Alertas para anomalias]
2.6 Fase 6: Operação e Manutenção
Gestão de Patches:
- Patches críticos: [Aplicados em menos de 48 horas]
- Patches de segurança: [Aplicados em menos de 7 dias]
- Patches regulares: [Aplicados mensalmente]
Monitorização Contínua:
- Vulnerability scanning: [Semanal em produção]
- Log analysis: [SIEM com detecção de anomalias]
- Security metrics: [MTTR de vulnerabilidades, coverage de testes]
Decommissioning Seguro: [Remoção de dados, revogação de acessos, documentação de EOL]
⚙️ 3. Práticas DevSecOps
3.1 CI/CD Security Pipeline
Plataforma CI/CD: [Jenkins, GitLab CI/CD, GitHub Actions]
Gates de Segurança Automáticos:
- Pre-commit: [Git hooks para secrets scanning (TruffleHog, git-secrets)]
- Build: [SAST (SonarQube), SCA (Snyk), linting de segurança]
- Test: [Security unit tests, DAST automático]
- Deploy: [Container scanning, compliance checks]
Política de Break-the-Build: [Pipeline falha se: vulnerabilidades críticas, secrets expostos, testes de segurança < 80%]
3.2 Infrastructure as Code (IaC) Security
Ferramentas IaC: [Terraform, CloudFormation, Ansible]
Scanning de IaC:
- Ferramentas: [Checkov, tfsec, Terraform Sentinel]
- Políticas verificadas: [Encriptação habilitada, security groups restritivos, logging ativado]
- Frequência: [Cada commit, antes de apply]
Gestão de Estado: [State files encriptados, backend remoto (S3 + DynamoDB), versionamento]
Least Privilege IaC: [IAM policies mínimas, sem wildcards em produção]
3.3 Container Security
Registry Seguro:
- Registry privado: [Harbor, AWS ECR, Azure ACR]
- Scanning de imagens: [Trivy, Clair executado em push]
- Assinatura de imagens: [Docker Content Trust, Cosign/Sigstore]
Base Images Aprovadas:
- Lista permitida: [Alpine 3.18+, Ubuntu 22.04 LTS, Red Hat UBI]
- Proibidas: [Imagens com :latest tag, não-oficiais sem auditoria]
- Atualização: [Rebuild mensal de imagens base]
Runtime Security: [Falco para detecção de anomalias, AppArmor/SELinux profiles]
Kubernetes Security:
- Pod Security Standards: [Restricted policy em produção]
- Network Policies: [Default deny, allow explícito]
- RBAC: [Princípio de menor privilégio]
3.4 Secrets Management
Solução de Secrets: [HashiCorp Vault, AWS Secrets Manager, Azure Key Vault]
Política de Secrets:
- Proibido: Secrets em código, variáveis de ambiente plaintext, ConfigMaps não encriptados
- Obrigatório: [Rotação automática a cada 90 dias]
- Acesso: [Baseado em service accounts/IAM roles, não credenciais estáticas]
Scanning de Secrets: [GitGuardian, TruffleHog em pre-commit e CI/CD]
💻 4. Normas de Código Seguro
4.1 OWASP Top 10 - Contramedidas Obrigatórias
| Vulnerabilidade |
Contramedida |
Verificação |
| A01 Broken Access Control |
Validação server-side, RBAC, deny by default |
Testes de autorização em unit tests |
| A02 Cryptographic Failures |
TLS 1.3, AES-256-GCM, bcrypt para passwords |
SSL Labs scan, code review |
| A03 Injection |
Prepared statements, ORMs, input validation |
SAST, DAST com fuzzing |
| A04 Insecure Design |
Threat modeling, security architecture review |
Design review com CISO |
| A05 Security Misconfiguration |
Hardening automático, IaC scanning |
CIS benchmarks, compliance checks |
| A06 Vulnerable Components |
SCA automático, patching regular |
Snyk, Dependabot, SBOM gerado |
| A07 Authentication Failures |
MFA, rate limiting, account lockout |
Testes de brute-force |
| A08 Data Integrity Failures |
Digital signatures, integrity checks |
Verificação de assinaturas |
| A09 Logging Failures |
Logging centralizado, alertas SIEM |
Log coverage > 90% |
| A10 SSRF |
Whitelist de destinos, validação de URLs |
DAST com payloads SSRF |
4.2 Input Validation
Princípio: [Whitelist validation - aceitar apenas o conhecido como válido]
Validação Obrigatória:
- Tipo de dados: [String, integer, email, UUID]
- Comprimento: [Máximos definidos para prevenir DoS]
- Formato: [Regex patterns para formatos específicos]
- Range: [Min/max values para numéricos]
Sanitização de Output: [Context-aware encoding (HTML, JavaScript, SQL, OS commands)]
4.3 Gestão de Erros e Logging
Tratamento de Erros:
- Mensagens genéricas ao utilizador: [Sem revelação de stack traces ou detalhes internos]
- Logging detalhado: [Erros completos no backend com correlationId]
- Fail secure: [Erro resulta em negação de acesso, não bypass]
Logging de Segurança (eventos obrigatórios):
- Autenticação: [Login, logout, falhas]
- Autorização: [Access denied, privilege escalation attempts]
- Alterações críticas: [CRUD em dados sensíveis, mudanças de configuração]
- Anomalias: [Rate limiting triggered, input validation failures]
Informação NUNCA em logs: [Passwords, tokens, cartões de crédito, PII sem masking]
4.4 Autenticação e Sessões
Passwords:
- Hashing: [bcrypt, Argon2id (nunca MD5/SHA1)]
- Requisitos mínimos: [12 caracteres, complexidade verificada contra listas de passwords comuns]
- Reset seguro: [Token único, expiração em 1 hora, verificação de email]
Sessões:
- Tokens: [JWT com RS256, expiração curta (15 min), refresh tokens rotativos]
- Cookies: [HttpOnly, Secure, SameSite=Strict]
- Timeout: [Inatividade: 30 min, absoluto: 8 horas]
Multi-Factor Authentication: [Obrigatório para admin, implementar TOTP ou WebAuthn]
4.5 Comunicação Segura
TLS/SSL:
- Versão mínima: [TLS 1.2, recomendado TLS 1.3]
- Cipher suites: [Apenas forward secrecy (ECDHE), AES-GCM]
- Certificados: [Let's Encrypt ou CA pública, renovação automática]
- HSTS: [max-age=31536000; includeSubDomains; preload]
APIs:
- Autenticação: [OAuth 2.0 + PKCE, API keys com rate limiting]
- Rate limiting: [Por IP e por API key, progressive delays]
- CORS: [Whitelist explícita de origens, sem '*']
🔍 5. Testes de Segurança
5.1 Static Application Security Testing (SAST)
Ferramenta primária: [SonarQube Enterprise]
Ferramentas secundárias: [Checkmarx, Semgrep, Fortify]
Frequência: [Cada commit em PR, scan completo diário]
Linguagens suportadas: [Java, Python, JavaScript/TypeScript, C#, Go]
Critério de aprovação: [Zero críticas, máximo 10 altas com justificação]
Métricas monitorizadas:
- Code coverage de segurança: [Mínimo 80%]
- Vulnerabilidades por 1000 LOC: [Objetivo: < 0.5]
- Mean Time to Remediate: [Objetivo: < 7 dias]
5.2 Dynamic Application Security Testing (DAST)
Ferramenta primária: [OWASP ZAP]
Ferramentas secundárias: [Burp Suite Pro, Acunetix]
Ambientes:
- Staging: [Scan automático após cada deployment]
- Produção: [Scan mensal em janela de manutenção]
Testes incluídos:
- OWASP Top 10: [XSS, SQL Injection, CSRF, etc.]
- Authentication/Authorization: [Bypass attempts, privilege escalation]
- Business logic: [Casos específicos da aplicação]
False positive management: [Triagem por Security Team, suppressions documentadas]
5.3 Software Composition Analysis (SCA)
Ferramenta: [Snyk, OWASP Dependency-Check]
Âmbito: [Todas as dependências diretas e transitivas]
Frequência: [Cada build, verificação semanal de novos CVEs]
Política de remediação:
- Críticas: [Bloqueio de deployment, correção imediata]
- Altas: [Correção em 7 dias]
- Médias: [Correção em 30 dias]
- Baixas: [Próximo sprint]
SBOM (Software Bill of Materials): [Gerado automaticamente em formato CycloneDX/SPDX]
5.4 Penetration Testing
Obrigatório para: [Aplicações expostas à Internet, sistemas críticos NIS2]
Frequência:
- Antes de produção: [Obrigatório para novos sistemas]
- Anual: [Aplicações críticas em produção]
- Após mudanças major: [Alterações arquiteturais significativas]
Metodologia: [OWASP Testing Guide, PTES, OSSTMM]
Tipos:
- Black box: [Perspetiva de atacante externo]
- Gray box: [Com credenciais de utilizador normal]
- White box: [Com acesso a código e arquitetura]
Fornecedor: [Equipa interna ou pentester externo certificado (OSCP, GPEN)]
Relatório: [Executivo + técnico, com PoCs e recomendações de remediação]
5.5 Security Testing em CI/CD
Pipeline de testes automatizados:
- Stage 1 - Commit: [Pre-commit hooks (secrets), linting]
- Stage 2 - Build: [SAST, SCA, unit tests de segurança]
- Stage 3 - Deploy Staging: [Container scan, IaC scan]
- Stage 4 - Test: [DAST, integration tests]
- Stage 5 - Prod (manual gate): [Security approval, compliance check]
Relatórios consolidados: [Defect Dojo para agregação de resultados de todas as ferramentas]
🛡️ 6. Gestão de Vulnerabilidades
6.1 Ciclo de Vida de Vulnerabilidades
1. Deteção: [SAST/DAST/SCA automático, bug bounty, disclosure responsável]
2. Triagem: [Security Team valida e prioriza em 24h]
3. Atribuição: [Ticket no Jira atribuído ao dev team]
4. Remediação: [Desenvolvimento e code review]
5. Verificação: [Re-test pela Security Team]
6. Deployment: [Patch em produção]
7. Closure: [Confirmação e documentação]
6.2 SLAs de Remediação
| Severidade |
CVSS Score |
SLA Remediação |
Aprovação Exceção |
| Crítica |
9.0 - 10.0 |
48 horas |
CISO obrigatório |
| Alta |
7.0 - 8.9 |
7 dias |
Security Lead |
| Média |
4.0 - 6.9 |
30 dias |
Dev Lead |
| Baixa |
0.1 - 3.9 |
90 dias |
Product Owner |
Exceções: [Apenas com risk acceptance formal, controles compensatórios, revisão trimestral]
6.3 Patch Management
Inventário de Assets: [CMDB atualizado com versões de software]
Fontes de Informação:
- CVE feeds: [NVD, vendor security advisories]
- Threat intelligence: [Feeds de exploits ativos (Recorded Future, ThreatConnect)]
- Ferramenta de tracking: [Tenable.io, Qualys VMDR]
Processo de Patching:
- Emergency patches: [Exploits ativos, aplicação imediata em 24h]
- Patches de segurança: [Teste em staging, deploy em 7 dias]
- Patches regulares: [Ciclo mensal de patching]
Virtual Patching: [WAF rules como controlo temporário enquanto patch real é preparado]
6.4 Bug Bounty Program
Plataforma: [HackerOne, Bugcrowd, programa privado]
Âmbito: [Aplicações públicas, APIs expostas]
Fora de âmbito: [DoS, phishing, sistemas internos]
Recompensas:
- Crítica: [€5000 - €10000]
- Alta: [€1000 - €5000]
- Média: [€250 - €1000]
- Baixa: [€50 - €250]
SLA de resposta: [Primeiro contacto em 48h, triagem em 5 dias]
6.5 Métricas de Vulnerabilidades
KPIs monitorizados mensalmente:
- Número de vulnerabilidades abertas por severidade: [Objetivo: 0 críticas, < 10 altas]
- Mean Time to Detect (MTTD): [Objetivo: < 1 dia]
- Mean Time to Remediate (MTTR): [Objetivo: < 7 dias para altas]
- % dentro do SLA: [Objetivo: > 95%]
- Vulnerabilidades por release: [Trend decrescente]
Reporting: [Dashboard executivo mensal, relatório detalhado ao Board trimestral]
📂 7. Evidências e Artefactos
7.1 Documentação Obrigatória por Fase
| Fase SDLC |
Artefactos de Segurança |
Responsável |
Aprovação |
| Requisitos |
Security Requirements Doc, Data Flow Diagram |
Product Owner + Security Champion |
Security Team |
| Design |
Threat Model, Architecture Security Review |
Architect + Security Champion |
CISO |
| Desenvolvimento |
Code Review Records, SAST Reports |
Dev Lead |
Security Champion |
| Testes |
SAST/DAST/SCA Reports, Pentest Report |
QA Lead + Security Team |
CISO |
| Deployment |
Security Sign-off, SBOM, Hardening Checklist |
DevOps + Security Team |
CISO |
| Manutenção |
Vulnerability Scan Reports, Patch Records |
Operations |
Security Team |
7.2 Code Review - Evidências Obrigatórias
Para cada Pull Request:
- Aprovação de [2 revisores incluindo Security Champion]
- Security checklist completa: [Input validation, error handling, logging]
- SAST scan passed: [Zero bloqueantes]
- Unit tests de segurança: [Coverage mínimo 80%]
Armazenamento: [GitHub/GitLab, auditável via API]
7.3 Scan Outputs - Retenção e Análise
SAST Reports:
- Frequência: [Cada commit]
- Retenção: [12 meses no SonarQube]
- Análise: [Trend analysis mensal]
DAST Reports:
- Frequência: [Pós-deployment em staging]
- Retenção: [24 meses]
- Comparação: [Delta entre scans para tracking de remediação]
SCA Reports:
- Frequência: [Diária + alertas de novos CVEs]
- Retenção: [24 meses]
- SBOM: [Gerado e versionado com cada release]
7.4 SBOM (Software Bill of Materials)
Formato: [CycloneDX JSON]
Geração: [Automática em CI/CD usando Syft, CycloneDX Maven Plugin]
Conteúdo mínimo:
- Todas as dependências diretas e transitivas
- Versões exatas: [Sem ranges]
- Licenças: [Para compliance]
- Hashes: [SHA-256 de cada componente]
- Vulnerabilidades conhecidas: [CVEs mapeados]
Armazenamento: [Versionado no Git, assinado digitalmente]
Utilização: [Resposta rápida a novos CVEs, due diligence de auditoria]
7.5 Security Approval Gates
Gate 1 - Design Review:
- Threat model completo: [Sem ameaças high/critical sem mitigação]
- Arquitetura review: [Aprovação do CISO]
Gate 2 - Pre-Production:
- SAST/DAST/SCA passed: [Dentro dos critérios]
- Pentest (se aplicável): [Sem críticas não remediadas]
- SBOM gerado e validado
Gate 3 - Production Release:
- Security sign-off: [Email formal do CISO]
- Hardening checklist: [100% completo]
- Runbook de incidentes: [Documentado e testado]
🔗 8. Gestão da Cadeia de Fornecimento de Software
8.1 Avaliação de Fornecedores
Critérios de Seleção:
- Security posture: [Certificações ISO 27001, SOC 2 Type II]
- Incident response: [Processo documentado, SLAs de notificação]
- Vulnerability disclosure: [Política pública, responsible disclosure]
- Suporte e patching: [SLAs de patches críticos < 48h]
Questionário de segurança: [CAIQ (Consensus Assessments Initiative Questionnaire), SIG]
Revisão contratual: [Cláusulas de responsabilidade, direito a auditoria, notificação de incidentes]
8.2 Gestão de Bibliotecas Open Source
Política de Aprovação:
- Aprovadas automaticamente: [Top 100 projetos Apache/Eclipse, versões LTS]
- Requerem aprovação: [Bibliotecas fora da whitelist, licenças copyleft]
- Proibidas: [Projetos abandonados (sem commits > 2 anos), sem comunidade ativa]
Due Diligence:
- Licença: [Compatível com uso comercial]
- Vulnerabilidades conhecidas: [Verificação no NVD]
- Atividade do projeto: [Commits recentes, issues respondidas]
- Dependências transitivas: [Análise recursiva]
Atualização de OSS: [Revisão mensal, atualização automática de patches minor]
8.3 Segurança de Repositórios
Package Registries Privados:
- Ferramentas: [JFrog Artifactory, Nexus Repository]
- Proxy de registries públicos: [npm, PyPI, Maven Central]
- Scanning: [Todas as packages escaneadas antes de cache]
Verificação de Integridade:
- Checksums: [Validação automática de SHA-256]
- Assinaturas: [Verificação de GPG signatures quando disponíveis]
- Quarentena: [Packages suspeitas isoladas para análise]
Proteção contra Typosquatting: [Whitelist de packages, alertas para nomes similares]
8.4 Segurança de Bibliotecas Third-Party
Vetting Process:
- Step 1: Verificação de licença: [Apache 2.0, MIT, BSD aprovadas]
- Step 2: Scan de vulnerabilidades: [Snyk, OWASP Dependency-Check]
- Step 3: Análise de código: [Code review se crítico para segurança]
- Step 4: Aprovação: [Dev Lead + Security Champion]
Monitorização Contínua: [Alertas automáticos de novos CVEs via Snyk, GitHub Dependabot]
Inventário centralizado: [CMDB de todas as bibliotecas em uso, por aplicação]
8.5 Supply Chain Attack Prevention
Proteções Implementadas:
- Dependency Confusion: [Registries internos prioritários, namespacing]
- Compromised Dependencies: [File integrity monitoring, hash pinning]
- Malicious Packages: [Sandbox execution de install scripts]
- Build Pipeline: [Signed commits, protected branches, audit logs]
Resposta a Incidentes Supply Chain:
- Deteção: [Monitorização de threat intelligence feeds]
- Contenção: [Bloqueio imediato em registry interno]
- Análise: [SBOM para identificar sistemas afetados]
- Remediação: [Rollback, re-deployment com versão segura]
🛠️ Ferramentas Interativas