Pular para o conteúdo principal

🔐 Ameaças Mitigadas — Capítulo 09: Containers e Imagens

Este capítulo prescreve práticas de construção segura de imagens, assinatura e proveniência, governação de registos, validação de manifestos e hardening do runtime, garantindo integridade, rastreabilidade e segurança desde o build até à execução.

🎯 As ameaças aqui tratadas decorrem de imagens vulneráveis ou não confiáveis, pipelines sem garantias de integridade, registos desprotegidos, configurações inseguras de runtime e falta de observabilidade/rastreabilidade.


📦 Categoria 1 - Cadeia de fornecimento de imagens (build & base images)

AmeaçaFonteComo surgeComo a prática mitigaControlos associados🧩 Mitigada apenas por este capítulo?
Imagens base vulneráveis/obsoletasOWASP Top 10 A06, CAPEC-310, CWE-1104Uso de base images com CVEs não corrigidasImage scanning no CI/CD, políticas de bloqueio por severidade, renovação periódica de base imagesChecklist 3–4, Policies: Gestão de Vulnerabilidades, Rastreabilidade: SSDF RV.1
Inclusão de dependências inseguras no buildOSC&R E.4/T.3, ST 1.xInjeção de libs ou pacotes sem validaçãoInventário de componentes na imagem, scan de licenças e CVEs; falha bloqueia merge/deployCap. 05 (SBOM/SCA), Checklist 3–4❌ (Cap. 05)
Conteúdo inesperado no context de buildCAPEC-649Ficheiros sensíveis entram no build context.dockerignore rigoroso; lint de Dockerfile; build herméticoPolicies: Construção Segura de Imagens
Configurações inseguras no DockerfileCIS Docker 2.xUso de ADD indevido, latest, layering frágilLinters (Hadolint/Regole), policy-as-code para DockerfileChecklist 6, Policies: Construção Segura

🔏 Categoria 2 - Integridade, assinatura e proveniência

AmeaçaFonteComo surgeComo a prática mitigaControlos associados🧩 Mitigada apenas por este capítulo?
Imagens não assinadas / sem verificaçãoSLSA L2–L3, SSDF PW.5Execução de imagens sem verificar origemAssinatura (ex.: Sigstore/Cosign), verificação de digest e attestation no admissionChecklist 5 & 10–11, Policies: Assinatura e Proveniência
Substituição maliciosa em registoOSC&R T.3, ENISA CloudPull de imagem com tag trocadaDigest pinning, registos privados, provenance attestation no deployRastreabilidade: SLSA/SSDF, Policies: Repositórios
Falta de trilho de auditoria (quem construiu o quê)BSIMM CMVM 1.3Ausência de registo entre commit → build → imagem → deployCI/CD com evidência imutável; correlação commit/SHA/pipeline/deployChecklist 14–15, Rastreabilidade: DSOMM Ops

🧰 Categoria 3 - Registos e Repositórios de Containers

AmeaçaComo surgeComo a prática mitigaControlos associados🧩 Mitigada apenas por este capítulo?
Acesso indevido a registosControlo de acesso frouxo, credenciais partilhadasRegistos privados, RBAC, scopes mínimos, audit logsPolicies: Governação de Repositórios, Checklist 9
Proliferação de imagens obsoletasAusência de retenção/limpezaPolíticas de retenção e garbage collection; rebuild periódicoPolicies: Limpeza/Obsolescência, Checklist 12
Upload de imagens sem controloQualquer equipa publica artefactosOwnership formal, review e aprovação de publicaçãoPolicies: Governação de Repositórios

🖧 Categoria 4 - Configuração insegura de runtime (Docker/Kubernetes)

AmeaçaFonteComo surgeComo a prática mitigaControlos associados🧩 Mitigada apenas por este capítulo?
Execução como root / capabilities excessivasCIS Docker/K8s, STRIDE (EoP)USER root, CAP_SYS_ADMIN, privileged: trueLeast privilege, securityContext, drop capabilities, PSP/PSA equivalentesChecklist 7–9, Policies: Hardening de Runtime
Montagens e volumes insegurosCIS, CAPEC-15:rw em /var/run/docker.sock, partilhas amplasRegras de mounts, read-only rootfs, tmpfs controladoPolicies: Hardening de Runtime
Falta de políticas de redeCIS K8s, ENISAPods sem NetworkPolicyNetwork policies obrigatórias por namespace/serviçoPolicies: Runtime, Checklist 8
Admission permissivoOPA/Gatekeeper, SAMM DEP 1.2Qualquer manifesto é aceiteAdmission controllers com policy-as-code (Conftest/OPA)Checklist 11, Policies: Validação de Manifestos

🔐 Categoria 5 - Segredos e informação sensível

AmeaçaFonteComo surgeComo a prática mitigaControlos associados🧩 Mitigada apenas por este capítulo?
Segredos embebidos em imagemCAPEC-118, SSDF PS.1ENV/ARG com chaves; ficheiros copiados para layersSecrets scanning, build args efémeros, uso de vault/secret managerPolicies: Segredos, Checklist 3 & 5❌ (Cap. 08)
Exposição em variáveis de ambienteCIS, DSOMMInjeção de segredos por ENVMounts seguros, sealed secrets, RBAC por namespacePolicies: Segredos❌ (Cap. 08)

📜 Categoria 6 - Manifestos e policy-as-code (deploy seguro)

AmeaçaFonteComo surgeComo a prática mitigaControlos associados🧩 Mitigada apenas por este capítulo?
Manifestos inseguros aprovadosSSDF RV.1, SAMM 2.BFalta de validação pré-deployPolicy-as-code (OPA/Conftest), schema validation, review obrigatórioChecklist 11, Policies: Validação de Manifestos
Desalinhamento imagem↔manifestoSLSATag drift entre o aprovado e o executadoDigest pinning e verificação no admissionRastreabilidade: SLSA, Checklist 2 & 10–11

📡 Categoria 7 - Observabilidade, drift e shadow containers

AmeaçaFonteComo surgeComo a prática mitigaControlos associados🧩 Mitigada apenas por este capítulo?
Falta de rastreabilidade de deploysBSIMM CMVM 1.3Deploy sem trilho de auditoriaCorrelação commit → pipeline → digest → deployChecklist 14–15, DSOMM Ops Monitoring
Shadow containers fora do pipelineOSC&R M.4Execução ad-hoc por terceirosInventário/monitorização de runtime; admission restritivoPolicies: Runtime/Registos, Rastreabilidade: DSOMM
Drift de configuraçãoENISA, CISDiferenças entre definido e executadoDrift detection e reconciliação; alerta/bloqueioPolicies: Runtime, Cap. 08 (IaC)❌ (Cap. 08)

✅ Conclusão

As práticas deste capítulo reduzem risco sistémico na cadeia de fornecimento de software ao:

  • Garantirem integridade e proveniência (assinatura, attestations, digest pinning);
  • Imporem construção e execução seguras (hardening de Docker/Kubernetes, least privilege, admission controllers);
  • Assegurarem rastreabilidade auditável de ponta a ponta (commit → imagem → deploy);
  • Reforçarem a governação de registos (acesso, retenção, limpeza e ownership claros).

📌 A cobertura está alinhada com NIST SSDF (PW.5, RV.1–RV.2, PS.1), SLSA (L2–L3), CIS Benchmarks (Docker/K8s), ENISA Cloud Security Baseline, BSIMM e OWASP/OSC&R — constituindo evidência sólida de conformidade técnica para auditorias NIS 2 / DORA.