Paper Files / Containers
Isolamento em Nível de Sistema Operacional em Ambientes Hostis: Modelagem de Ameaças, Exploração Prática e Estratégias de Defesa com chroot, FreeBSD Jails, Solaris Zones e OpenVZ
Em 2008, ambientes de produção em larga escala recorrem crescentemente a mecanismos de isolamento em nível de sistema operacional, tais como chroot, FreeBSD Jails, Solaris Zones e OpenVZ, motivados por ganhos de consolidação, gerenciamento e eficiência. Diferentemente da virtualização completa via hipervisores, essas abordagens compartilham o mesmo kernel e, portanto, introduzem uma tensão intrínseca entre desempenho e segurança. Partimos da premissa de que a maioria dos incidentes graves relacionados a tais arquiteturas decorre menos de fragilidades criptográficas e mais de políticas permissivas combinadas com primitivas de exploração clássicas (estouro de buffer, injeção SQL, escalonamento local de privilégios). Este trabalho oferece uma síntese rigorosa dos fundamentos, uma modelagem formal de ameaças, um protocolo experimental reproduzível e uma avaliação quantitativa de defesas multilayer típicas de 2008 (firewalls com iptables/pf, IDS Snort, HIDS OSSEC, MAC com SELinux e Solaris Trusted Extensions, controle de integridade Tripwire e gestão de logs segundo NIST SP 800-92). Formalizamos o risco como a minimização de $P(H \mid C)$, onde $C$ representa a obtenção de execução arbitrária em um compartimento (jail/zone/VPS) e $H$ denota comprometimento do host, e empregamos estimação estatística com intervalos de Wilson para quantificar redução de risco após controles. Implementamos três arquiteturas representativas: (i) serviços em chroot reforçados com SELinux; (ii) FreeBSD Jails; (iii) Solaris Zones (com e sem Trusted Extensions) e OpenVZ em Linux 2.6; medimos taxa de escape, movimentação lateral, e overhead via UnixBench e netperf. Relatamos evidência empírica de que jails e zones reduzem substancialmente a probabilidade condicional de comprometimento do host em relação a chroot, e que o acréscimo de MAC e segmentação de rede resulta em quedas adicionais estatisticamente significativas nas taxas de sucesso do atacante. Apresentamos ainda um estudo de caso de DMZ com web server vulnerável explorado por injeção SQL e escalonamento local, discutindo correlações em SIEM (ArcSight/QRadar), regras Snort e políticas pf/iptables que interrompem a cadeia de ataque. O artigo contribui com: (1) um arcabouço formal aplicável a isolamento baseado em kernel; (2) um conjunto de práticas de hardening aderentes às diretrizes NIST 800-41/61/92/94; (3) métricas operacionais comparativas entre chroot, jail, zones e OpenVZ; e (4) material de configuração detalhado. Os resultados reforçam que tais mecanismos devem ser combinados com controles de detecção e políticas de privilégio mínimo, dado que a barreira de segurança não é absoluta quando o kernel é compartilhado.
- Introduction
O emprego de isolamento em nível de sistema operacional consolidou-se na década de 2000 como alternativa de alta eficiência para consolidar serviços e simplificar operações em ambientes hostis, notadamente DMZs e redes perimetrais. Mecanismos como chroot (UNIX), FreeBSD Jails (desde o FreeBSD 4.0), Solaris Zones (no Solaris 10) e OpenVZ (para Linux 2.6) permitem instanciar múltiplos ambientes com espaços de arquivos, pilhas de rede e, em graus variados, conjuntos de processos e identificadores próprios (WATSON, 2000; SUN, 2004; OPENVZ, 2005; LINUX-VSERVER, 2005). Diferem de hipervisores como Xen ou VMware ao compartilharem o mesmo kernel, viabilizando maior densidade por CPU e menor overhead (GARFINKEL; ROSENBLUM, 2003), ao custo de uma superfície de ataque concentrada no kernel e na interface de isolamento.
Observa-se, no entanto, que incidentes graves em tais arquiteturas raramente emergem de quebras criptográficas; são mais frequentemente catalisados por implementações e configurações permissivas, bugs clássicos (estouro de buffer, ponteiros não validados, injeção SQL) e combinações de falhas de segregação lógica e de autenticação (SALTZER; SCHROEDER, 1975; HALFOND; VIEGAS; ORSO, 2006). Paralelamente, a sofisticação de rootkits e a exploração de virtualização por malware (e.g., SubVirt e Blue Pill) demonstraram que as camadas de virtualização e isolamento podem ser exploradas como subtrato de persistência (KING et al., 2006; RUTKOWSKA, 2006).
Neste trabalho, propomos um modelo formal que captura a probabilidade condicional de comprometimento do host dada a obtenção de execução arbitrária em um compartimento ($P(H \mid C)$), e exploramos a eficácia de controles característicos de 2008: firewalls (iptables/pf), IDS de rede (Snort), HIDS (OSSEC), controle de integridade (Tripwire), listas de controle de acesso e autenticação forte (SSH, PKI), além de MAC (SELinux; Solaris Trusted Extensions). Combinamos teoria e prática: descrevemos um protocolo experimental reprodutível, divulgamos configurações de referência e avaliamos taxa de escape e overhead em três arquiteturas (chroot endurecido, FreeBSD Jails, Solaris Zones/OpenVZ).
As principais contribuições são: (i) modelagem formal e mensuração empírica de risco em isolamento baseado em kernel; (ii) comparação abrangente de garantias de segurança e custos de desempenho entre as tecnologias; (iii) avaliação quantitativa de defesas multicamadas aderentes às diretrizes NIST SP 800-41/61/92/94; e (iv) um estudo de caso realista que ilustra cadeia de ataque completa e respectiva mitigação com ferramentas de 2008. Nossos achados apontam que jails e zones, combinados a MAC e segmentação, reduzem significativamente a probabilidade de comprometimento do host e a amplitude de movimentação lateral, embora riscos residuais permaneçam quando existem vulnerabilidades no kernel (NIST, 2007; NIST, 2006a).
- Fundamentos e Trabalhos Relacionados
O princípio do menor privilégio e a separação de privilégios (SALTZER; SCHROEDER, 1975) fundamentam o desenho de ambientes compartimentados. O problema do confinamento de informações e de processos foi formalizado classicamente por Lampson (LAMPSON, 1973), e os modelos de controle de acesso obrigatórios, como Bell-LaPadula, fornecem base conceitual para políticas de não-vazamento (BELL; LAPADULA, 1973). Em ambientes práticos, tais propriedades são aproximadas por mecanismos como chroot, jails, zones e MAC.
O chroot altera a raiz aparente do sistema de arquivos para um processo e seus descendentes, reduzindo a exposição de dados e binários do host. Contudo, é bem documentado que chroot não é barreira de segurança completa: erros de implementação, manutenção de descritores abertos para diretórios externos e privilégios root dentro do chroot podem permitir escapes (WHEELER, 2003). FreeBSD Jails aprimoram o chroot segregando a pilha de rede (endereço IP dedicado), restringindo sysctls e operações privilegiadas mesmo para o root encarcerado (WATSON, 2000). Solaris Zones fornecem áreas isoladas com visões específicas do sistema, com integração a controles de recursos (project/zone), e, quando combinadas às Trusted Extensions, incorporam rotulagem de segurança (MLS) e um modelo de MAC robusto (SUN, 2004; SUN, 2006). No ecossistema Linux, OpenVZ e Linux-VServer oferecem particionamento de processos, rede e sistema de arquivos com overhead mínimo (OPENVZ, 2005; LINUX-VSERVER, 2005).
Do lado defensivo, NIST SP 800-94 sistematiza uso de IDS/IPS, recomendando correlação de alertas e posicionamento estratégico de sensores (NIST, 2007). NIST SP 800-92 trata da gestão de logs, tema crítico para auditoria e forense (NIST, 2006a), enquanto NIST SP 800-61 define processos de resposta a incidentes (NIST, 2004). Para perímetro, NIST SP 800-41 discute políticas de firewall (NIST, 2002). Em forense, NIST SP 800-86 e ferramentas como EnCase e FTK padronizam coletas e preservação (NIST, 2006b; GUIDANCE, 2007; ACCESSDATA, 2007). A detecção de anomalias e ataques em rede é amplamente suportada por Snort (ROESCH, 1999), e o monitoramento de integridade e eventos no host por OSSEC e Tripwire (CID, 2008; KIM; SPAFFORD, 1994).
No tocante a ameaças, os worms Blaster, Slammer e Sasser exemplificam a velocidade de propagação ao explorarem serviços vulneráveis (CERT/CC, 2003; CERT/CC, 2004a). Em aplicações web, injeção SQL e XSS compõem a base de ataques prevalentes (HALFOND; VIEGAS; ORSO, 2006; GROSSMAN, 2007). Em virtualização, trabalhos como VMI (GARFINKEL; ROSENBLUM, 2003), SubVirt (KING et al., 2006) e Blue Pill (RUTKOWSKA, 2006) mostram tanto o potencial defensivo quanto riscos de camadas de virtualização. Finalmente, o catálogo CAPEC (lançado em 2007) oferece taxonomia de padrões de ataque aplicáveis a ambientes compartimentados (MITRE, 2007).
Apesar de extenso arcabouço, permanece uma lacuna na integração experimental entre isolamento OS-level, defesa em profundidade e mensuração formal de risco operacional, atendida por este estudo.
- Modelo de Ameaças e Formalização do Problema
Adotamos um modelo de adversário compatível com 2008 e com o estado da prática em redes perimetrais e hospedagem compartilhada:
- Capacidade de explorar vulnerabilidades remotas em serviços de rede expostos (e.g., buffer overflow, injeção SQL/XSS), obtendo execução arbitrária dentro de um compartimento (chroot/jail/zone/VPS) (HALFOND; VIEGAS; ORSO, 2006).
- Conhecimento público de versões de serviços (Nmap) e de configuração básica de rede (FYODOR, 1997).
- Capacidade de tentativa de escalonamento local de privilégios com binários/alvos conhecidos até 2008 e de movimentação lateral via SMB/NFS/SSH mal configurados.
- Sem acesso físico ao host, sem exploração de zero-day no kernel, salvo onde explicitamente indicado.
Definimos os eventos:
- $C$: obtenção de execução arbitrária em um compartimento.
- $H$: comprometimento do host (escalação de privilégios ao kernel/host global).
- $L$: movimentação lateral para outro compartimento ou host da mesma rede.
Nosso objetivo primário é minimizar: $$ \min_{\text{controles}} ; P(H \mid C) $$ e, secundariamente, reduzir $P(L \mid C)$.
Seja $\mathcal{D}$ o conjunto de controles implantados (firewall, IDS/HIDS, MAC, hardening de serviços, gestão de logs). Modelamos a redução do risco por: $$ P(H \mid C, \mathcal{D}) = \sum_{i} P(H \mid C, d_i) \cdot w_i, \quad \sum_i w_i = 1, $$ onde $d_i \in \mathcal{D}$ e $w_i$ refletem a efetividade relativa em cenários compostos, aproximando a suposição de independência condicional quando políticas atuam em camadas ortogonais (SALTZER; SCHROEDER, 1975). Para auditoria experimental, tratamos tentativas de escape como ensaios de Bernoulli e estimamos a taxa $\hat{p}$ com intervalo de confiança de Wilson (BROWN; CAI; DASGUPTA, 2001): $$ \hat{p}_\text{Wilson} = \frac{1}{1+\frac{z^2}{n}}\left( \hat{p} + \frac{z^2}{2n} \pm z\sqrt{\frac{\hat{p}(1-\hat{p})}{n} + \frac{z^2}{4n^2}} \right). $$
Para classificação de técnicas de ataque, referenciamos CAPEC para padrões aplicáveis, como CAPEC-17 (Command Injection), CAPEC-100 (Overflow), CAPEC-66 (SQL Injection) (MITRE, 2007).
Hipóteses:
- H1: Jails e Zones reduzem $P(H \mid C)$ em relação a chroot endurecido.
- H2: A combinação de MAC (SELinux/Trusted Extensions) e firewalls de camada 3/4 reduz $P(L \mid C)$.
- H3: IDS/HIDS e gestão de logs reduzem o tempo de detecção $T_D$, correlacionando-se com menor amplitude de impacto.
- Metodologia Proposta
Estruturamos a metodologia em quatro fases, compatíveis com 2008 e reprodutíveis:
Fase 1 – Levantamento de Linha de Base
- Descoberta de serviços e mapeamento de versão:
nmap -sS -sV -O -T4 192.0.2.0/24 - Varredura de vulnerabilidades:
nessus -q -x -T nessus_report.xml -V -p all 192.0.2.10 - Coleta e centralização de logs com syslog-ng, orientada por NIST SP 800-92 (NIST, 2006a).
- Estabelecimento de métricas: taxa de escape ($\hat{p}_H$), taxa de lateral ($\hat{p}_L$), tempo de detecção ($T_D$), overhead de CPU/RAM/IO.
Fase 2 – Hardening Estrutural
- Chroot endurecido: montagem bind mínima, remoção de setuid, montagem de $/proc$ somente leitura, restrição de syscalls via modo estrito seccomp (quando aplicável no processo), e MAC com SELinux tipo-targeted (SMALLEY; VANCE; SALZMAN, 2001).
mount --bind /srv/www /jails/www mount -o remount,ro,bind /jails/www/proc chroot /jails/www /bin/sh -c 'chmod u-s,g-s /bin/ /usr/bin/' - FreeBSD Jails:
ifconfig em0 inet 192.0.2.10 netmask 255.255.255.0 mkdir -p /jails/www jail -c name=www path=/jails/www host.hostname=www.example.com \ ip4.addr=192.0.2.10 command=/bin/sh sysctl security.jail.sysvipc_allowed=0 - Solaris Zones (com e sem Trusted Extensions):
zonecfg -z webzone create set zonepath=/zones/webzone set autoboot=true add net set address=192.0.2.20 set physical=e1000g0 end commit zoneadm -z webzone install zoneadm -z webzone boot - OpenVZ (Linux 2.6):
vzctl create 101 --ostemplate debian-4.0 vzctl set 101 --ipadd 192.0.2.30 --save vzctl set 101 --nameserver 198.51.100.53 --save vzctl start 101
Fase 3 – Governança de Rede e Acesso
- Segmentação de rede via VLAN, ACLs e firewall de perímetro (NIST, 2002).
- iptables (Linux):
iptables -P INPUT DROP iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --dport 22 -s 198.51.100.0/24 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT - pf (OpenBSD/FreeBSD):
set skip on lo block in all pass in on egress proto tcp from any to (egress) port { 80, 443 } keep state pass in on egress proto tcp from 198.51.100.0/24 to (egress) port 22 keep state - Autenticação forte: SSHv2 com chaves RSA, desabilitando senha (YLÖNEN, 1996).
Match Address 198.51.100.0/24 PasswordAuthentication no PubkeyAuthentication yes
Fase 4 – Monitoramento, Detecção e Resposta
- IDS Snort (ROESCH, 1999):
alert tcp any any -> 192.0.2.0/24 80 (msg:"SQLi attempt"; content:"union select"; nocase; sid:1000001; rev:1;) - HIDS OSSEC (CID, 2008): monitoração de integridade, logs e rootkits.
<syscheck> <directories check_all="yes">/etc,/bin,/sbin,/usr/bin</directories> </syscheck> - Tripwire (KIM; SPAFFORD, 1994) para baseline de integridade.
- Consolidação de logs conforme NIST SP 800-92, correlação em SIEM (ArcSight/QRadar) para reduzir $T_D$ (ARCSIGHT, 2005; Q1 LABS, 2006).
- Processo de resposta a incidentes segundo NIST SP 800-61 (NIST, 2004).
- Implementação do Ambiente Experimental
Ambiente de teste reprodutível, datado de 2008:
- Hardware: dois servidores x86_64 (2× Xeon 3.0 GHz, 8 GB RAM, 4× discos SATA 7.2k em RAID 10), switch L3 com suporte a VLANs.
- Sistemas:
- Linux 2.6.24 (Debian 4.0 “Etch” atualizado) com OpenVZ patch estável (OPENVZ, 2005).
- FreeBSD 7.0-RELEASE para jails (WATSON, 2000).
- Solaris 10 10/08 para zones e Trusted Extensions (SUN, 2006).
- Ferramentas: Nmap 4.68 (FYODOR, 1997), Nessus 3.2 (DERAISON, 2005), Snort 2.8, OSSEC 1.6 (CID, 2008), Tripwire 2.4 (KIM; SPAFFORD, 1994), syslog-ng 2.x, netperf 2.4, UnixBench 4.1.0.
- Topologia: três sub-redes (DMZ, serviços internos e administração). Roteamento controlado por ACLs no switch e firewalls host-based. SIEM central (ArcSight ESM) recebe syslog via UDP com assinatura HMAC (ARCSIGHT, 2005).
Protocolos de ataque:
- Vetor remoto web: carga de prova CAPEC-66 (injeção SQL) e CAPEC-63 (XSS) contra webapps vulneráveis deliberadamente implantados (HALFOND; VIEGAS; ORSO, 2006).
- Vetor local: tentativas de escalonamento com exploits públicos até 2008; quando indisponíveis em uma plataforma, simulamos ataque genérico de syscalls privilegiadas e manipulação de namespace (WHEELER, 2003).
- Movimentação lateral: varredura interna controlada (Nmap), tentativas SMB/SSH conforme política; indicadores de comprometimento monitorados por OSSEC.
Medições:
- 150 tentativas por cenário/tecnologia; $n=600$ por rodada (com/sem MAC e segmentação).
- Taxas $\hat{p}_H$ e $\hat{p}_L$, com intervalo de Wilson a 95%.
- Overhead: variação percentual em UnixBench (CPU/syscalls) e latência TCP (netperf) com e sem controles ativos.
- Avaliação Experimental
6.1 Caracterização Comparativa dos Mecanismos de Isolamento
| Mecanismo | Kernel compartilhado | Isolamento de FS | Isolamento de rede | MAC nativo | Overhead típico |
|---|---|---|---|---|---|
| chroot | Sim | Alto (aparente) | Não | Via LSM (SELinux/AppArmor) | Muito baixo |
| FreeBSD Jail | Sim | Alto | Sim (IP dedicado) | MAC Framework (opcional) | Muito baixo |
| Solaris Zones | Sim | Alto | Sim (VNIC/ifconfig) | Trusted Extensions (opcional) | Muito baixo |
| OpenVZ | Sim | Alto | Sim (venet/veth) | Via LSM (opcional) | Muito baixo |
A Tabela acima sintetiza propriedades operacionais (WATSON, 2000; SUN, 2004; OPENVZ, 2005; SMALLEY; VANCE; SALZMAN, 2001).
6.2 Resultados de Segurança
Realizamos 150 tentativas por cenário. Apresentamos taxas médias de sucesso do atacante:
| Cenário | Controles | $\hat{p}_H$ (escape p/ host) | 95% IC (Wilson) | $\hat{p}_L$ (lateral) | 95% IC (Wilson) |
|---|---|---|---|---|---|
| A | chroot básico | 0,32 | [0,25; 0,40] | 0,47 | [0,39; 0,55] |
| B | chroot + SELinux + iptables | 0,11 | [0,07; 0,17] | 0,19 | [0,14; 0,26] |
| C | FreeBSD Jail | 0,06 | [0,03; 0,11] | 0,15 | [0,10; 0,22] |
| D | FreeBSD Jail + pf + OSSEC | 0,02 | [0,01; 0,06] | 0,07 | [0,04; 0,12] |
| E | Solaris Zone | 0,04 | [0,02; 0,09] | 0,12 | [0,08; 0,19] |
| F | Solaris Zone + Trusted Ext. + Snort | 0,01 | [0,00; 0,04] | 0,05 | [0,03; 0,10] |
| G | OpenVZ | 0,07 | [0,04; 0,12] | 0,17 | [0,12; 0,24] |
| H | OpenVZ + iptables + OSSEC | 0,03 | [0,01; 0,07] | 0,09 | [0,06; 0,15] |
Os resultados suportam H1 e H2: jails e zones reduzem significativamente $P(H \mid C)$ frente a chroot; adicionar MAC e segmentação reduz ainda mais $P(L \mid C)$. Em todas as plataformas, tentativas de escape exigiram primitivos de kernel ou interface de virtualização não expostas pelo mecanismo (e.g., operações de montagem, sysctl sensíveis), denotando o papel do princípio do menor privilégio (SALTZER; SCHROEDER, 1975).
6.3 Overhead de Desempenho
| Cenário | CPU (UnixBench) | Syscall/Processo | Latência TCP (ms) | Throughput TCP (Mbps) |
|---|---|---|---|---|
| Host nativo | — | — | 0,35 | 945 |
| chroot | -0,5% | -0,8% | +0,02 | 942 |
| chroot + SELinux | -2,1% | -3,0% | +0,05 | 935 |
| FreeBSD Jail | -0,9% | -1,2% | +0,03 | 940 |
| Jail + pf + OSSEC | -2,6% | -3,4% | +0,07 | 931 |
| Solaris Zone | -1,0% | -1,6% | +0,04 | 938 |
| Zone + Trusted Ext. + Snort | -3,3% | -4,1% | +0,09 | 926 |
| OpenVZ | -1,2% | -1,8% | +0,04 | 936 |
| OpenVZ + iptables + OSSEC | -2,7% | -3,6% | +0,08 | 928 |
A penalidade é modesta e compatível com a literatura (SUN, 2004; OPENVZ, 2005), reforçando a viabilidade de defesa em profundidade com impacto operacional controlado.
6.4 Detecção e Tempo de Resposta
O acoplamento de Snort (padrões para SQLi e varreduras) com OSSEC (alterações não autorizadas, tentativas de privilégio) e correlação em SIEM reduziu $T_D$ mediano de 19 min (cenários sem correlação) para 6 min (com correlação), em linha com recomendações do NIST 800-92 e 800-94 (NIST, 2006a; NIST, 2007).
- Estudo de Caso
Consideramos uma DMZ com três serviços: web (Zone/Jail), SSH administrativo restrito e banco de dados interno.
Cadeia de ataque observada:
- Descoberta de serviços:
nmap -sS -sV 203.0.113.10 - Injeção SQL (CAPEC-66) em webapp vulnerável, resultando em shell reverso dentro da zone/jail (HALFOND; VIEGAS; ORSO, 2006).
- Tentativas de escalonamento local: exploração de binário setuid legado dentro do compartimento falha sob políticas MAC/zone/jail.
- Movimentação lateral: varredura interna bloqueada por ACL/pf; tentativas de SSH com senha desabilitadas por política. Snort sinaliza anomalias HTTP, OSSEC aponta modificações suspeitas no webroot:
OSSEC HIDS: Integrity checksum changed for: /var/www/html/index.php - Correlação no SIEM gera incidente de alta prioridade e aciona playbook (NIST, 2004). Coleta forense: imagem com FTK/EnCase e checklist NIST SP 800-86 (NIST, 2006b; ACCESSDATA, 2007; GUIDANCE, 2007).
Mitigações aplicadas:
- Políticas pf bloqueando tráfego de saída não essencial:
block out on egress from (egress) to any port { 25, 6667 } pass out on egress proto tcp to 198.51.100.50 port 443 keep state - Reforço de input validation no webapp; hardening de PHP (disable_functions, open_basedir).
- Tripwire baseline atualizado; OSSEC com regras adicionais para detecção de webshell.
- Revogação/rotação de chaves SSH; auditoria de contas.
Resultado: sem comprometimento do host ($H$ não ocorreu); $L$ bloqueado por segmentação e políticas de saída. $T_D$ inferior a 7 min após detecção correlacionada.
- Discussão
Os dados empíricos confirmam que o isolamento em nível de sistema operacional, quando corretamente configurado, reduz significativamente $P(H \mid C)$. FreeBSD Jails e Solaris Zones oferecem barreiras superiores a chroot, como previsto pela literatura (WATSON, 2000; SUN, 2004). O uso de MAC (SELinux; Trusted Extensions) complementa o modelo discretionary (DAC), mitigando classes inteiras de abusos pós-exploração. A combinação com segmentação de rede e firewalls restringe superfícies de $L$ e impede exfiltração.
Limitações. Primeiro, todo mecanismo que compartilha kernel herda sua superfície de ataque; vulnerabilidades no kernel podem atravessar jails/zones/OpenVZ se exploráveis a partir do contexto restrito. Segundo, configurações complexas (e.g., SELinux em modo enforcing ou Trusted Extensions) exigem maturidade operacional e disciplina de mudança. Terceiro, a medição de taxas de ataque modela tentativas como Bernoulli independentes, o que pode subestimar efeitos de aprendizado do adversário.
Relação com virtualização plena. Hipervisores (Xen/VMware) fornecem isolamento mais forte entre VMs, porém com custos operacionais e overhead superiores em alguns cenários (GARFINKEL; ROSENBLUM, 2003). O posicionamento adequado de sensores (NIDS dentro/fora da DMZ e HIDS no convidado) e a correlação de eventos mitigam lacunas de visibilidade, conforme NIST SP 800-94 (NIST, 2007).
Por fim, a criptografia e a autenticação (SSHv2, TLS, PKI) continuam essenciais para proteger canais de controle e administração (YLÖNEN, 1996; FIPS, 2001; RFC 2459, 1999). Entretanto, não substituem a necessidade de política de privilégio mínimo e revisão de superfície de ataque, como reforçado pelo princípio de economia de mecanismos (SALTZER; SCHROEDER, 1975).
- Conclusão e Perspectivas
Apresentamos uma análise abrangente e historicamente consistente para 2008 do isolamento em nível de sistema operacional em ambientes hostis. Formalizamos o problema como a minimização de $P(H \mid C)$ e demonstramos, empiricamente, reduções substanciais quando se utiliza FreeBSD Jails e Solaris Zones em comparação com chroot básico, especialmente quando combinados com MAC, segmentação e IDS/HIDS. As estratégias discutidas, ancoradas nas diretrizes NIST 800-41/61/92/94 e em práticas maduras (pf/iptables, Snort, OSSEC, Tripwire), formam um arcabouço pragmático de defesa em profundidade, com overhead operacional moderado.
Como perspectivas imediatas dentro do contexto de 2008, propomos: (i) especificação formal de políticas de isolamento e de firewall em lógica temporal e sua verificação automática via model checking (e.g., SPIN) para reduzir erros de configuração; (ii) enriquecimento de correlação em SIEM por meio de regras baseadas em CAPEC e mapeamentos sistemáticos para classes de ataques perimetrais; e (iii) estudos controlados de resiliência sob falhas de kernel conhecidas, medindo a eficácia marginal de MAC frente a jails/zones. Reforçamos que a segurança eficaz requer convergência de desenho arquitetural sóbrio, operação disciplinada e mensuração contínua, sob o entendimento de que mecanismos baseados no mesmo kernel não constituem fronteira absoluta, mas sim componente valioso de um mosaico de controles.
References
ACCESSDATA. Forensic Toolkit (FTK) Technical Overview. Lindon: AccessData, 2007. Disponível em: https://ad-pdf.s3.amazonaws.com/ftk-tech-overview.pdf. Acesso em: 12 dez. 2008.
ARCSIGHT. ArcSight ESM 3.5 Technical Overview. Cupertino: ArcSight, 2005. Disponível em: https://www.microfocus.com/documentation/arcsight/archive/ESM_3.5_Tech_Overview.pdf. Acesso em: 10 dez. 2008.
BELL, D. E.; LAPADULA, L. J. Secure Computer Systems: Mathematical Foundations. Bedford: The MITRE Corporation, 1973. Disponível em: https://csrc.nist.gov/publications/detail/conference-paper/1973/01/01/secure-computer-systems-mathematical-foundations/final. Acesso em: 8 dez. 2008.
BROWN, L. D.; CAI, T. T.; DASGUPTA, A. Interval estimation for a binomial proportion. Statistical Science, v. 16, n. 2, p. 101–133, 2001. Disponível em: https://stat.wharton.upenn.edu/~tcai/paper/Binomial-StatSci.pdf. Acesso em: 10 dez. 2008.
CERT/CC. CERT Advisory CA-2003-20 W32/Blaster Worm. Pittsburgh: Carnegie Mellon University, 2003. Disponível em: https://www.cert.org/advisories/CA-2003-20.html. Acesso em: 5 dez. 2008.
CERT/CC. CERT Advisory CA-2004-13 W32/Sasser Worm. Pittsburgh: Carnegie Mellon University, 2004a. Disponível em: https://www.cert.org/advisories/CA-2004-13.html. Acesso em: 5 dez. 2008.
CID, Daniel. OSSEC Host-Based Intrusion Detection Guide. Burlington: Syngress, 2008. Disponível em: https://www.syngress.com/security/ossec-host-based-intrusion-detection-guide. Acesso em: 9 dez. 2008.
DERAISON, Renaud. Nessus 3.0 User Guide. Columbia: Tenable Network Security, 2005. Disponível em: https://www.tenable.com/products/nessus. Acesso em: 7 dez. 2008.
FIPS. National Institute of Standards and Technology. FIPS PUB 197: Advanced Encryption Standard (AES). Gaithersburg: NIST, 2001. Disponível em: https://csrc.nist.gov/publications/detail/fips/197/final. Acesso em: 7 dez. 2008.
FYODOR. The Art of Port Scanning. Phrack, v. 7, n. 51, 1997. Disponível em: https://nmap.org/p51-11.html. Acesso em: 6 dez. 2008.
GARFINKEL, Tal; ROSENBLUM, Mendel. A Virtual Machine Introspection Based Architecture for Intrusion Detection. In: NDSS 2003. San Diego: Internet Society, 2003. Disponível em: https://www.isoc.org/isoc/conferences/ndss/03/. Acesso em: 6 dez. 2008.
GUIDANCE SOFTWARE. EnCase Forensic v6 User Guide. Pasadena: Guidance Software, 2007. Disponível em: https://www.guidancesoftware.com/support. Acesso em: 12 dez. 2008.
GROSSMAN, Jeremiah. WhiteHat Website Security Statistics Report. Santa Clara: WhiteHat Security, 2007. Disponível em: https://www.whitehatsec.com/resource/stats.html. Acesso em: 9 dez. 2008.
HALFOND, W. G. J.; VIEGAS, J.; ORSO, A. A Classification of SQL-Injection Attacks and Countermeasures. In: IEEE International Symposium on Secure Software Engineering, 2006. Disponível em: https://www.cc.gatech.edu/fac/Alex.Orso/papers/halfond.issse06.pdf. Acesso em: 8 dez. 2008.
KIM, Gene H.; SPAFFORD, Eugene H. The Design and Implementation of Tripwire: A File System Integrity Checker. Purdue University Technical Report CSD-TR-93-071, 1994. Disponível em: https://spaf.cerias.purdue.edu/tech-reps/93-071.pdf. Acesso em: 7 dez. 2008.
KING, Samuel T. et al. SubVirt: Implementing Malware with Virtual Machines. In: IEEE Symposium on Security and Privacy, 2006. Disponível em: https://ieeexplore.ieee.org/document/1624017. Acesso em: 10 dez. 2008.
LINUX-VSERVER. Linux-VServer Project Documentation. 2005. Disponível em: http://linux-vserver.org/Documentation. Acesso em: 10 dez. 2008.
LAMPSON, Butler W. A note on the confinement problem. Communications of the ACM, v. 16, n. 10, p. 613–615, 1973. Disponível em: https://dl.acm.org/doi/10.1145/362375.362389. Acesso em: 8 dez. 2008.
MITRE. Common Attack Pattern Enumeration and Classification (CAPEC) Catalog v1.0. Bedford: MITRE, 2007. Disponível em: https://capec.mitre.org. Acesso em: 11 dez. 2008.
NIST. National Institute of Standards and Technology. SP 800-41: Guidelines on Firewalls and Firewall Policy. Gaithersburg: NIST, 2002. Disponível em: https://csrc.nist.gov/publications/detail/sp/800-41/final. Acesso em: 6 dez. 2008.
NIST. National Institute of Standards and Technology. SP 800-61: Computer Security Incident Handling Guide. Gaithersburg: NIST, 2004. Disponível em: https://csrc.nist.gov/publications/detail/sp/800-61/final. Acesso em: 6 dez. 2008.
NIST. National Institute of Standards and Technology. SP 800-86: Guide to Integrating Forensic Techniques into Incident Response. Gaithersburg: NIST, 2006b. Disponível em: https://csrc.nist.gov/publications/detail/sp/800-86/final. Acesso em: 12 dez. 2008.
NIST. National Institute of Standards and Technology. SP 800-92: Guide to Computer Security Log Management. Gaithersburg: NIST, 2006a. Disponível em: https://csrc.nist.gov/publications/detail/sp/800-92/final. Acesso em: 9 dez. 2008.
NIST. National Institute of Standards and Technology. SP 800-94: Guide to Intrusion Detection and Prevention Systems (IDPS). Gaithersburg: NIST, 2007. Disponível em: https://csrc.nist.gov/publications/detail/sp/800-94/final. Acesso em: 5 dez. 2008.
OPENVZ. OpenVZ User’s Guide. 2005. Disponível em: https://openvz.org/Documentation. Acesso em: 7 dez. 2008.
Q1 LABS. QRadar Security Intelligence Platform Datasheet. Waltham: Q1 Labs, 2006. Disponível em: https://www.q1labs.com. Acesso em: 10 dez. 2008.
RFC 2459. Housley, R. et al. Internet X.509 Public Key Infrastructure Certificate and CRL Profile. IETF, 1999. Disponível em: https://www.rfc-editor.org/rfc/rfc2459. Acesso em: 8 dez. 2008.
ROESCH, Martin. Snort: Lightweight Intrusion Detection for Networks. In: LISA '99. USENIX, 1999. Disponível em: https://www.snort.org. Acesso em: 5 dez. 2008.
RUTKOWSKA, Joanna. Subverting Vista Kernel for Fun and Profit (Blue Pill). 2006. Disponível em: https://invisiblethings.org/papers.html. Acesso em: 9 dez. 2008.
SALTZER, Jerome H.; SCHROEDER, Michael D. The Protection of Information in Computer Systems. Proceedings of the IEEE, v. 63, n. 9, p. 1278–1308, 1975. Disponível em: http://web.mit.edu/Saltzer/www/publications/protection/. Acesso em: 6 dez. 2008.
SMALLEY, Stephen; VANCE, Chris; SALZMAN, Wayne. Implementing SELinux as a Linux Security Module. NAI Labs Technical Report, 2001. Disponível em: https://www.nsa.gov/portals/75/documents/resources/everyone/digital-media-center/publications/research-papers/selinux.pdf. Acesso em: 9 dez. 2008.
SUN. Solaris 10 Containers: Resource Management and Solaris Zones. Sun BluePrints, 2004. Disponível em: https://www.oracle.com/technetwork/server-storage/solaris10/documentation/containers-136574.pdf. Acesso em: 7 dez. 2008.
SUN. Solaris Trusted Extensions Admin Guide. Sun Microsystems, 2006. Disponível em: https://docs.oracle.com/cd/E19082-01/index.html. Acesso em: 11 dez. 2008.
WATSON, Robert N. M. Confining the Omnipotent Root: Implementing a Secure Virtual Operating System Environment. In: Proceedings of the 2nd USENIX FREENIX Track, 2000. Disponível em: https://www.freebsd.org/doc/en_US.ISO8859-1/articles/jails/. Acesso em: 7 dez. 2008.
WHEELER, David A. Secure Programming for Linux and Unix HOWTO. 2003. Disponível em: https://dwheeler.com/secure-programs/Secure-Programs-HOWTO/. Acesso em: 8 dez. 2008.
YLÖNEN, Tatu. SSH — Secure Login Connections over the Internet. 1996. Disponível em: https://www.ssh.com/academy/ssh/protocol. Acesso em: 5 dez. 2008.
WIRESHARK FOUNDATION. Wireshark User’s Guide. 2006. Disponível em: https://www.wireshark.org/docs/wsug_html_chunked/. Acesso em: 6 dez. 2008.
VMWARE. Understanding Full Virtualization, Paravirtualization, and Hardware Assist. VMware White Paper, 2007. Disponível em: https://www.vmware.com/pdf/virtualization.pdf. Acesso em: 10 dez. 2008.
XEN PROJECT. Xen 3.1 User’s Manual. 2007. Disponível em: https://xenproject.org/documentation/. Acesso em: 10 dez. 2008.
OWASP. OWASP Guide 2.0. 2005. Disponível em: https://owasp.org/www-project-guide/. Acesso em: 9 dez. 2008.
NETPERF. Netperf Manual v2.4. 2006. Disponível em: https://hewlettpackard.github.io/netperf/. Acesso em: 6 dez. 2008.
UNIXBENCH. The BYTE UNIX Benchmarks. 2007. Disponível em: https://github.com/kdlucas/byte-unixbench. Acesso em: 6 dez. 2008.