Digitalização de vulnerabilidades e patches
Resumo breve
Gerenciamento de vulnerabilidades é um ciclo contínuo: detecção → avaliação de risco → eliminação (patch/migração/config) → verificação → relatórios. As tecnologias de digitalização (SCA/SAST/DAST/IAST/Cloud/Container) fornecem sinais e o contexto (exposição, privilégios, dados, EPSS, expoentes) define a prioridade. O objetivo é reduzir o risco real sem a interrupção do negócio usando automação, canários e SLO nítido.
Taxonomia de digitalização
SCA (Software Composto Analisis): análise de dependências/licenças; detecção de CVE em bibliotecas, SBOM.
SAST: análise estática do seu próprio código antes da montagem.
DAST: caixa preta dinâmica contra o serviço em funcionamento.
IAST: sensores dentro do aplicativo (durante os testes) - menos FP, contexto mais profundo.
Container/OS Scan: imagens (base imagem, pacotes), hosts (núcleo/pacotes/configs), CIS-benchmark.
Cloud/Infra (CSPM/KSPM): misconfigs de nuvem/K8s (IAM, redes, criptografia, baquetes públicos).
Secret Scan: vazamentos de chaves/tokens em repositórios e imagens.
Binary/Artifact Scan: Verificação de artefatos coletados (assinaturas, vulnerabilidades).
Modelo de risco e priorização
Nota = CVSS v3. x (base) x EPSS (probabilidade de operação) x contexto (exposição, dados, privilégios, medidas compensatórias).
Fatores contextuais:- Exposição à Internet/interior, disponibilidade de WAF/mTLS/isolamento.
- Dados: PII/finanças/segredos.
- Privilégios de processo/site, lateral movement-potencial.
- Há exposição pública/ataques em massa, exigências de complacência.
Exemplo do vetor CVSS: 'CVSS: 3. 1/AV: N/AC: L/PR: N/UI: N/S: U/C: H/I: H/A: H '→ criticou; se o serviço for público e sem medidas compensatórias - P1.
Liminares SLO (exemplo):- P1 (crítico, em operação): fix ≤ 48 h.
- P2 (alta): fix ≤ 7 dias.
- P3 (média): fix ≤ 30 dias.
- P4 (baixa/informação) : planeado/por backlog.
Ciclo de vida de gerenciamento de vulnerabilidades
1. Inventário de ativos: serviços, imagens, clusters, OS, pacotes, dependências, versões.
2. Escaneamento por horário e evento, como comitivas, montagens, entrepostos, janelas de trabalho/semanais.
3. Triagem: Deduplicação, normalização (CVE→Ticket), mupping por proprietário.
4. Priorização por contexto: CVSS/EPSS + exposição/dados.
5. Remunção: patch/atualização do vício/config hardnening/patch virtual (WAF).
6. Verificação: redescoberto, testes, canário.
7. Relatórios: métricas de fechamento, idade de vulnerabilidade, conformidade SLO.
8. Lições: fix em modelos (base imagem, helm chart), política para o futuro.
Integração em CI/CD
Na fase PR: SAST + SCA + segredo-scan; "break build' por P1/P2 ou exigência de aporte.
Na fase build: scan de imagem, geração SBOM (CycloneDX/SPDX), assinatura de artefatos (cosign).
Na fase deploy: política de tolerância (Admision) - proibição de imagens com 'critical/high' vulnerabilidades e sem assinatura/SBOM.
Após DAST/IAST contra stage e produção parcial (perfis seguros).
Exemplo: Renovate/Dependabot (fatia)
json
{
"extends": ["config:recommended"],
"vulnerabilityAlerts": { "enabled": true },
"packageRules": [
{ "matchUpdateTypes": ["minor","patch"], "automerge": true },
{ "matchManagers": ["dockerfile"], "enabled": true }
]
}
Política de tolerância (Kubernetes, OPA/Gatekeeper - simplificado)
rego package policy.vuln
deny[msg] {
input.image.vuln.critical > 0 msg:= sprintf("Image %s has critical vulns", [input.image.name])
}
deny[msg] {
input.image.sbom == false msg:= sprintf("Image %s without SBOM", [input.image.name])
}
Gestão Patch (OS, contentores, K8s)
ОС (Linux/Windows)
Patch window: janelas regulares + emergência extraordinária para P1.
Estratégia: Primeiro canário 5-10% de nós, depois ondas.
Activação automática: Ansable/WSUS/Intune/SSM; verificação de dependências e reversões.
Kernel Live Patching (onde possível) para minimizar a interrupção.
Serviços de Restarte: drain/cordon controlado para K8s nod, graceful shutdown.
Contêineres
Abordagem imutável: não «apt upgrade» no rântaim; reaproveitar a imagem com a base atualizada.
Imagens básicas: atualizar regularmente o golden images (Alpine/Debian/Distroless) e fixar versões (digest).
Montagens múltiplas: minimizar superfície (remover build-tools).
Teste antes do deploy: bloco de imagens com CVE crítico.
Kubernetes/Service Mesh
Controle Plane: lançamentos menores pontuais, encerramento CVE k8s/etcd/containerd.
Node OS/Container runtime: atualizações programadas, compatibilidade de versões.
Mesh/Ingress: As versões Envoy/Istio/NGINX são críticas (muitas vezes CVE em parsers/NTTR3).
Adesion Polices: proibição de 'latest', exigência de assinatura, limites de vulnerabilidade.
Patches virtuais e medidas compensatórias
Quando o patch não é possível rapidamente:- WAF/WAAP: Um modelo de assinatura/positivo para um endpoint específico.
- Fichflags, desligar as funcionalidades vulneráveis.
- LCA/mTLS/IP allow-list: restringir o acesso a serviços vulneráveis.
- Config hardnening: baixa de direitos, sandbox, read-only FS, desativação de módulos perigosos.
- Redução de TTL tokens/chaves, rotação de segredos.
Gerenciamento de exceções
A exclusão é feita por um tíquete com justificativa, medidas compensatórias, SLA para eliminação, data de revisão.
No relatório, marcar como «aceitação temporária de risco» e incluir na revisão mensal.
Observabilidade e métricas
Técnica:- Mean Time To Patch (MTTP) по P1/P2/P3.
- Participação dos ativos cobertos por digitalização (%).
- Idade das vulnerabilidades abertas (p50/p90), backlog burn-down.
- Porcentagem de imagens com SBOM e assinatura.
- Execute o SLO no prazo de encerramento (por exemplo, ≥ 95% P1 ≤ 48 h).
- Impacto na farmácia (em casos de patches).
- Redefinir as mesmas CVE (qualidade do fixe nos modelos).
Playbooks (reduzido)
P1: RCE crítico no serviço público
1. Activar a regra WAF/Virt Patch.
2. Bloquear o acesso de fontes não autorizadas (se possível).
3. Cruzamento urgente de imagem/patch OS, canário → ondas.
4. Novo DAST/verificação de telemetria, monitoramento de erros.
5. Pós-incidente: fixar o fixe na imagem básica/Helm chart, adicionar o teste à CI.
1. Rotação imediata de segredos/chaves, crítica de tokens.
2. Pesquisa de vestígios de uso, limitação de endpoint.
3. Raios de repo/imagem para segredos, implementação de scanner pré-commit.
Exemplos de artefatos
1) Relatório SQL sobre vulnerabilidades «quentes»
sql
SELECT service, cve, cvss, epss, exposed, has_exploit, created_at,
PRIORITY(exposed, has_exploit, cvss, epss) AS prio
FROM vuln_findings
WHERE status = 'open' AND (cvss >= 8.0 OR has_exploit = true)
ORDER BY prio DESC, created_at ASC;
2) Política de admissão (Kyverno, unidade de vulnerabilidade critical)
yaml apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata:
name: block-critical-vulns spec:
validationFailureAction: Enforce rules:
- name: image-must-have-no-critical match: { resources: { kinds: ["Pod"] } }
validate:
message: "Image contains critical vulnerabilities"
pattern:
metadata:
annotations:
vuln.scanner/critical: "0"
3) Geração de SBOM e assinatura (Makefile fragmento)
make sbom:
cyclonedx create --output sbom.json sign:
cosign sign --key cosign.key $(IMAGE_DIGEST)
Especificidades para iGaming/Fintech
Zonas de alto risco: passarelas de pagamento, bacofis de pagamento, antifrode, processamento PII/PAN - patches prioridade P1/P2.
Janelas de serviço: alinhamento com torneios/promoções, capas pré-warm, canários em regiões baixas.
Regulador (PCI DSS/GDPR): data limite para reparação de vulnerabilidades, provas (capturas de tela/relatórios), segmentação de área CHD, criptografia.
Integração de parcerias: exigir SDK/clientes versionados, SCA de mandato e HMAC/mTLS em webhooks.
Erros típicos
"Escaneamos tudo, não há proprietários nem SLO.
Foco apenas em CVSS sem contexto (exposição, EPSS, dados).
O patch está no rentame do contêiner em vez de cruzar a imagem.
Falta de canarinhos/planos rollback.
Ignorar misconfigs de nuvem/K8s (muitas vezes mais crítico que CVE).
Sem SBOM/assinatura - rastreabilidade fraca (suply chain).
Mapa de Tráfego de Implementação
1. Inventário de bens e proprietários; um único registro de serviços/imagens.
2. Pilha de scanners: SCA/SAST/DAST/Container/Cloud + secret-scan; integração em CI/CD.
3. Políticas SLO e Priorização: CVSS + EPSS + Contexto; modelos de tíquetes.
4. Admissão/Policy-as-Código: proibição de vulnerabilidades críticas, exigência de SBOM/assinaturas.
5. Processos de patch: janelas, canários, retrocessos; pilotos automáticos para versões menores/patch.
6. Relatórios e métricas: MTTP, cobertura, idade; Revisão semanal de risco.
7. Simulação de CVE crítico, verificação de playbooks e rollback.
Resultado
Gerenciamento maduro de vulnerabilidades é um processo, e não um «controle», como detecção automática, priorização contextual, patches sem periculosidade através de canários/rollback, policy-as-código na entrada e métricas transparentes de execução. Ao fixar fixações em imagens e modelos básicos, você reduz o risco de repetição e mantém a superfície do ataque sob controle sustentável.