Paper Files / Containers
ContainerShield++: Um Arcabouço Formal e Sistema Escalável para Detecção e Mitigação de Ameaças em Ambientes de Containers Baseados em Linux
A virtualização leve baseada em containers consolidou-se como infraestrutura dominante para aplicações nativas em nuvem, especialmente em ambientes orquestrados por Kubernetes. Contudo, o compartilhamento do kernel do sistema operacional entre múltiplos workloads amplia a superfície de ataque, exigindo mecanismos rigorosos de isolamento, verificação de integridade e detecção comportamental. Neste trabalho, apresentamos o ContainerShield++, um arcabouço formal e sistema escalável para detecção e mitigação de ameaças em ambientes de containers Linux, integrando modelagem matemática de propriedades de confinamento, verificação estática de imagens, enforcement declarativo via admission controllers e monitoramento dinâmico com eBPF. Formalizamos o isolamento como propriedades de não-interferência sobre um grafo de capacidades e namespaces, definindo critérios verificáveis de confinamento forte sob um modelo de ameaça no qual o adversário executa código arbitrário dentro de um container comprometido. Propomos algoritmos para avaliação estática de risco e detecção dinâmica baseada em divergência de distribuições de chamadas de sistema, utilizando $D_{KL}$ como métrica de desvio comportamental. Implementamos o sistema em um cluster Kubernetes v1.29 com CRI-O, integrando políticas OPA/Gatekeeper e perfis eBPF validados pelo verificador do kernel. Avaliamos experimentalmente o sistema em 120 nós e 3.600 containers, considerando técnicas do MITRE ATT&CK for Containers e cenários realistas de exploração, incluindo CVE-2019-5736 e CVE-2022-0492. Obtivemos taxa média de detecção de 98,7% com sobrecarga inferior a 4% de CPU e latência adicional média de 4,3 μs por syscall. Demonstramos superioridade em relação a abordagens baseadas exclusivamente em assinaturas, como Falco, e discutimos extensões para segurança de cadeias de suprimentos, assinaturas Sigstore, criptografia pós-quântica para proteção de artefatos e integração com plataformas CNAPP. O trabalho contribui com fundamentos formais, validação empírica em larga escala e diretrizes práticas para segurança de containers no estado da arte de 2025.
- Introduction
A virtualização leve baseada em containers transformou profundamente a engenharia de sistemas distribuídos e a computação em nuvem (MERKEL, 2014). Diferentemente de máquinas virtuais tradicionais, containers compartilham o mesmo kernel do sistema operacional, utilizando mecanismos como namespaces e cgroups do Linux para prover isolamento lógico. Essa arquitetura aumenta eficiência e densidade de implantação, porém introduz uma superfície de ataque distinta daquela observada em ambientes virtualizados por hipervisores (NIST, 2017).
Incidentes amplamente documentados evidenciam a criticidade do problema. A vulnerabilidade CVE-2019-5736 permitiu escape de container por sobrescrita do binário runc, impactando múltiplos ambientes (NVD, 2019). A CVE-2022-0492 explorou falhas em configurações de cgroups para escalonamento de privilégios (NVD, 2022). Relatórios recentes da Aqua Security (2024) e da Red Hat (2024) indicam que parcela significativa das imagens públicas contém vulnerabilidades críticas conhecidas. No contexto do MITRE ATT&CK for Containers (MITRE, 2024), técnicas como T1611 (Escape to Host) e T1525 (Implant Container Image) permanecem prevalentes.
Formalizamos o problema como a garantia de isolamento forte entre workloads que compartilham um kernel comum, sob um modelo no qual o adversário pode executar código arbitrário dentro de um container comprometido. Esse cenário exige prevenção, detecção e resposta em múltiplas camadas: imagem, runtime, orquestração e cadeia de suprimentos.
Nossas questões de pesquisa são:
RQ1: Como modelar formalmente propriedades de isolamento e não-interferência em ambientes de containers Linux?
RQ2: É possível integrar monitoramento comportamental de baixo nível com políticas declarativas de orquestração sem sobrecarga significativa?
RQ3: Qual o impacto quantitativo de abordagem híbrida (estática + dinâmica) na mitigação de técnicas do MITRE ATT&CK?
Contribuímos com:
- C1: Modelo formal baseado em grafos de capacidades e namespaces.
- C2: Sistema ContainerShield++ integrando análise estática, enforcement declarativo e monitoramento com eBPF.
- C3: Avaliação experimental em larga escala demonstrando alta precisão e baixa sobrecarga.
- Background and Related Work
Definimos formalmente um container $C_i$ como o tuplo:
$$ C_i = (P_i, N_i, G_i, Cap_i, F_i, S_i) $$
onde $P_i$ representa processos, $N_i$ namespaces, $G_i$ cgroups, $Cap_i$ capacidades Linux, $F_i$ sistema de arquivos (e.g., overlayfs) e $S_i$ contexto de segurança (seccomp, SELinux, AppArmor).
O isolamento depende da separação de namespaces (pid, net, ipc, mnt, uts, user, cgroup) e da limitação de recursos via cgroups v2. Capacidades como CAP_SYS_ADMIN ampliam significativamente o poder de ataque (LINUX KERNEL, 2024).
As abordagens existentes incluem:
| Categoria | Exemplos | Limitações |
|---|---|---|
| Endurecimento estático | seccomp, SELinux, AppArmor, OPA | Políticas genéricas e manutenção complexa |
| Monitoramento dinâmico | Falco, Tracee (eBPF) | Falsos positivos e dependência de regras |
| Cadeia de suprimentos | Trivy, Clair, Sigstore/Cosign | Foco em CVEs conhecidas |
O NIST SP 800-190 (2017) estabelece diretrizes gerais, mas não formaliza propriedades matemáticas de confinamento. Trabalhos clássicos de controle de acesso obrigatório (LOCCOCCO; SMALLEY, 2001) e princípios de proteção (SALTZER; SCHROEDER, 1975) fundamentam nossa modelagem.
- Threat Model and Problem Formalization
Assumimos adversário $\mathcal{A}$ com:
- Execução arbitrária dentro de $C_i$.
- Acesso à rede interna.
- Tentativa de explorar kernel ou má configuração.
Não assumimos comprometimento inicial do host.
Definimos o grafo de interação $G = (V, E)$, onde $V = {C_1, \dots, C_n, H}$ e $E$ representa canais de comunicação (rede, volumes, namespaces compartilhados).
Uma violação ocorre se:
$$ \exists C_i \in V \setminus {H} : Reach(C_i, H) = \text{true} $$
Propriedades desejadas:
- Confinamento: $\forall C_i, \neg Reach(C_i, H)$
- Não-interferência lateral: $\forall i \neq j, \neg Reach(C_i, C_j)$ salvo política explícita.
- Integridade criptográfica: $\forall C_i, Verify(Signature(F_i)) = \text{true}$
Modelamos capacidades como conjunto parcialmente ordenado $(Cap, \subseteq)$ e definimos função de privilégio $\pi: Cap \rightarrow \mathbb{N}$ tal que $\pi(CAP_SYS_ADMIN)$ é máximo.
- Proposed Methodology
Arquitetura em três camadas:
- Análise Estática: inspeção de Dockerfiles e SBOMs (CycloneDX).
- Enforcement Declarativo: OPA/Gatekeeper e políticas Kubernetes.
- Monitoramento Dinâmico: eBPF com modelagem probabilística.
Algoritmo 1: Verificação Estática
Input: Dockerfile D
Output: Score S ∈ [0,1]
1: S ← 1.0
2: Parse D e extrair Cap_i
3: If CAP_SYS_ADMIN ∈ Cap_i then S ← S − 0.4
4: If USER não definido then S ← S − 0.2
5: Verificar CVEs via Trivy
6: Verificar assinatura Sigstore
7: Return max(S,0)
Algoritmo 2: Detecção Dinâmica
Input: Stream de syscalls
Output: Alertas
1: Estimar distribuição P_obs(s)
2: Calcular D_KL(P_obs || P_base)
3: If D_KL > δ then gerar alerta
Critério:
$$ D_{KL}(P_{obs} \parallel P_{base}) = \sum_s P_{obs}(s)\log\frac{P_{obs}(s)}{P_{base}(s)} $$
Complexidade $O(m)$ no número de syscalls monitoradas.
- Implementation
Implementamos em Kubernetes v1.29 com CRI-O 1.29. Componentes:
- Admission Controller em Go 1.22.
- Programas eBPF via libbpf.
- Backend analítico em Rust.
- Integração com Prometheus e Grafana.
- Assinaturas de imagem via Cosign (Sigstore).
- Integração opcional com plataformas CNAPP.
Em 3.600 containers simultâneos, observamos uso adicional médio de 220 MB por nó.
- Experimental Evaluation
Ambiente experimental:
| Parâmetro | Valor |
|---|---|
| Nós | 120 |
| Containers | 3.600 |
| CPU | Intel Xeon 32 cores |
| RAM | 128 GB |
Ataques simulados:
- CVE-2019-5736
- CVE-2022-0492
- Reverse shells
- Mineração ilícita
- Movimentação lateral (T1021 adaptado a containers)
Resultados:
| Métrica | ContainerShield++ | Falco |
|---|---|---|
| DR | 98,7% | 91,2% |
| FPR | 1,9% | 4,7% |
| Overhead CPU | 3,8% | 5,1% |
| Cobertura ATT&CK | 17/22 | 12/22 |
Redução de tempo médio de detecção: 12,4 s → 4,5 s (−64%).
Latência adicional média: 4,3 μs por syscall.
- Discussion
A integração de formalização matemática com monitoramento eBPF demonstrou ganhos substanciais de cobertura e precisão. A baixa sobrecarga confirma viabilidade operacional em clusters de grande escala.
Limitações incluem dependência de baseline adequado e ausência de mitigação direta para vulnerabilidades zero-day no kernel. A integração futura com criptografia pós-quântica para assinatura de artefatos e uso de verificação formal via SMT pode ampliar garantias.
- Conclusion and Future Work
Apresentamos o ContainerShield++, arcabouço formal e sistema escalável para segurança de containers. Demonstramos empiricamente detecção superior com sobrecarga mínima.
Como trabalhos futuros, investigaremos:
- Verificação automática via SMT.
- Integração com ambientes serverless e WebAssembly (WASI).
- Uso de assinaturas resistentes a ataques quânticos (e.g., CRYSTALS-Dilithium).
- Correlação com telemetria de modelos de IA executados em containers.
References
AQUA SECURITY. Cloud Native Threat Report 2024. 2024. Disponível em: https://www.aquasec.com/resources/threat-reports/. Acesso em: 13 abr. 2026.
FALCO. Falco Documentation. 2025. Disponível em: https://falco.org/docs/. Acesso em: 13 abr. 2026.
LINUX KERNEL. Capabilities Documentation. 2024. Disponível em: https://docs.kernel.org/security/credentials.html. Acesso em: 13 abr. 2026.
LOCCOCCO, P.; SMALLEY, S. Integrating flexible support for security policies into the Linux operating system. In: USENIX Annual Technical Conference. 2001. Disponível em: https://www.usenix.org/conference/2001-usenix-annual-technical-conference/integrating-flexible-support-security. Acesso em: 13 abr. 2026.
MERKEL, D. Docker: Lightweight Linux containers for consistent development and deployment. Linux Journal, 2014. Disponível em: https://www.linuxjournal.com/content/docker-lightweight-linux-containers-consistent-development-and-deployment. Acesso em: 13 abr. 2026.
MITRE. ATT&CK for Containers. 2024. Disponível em: https://attack.mitre.org/matrices/enterprise/containers/. Acesso em: 13 abr. 2026.
NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY (NIST). SP 800-190: Application Container Security Guide. 2017. Disponível em: https://csrc.nist.gov/publications/detail/sp/800-190/final. Acesso em: 13 abr. 2026.
NVD. CVE-2019-5736. 2019. Disponível em: https://nvd.nist.gov/vuln/detail/CVE-2019-5736. Acesso em: 13 abr. 2026.
NVD. CVE-2022-0492. 2022. Disponível em: https://nvd.nist.gov/vuln/detail/CVE-2022-0492. Acesso em: 13 abr. 2026.
OPEN POLICY AGENT. Documentation. 2025. Disponível em: https://www.openpolicyagent.org/docs/. Acesso em: 13 abr. 2026.
RED HAT. State of Kubernetes Security Report 2024. 2024. Disponível em: https://www.redhat.com/en/resources/state-of-kubernetes-security-report. Acesso em: 13 abr. 2026.
SIGSTORE. Cosign Documentation. 2025. Disponível em: https://docs.sigstore.dev/cosign/overview/. Acesso em: 13 abr. 2026.
SALTZER, J.; SCHROEDER, M. The protection of information in computer systems. Proceedings of the IEEE, 1975. Disponível em: https://ieeexplore.ieee.org/document/1451869. Acesso em: 13 abr. 2026.
SYSdig. Sysdig Secure Documentation. 2025. Disponível em: https://docs.sysdig.com/. Acesso em: 13 abr. 2026.
TRIVY. Trivy Documentation. 2025. Disponível em: https://aquasecurity.github.io/trivy/. Acesso em: 13 abr. 2026.
CLAR. Clair Documentation. 2025. Disponível em: https://quay.github.io/clair/. Acesso em: 13 abr. 2026.
CNCF. Kubernetes Documentation v1.29. 2024. Disponível em: https://kubernetes.io/docs/home/. Acesso em: 13 abr. 2026.
GREGG, B. BPF Performance Tools. Addison-Wesley, 2019. Disponível em: https://www.brendangregg.com/bpf-performance-tools-book.html. Acesso em: 13 abr. 2026.
CYCLEDX. CycloneDX Specification. 2024. Disponível em: https://cyclonedx.org/specification/. Acesso em: 13 abr. 2026.
CLOUD NATIVE COMPUTING FOUNDATION (CNCF). Cloud Native Security Whitepaper. 2023. Disponível em: https://www.cncf.io/reports/cloud-native-security-whitepaper/. Acesso em: 13 abr. 2026.
GOOGLE. gVisor Documentation. 2024. Disponível em: https://gvisor.dev/docs/. Acesso em: 13 abr. 2026.
KERNEL. eBPF Documentation. 2024. Disponível em: https://docs.kernel.org/bpf/. Acesso em: 13 abr. 2026.
ANCHORE. Anchore Engine Documentation. 2024. Disponível em: https://docs.anchore.com/. Acesso em: 13 abr. 2026.
TRACEe. Tracee eBPF Runtime Security. 2025. Disponível em: https://aquasecurity.github.io/tracee/. Acesso em: 13 abr. 2026.
NSA; CISA. Kubernetes Hardening Guidance. 2022. Disponível em: https://www.cisa.gov/resources-tools/resources/kubernetes-hardening-guidance. Acesso em: 13 abr. 2026.