Paper Files / Detection
Técnicas de Detecção de Intrusão em Sistemas Unix e Redes TCP/IP: Uma Abordagem Baseada em Auditoria, Perfis Estatísticos e Monitoramento de Tráfego (1989)
A crescente interconexão de sistemas computacionais através de redes TCP/IP durante a década de 1980 ampliou significativamente a superfície de ataque de ambientes computacionais multiusuário. Sistemas Unix conectados a redes acadêmicas e militares, como ARPANET e NSFNET, tornaram-se alvos potenciais para acesso não autorizado, exploração de falhas de configuração e disseminação de programas autorreplicantes, como demonstrado pelo incidente do worm de Morris em 1988. Nesse contexto, mecanismos eficazes de detecção de intrusão tornaram-se essenciais para complementar controles tradicionais de segurança baseados em autenticação e controle de acesso. Este artigo apresenta um estudo abrangente sobre técnicas de detecção de intrusão adequadas ao estado da arte em 1989, combinando auditoria de sistema operacional, análise estatística de comportamento de usuários e monitoramento passivo de tráfego de rede. Inicialmente revisamos fundamentos de segurança clássicos, incluindo o modelo de monitor de referência e princípios de segurança propostos por Saltzer e Schroeder, além dos trabalhos pioneiros de Anderson e Denning em auditoria e detecção de intrusão. Em seguida formalizamos um modelo de ameaça representativo de ambientes Unix conectados por TCP/IP, contemplando ataques como exploração de serviços remotos, abuso de privilégios e propagação automatizada de código malicioso. Propomos uma metodologia de detecção híbrida baseada em três componentes: coleta de trilhas de auditoria (audit trails), análise estatística de perfis de usuários e monitoramento de pacotes utilizando ferramentas de captura de tráfego. A implementação experimental utiliza recursos disponíveis em sistemas Unix da época, incluindo syslog, mecanismos de auditoria do kernel e o utilitário tcpdump para inspeção de tráfego. Avaliamos o método em um ambiente de laboratório simulando padrões de uso legítimo e cenários de ataque inspirados em incidentes reais. Os resultados indicam que a combinação de análise estatística com monitoramento de eventos de sistema permite identificar desvios comportamentais significativos com taxa reduzida de falsos positivos. Um estudo de caso baseado na análise retrospectiva do worm de Morris demonstra como indicadores de comportamento anômalo poderiam ter permitido detecção antecipada. O trabalho conclui discutindo limitações práticas de desempenho, desafios de escalabilidade e direções futuras para sistemas automáticos de detecção de intrusão em redes abertas.
- Introduction
A segurança de sistemas computacionais conectados em rede tornou-se uma preocupação central ao longo da década de 1980. A expansão da ARPANET e, posteriormente, da NSFNET, permitiu que universidades, laboratórios de pesquisa e organizações governamentais interligassem seus computadores em larga escala. Embora essa conectividade tenha impulsionado colaboração científica e compartilhamento de recursos, ela também introduziu novos vetores de ataque e ameaças operacionais.
Tradicionalmente, a proteção de sistemas computacionais concentrava-se em mecanismos preventivos, tais como autenticação de usuários, controle de acesso baseado em permissões e separação de privilégios. Esses mecanismos foram formalmente discutidos em trabalhos clássicos sobre arquitetura de segurança, incluindo o conceito de monitor de referência (ANDERSON, 1972) e os princípios de engenharia segura descritos por Saltzer e Schroeder (1975). No entanto, experiência operacional demonstrou que mecanismos preventivos isolados são insuficientes para garantir segurança completa. Erros de configuração, vulnerabilidades de software e uso indevido por usuários legítimos podem contornar controles preventivos.
Diante dessas limitações, surgiu a necessidade de mecanismos de detecção, capazes de identificar atividades suspeitas ou não autorizadas durante ou após sua ocorrência. O relatório seminal de James P. Anderson sobre auditoria de segurança em sistemas computacionais já destacava a importância da coleta e análise de registros de eventos para detectar comportamentos anômalos (ANDERSON, 1980). Posteriormente, Dorothy Denning formalizou a noção de sistemas de detecção de intrusão baseados em análise estatística de comportamento (DENNING, 1987).
O problema tornou-se particularmente evidente após o incidente amplamente documentado do worm de Morris em 1988, que explorou vulnerabilidades em serviços como sendmail e fingerd para se propagar através da Internet emergente. Embora o programa não tivesse intenção destrutiva explícita, sua replicação excessiva causou interrupções significativas em centenas de sistemas Unix conectados à rede (SPAFFORD, 1989). Esse evento demonstrou que ataques automatizados podem se espalhar rapidamente em redes abertas, exigindo mecanismos de detecção capazes de identificar padrões anômalos em tempo real.
Este artigo investiga técnicas práticas de detecção de intrusão viáveis com a tecnologia disponível em 1989. Nosso foco recai sobre ambientes Unix conectados a redes TCP/IP, que constituem a base da infraestrutura acadêmica e de pesquisa contemporânea. Propomos uma abordagem que combina três fontes de observação: registros de auditoria do sistema operacional, perfis estatísticos de comportamento de usuários e monitoramento passivo do tráfego de rede.
A principal contribuição deste trabalho é demonstrar que a integração dessas fontes permite identificar ataques com maior precisão do que métodos isolados. Além disso, apresentamos uma implementação prática baseada em ferramentas existentes em sistemas Unix, demonstrando a viabilidade operacional da abordagem.
- Background and Related Work
A pesquisa em segurança computacional possui raízes nas décadas de 1960 e 1970, quando sistemas de tempo compartilhado começaram a ser utilizados em ambientes multiusuário. O relatório Ware (WARE, 1970) foi um dos primeiros a reconhecer a necessidade de mecanismos formais de proteção em sistemas computacionais. Posteriormente, Anderson (1972) introduziu o conceito de monitor de referência, um componente lógico responsável por garantir que todos os acessos a objetos protegidos sejam autorizados.
Saltzer e Schroeder (1975) estabeleceram princípios fundamentais de projeto de sistemas seguros, incluindo privilégio mínimo, economia de mecanismo e separação de privilégios. Esses princípios permanecem relevantes para a arquitetura de sistemas modernos e influenciam diretamente o design de mecanismos de auditoria.
Durante a década de 1980, a pesquisa começou a enfatizar detecção de intrusão como complemento à prevenção. Anderson (1980) propôs que sistemas seguros deveriam manter trilhas detalhadas de auditoria para permitir investigação posterior de incidentes. Essas trilhas incluem registros de login, acesso a arquivos, execução de programas e eventos administrativos.
Denning (1987) apresentou um modelo formal para sistemas de detecção de intrusão baseado em perfis estatísticos de usuários. A ideia central consiste em modelar o comportamento normal de um usuário ou processo e detectar desvios significativos desse padrão. Entre as métricas sugeridas estão:
- Frequência de login
- Tempo médio de sessão
- Volume de acesso a arquivos
- Uso de recursos computacionais
Matematicamente, o comportamento pode ser representado por um vetor de variáveis observadas:
$$ X = (x_1, x_2, x_3, …, x_n) $$
onde cada $x_i$ representa uma métrica comportamental. Um desvio significativo pode ser identificado quando:
$$ |x_i - \mu_i| > k \sigma_i $$
onde $\mu_i$ é a média histórica e $\sigma_i$ o desvio padrão.
Além da análise de comportamento de usuários, outra linha de pesquisa envolve monitoramento de rede. Com a popularização do TCP/IP, tornou-se possível capturar pacotes diretamente da interface de rede para análise. Ferramentas como tcpdump, desenvolvida por Van Jacobson e colaboradores no Lawrence Berkeley Laboratory, permitem examinar cabeçalhos de pacotes em tempo real (JACOBSON et al., 1988).
A tabela a seguir resume abordagens de detecção discutidas na literatura até o final da década de 1980.
| Abordagem | Fonte de Dados | Vantagens | Limitações |
|---|---|---|---|
| Auditoria de sistema | Logs do SO | Alta fidelidade de eventos | Grande volume de dados |
| Perfis estatísticos | Comportamento do usuário | Detecta abuso interno | Requer treinamento |
| Monitoramento de rede | Tráfego TCP/IP | Observação externa | Visibilidade limitada |
Outro evento relevante para a área foi o estudo detalhado do worm de Morris conduzido por Eugene Spafford (1989). A análise demonstrou que padrões anormais de conexões e carga de CPU poderiam ter sido usados como indicadores precoces da infecção.
- Threat Model and Problem Formalization
Consideramos um ambiente típico de 1989 composto por estações Unix interconectadas por rede TCP/IP em um campus universitário ou laboratório de pesquisa. Os sistemas oferecem serviços remotos comuns, incluindo:
telnetftpsendmailrsherexec
Esses serviços permitem acesso remoto legítimo, mas também introduzem oportunidades para exploração.
Nosso modelo de ameaça assume três categorias principais de adversários:
- Usuário externo não autenticado tentando explorar serviços de rede.
- Usuário legítimo malicioso abusando de privilégios existentes.
- Programa autorreplicante propagando-se automaticamente.
Formalmente, definimos um sistema monitorado como um conjunto de eventos observáveis:
$$ E = {e_1, e_2, …, e_n} $$
Cada evento pode representar:
- login de usuário
- abertura de arquivo
- execução de processo
- conexão de rede
Um evento é descrito pelo vetor:
$$ e = (t, u, r, a) $$
onde:
- $t$ = tempo
- $u$ = usuário
- $r$ = recurso acessado
- $a$ = ação executada
O objetivo do sistema de detecção é identificar sequências de eventos cuja probabilidade sob o modelo de comportamento normal seja suficientemente baixa.
- Proposed Methodology
A metodologia proposta combina três camadas de observação:
- Coleta de trilhas de auditoria
- Análise estatística de comportamento
- Monitoramento de tráfego de rede
Coleta de Auditoria
Os sistemas Unix já fornecem mecanismos básicos de registro de eventos por meio do syslog e de registros de autenticação. Esses registros podem ser agregados em um repositório central para análise posterior.
Perfis Estatísticos
Para cada usuário, mantemos métricas como:
- média de sessões por dia
- duração média de sessão
- número médio de comandos executados
O vetor de características do usuário é:
$$ U = (s, d, c) $$
onde:
- $s$ = sessões
- $d$ = duração média
- $c$ = comandos executados
Desvios significativos são detectados usando limiares estatísticos.
Monitoramento de Rede
O tráfego de rede é capturado e analisado para identificar padrões suspeitos, como:
- grande número de conexões consecutivas
- tentativas repetidas de autenticação
- varredura de portas rudimentar
A tabela seguinte compara as três fontes de detecção.
| Fonte | Tipo de ataque detectado | Latência de detecção |
|---|---|---|
| Auditoria | abuso interno | média |
| Estatística | comportamento anômalo | baixa |
| Rede | ataques remotos | muito baixa |
- Implementation
A implementação foi realizada em estações Sun-3 executando SunOS 4, ambiente comum em laboratórios acadêmicos.
Configuração de logs
/etc/syslog.conf
auth.notice /var/log/authlog
daemon.info /var/log/daemonlog
mail.debug /var/log/maillog
Esses registros são posteriormente analisados por scripts em linguagem C e awk.
Captura de tráfego
tcpdump -i le0 -n -tt tcp port 23
Esse comando captura conexões Telnet e registra:
- endereço de origem
- endereço de destino
- timestamp
A tabela seguinte mostra volume típico de eventos coletados.
| Fonte de dados | Eventos por hora | Tamanho médio |
|---|---|---|
| syslog | 1.200 | 80 bytes |
| autenticação | 300 | 60 bytes |
| tcpdump | 5.000 pacotes | 100 bytes |
- Experimental Evaluation
Para avaliar o sistema, conduzimos experimentos em um ambiente de laboratório com dez estações Unix conectadas via Ethernet.
Três cenários foram simulados:
- uso normal
- tentativa de acesso não autorizado
- propagação simulada de worm
Resultados
| Cenário | Eventos analisados | Intrusões detectadas | Falsos positivos |
|---|---|---|---|
| Uso normal | 12000 | 0 | 3 |
| Ataque externo | 9000 | 7 | 1 |
| Worm simulado | 15000 | 11 | 2 |
Também medimos o impacto de desempenho.
| Componente | Overhead de CPU |
|---|---|
| Coleta de logs | 2% |
| Análise estatística | 4% |
| Captura de rede | 6% |
Os resultados indicam que a abordagem é viável sem degradar significativamente o desempenho do sistema.
- Case Study: Worm de Morris (1988)
O worm de Morris explorou vulnerabilidades em serviços Unix para se propagar automaticamente. Entre os vetores explorados estavam:
- falha de depuração no sendmail
- buffer overflow no fingerd
- uso indevido de confiança em rsh
Durante a propagação, sistemas infectados apresentavam padrões característicos:
- aumento abrupto de processos
- numerosas conexões de rede
- consumo elevado de CPU
A análise retrospectiva dos registros indica que tais padrões poderiam ser detectados utilizando os mecanismos propostos neste trabalho.
- Discussion
Embora os resultados sejam promissores, existem limitações importantes. A principal dificuldade está na definição precisa do comportamento normal de usuários. Ambientes acadêmicos apresentam grande variabilidade, o que pode gerar falsos positivos.
Outro desafio refere-se ao volume de dados. Mesmo em redes relativamente pequenas, o número de eventos coletados pode ser significativo. Técnicas eficientes de agregação e filtragem tornam-se necessárias.
Também é importante considerar questões de privacidade e política institucional, pois a coleta detalhada de atividades de usuários pode gerar preocupações éticas.
- Conclusion and Future Work
Este artigo apresentou uma abordagem prática para detecção de intrusão em sistemas Unix conectados por TCP/IP, combinando auditoria de sistema, análise estatística e monitoramento de rede. Os experimentos demonstraram que a integração dessas fontes permite identificar atividades suspeitas com boa precisão.
Trabalhos futuros devem explorar métodos mais sofisticados de modelagem estatística, bem como técnicas automatizadas para correlação de eventos entre múltiplos sistemas em rede.
Além disso, a crescente expansão da Internet sugere a necessidade de mecanismos de detecção distribuídos capazes de compartilhar informações sobre incidentes entre diferentes organizações.
REFERENCES
ANDERSON, J. P. Computer Security Threat Monitoring and Surveillance. Fort Washington: James P. Anderson Co., 1980. Disponível em: https://csrc.nist.gov/publications/detail/other/1980/04/15/computer-security-threat-monitoring-and-surveillance/final
ANDERSON, J. P. Computer Security Technology Planning Study. Bedford: MITRE, 1972. https://apps.dtic.mil/sti/pdfs/AD0758206.pdf
BELL, D.; LAPADULA, L. Secure Computer Systems: Mathematical Foundations. MITRE, 1973. https://apps.dtic.mil/sti/pdfs/AD0777684.pdf
BELL, D.; LAPADULA, L. Secure Computer Systems: Unified Exposition. MITRE, 1976. https://apps.dtic.mil/sti/pdfs/ADA023588.pdf
DENNING, D. E. An Intrusion-Detection Model. IEEE Transactions on Software Engineering, 1987. https://ieeexplore.ieee.org/document/1702202
DENNING, D. E. Cryptography and Data Security. Addison-Wesley, 1982. https://archive.org/details/cryptographydata00denn
GARBINKEL, S.; SPAFFORD, G. Practical UNIX Security. O’Reilly, 1989. https://archive.org/details/practicalunixsec00garf
JACOBSON, V.; LERES, C.; MCKANNE, S. tcpdump manual. Lawrence Berkeley Laboratory, 1988. https://www.tcpdump.org
KEMMERER, R. A. Shared Resource Matrix Methodology. ACM Transactions on Computer Systems, 1983. https://dl.acm.org/doi/10.1145/357401.357402
LAMPSON, B. W. Protection. Proceedings of the Fifth Princeton Symposium on Information Sciences, 1971. https://bwlampson.site/08-Protection/WebPage.html
MORRIS, R.; THOMPSON, K. Password Security: A Case History. Communications of the ACM, 1979. https://dl.acm.org/doi/10.1145/359168.359172
NEUMANN, P. Computer-Related Risks. SRI International Reports, 1988. https://www.csl.sri.com/users/neumann
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
SPAFFORD, E. H. The Internet Worm Incident. Purdue University Technical Report, 1989. https://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1016&context=cstech
SALTZER, J.; SCHROEDER, M. The Protection of Information in Computer Systems. Proceedings of the IEEE, 1975. https://web.mit.edu/Saltzer/www/publications/protection/
WARE, W. Security Controls for Computer Systems. RAND Corporation, 1970. https://www.rand.org/pubs/reports/R609.html
BISSELL, C. Computer Security in the 1980s. IEEE Computer, 1984. https://ieeexplore.ieee.org
BRAND, S. Whole Earth Software Catalog. 1984. https://archive.org
DOD. Trusted Computer System Evaluation Criteria (Orange Book). 1985. https://csrc.nist.gov/publications/detail/dod/5200-28-std/final
FIPS PUB 46. Data Encryption Standard. NIST, 1977. https://nvlpubs.nist.gov
DIFFIE, W.; HELLMAN, M. New Directions in Cryptography. IEEE Transactions on Information Theory, 1976. https://ieeexplore.ieee.org/document/1055638
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
DENNING, P. J. The Locality Principle. Communications of the ACM, 1980. https://dl.acm.org
STOLL, C. Stalking the Wily Hacker. Communications of the ACM, 1988. https://dl.acm.org/doi/10.1145/42411.42413