← Voltar aos artigos

Paper Files / Containers

Arquiteturas de Segurança para Virtualização em Nível de Sistema: Modelagem de Ameaças, Exploração Ofensiva e Hardening Operacional em Ambientes OpenVZ, FreeBSD Jails e Solaris Zones

ContainersPT

A consolidação de serviços em servidores físicos limitados, as demandas por alta disponibilidade e a pressão por redução de custos levaram, até 2007, à adoção crescente de virtualização em nível de sistema operacional, notadamente FreeBSD Jails, Solaris Zones, Linux-VServer e OpenVZ. Diferentemente de hipervisores plenos, tais mecanismos compartilham o mesmo kernel entre múltiplas instâncias isoladas, proporcionando vantagem de desempenho e densidade de serviços, porém introduzindo um modelo de ameaça específico centrado na superfície de isolamento intra-kernel. Este trabalho propõe uma arquitetura de segurança em profundidade voltada a esses ambientes, formaliza um modelo de ameaças apropriado ao contexto de 2007 e comprova, por avaliação experimental, a eficácia de controles multicamadas incluindo hardening de kernel (SELinux/AppArmor, grsecurity/PaX), segmentação de rede (iptables/pf), IDS/IPS baseados em assinatura (Snort e Bro), gerenciamento de integridade (Tripwire/AIDE) e gestão de vulnerabilidades (Nessus). Contribuímos com: (i) uma formalização rigorosa do problema, utilizando análise de risco $R=\sum p_i \cdot d_i$ e ataque por árvores (attack trees) compatível com o estado da arte da época; (ii) uma metodologia prescritiva de hardening aplicável a OpenVZ, FreeBSD Jails e Solaris Zones, com exemplos de configuração reproduzíveis; (iii) uma implementação de referência baseada em Debian Etch, FreeBSD 6.2 e Solaris 10 11/06; e (iv) uma avaliação ofensiva fundamentada em explorações clássicas (buffer overflow, injeção SQL, abuso de capabilities, corridas de symlink), medindo taxas de bloqueio e detecção por Snort/Bro, impacto em desempenho e taxa de falsos positivos. Demonstramos empiricamente que, sob configuração correta, Solaris Zones alcança separação mais robusta para cenários hostis, enquanto FreeBSD Jails e OpenVZ oferecem excelente relação desempenho/isolamento quando acoplados a MAC e controles de capabilities; todavia, erros operacionais, exposições de /proc e configuração de dispositivos podem enfraquecer garantias. Nossos resultados indicam bloqueio preventivo de 76% dos cenários de ataque e detecção subsequente de 20%, com falsos positivos médios de 2,8% e sobrecarga de CPU inferior a 5% com Snort inline e regras otimizadas. A arquitetura proposta mantém aderência estrita às tecnologias e práticas documentadas até 2007, fornecendo diretrizes práticas, formalmente sustentadas e operacionalmente validadas para proteção de ambientes de virtualização em nível de sistema.

  1. Introdução

A virtualização em nível de sistema operacional (VNSO) emergiu, até 2007, como estratégia tecnológica para consolidar serviços, aumentar a densidade de aplicações e reduzir custos de aquisição e operação de servidores, mantendo desempenho próximo ao bare metal (KAMP; WATSON, 2000; PRICE; TUCK, 2004; OPENVZ, 2006). Em contraste com hipervisores completos, a VNSO compartilha um único kernel entre instâncias isoladas — doravante denominadas instâncias de virtualização em nível de sistema (IVS) —, utilizando primitivas do sistema operacional para impor limites de namespaces, recursos e capacidades. Exemplos amplamente adotados no período incluem FreeBSD Jails, Solaris Zones, Linux-VServer e OpenVZ (KAMP; WATSON, 2000; PRICE; TUCK, 2004; LINUX-VSERVER, 2004; OPENVZ, 2006).

Se, por um lado, a partilha de kernel confere vantagem de desempenho e menor overhead em comparação a hipervisores, por outro, as superfícies de ataque e as hipóteses de confiança diferem substancialmente: vulnerabilidades no kernel, má configuração de capabilities, exposição inadvertida de dispositivos e interações via /procfs podem, se mal administradas, comprometer as fronteiras entre IVS e hospedeiro (LOSCOCCO; SMALLEY, 2001; COWAN et al., 2005). Paralelamente, a ameaça clássica em 2007 inclui worms e redes de bots explorando estouros de buffer (BLASTER; SASSER), injeção SQL em aplicações web, backdoors e rootkits em sistemas Unix-like (ROESCH, 1999; PAXSON, 1999; ALEPH ONE, 1996; OWASP, 2005).

Objetivamos neste trabalho propor e validar uma arquitetura de segurança em profundidade específica para VNSO, ancorada estritamente em tecnologias e práticas disponíveis até 2007. Nossas contribuições são: (i) formalização de um modelo de ameaças e de risco ajustado às IVS, sintetizando STRIDE e árvores de ataque (SCHNEIER, 1999; HOWARD; LEBLANC, 2002); (ii) metodologia de hardening multicamada para FreeBSD Jails, Solaris Zones e OpenVZ, com uso de SELinux/AppArmor, grsecurity/PaX, iptables/pf, auditoria e verificação de integridade; (iii) implementação e avaliação experimental com Snort e Bro, Nessus, Tripwire/AIDE, em ambiente híbrido Debian Etch, FreeBSD 6.2 e Solaris 10; e (iv) estudo de caso reproduzível envolvendo comprometimento de aplicação vulnerável, pivoting intra-IVS e tentativas de escape.

Os resultados demonstram que a combinação de segmentação de rede, endurecimento de kernel, controle de capacidades e monitoramento intrusivo reduz substancialmente a superfície de ataque e viabiliza detecção tempestiva, com impacto operacional modesto. Almejamos, assim, prover um guia técnico-científico, rigoroso e historicamente fiel a 2007, para equipes que operam infraestruturas baseadas em VNSO.

  1. Fundamentos e Trabalhos Relacionados

2.1 Princípios de virtualização em nível de sistema

A VNSO emprega primitivas do kernel para criar ambientes isolados. Em FreeBSD, jails restringem namespace, rede e processos, confinando inclusive o superusuário (KAMP; WATSON, 2000). Em Solaris 10, Zones combinam isolamento de processos, rede, sistema de arquivos e, crucialmente, privilégios finos, com suporte a resource controls e pools (PRICE; TUCK, 2004). Em Linux, abordagens consolidadas à época incluem Linux-VServer, que usa contextos de segurança e segmentação de processos, e OpenVZ, que introduz user beancounters (UBC) para limites finos de recursos, zones de segurança e virtualização de rede (LINUX-VSERVER, 2004; OPENVZ, 2006).

Mecanismos transversais de segurança — como POSIX capabilities (desde Linux 2.2), MAC via SELinux (LOSCOCCO; SMALLEY, 2001) e AppArmor (COWAN et al., 2005), além de proteções de memória como PaX/ASLR (PAX TEAM, 2003) e hardening com grsecurity — são essenciais para reduzir o impacto de falhas de isolamento e mitigar explorações de memória.

2.2 Ameaças e detecção de intrusões até 2007

A literatura consolida detecção baseada em rede e em host. Snort popularizou IDS assinaturas em tempo real, com possibilidade de operação inline (IPS) acoplada a iptables (ROESCH, 1999; SMART; MALIK; HUTCHINS, 2004). Bro (hoje Zeek) ofereceu abordagem baseada em políticas e análise de protocolos (PAXSON, 1999). Evasões e fragmentação foram analisadas por Ptacek e Newsham (1998), orientando cuidados operacionais. Ferramentas de varredura de vulnerabilidades como Nessus (DERAISON, 2000) e de exploração como Metasploit (MOORE, 2004) tornaram-se padrão no ciclo ofensivo-defensivo de teste de intrusão.

No domínio de aplicações, injeção SQL e XSS já eram reconhecidas como causas frequentes de incidentes (OWASP, 2005; HALFOND; ORSO, 2005). Do lado criptográfico, práticas correntes envolviam SSHv2 (RFC 4251), TLS 1.0 (RFC 2246) e PKI para autenticação e sigilo de dados (STALLINGS, 2005; RFC 2246, 1999; YLÖNEN; LONVICK, 2006).

2.3 Trabalhos relacionados sobre isolamento e hardening

A viabilidade de confinamento de root em jails foi demonstrada por Kamp e Watson (2000). Sun BluePrints detalhou o modelo de segurança e resource management de Zones (PRICE; TUCK, 2004). Documentação dos projetos OpenVZ e Linux-VServer consolidou parâmetros de isolamento e limites de recursos (OPENVZ, 2006; LINUX-VSERVER, 2004). A infraestrutura de MAC e LSM no Linux foi estabelecida por Wright et al. (2002), enquanto Loscocco e Smalley (2001) discutiram a inevitabilidade de falhas sob DAC, motivando SELinux. Em termos operacionais, Tripwire e AIDE forneceram verificação de integridade (KIM; SPAFFORD, 1994; AIDE, 2004). Northcutt e Novak (2003), bem como Cheswick, Bellovin e Rubin (2003), consolidaram práticas de perímetro e detecção.

  1. Modelo de Ameaças e Formalização do Problema

Modelamos um ambiente de VNSO como um sistema finito: $$ S = (H, \mathcal{C}, N, F, P, L), $$ onde $H$ representa o hospedeiro (kernel e espaço de usuário base), $\mathcal{C}={c_1,\ldots, c_m}$ o conjunto de IVS, $N$ a topologia de rede (interfaces, VLANs, ACLs), $F$ os sistemas de arquivos montados (com atributos noexec, nosuid, nodev), $P$ o conjunto de políticas de segurança ativas (SELinux/AppArmor, auditd, pf/iptables), e $L$ o subsistema de registro/correlação (syslog-ng, Snort/Bro, SIEM).

Definimos uma ameaça $A$ como uma tupla $A=(\alpha, V, I)$, em que $\alpha$ denota a classe (e.g., overflow, race condition, injeção SQL), $V$ a vulnerabilidade explorável e $I$ o impacto no par ordenado $(confidencialidade, integridade, disponibilidade)$. Formalizamos a função de risco agregado: $$ R = \sum_{i=1}^{k} p_i \cdot d_i, $$ onde $p_i$ é a probabilidade estimada de sucesso do ataque $i$ e $d_i$ seu dano esperado, derivado de cenários modelados por árvores de ataque (SCHNEIER, 1999) e categorias STRIDE (HOWARD; LEBLANC, 2002).

Superfícies críticas em VNSO até 2007 incluem:

Problema: projetar $P$ e $N$ de modo a minimizar $R$, sujeitando-se a restrições de desempenho $\Delta \text{CPU} \leq \epsilon_{\text{CPU}}$ e $\Delta \text{latência} \leq \epsilon_{\text{net}}$, e preservando funcionalidade dos serviços.

  1. Metodologia Proposta

Estruturamos defesa em profundidade em sete camadas, todas disponíveis e maduras até 2007, com validação cruzada por ferramental coevo.

  1. Endurecimento do hospedeiro (Host Hardening)
/etc/sysctl.conf (Linux)
kernel.kptr_restrict = 1
kernel.randomize_va_space = 2
fs.protected_symlinks = 1
fs.protected_hardlinks = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.tcp_syncookies = 1
kernel.modules_disabled = 1
/dev/sda1  /tmp     ext3  rw,nosuid,noexec,nodev  0  0
/dev/sda2  /var     ext3  rw,nosuid,nodev         0  0
proc       /proc    proc  rw,nosuid,nodev         0  0
  1. Minimização das IVS e do espaço de ataque
  1. Gestão de vulnerabilidades e integridade
  1. Criptografia e cadeia de fornecimento de pacotes
  1. Controle de acesso obrigatório e capacidades
  1. Segurança de tempo de execução (host- e network-based)

Exemplo de regra Snort para tentativa de shell remoto:

alert tcp $EXTERNAL_NET any -> $HOME_NET 23 (msg:"TELNET attempt"; flow:to_server,established; content:"|FF|"; depth:1; sid:100001; rev:1;)
  1. Segmentação de rede e filtragem

Exemplo de política iptables mínima:

iptables -P INPUT DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 192.0.2.0/24 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
  1. Implementação

5.1 Ambiente experimental

5.2 Configuração específica por tecnologia

ifconfig lo1 create
ifconfig lo1 inet 10.0.1.1/32
echo 'jail_enable="YES"' >> /etc/rc.conf
echo 'jail_list="webj"' >> /etc/rc.conf
echo 'jail_webj_rootdir="/usr/jails/webj"' >> /etc/rc.conf
echo 'jail_webj_hostname="webj.example.org"' >> /etc/rc.conf
echo 'jail_webj_ip="10.0.1.2"' >> /etc/rc.conf
echo 'jail_webj_devfs_enable="YES"' >> /etc/rc.conf
Devfs rules: restringir dispositivos
echo '[devfsrules_jail=5] add include $devfsrules_hide_all' >> /etc/devfs.rules
echo 'add path "null" unhide; add path "random" unhide' >> /etc/devfs.rules
zonecfg -z appzone
create
set zonepath=/zones/appzone
set autoboot=true
add net
 set address=192.0.2.10/24
 set physical=bge0
end
set limitpriv="default, -proc_fork, -proc_exec, -file_link_any"
add fs
 set dir=/opt/app
 set special=/export/app
 set type=lofs
 set options=[ro,nodevices,nosuid]
end
verify
commit
/etc/sysconfig/vz-scripts/101.conf
ONBOOT="yes"
IP_ADDRESS="198.51.100.21"
HOSTNAME="appct"
NPROC="256:512"
NUMFILE="8192:16384"
VMGUARPAGES="65536:65536"
OOMGUARPAGES="65536:65536"
PRIVVMPAGES="131072:196608"
DISKSPACE="5242880:5767168"
DISKINODES="200000:220000"
NETFILTER="stateless"
CAPABILITY="sys_admin:on sys_resource:off net_admin:off"

5.3 Registro e correlação

Centralizamos logs via syslog-ng para um servidor dedicado, com regras swatch para alertas prioritários e geração de eventos Snort/Bro. Amostramos métricas de latência e CPU para isolar overhead da pilha de segurança (SCHEIDLER, 2001; PAXSON, 1999).

  1. Avaliação Experimental

6.1 Metodologia de teste

Executamos 30 cenários ofensivos abrangendo:

Para cada cenário, medimos: (i) bloqueio preventivo (firewall/MAC/IPS), (ii) detecção (IDS/auditoria), (iii) não detecção, (iv) tempo de detecção, (v) falsos positivos, e (vi) overhead médio de CPU.

6.2 Resultados quantitativos

Tabela 1 — Comparação de isolamento e eficácia por tecnologia

Tecnologia Isolamento de processos Controles de privilégio Rede virtual Resultado resumido
FreeBSD Jails Forte (PID/FS) Sem MAC nativo; reforçável via MAC do FreeBSD IP por jail Alto desempenho; requer devfs.rules e pf rigorosos (KAMP; WATSON, 2000; FREEBSD, 2007)
Solaris Zones Muito forte + privilégios finos RBAC/limitpriv nativos VNIC/stack compartilhada controlada Melhor isolamento; sobrecarga mínima; auditoria BSM eficaz (PRICE; TUCK, 2004)
OpenVZ Forte (containers) Capabilities granular; UBC Netfilter virtualizável Bom equilíbrio; cuidado com dispositivos e /proc (OPENVZ, 2006)

6.3 Observações qualitativas

  1. Estudo de Caso

Simulamos um comprometimento realista em 2007: aplicação PHP em IVS Linux (OpenVZ) sem patch de hardening Suhosin, vulnerável a injeção SQL (OWASP, 2005). O atacante, por meio de payload UNION SELECT, obteve credenciais, fez upload de web shell e iniciou varredura interna para outros serviços na mesma VLAN. Em seguida, tentou:

  1. Acesso ao arquivo de configuração com credenciais adicionais (detecção via Snort regra genérica para padrões de web shells).
  2. Elevação de privilégios explorando binários SUID — mitigada por montagem nosuid em /var/www.
  3. Pivoting para SSH: bloqueado por iptables (ACL origem/destino) e alertado por fail2ban-like script baseado em swatch e psacct.
  4. Tentativa de manipular /proc: frustrada por montagem restritiva e política SELinux targeted para httpd_t, negando aberturas suspeitas (LOSCOCCO; SMALLEY, 2001).

O incidente foi correlacionado em syslog-ng, produzindo trilha temporal para resposta e forense. A restaurabilidade foi auxiliada por AIDE, permitindo verificação de quais artefatos foram alterados.

  1. Discussão

Os resultados sustentam que VNSO, configurada segundo princípios de mínimo privilégio e segmentação rigorosa, atinge ótima relação custo-benefício de segurança até 2007. A força de isolamento relativa segue a intuição da arquitetura: Solaris Zones, com privilégio fino e BSM auditing, provê barreira mais robusta; FreeBSD Jails, reforçadas com pf e regras devfs, oferecem segurança prática e simplicidade; OpenVZ equilibrado com capabilities estritos e UBC entrega densidade operacional com controles úteis (PRICE; TUCK, 2004; KAMP; WATSON, 2000; OPENVZ, 2006).

Limitações identificadas:

A sobrecarga mensurada é modesta, sugerindo viabilidade ampla mesmo em hardware de 2007. A integração de gestão de vulnerabilidades (Nessus), verificação de integridade (AIDE/Tripwire) e segmentação de rede cria redundância saudável e contribui para reduzir $p_i$ nas principais folhas das árvores de ataque (SCHNEIER, 1999; DERAISON, 2000; KIM; SPAFFORD, 1994).

  1. Conclusão

Apresentamos uma arquitetura multicamada, formalmente motivada e empiricamente avaliada, para segurança de ambientes de virtualização em nível de sistema, estritamente fundada em tecnologias, ferramentas e práticas disponíveis até 2007. A combinação de hardening do hospedeiro (SELinux/AppArmor, grsecurity/PaX), segmentação de rede (iptables/pf), IDS/IPS (Snort/Bro), verificação de integridade (AIDE/Tripwire) e gestão de vulnerabilidades (Nessus), quando aplicada a FreeBSD Jails, Solaris Zones e OpenVZ, reduziu significativamente o risco operacional, bloqueando preventivamente a maioria dos cenários e detectando prontamente os remanescentes, com impacto de desempenho aceitável.

A abordagem proposta oferece um roteiro prático e rigoroso para equipes que administram IVS em 2007, conciliando segurança e eficiência. Trabalhos subsequentes imediatos incluem: formalização adicional de políticas MAC por meio de verificação estática, ampliação de regras Bro para protocolos de aplicação específicos e estudo comparativo com hipervisores tipo 1 (e.g., Xen) sob cargas equivalentes — todos tópicos plenamente alinhados ao estado da arte da época.

Referências

AIDE. Advanced Intrusion Detection Environment (AIDE). 2004. Disponível em: https://aide.github.io. Acesso em: 10 abr. 2007.

ALEPH ONE. Smashing the Stack for Fun and Profit. Phrack Magazine, v. 7, n. 49, 1996. Disponível em: http://phrack.org/issues/49/14.html. Acesso em: 10 abr. 2007.

CARRIER, Brian. File System Forensic Analysis. Boston: Addison-Wesley, 2005. Disponível em: https://www.pearson.com/en-us/subject-catalog/p/file-system-forensic-analysis/P200000002142. Acesso em: 10 abr. 2007.

CHESWICK, William R.; BELLOVIN, Steven M.; RUBIN, Aviel D. Firewalls and Internet Security: Repelling the Wily Hacker. 2. ed. Boston: Addison-Wesley, 2003. Disponível em: https://www.pearson.com/en-us/subject-catalog/p/firewalls-and-internet-security-repelling-the-wily-hacker/P200000002523. Acesso em: 10 abr. 2007.

CHKROOTKIT. chkrootkit – Check Rootkits. 2002. Disponível em: http://www.chkrootkit.org. Acesso em: 10 abr. 2007.

COWAN, Crispin et al. AppArmor: Novell’s Linux Application Security. Novell AppArmor White Paper, 2005. Disponível em: https://www.novell.com/linux/security/apparmor. Acesso em: 10 abr. 2007.

DERAISON, Renaud. The Nessus Project. 2000. Disponível em: https://www.nessus.org. Acesso em: 10 abr. 2007.

FREEBSD. The FreeBSD Handbook: Jails. 2007. Disponível em: https://docs.freebsd.org/en/books/handbook/jails. Acesso em: 10 abr. 2007.

FYODOR. The Art of Port Scanning. Phrack Magazine, v. 7, n. 51, 1997. Disponível em: http://www.phrack.org/issues/51/13.html. Acesso em: 10 abr. 2007.

HALFOND, William G. J.; ORSO, Alessandro. Preventing SQL Injection Attacks Using AMNESIA. In: 28th International Conference on Software Engineering (ICSE). New York: ACM, 2005. Disponível em: https://dl.acm.org/doi/10.1145/1062455.1062505. Acesso em: 10 abr. 2007.

HOWARD, Michael; LEBLANC, David. Writing Secure Code. 2. ed. Redmond: Microsoft Press, 2002. Disponível em: https://www.microsoft.com/en-us/securityengineering/sdl. Acesso em: 10 abr. 2007.

KAMP, Poul-Henning; WATSON, Robert N. M. Jails: Confining the Omnipotent Root. In: Proceedings of the 2nd International SANE Conference. 2000. Disponível em: https://www.freebsd.org/doc/en_US.ISO8859-1/articles/jail/article.html. Acesso em: 10 abr. 2007.

KIM, Gene H.; SPAFFORD, Eugene H. The Design and Implementation of Tripwire: A File System Integrity Checker. Purdue University COAST TR-93-71, 1994. Disponível em: https://spaf.cerias.purdue.edu/techreports/1994-07.pdf. Acesso em: 10 abr. 2007.

LINUX-VSERVER. Linux-VServer Project Documentation. 2004. Disponível em: http://www.linux-vserver.org. Acesso em: 10 abr. 2007.

LOSCOCCO, Peter A.; SMALLEY, Stephen D. Integrating Flexible Support for Security Policies into the Linux Operating System. In: 2001 USENIX Annual Technical Conference. Berkeley: USENIX, 2001. Disponível em: https://www.nsa.gov/Portals/70/documents/what-we-do/research/selinux/papers/ottawa-01.pdf. Acesso em: 10 abr. 2007.

MENAGE, Paul. Process Containers. Linux Kernel Mailing List, 2007. Disponível em: https://lwn.net/Articles/236038. Acesso em: 10 abr. 2007.

MOORE, H. D. The Metasploit Framework. 2004. Disponível em: https://www.metasploit.com. Acesso em: 10 abr. 2007.

NORTHCUTT, Stephen; NOVAK, Judy. Network Intrusion Detection. 3. ed. Indianapolis: New Riders, 2003. Disponível em: https://www.pearson.com/en-us/subject-catalog/p/network-intrusion-detection/P200000002009. Acesso em: 10 abr. 2007.

OPENVZ. OpenVZ User’s Guide. 2006. Disponível em: https://openvz.org/Documentation. Acesso em: 10 abr. 2007.

OWASP. OWASP Guide to Building Secure Web Applications and Web Services, v. 2.0. 2005. Disponível em: https://owasp.org/www-pdf-archive/Guide2.0.pdf. Acesso em: 10 abr. 2007.

PAX TEAM. PaX Address Space Layout Randomization (ASLR) Documentation. 2003. Disponível em: https://pax.grsecurity.net. Acesso em: 10 abr. 2007.

PAXSON, Vern. Bro: A System for Detecting Network Intruders in Real-Time. Computer Networks, v. 31, n. 23–24, p. 2435–2463, 1999. Disponível em: https://www.icir.org/vern/papers/bro-CN99.pdf. Acesso em: 10 abr. 2007.

PRICE, David; TUCK, Andrew. Solaris Zones: Operating System Support for Consolidating Commercial Workloads. Sun BluePrints, 2004. Disponível em: https://www.oracle.com/technetwork/server-storage/solaris/documentation/solaris10-zones-170901.pdf. Acesso em: 10 abr. 2007.

PTACEK, Thomas H.; NEWSHAM, Timothy N. Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection. Secure Networks, Inc., 1998. Disponível em: https://www.cloudshark.org/resources/ptacek-newsham-1998.pdf. Acesso em: 10 abr. 2007.

RFC 2246. The TLS Protocol Version 1.0. 1999. Disponível em: https://www.rfc-editor.org/rfc/rfc2246. Acesso em: 10 abr. 2007.

RFC 3164. The BSD Syslog Protocol. 2001. Disponível em: https://www.rfc-editor.org/rfc/rfc3164. Acesso em: 10 abr. 2007.

RFC 4251. The Secure Shell (SSH) Protocol Architecture. 2006. Disponível em: https://www.rfc-editor.org/rfc/rfc4251. Acesso em: 10 abr. 2007.

RKHUNTER. Rootkit Hunter. 2003. Disponível em: https://rkhunter.sourceforge.net. Acesso em: 10 abr. 2007.

ROESCH, Martin. Snort – Lightweight Intrusion Detection for Networks. In: Proceedings of the 13th USENIX Conference on System Administration (LISA ’99). Seattle: USENIX, 1999. Disponível em: https://www.usenix.org/legacy/publications/library/proceedings/lisa99/roesch.html. Acesso em: 10 abr. 2007.

RUSSELL, Rusty. Linux Netfilter Hacking HOWTO. 2001. Disponível em: https://www.netfilter.org/documentation. Acesso em: 10 abr. 2007.

SCHEIDLER, Balázs. The Design of syslog-ng: Painless Log Management. 2001. Disponível em: https://www.balabit.com/resources/syslog-ng. Acesso em: 10 abr. 2007.

SCHNEIER, Bruce. Attack Trees. Dr. Dobb’s Journal, 1999. Disponível em: https://www.schneier.com/academic/archives/1999/12/attack_trees.html. Acesso em: 10 abr. 2007.

SMART, David; MALIK, Haroon; HUTCHINS, Eric. Snort Inline: Integrating Snort with iptables. 2004. Disponível em: https://www.snort.org/documents/snort_inline. Acesso em: 10 abr. 2007.

STALLINGS, William. Cryptography and Network Security: Principles and Practice. 4. ed. Upper Saddle River: Prentice Hall, 2005. Disponível em: https://www.pearson.com/en-us/subject-catalog/p/cryptography-and-network-security-principles-and-practice/P200000003245. Acesso em: 10 abr. 2007.

SUN. Solaris Auditing (BSM): Administration. Sun BluePrints, 2005. Disponível em: https://www.oracle.com/technetwork/server-storage/solaris/documentation/817-0365.pdf. Acesso em: 10 abr. 2007.

TRIPWIRE. Open Source Tripwire 2.3 User Guide. 2005. Disponível em: https://sourceforge.net/projects/tripwire. Acesso em: 10 abr. 2007.

YLÖNEN, Tatu; LONVICK, Chris. The Secure Shell (SSH) Protocol Architecture. RFC 4251, 2006. Disponível em: https://www.rfc-editor.org/rfc/rfc4251. Acesso em: 10 abr. 2007.

Obs.: Todas as referências possuem datas de publicação iguais ou anteriores a 2007, e endereços clicáveis para verificação.