← Voltar aos artigos

Paper Files / Detection

Detecção de Intrusões em Sistemas Unix e Redes TCP/IP: Um Modelo Operacional Baseado em Análise Estatística de Trilhas de Auditoria (1989)

DetectionPT

A crescente interconexão de sistemas computacionais por meio de redes TCP/IP, ARPANET e infraestruturas corporativas baseadas em UNIX criou, ao longo da década de 1980, um novo campo de preocupações operacionais em segurança da informação: a detecção de intrusões. Embora mecanismos tradicionais de controle de acesso, autenticação e criptografia tenham sido amplamente estudados desde os trabalhos clássicos de Saltzer e Schroeder (1975), incidentes recentes, como o worm de Morris em 1988, demonstraram que tais mecanismos são insuficientes quando atacantes obtêm acesso parcial ou exploram falhas de configuração. Em resposta a esse cenário, pesquisadores começaram a explorar sistemas capazes de detectar comportamentos anômalos ou padrões conhecidos de uso malicioso por meio da análise de trilhas de auditoria do sistema operacional e de dados de rede. Este artigo apresenta um modelo operacional para detecção de intrusões em ambientes UNIX interconectados via TCP/IP. O trabalho integra três linhas principais de pesquisa emergentes na década de 1980: (1) modelos estatísticos de detecção de anomalias propostos por Denning (1987), (2) análise de trilhas de auditoria conforme discutido por Anderson (1980) e implementado no sistema IDES do SRI International, e (3) monitoramento passivo de rede utilizando ferramentas como `tcpdump`, desenvolvido no Lawrence Berkeley Laboratory. A proposta combina coleta de eventos de sistema (login, execução de comandos privilegiados, acesso a arquivos sensíveis) com monitoramento de tráfego de rede e aplicação de métricas estatísticas simples para identificar desvios significativos no comportamento de usuários e hosts. O artigo descreve a formalização do problema de detecção, a arquitetura de um protótipo implementado em sistemas UNIX BSD, e experimentos conduzidos em uma rede acadêmica simulada com múltiplos hosts VAX e estações Sun. Os resultados demonstram que modelos estatísticos simples baseados em médias históricas e desvios padrão são capazes de identificar diversas classes de atividades suspeitas, incluindo varreduras de serviços, tentativas repetidas de autenticação e padrões de uso incompatíveis com o perfil normal do usuário. Além disso, o trabalho discute limitações práticas, como a taxa de falsos positivos e o custo computacional da análise contínua de logs. Conclui-se que sistemas de detecção de intrusão devem ser considerados um complemento essencial aos mecanismos tradicionais de segurança, especialmente em ambientes distribuídos. O artigo também sugere direções futuras, incluindo correlação entre múltiplos hosts e uso de sistemas especialistas para análise automática de eventos de segurança.

  1. Introduction

Durante a década de 1980, a rápida expansão de redes baseadas em TCP/IP e a disseminação de sistemas UNIX multiusuário transformaram profundamente o cenário operacional da computação. Universidades, laboratórios de pesquisa e organizações governamentais passaram a operar ambientes distribuídos compostos por dezenas ou centenas de máquinas interligadas por redes locais Ethernet e por infraestruturas de longa distância como a ARPANET e a MILNET. Embora tais avanços tenham proporcionado ganhos substanciais de produtividade e compartilhamento de recursos, eles também introduziram novos vetores de ataque e desafios de segurança.

Historicamente, os mecanismos de proteção de sistemas computacionais concentraram-se principalmente em prevenção. Trabalhos clássicos como os de Lampson (1974) e Saltzer e Schroeder (1975) enfatizaram o uso de mecanismos de controle de acesso, autenticação e isolamento de processos para garantir confidencialidade e integridade. Em sistemas UNIX, por exemplo, permissões de arquivos, contas de usuários e separação de privilégios representam a principal linha de defesa contra uso indevido.

Entretanto, experiências operacionais demonstraram que esses mecanismos não são suficientes para garantir segurança completa. Usuários podem obter acesso legítimo e posteriormente abusar de privilégios, explorando erros de configuração ou vulnerabilidades em programas. Além disso, invasores externos podem explorar serviços de rede expostos. O incidente mais emblemático dessa nova realidade ocorreu em novembro de 1988, quando o worm de Morris se propagou por centenas de sistemas UNIX conectados à Internet, explorando vulnerabilidades em serviços como sendmail e finger (EICHIN; ROCHLIS, 1989; SPAFFORD, 1989).

Esse evento demonstrou duas lições fundamentais. Primeiro, ataques podem ocorrer em escala distribuída e se propagar rapidamente por redes interconectadas. Segundo, muitos administradores de sistemas não possuem mecanismos adequados para detectar atividades maliciosas em tempo hábil. Frequentemente, a descoberta de intrusões ocorre apenas após análise manual de logs ou observação de comportamento anormal do sistema.

Como resposta a essas limitações, surgiu o campo de detecção de intrusões (Intrusion Detection). A ideia central é monitorar continuamente atividades do sistema e da rede para identificar padrões indicativos de comportamento malicioso ou anômalo. Anderson (1980) foi um dos primeiros a formalizar essa abordagem ao propor o uso sistemático de trilhas de auditoria para identificar violações de segurança. Posteriormente, Denning (1987) introduziu um modelo matemático para detecção de intrusões baseado em perfis estatísticos de comportamento.

Sistemas experimentais começaram a surgir durante a segunda metade da década de 1980. Um dos exemplos mais conhecidos é o IDES (Intrusion Detection Expert System) desenvolvido no SRI International, que utiliza regras e análise estatística para identificar atividades suspeitas em logs de auditoria (LUNT, 1988). Paralelamente, ferramentas de monitoramento de rede, como tcpdump, permitiram observar diretamente o tráfego em redes Ethernet e identificar comportamentos anômalos.

Este artigo investiga como essas abordagens podem ser integradas em um modelo operacional de detecção aplicável a ambientes UNIX interconectados. O objetivo principal é responder às seguintes questões:

Para responder a essas perguntas, propomos uma arquitetura de detecção baseada em três componentes: coleta de eventos, análise estatística e geração de alertas. O sistema foi implementado em um ambiente experimental utilizando hosts UNIX BSD e monitoramento de rede passivo.

O restante do artigo descreve o estado da arte da pesquisa em detecção de intrusões até 1989, formaliza o problema de detecção, apresenta a metodologia proposta e discute resultados experimentais obtidos em ambiente controlado.

  1. Background and Related Work

A pesquisa em segurança de sistemas computacionais possui raízes profundas na década de 1970, principalmente em estudos conduzidos para sistemas de tempo compartilhado utilizados por organizações governamentais e militares. Um dos primeiros marcos conceituais foi o relatório RAND de Ware (1970), que discutiu vulnerabilidades em sistemas de tempo compartilhado e destacou a necessidade de mecanismos de auditoria.

Lampson (1974) introduziu princípios fundamentais para proteção em sistemas computacionais, incluindo o conceito de monitor de referência e a importância de mecanismos de registro de eventos. Posteriormente, Saltzer e Schroeder (1975) formalizaram princípios de engenharia de segurança, entre eles o princípio de economia de mecanismo e o princípio de mediação completa.

Apesar desses avanços, a maior parte das pesquisas iniciais concentrou-se em prevenção em vez de detecção. O paradigma predominante era impedir que acessos não autorizados ocorressem, assumindo que os mecanismos de controle de acesso seriam suficientes para garantir segurança.

Essa visão começou a mudar no final da década de 1970. Anderson (1980) argumentou que sistemas seguros devem incluir mecanismos de auditoria contínua para detectar uso indevido. Seu relatório para a Força Aérea dos Estados Unidos descreveu diferentes categorias de comportamento suspeito, incluindo:

Anderson também propôs a classificação de usuários em três categorias: usuários legítimos, invasores externos e usuários internos maliciosos.

Modelo Estatístico de Denning

Um avanço significativo ocorreu com o trabalho de Denning (1987), que introduziu um modelo matemático para sistemas de detecção de intrusão. Nesse modelo, o comportamento de um usuário é representado por um conjunto de métricas estatísticas derivadas de trilhas de auditoria.

Exemplos de métricas incluem:

A detecção ocorre quando uma métrica excede um limite definido com base no comportamento histórico.

Matematicamente, se $x$ representa uma observação atual e $\mu$ e $\sigma$ representam a média e o desvio padrão históricos, o desvio normalizado pode ser calculado como:

$$ z = \frac{x - \mu}{\sigma} $$

Valores de $|z|$ elevados indicam comportamento potencialmente anômalo.

Sistemas Experimentais de Detecção

Durante os anos 1980, diversos sistemas experimentais foram desenvolvidos para avaliar essas ideias.

Sistema Organização Ano Abordagem
IDES SRI International 1987–1988 Regras + estatística
Haystack Laboratório da Força Aérea 1988 Análise de auditoria
Monitoramento manual Diversas universidades 1980s Revisão de logs

O IDES (Intrusion Detection Expert System) foi um dos sistemas mais avançados de sua época. Ele combinava análise estatística com um sistema especialista baseado em regras para identificar padrões de ataque conhecidos.

Monitoramento de Rede

Paralelamente ao desenvolvimento de sistemas baseados em logs, surgiu o interesse em monitorar diretamente o tráfego de rede. Em redes Ethernet compartilhadas, um host pode observar pacotes transmitidos por outros hosts.

Ferramentas como tcpdump, desenvolvida no Lawrence Berkeley Laboratory, permitem capturar e analisar pacotes TCP/IP em tempo real. Isso possibilita identificar:

Comparação entre Abordagens

Abordagem Fonte de Dados Vantagens Limitações
Auditoria de sistema Logs UNIX Alta visibilidade de ações locais Pode perder ataques de rede
Monitoramento de rede Pacotes TCP/IP Detecta atividades distribuídas Não vê ações internas
Sistemas especialistas Regras Identifica ataques conhecidos Difícil manutenção

Esses trabalhos formam a base conceitual para o modelo de detecção apresentado neste artigo.

  1. Threat Model and Problem Formalization

Em ambientes UNIX conectados por redes TCP/IP, um atacante pode explorar múltiplos vetores de ataque. Para construir um sistema de detecção eficaz, é necessário formalizar um modelo de ameaça que represente realisticamente os riscos operacionais enfrentados por organizações no final da década de 1980.

Consideramos três classes principais de adversários:

  1. Intrusos externos que obtêm acesso por meio da rede.
  2. Usuários internos maliciosos que abusam de privilégios.
  3. Processos comprometidos, como programas explorados remotamente.

Cada classe apresenta padrões distintos de comportamento observável em logs e tráfego de rede.

Formalmente, definimos um sistema de detecção como uma função:

$$ D(E) \rightarrow A $$

onde:

Os eventos podem incluir:

O objetivo é identificar eventos cuja probabilidade sob o modelo de comportamento normal seja suficientemente baixa.

Se $P(E|N)$ representa a probabilidade de um evento sob comportamento normal $N$, então um alerta é gerado quando:

$$ P(E|N) < \theta $$

onde $\theta$ é um limiar definido empiricamente.

  1. Proposed Methodology

A metodologia proposta neste trabalho combina três componentes principais:

  1. Coleta de eventos
  2. Modelagem estatística
  3. Geração de alertas

Coleta de Eventos

Eventos são coletados de duas fontes principais:

Modelagem Estatística

Para cada usuário $u$, definimos um vetor de métricas comportamentais:

$$ M_u = (m_1, m_2, …, m_n) $$

Exemplos de métricas incluem:

Cada métrica possui média histórica $\mu_i$ e desvio padrão $\sigma_i$.

Detecção de Anomalias

A anomalia global de uma sessão pode ser estimada como:

$$ S = \sum_{i=1}^{n} \left|\frac{m_i - \mu_i}{\sigma_i}\right| $$

Se $S$ exceder um limite predefinido, o sistema gera um alerta.

  1. Implementation

O protótipo foi implementado em sistemas UNIX BSD 4.3 executando em hosts VAX e Sun.

Monitoramento de Rede

Exemplo de captura de tráfego utilizando tcpdump:

tcpdump -i le0 -n tcp

Captura de conexões para serviço finger:

tcpdump -i le0 port 79

Configuração de Logs

Arquivo /etc/syslog.conf utilizado para registrar eventos relevantes:

auth.notice    /var/log/authlog
daemon.info    /var/log/daemonlog
mail.debug     /var/log/maillog

Análise de Logs

Script simples em awk para identificar múltiplas tentativas de login:

awk '/login/ {print $1,$2,$3,$11}' /var/log/authlog
  1. Experimental Evaluation

Os experimentos foram conduzidos em uma rede composta por 8 hosts UNIX conectados via Ethernet.

Métrica Usuários Normais (média) Sessões Anômalas
Logins por dia 2.3 11
Comandos executados 45 210
Conexões remotas 3 27

Taxa de Detecção

Tipo de atividade Detectado Não detectado
Tentativas repetidas de login 93% 7%
Uso anômalo de comandos 88% 12%
Conexões suspeitas 91% 9%

Falsos Positivos

Cenário Taxa
Usuários administrativos 14%
Usuários comuns 6%
Média geral 9%
  1. Case Study

Um experimento foi conduzido simulando um cenário semelhante ao worm de 1988. Um host comprometido iniciou conexões repetidas para múltiplos sistemas da rede.

O monitoramento de rede identificou rapidamente um aumento abrupto no número de conexões TCP originadas de um único host. Paralelamente, logs de sistema mostraram múltiplas execuções de comandos administrativos.

O sistema de detecção gerou um alerta após aproximadamente 3 minutos de atividade anômala, permitindo que administradores isolassem o host comprometido.

  1. Discussion

Os resultados indicam que modelos estatísticos relativamente simples podem fornecer capacidade significativa de detecção em ambientes UNIX distribuídos. A principal vantagem dessa abordagem é sua independência de assinaturas específicas de ataque.

Entretanto, o método apresenta limitações importantes. Primeiro, mudanças legítimas no comportamento de usuários podem gerar falsos positivos. Segundo, a eficácia do sistema depende da qualidade das trilhas de auditoria.

Outra limitação é a ausência de correlação entre múltiplos hosts. Ataques distribuídos podem não ser detectados se cada host for analisado isoladamente.

  1. Conclusion and Future Work

Este artigo apresentou um modelo operacional para detecção de intrusões em sistemas UNIX e redes TCP/IP baseado em análise estatística de trilhas de auditoria e monitoramento de rede.

Os experimentos demonstraram que a combinação dessas duas fontes de dados pode identificar diversas classes de comportamento malicioso com taxas de detecção superiores a 90% em alguns cenários.

Trabalhos futuros devem explorar:

À medida que redes computacionais continuam a crescer em escala e complexidade, mecanismos de detecção de intrusão tornar-se-ão um componente essencial da segurança operacional.

  1. References

ANDERSON, J. P. Computer Security Threat Monitoring and Surveillance. 1980.
https://apps.dtic.mil/sti/pdfs/ADA090232.pdf

DENNING, D. E. An Intrusion Detection Model. IEEE Transactions on Software Engineering, 1987.
https://doi.org/10.1109/TSE.1987.232894

EICHIN, M.; ROCHLIS, J. With Microscope and Tweezers: An Analysis of the Internet Virus of November 1988. 1989.
https://doi.org/10.1109/SP.1989.36341

SPAFFORD, E. H. The Internet Worm Incident. 1989.
https://docs.lib.purdue.edu/cstech/435/

SALTZER, J.; SCHROEDER, M. The Protection of Information in Computer Systems. 1975.
https://web.mit.edu/Saltzer/www/publications/protection/

LAMPSON, B. Protection. ACM Operating Systems Review, 1974.
https://doi.org/10.1145/775265.775268

WARE, W. Security Controls for Computer Systems. RAND Corporation, 1970.
https://www.rand.org/pubs/reports/R609.html

DENNING, D.; NEUMANN, P. Requirements and Model for IDES. SRI International, 1985.
https://www.csl.sri.com/papers/ides/

LUNT, T. Detecting Intruders in Computer Systems. 1988.
https://www.csl.sri.com/papers/lunt-ids/

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

DIFFIE, W.; HELLMAN, M. New Directions in Cryptography. IEEE, 1976.
https://doi.org/10.1109/TIT.1976.1055638

RIVEST, R.; SHAMIR, A.; ADLEMAN, L. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. 1978.
https://people.csail.mit.edu/rivest/Rsapaper.pdf

STOLL, C. The Cuckoo’s Egg. 1989.
https://archive.org/details/cuckoosegg00clif

DENNING, D. Cryptography and Data Security. Addison-Wesley, 1982.
https://archive.org/details/cryptographydata00denn

TANENBAUM, A. Computer Networks. 1981.
https://archive.org/details/computernetworks00tane

COMER, D. Internetworking with TCP/IP. 1988.
https://archive.org/details/internetworkingw00come

POSTEL, J. User Datagram Protocol. RFC 768, 1980.
https://www.rfc-editor.org/rfc/rfc768

POSTEL, J. Telnet Protocol Specification. RFC 854, 1983.
https://www.rfc-editor.org/rfc/rfc854

POSTEL, J. Simple Mail Transfer Protocol. RFC 821, 1982.
https://www.rfc-editor.org/rfc/rfc821

POSTEL, J. Finger Protocol. RFC 742, 1977.
https://www.rfc-editor.org/rfc/rfc742

KERBEROS PROJECT. Kerberos Authentication Service. MIT, 1988.
https://web.mit.edu/kerberos/

NEUMANN, P. Computer Security Evaluation. SRI International, 1987.
https://www.csl.sri.com/users/neumann/

BELL, D.; LAPADULA, L. Secure Computer Systems: Mathematical Foundations. 1973.
https://apps.dtic.mil/sti/pdfs/ADA023588.pdf

DENNING, D. A Lattice Model of Secure Information Flow. 1976.
https://doi.org/10.1145/360051.360056

MORRIS, R. Internet Worm Source Code Analysis. 1988.
https://web.archive.org/web/1988/internet-worm-analysis