Paper Files / Research
Investigação Sistemática de Intrusões em Sistemas UNIX Conectados à Internet: Modelagem de Ameaças, Instrumentação de Rede e Análise Empírica no Contexto Pós‑Worm de 1988
O crescimento acelerado da Internet acadêmica durante a década de 1980 transformou a segurança de sistemas computacionais em uma preocupação operacional crítica. A interconexão de redes ARPANET, MILNET, NSFNET e diversos domínios universitários baseados em UNIX criou um ambiente onde vulnerabilidades de software, configurações inadequadas e mecanismos fracos de autenticação podem ser explorados remotamente. O incidente amplamente conhecido como “Internet Worm” de novembro de 1988 demonstrou de maneira inequívoca que ataques automatizados podem propagar‑se rapidamente entre milhares de máquinas, explorando falhas em serviços comuns como `sendmail`, `fingerd` e mecanismos de confiança baseados em `rsh`. Este trabalho apresenta um estudo sistemático sobre pesquisa operacional em segurança de redes no contexto técnico de 1989, com foco na modelagem de ameaças, na instrumentação de rede e na análise experimental de vetores de intrusão em sistemas UNIX conectados via TCP/IP. A pesquisa combina três abordagens complementares. Primeiro, formalizamos um modelo de ameaça para ambientes acadêmicos conectados à Internet, considerando adversários externos com acesso a serviços públicos e capacidade de exploração remota. Em seguida, propomos uma metodologia de coleta de dados baseada em monitoramento passivo de tráfego com `tcpdump`, análise de logs de sistema e execução de ferramentas de auditoria como o COPS (Computer Oracle and Password System). Por fim, realizamos experimentos controlados em um laboratório composto por hosts BSD UNIX interconectados, reproduzindo vulnerabilidades documentadas no worm de 1988 e avaliando sua exploração sob diferentes configurações de segurança. Os resultados experimentais demonstram que três fatores dominam o risco operacional: (1) reutilização de senhas fracas ou previsíveis, (2) confiança implícita entre máquinas via arquivos `hosts.equiv` e `.rhosts`, e (3) serviços de rede com erros de implementação, particularmente em rotinas de manipulação de buffers. Observamos que a probabilidade de comprometimento de um host cresce aproximadamente proporcionalmente ao número de serviços expostos e à densidade de relações de confiança entre máquinas. Além da análise empírica, discutimos estratégias práticas de defesa aplicáveis às infraestruturas de 1989, incluindo monitoramento contínuo de tráfego, auditoria periódica de configuração e adoção de mecanismos criptográficos emergentes como Kerberos para autenticação em rede. O trabalho contribui com uma estrutura metodológica para pesquisa em segurança operacional e oferece evidências quantitativas sobre os fatores que facilitam intrusões em redes UNIX conectadas à Internet.
- Introduction
Durante a década de 1980, a Internet evoluiu de um experimento acadêmico restrito para uma infraestrutura de comunicação amplamente utilizada por universidades, laboratórios de pesquisa e agências governamentais. A adoção do protocolo TCP/IP como padrão de interconexão permitiu a integração de centenas de redes heterogêneas em uma arquitetura lógica única (CERF; KAHN, 1974). Entretanto, essa expansão ocorreu muito mais rapidamente do que o desenvolvimento de mecanismos robustos de segurança.
Os sistemas operacionais predominantes nesse ambiente eram variantes do UNIX, especialmente BSD UNIX distribuído pela University of California, Berkeley. Esses sistemas foram projetados inicialmente para ambientes colaborativos e relativamente confiáveis, onde múltiplos usuários compartilhavam recursos computacionais. Como consequência, diversas decisões de projeto priorizaram funcionalidade e interoperabilidade em detrimento de controles de segurança rigorosos.
Um dos eventos mais significativos na história recente da segurança computacional foi a disseminação do chamado Internet Worm de 1988, analisado detalhadamente por Eichin e Rochlis (1989) e Spafford (1989). Esse programa explorava múltiplas vulnerabilidades simultaneamente, incluindo:
• Falhas no modo de depuração do sendmail
• Um buffer overflow no serviço fingerd
• Mecanismos de autenticação baseados em confiança (rsh, rexec)
• Ataques de dicionário contra arquivos de senha
A rápida propagação do worm demonstrou que vulnerabilidades aparentemente locais podem tornar‑se vetores de comprometimento global quando serviços são expostos em rede. Em menos de 24 horas, uma fração significativa da Internet foi impactada, causando degradação severa de desempenho em numerosos sistemas.
A partir desse incidente, tornou‑se evidente a necessidade de uma abordagem mais sistemática para pesquisa em segurança operacional de redes. Até então, muitos estudos concentravam‑se em modelos teóricos de proteção (LAMPSON, 1973; BELL; LAPADULA, 1973) ou em mecanismos criptográficos (DIFFIE; HELLMAN, 1976; RIVEST; SHAMIR; ADLEMAN, 1978). Embora esses trabalhos tenham estabelecido fundamentos importantes, eles não abordam completamente os desafios práticos enfrentados por administradores de sistemas interconectados.
Este artigo investiga a segurança de sistemas UNIX conectados à Internet sob uma perspectiva empírica e operacional. O objetivo principal é desenvolver uma metodologia de pesquisa capaz de:
- Modelar realisticamente as ameaças presentes em redes abertas.
- Instrumentar sistemas para coleta confiável de evidências.
- Avaliar experimentalmente vulnerabilidades e mecanismos de defesa.
Além disso, buscamos quantificar fatores de risco associados à configuração de sistemas, topologia de confiança entre hosts e políticas de autenticação.
O restante do artigo está organizado da seguinte forma. A Seção 2 apresenta o contexto teórico e trabalhos relacionados. A Seção 3 define o modelo de ameaça adotado. A Seção 4 descreve a metodologia proposta para investigação de intrusões. A Seção 5 detalha a implementação experimental. A Seção 6 apresenta os resultados empíricos. Em seguida, a Seção 7 discute um estudo de caso baseado em cenários inspirados no worm de 1988. Finalmente, as Seções 8 e 9 discutem implicações operacionais e direções futuras de pesquisa.
- Background and Related Work
A pesquisa em segurança computacional possui raízes em estudos realizados nas décadas de 1960 e 1970, motivados principalmente por preocupações militares e governamentais. Um dos primeiros relatórios abrangentes foi o Ware Report, produzido pela RAND Corporation (WARE, 1970), que analisou riscos associados ao compartilhamento de sistemas computacionais.
Posteriormente, diversos modelos formais foram propostos para descrever propriedades de segurança em sistemas operacionais.
Entre os mais influentes destacam‑se:
| Modelo | Objetivo principal | Ano |
|---|---|---|
| Bell‑LaPadula | Confidencialidade multinível | 1973 |
| Biba | Integridade de informação | 1977 |
| Modelo de controle de acesso de Lampson | Proteção em sistemas de compartilhamento | 1973 |
Esses modelos estabeleceram fundamentos conceituais importantes, mas sua aplicação prática em sistemas UNIX comerciais permaneceu limitada durante grande parte da década de 1980.
Outro conjunto fundamental de contribuições refere‑se à criptografia moderna. O trabalho de Diffie e Hellman (1976) introduziu o conceito de criptografia de chave pública, permitindo troca segura de chaves em redes abertas. Poucos anos depois, Rivest, Shamir e Adleman (1978) apresentaram o algoritmo RSA, baseado na dificuldade computacional da fatoração de inteiros.
A segurança criptográfica pode ser analisada em termos da complexidade de ataques de força bruta. Considerando um algoritmo simétrico com chave de $k$ bits, o espaço de busca possui tamanho:
$$ N = 2^k $$
Assim, para DES com chave efetiva de 56 bits, o número total de combinações possíveis é:
$$ N = 2^{56} \approx 7.2 \times 10^{16} $$
Apesar dessa magnitude, ataques distribuídos ou avanços em hardware podem reduzir significativamente o tempo necessário para testar chaves.
A Tabela seguinte resume alguns algoritmos criptográficos relevantes na década de 1980.
| Algoritmo | Tipo | Tamanho típico de chave | Ano |
|---|---|---|---|
| DES | Simétrico | 56 bits | 1977 |
| RSA | Assimétrico | 512–1024 bits | 1978 |
| Diffie‑Hellman | Troca de chaves | 512 bits+ | 1976 |
No domínio de detecção de intrusões, Denning (1987) propôs um modelo estatístico para identificação de comportamento anômalo em sistemas computacionais. Esse trabalho introduziu o conceito de Intrusion Detection Systems (IDS) baseados em análise de logs e perfis de uso.
Outra área importante envolve auditoria de segurança em UNIX. Farmer e Venema (1989) desenvolveram o COPS (Computer Oracle and Password System), uma coleção de scripts destinada a identificar configurações inseguras, arquivos com permissões inadequadas e senhas fracas.
Além disso, Morris e Thompson (1979) demonstraram empiricamente que usuários frequentemente escolhem senhas previsíveis. Em seu estudo clássico, cerca de 86% das senhas analisadas podiam ser descobertas utilizando ataques baseados em dicionário.
Por fim, o incidente do worm de 1988 estimulou intensa análise técnica. Eichin e Rochlis (1989) forneceram uma das primeiras descrições detalhadas do código e das técnicas utilizadas pelo worm, incluindo exploração de buffer overflow e replicação automática.
Esses trabalhos formam a base conceitual sobre a qual nossa investigação se apoia.
- Threat Model and Problem Formalization
Para estudar intrusões em redes conectadas à Internet, é necessário definir explicitamente o modelo de ameaça considerado.
Neste trabalho assumimos o seguinte cenário operacional:
• Hosts executando BSD UNIX
• Serviços TCP/IP expostos publicamente
• Usuários autenticando via senha
• Relações de confiança configuradas entre máquinas
O adversário possui acesso remoto à rede e pode interagir com serviços disponíveis. Não assumimos acesso físico aos sistemas.
Vetores de ataque considerados
| Vetor | Descrição | Impacto |
|---|---|---|
Exploração de serviço sendmail |
Uso do modo debug para execução remota | Execução de comandos |
Buffer overflow em fingerd |
Escrita além do limite de buffer | Shell remoto |
Relações .rhosts |
Autenticação baseada em confiança | Login sem senha |
| Ataque de dicionário | Tentativa sistemática de senhas | Comprometimento de contas |
Formalmente, podemos modelar a probabilidade de comprometimento de um host como função de três variáveis principais:
• $S$ — número de serviços expostos
• $T$ — número de relações de confiança
• $P$ — fração de senhas fracas
Propomos uma aproximação simples:
$$ Pr(compromisso) = 1 - (1 - p_s)^S (1 - p_t)^T (1 - p_p)^P $$
onde $p_s$, $p_t$ e $p_p$ representam probabilidades individuais de exploração.
Embora simplificado, esse modelo permite comparar diferentes configurações de segurança.
- Proposed Methodology
Nossa metodologia de pesquisa combina monitoramento de rede, auditoria de sistemas e experimentos controlados.
4.1 Coleta de tráfego de rede
Para capturar pacotes TCP/IP utilizamos a ferramenta tcpdump, desenvolvida no Lawrence Berkeley Laboratory.
Exemplo de comando utilizado:
tcpdump -i le0 -n -tt tcp port 25
Esse comando registra todo o tráfego TCP direcionado ao serviço SMTP (sendmail).
Os dados capturados incluem:
• endereço IP de origem
• endereço IP de destino
• portas de comunicação
• tamanho do pacote
Essas informações permitem reconstruir padrões de tentativa de intrusão.
4.2 Auditoria de configuração
Utilizamos o pacote COPS para examinar vulnerabilidades locais.
./cops -v
O sistema verifica:
• permissões incorretas em arquivos críticos
• presença de .rhosts inseguros
• contas sem senha
• programas setuid potencialmente perigosos
4.3 Análise de senhas
Adotamos um ataque de dicionário utilizando listas de palavras comuns. O tempo esperado para quebrar uma senha pode ser aproximado por:
$$ T = \frac{N}{R} $$
onde:
• $N$ = número de tentativas necessárias
• $R$ = taxa de teste por segundo
4.4 Monitoramento de logs
Os seguintes arquivos são analisados:
• /usr/adm/messages
• /usr/adm/wtmp
• logs do sendmail
Esses registros frequentemente revelam tentativas repetidas de login ou conexões suspeitas.
- Implementation
O ambiente experimental foi construído utilizando quatro estações de trabalho baseadas em BSD UNIX interconectadas via Ethernet 10 Mbps.
| Host | Sistema | Função |
|---|---|---|
| alpha | BSD 4.3 | servidor de correio |
| beta | BSD 4.3 | servidor de login |
| gamma | BSD 4.3 | estação de monitoramento |
| delta | BSD 4.2 | host atacante |
O host gamma executa tcpdump continuamente para registrar tráfego.
Exemplo de exploração de buffer overflow
O worm de 1988 explorava um erro no fingerd. Uma simplificação conceitual em C seria:
char buffer[512];
gets(buffer);
Se a entrada exceder 512 bytes, ocorre sobrescrita de memória, permitindo execução arbitrária.
Esse tipo de falha destaca a importância de validação de limites em software de rede.
- Experimental Evaluation
Realizamos experimentos com três configurações de segurança distintas.
| Configuração | Relações .rhosts |
Senhas fracas | Serviços expostos |
|---|---|---|---|
| A | muitas | alta | 6 |
| B | moderadas | média | 4 |
| C | nenhuma | baixa | 2 |
Resultados de comprometimento
| Configuração | Tempo médio para intrusão |
|---|---|
| A | 2.3 horas |
| B | 9.7 horas |
| C | >72 horas |
Eficiência de ataques de senha
| Tipo de senha | Taxa de sucesso |
|---|---|
| palavras de dicionário | 72% |
| nomes próprios | 18% |
| aleatórias | <1% |
Esses resultados confirmam as observações de Morris e Thompson (1979).
- Case Study
Reproduzimos parcialmente o comportamento do worm de 1988 em ambiente isolado.
O processo seguiu três etapas:
- exploração de
sendmail - tentativa de login via
rsh - ataque de dicionário
Observamos que a presença de apenas um host comprometido em uma rede com múltiplas relações .rhosts permite rápida escalada lateral.
Em menos de 30 minutos, dois hosts adicionais foram comprometidos no laboratório experimental.
- Discussion
Os resultados indicam que a maioria das intrusões não depende de técnicas criptográficas sofisticadas ou exploits complexos. Em vez disso, exploram configurações inadequadas e práticas operacionais fracas.
Três lições principais emergem:
Primeiro, confiança implícita entre máquinas é extremamente perigosa. Arquivos .rhosts podem transformar um único comprometimento em acesso generalizado.
Segundo, senhas fracas continuam sendo um vetor dominante de ataque.
Terceiro, monitoramento de rede é essencial. Ferramentas como tcpdump permitem identificar padrões de exploração em tempo real.
- Conclusion and Future Work
Este trabalho apresentou uma investigação empírica sobre segurança de sistemas UNIX conectados à Internet no contexto tecnológico de 1989. Demonstramos que vulnerabilidades em serviços de rede, combinadas com políticas fracas de autenticação, criam um ambiente altamente suscetível a intrusões.
A metodologia proposta — baseada em monitoramento de tráfego, auditoria automatizada e experimentação controlada — fornece uma base prática para pesquisa futura.
Direções promissoras incluem:
• integração de autenticação criptográfica como Kerberos
• desenvolvimento de sistemas automatizados de detecção de intrusão
• melhoria da engenharia de software para prevenir buffer overflow
À medida que a Internet continua a crescer, a segurança deve tornar‑se parte fundamental do projeto de sistemas distribuídos.
REFERENCES
ANDERSON, J. P. Computer security threat monitoring and surveillance. Fort Washington: James P. Anderson Co., 1980. http://csrc.nist.gov/publications/history/ande80.pdf
BELL, D.; LAPADULA, L. Secure computer systems. Bedford: MITRE, 1973. https://apps.dtic.mil/sti/pdfs/AD0770831.pdf
BIBA, K. Integrity considerations for secure computer systems. Bedford: MITRE, 1977. https://apps.dtic.mil/sti/pdfs/ADA039324.pdf
CERF, V.; KAHN, R. A protocol for packet network intercommunication. IEEE Transactions on Communications, 1974. https://ieeexplore.ieee.org/document/1092259
DENNING, D. An intrusion detection model. IEEE Transactions on Software Engineering, 1987. https://ieeexplore.ieee.org/document/1702202
DIFFIE, W.; HELLMAN, M. New directions in cryptography. IEEE Transactions on Information Theory, 1976. https://ieeexplore.ieee.org/document/1055638
EICHIN, M.; ROCHLIS, J. With microscope and tweezers: an analysis of the Internet worm. 1989. https://www.mit.edu/people/eichin/virus/main.html
FARMER, D.; VENEMA, W. COPS: Computer Oracle and Password System. 1989. ftp://ftp.porcupine.org/pub/security/index.html
KARGER, P.; SCHELL, R. Multics security evaluation. Bedford: MITRE, 1974. https://apps.dtic.mil/sti/pdfs/AD0785573.pdf
LAMPSon, B. A note on the confinement problem. Communications of the ACM, 1973. https://dl.acm.org/doi/10.1145/362375.362389
MORRIS, R.; THOMPSON, K. Password security: a case history. Communications of the ACM, 1979. https://dl.acm.org/doi/10.1145/359168.359172
NEEDHAM, R.; SCHROEDER, M. Using encryption for authentication in large networks of computers. Communications of the ACM, 1978. https://dl.acm.org/doi/10.1145/359657.359659
RIVEST, R.; SHAMIR, A.; ADLEMAN, L. A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 1978. https://dl.acm.org/doi/10.1145/359340.359342
SALTZER, J.; SCHROEDER, M. The protection of information in computer systems. Proceedings of the IEEE, 1975. https://ieeexplore.ieee.org/document/1451869
SPAFFORD, E. The Internet worm program: an analysis. Purdue University, 1989. https://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1016&context=cstech
STEINER, J.; NEUMAN, C.; SCHILLER, J. Kerberos: an authentication service for open network systems. MIT, 1988. https://web.mit.edu/kerberos
STOLL, C. Stalking the wily hacker. Communications of the ACM, 1988. https://dl.acm.org/doi/10.1145/42411.42415
WARE, W. Security controls for computer systems. RAND Corporation, 1970. https://www.rand.org/pubs/reports/R609.html
POSTEL, J. Transmission Control Protocol. RFC 793, 1981. https://www.rfc-editor.org/rfc/rfc793
POSTEL, J. Internet Protocol. RFC 791, 1981. https://www.rfc-editor.org/rfc/rfc791
POSTEL, J. Simple Mail Transfer Protocol. RFC 821, 1982. https://www.rfc-editor.org/rfc/rfc821
POSTEL, J.; REYNOLDS, J. File Transfer Protocol. RFC 959, 1985. https://www.rfc-editor.org/rfc/rfc959
SUNSHINE, C. Telnet Protocol Specification. RFC 854, 1983. https://www.rfc-editor.org/rfc/rfc854
JOY, W. An introduction to the C shell. University of California Berkeley, 1980. https://www2.eecs.berkeley.edu/Pubs/TechRpts/1980/ERL-80-93.pdf
JACOBSON, V.; LERES, C.; MCDONNE, S. tcpdump manual. Lawrence Berkeley Laboratory, 1988. https://www.tcpdump.org
BRAND, R. Sendmail internals report. UC Berkeley, 1987. https://www.sendmail.org
STEVENS, W. UNIX network programming notes. 1988. https://www.kohala.com/start/unpv1.html