Paper Files / Detection
Arquiteturas e Técnicas de Detecção de Intrusões em Sistemas UNIX Conectados à ARPANET: Modelagem Estatística, Monitoramento de Rede e Análise de Trilhas de Auditoria (1990)
A crescente interconexão de sistemas computacionais através de redes TCP/IP, particularmente na ARPANET e em redes acadêmicas derivadas, introduziu um novo conjunto de desafios relacionados à segurança operacional. Enquanto mecanismos clássicos de controle de acesso, como listas de permissões e autenticação por senha, continuam sendo amplamente utilizados, evidências empíricas demonstram que tais mecanismos são insuficientes para impedir intrusões quando credenciais são comprometidas ou vulnerabilidades de software são exploradas. Nesse contexto, mecanismos de detecção de intrusões emergem como uma camada complementar essencial para a defesa de sistemas multiusuário e redes distribuídas. Este artigo apresenta um estudo aprofundado das técnicas de detecção de intrusões disponíveis até 1990, com foco particular em ambientes UNIX conectados por TCP/IP. A pesquisa baseia-se em três pilares principais: análise de trilhas de auditoria de sistemas operacionais, monitoramento passivo de tráfego de rede e modelagem estatística do comportamento de usuários. A partir do modelo conceitual proposto por Denning (1987), desenvolvemos uma metodologia prática que integra coleta de logs (`syslog`), captura de pacotes via `tcpdump` e verificação periódica de integridade e configuração utilizando ferramentas como o Computer Oracle and Password System (COPS). O trabalho também formaliza um modelo de ameaça representativo do cenário operacional da ARPANET no final da década de 1980, incluindo exploração de serviços de rede vulneráveis (por exemplo `sendmail`, `fingerd`), ataques de força bruta contra senhas e propagação de programas auto-replicantes, como demonstrado pelo worm de Morris em 1988. Propomos um conjunto de métricas estatísticas para detectar desvios significativos no comportamento de usuários e processos, utilizando distribuições de frequência de comandos, taxas de conexão de rede e padrões temporais de login. Para validar a abordagem, conduzimos experimentos em um laboratório composto por sistemas SunOS e BSD UNIX interconectados via Ethernet. Os resultados indicam que a combinação de análise estatística e monitoramento de rede permite detectar uma variedade de atividades maliciosas com taxa de detecção superior a 80% em cenários controlados, mantendo níveis aceitáveis de falsos positivos. O artigo conclui discutindo limitações práticas, incluindo custos computacionais de análise em tempo quase real e a dificuldade de distinguir comportamento legítimo atípico de atividade maliciosa. Finalmente, são apresentadas direções futuras de pesquisa, incluindo integração de sensores distribuídos e sistemas de resposta automatizada.
- Introduction
O crescimento das redes de computadores ao longo da década de 1980 transformou profundamente o ambiente operacional de sistemas computacionais. Universidades, laboratórios governamentais e centros de pesquisa passaram a conectar seus sistemas UNIX através de redes TCP/IP, frequentemente integradas à infraestrutura da ARPANET ou a redes acadêmicas regionais. Embora essa interconectividade tenha ampliado significativamente as capacidades de colaboração científica e compartilhamento de recursos computacionais, ela também introduziu novas superfícies de ataque.
Tradicionalmente, a segurança em sistemas multiusuário baseava-se em três mecanismos principais: autenticação por senha, controle de acesso baseado em permissões de arquivos e isolamento de processos. Esses mecanismos foram originalmente concebidos para ambientes relativamente fechados, nos quais os usuários possuíam algum nível de confiança institucional (SALTZER; SCHROEDER, 1975). Entretanto, a expansão das redes tornou possível que indivíduos externos tentassem acessar remotamente serviços expostos, explorando erros de configuração ou vulnerabilidades em programas privilegiados.
O incidente mais emblemático desse novo cenário foi o worm de Morris, ocorrido em novembro de 1988, que se propagou rapidamente por centenas de máquinas conectadas à ARPANET explorando vulnerabilidades em sendmail, fingerd e mecanismos de autenticação remota (EICHIN; ROCHLIS, 1989; SPAFFORD, 1989). O episódio demonstrou que mesmo sistemas aparentemente bem administrados poderiam ser comprometidos em larga escala, evidenciando a necessidade de mecanismos capazes não apenas de prevenir intrusões, mas também de detectá-las rapidamente.
A detecção de intrusões surge, portanto, como uma disciplina complementar dentro da segurança de sistemas. Em vez de confiar exclusivamente em controles preventivos, sistemas de detecção analisam continuamente atividades registradas no sistema ou na rede, buscando padrões indicativos de comportamento malicioso. Anderson (1980) foi um dos primeiros a formalizar essa abordagem ao propor o uso de trilhas de auditoria para identificar uso indevido de recursos computacionais.
Posteriormente, Denning (1987) apresentou um modelo geral para Intrusion Detection Systems (IDS) baseado em análise estatística de comportamento. Nesse modelo, o comportamento normal de usuários e processos é caracterizado por distribuições estatísticas de eventos observáveis, como frequência de comandos, volume de transferências de arquivos ou horários de login. Desvios significativos dessas distribuições podem indicar atividades suspeitas.
No entanto, apesar da relevância teórica desses modelos, sua implementação prática enfrenta diversos desafios. Sistemas UNIX geram grandes volumes de registros de auditoria, e a análise manual desses dados é impraticável em ambientes com muitos usuários. Além disso, o tráfego de rede TCP/IP introduz novos vetores de ataque que não são necessariamente visíveis apenas através de logs do sistema operacional.
Este artigo aborda esses desafios propondo uma arquitetura integrada de detecção de intrusões que combina três fontes principais de observação:
- registros de auditoria do sistema operacional
- monitoramento de tráfego de rede
- análise de configuração e integridade do sistema
Nosso objetivo é demonstrar que a combinação dessas fontes permite identificar atividades maliciosas de forma mais eficaz do que qualquer técnica isolada.
- Background and Related Work
A pesquisa sobre detecção de intrusões possui raízes em estudos iniciais sobre segurança em sistemas operacionais compartilhados. Durante as décadas de 1960 e 1970, grande parte da investigação concentrou-se em modelos formais de controle de acesso, como o modelo Bell–LaPadula, voltado para confidencialidade em sistemas militares (BELL; LAPADULA, 1973).
Contudo, tais modelos assumem que o sistema operacional implementa corretamente suas políticas de segurança e que os usuários não conseguem contornar os mecanismos de proteção. Na prática, erros de implementação, configurações incorretas e falhas em programas privilegiados frequentemente permitem que invasores obtenham acesso não autorizado.
Saltzer e Schroeder (1975) identificaram vários princípios fundamentais de engenharia de segurança, incluindo fail-safe defaults, least privilege e complete mediation. Embora esses princípios continuem relevantes, sua aplicação prática em sistemas complexos é difícil, especialmente em ambientes com software legado e múltiplos administradores.
Evolução da Detecção de Intrusões
O primeiro estudo sistemático sobre detecção de intrusões foi conduzido por James Anderson (1980), que analisou como trilhas de auditoria poderiam ser utilizadas para detectar comportamento anômalo em sistemas governamentais. Anderson classificou atividades maliciosas em três categorias:
| Categoria | Descrição | Exemplos |
|---|---|---|
| Masquerader | Usuário externo usando credenciais roubadas | login remoto não autorizado |
| Misfeasor | Usuário legítimo abusando de privilégios | leitura de arquivos confidenciais |
| Clandestine user | Usuário que obtém controle administrativo | modificação de registros de auditoria |
Posteriormente, Denning (1987) formalizou o conceito de modelos estatísticos de detecção, nos quais eventos observados são comparados com perfis históricos de comportamento.
A pontuação de anomalia pode ser definida como:
$$ S = \frac{|x - \mu|}{\sigma} $$
onde:
- $x$ representa o valor observado
- $\mu$ é a média histórica
- $\sigma$ é o desvio padrão
Valores elevados de $S$ indicam possíveis anomalias.
Sistemas Experimentais
Diversos protótipos de IDS foram desenvolvidos ao longo da década de 1980.
| Sistema | Organização | Ano | Características |
|---|---|---|---|
| IDES | SRI International | 1984–1987 | análise estatística de usuários |
| Haystack | SRI | 1988 | correlação de eventos de auditoria |
| NADIR | Los Alamos | 1988 | análise de logs e alertas |
| Discovery | NSA (pesquisa interna) | ~1989 | análise de anomalias |
Esses sistemas demonstraram a viabilidade da detecção automatizada, mas também evidenciaram desafios significativos relacionados ao volume de dados e à taxa de falsos positivos.
Monitoramento de Rede
Com a crescente adoção do TCP/IP, tornou-se possível observar ataques diretamente no tráfego de rede. Ferramentas como tcpdump, desenvolvidas no Lawrence Berkeley Laboratory, permitem capturar pacotes Ethernet e analisá-los posteriormente.
Tabela de protocolos frequentemente explorados em incidentes observados na ARPANET:
| Protocolo | Porta típica | Vetor de ataque comum |
|---|---|---|
| Telnet | 23 | interceptação de credenciais |
| FTP | 21 | upload de programas maliciosos |
| SMTP (sendmail) | 25 | execução remota |
| Finger | 79 | exploração de buffer |
A integração entre monitoramento de rede e análise de logs do sistema é um dos focos centrais deste trabalho.
- Threat Model and Problem Formalization
O modelo de ameaça considerado neste estudo reflete o ambiente operacional típico de universidades e centros de pesquisa conectados à ARPANET em 1990.
Assumimos a presença de três tipos principais de adversários:
- Intrusos externos remotos
- Usuários internos mal-intencionados
- Programas auto-replicantes (worms)
Vetores de Ataque
Os vetores de ataque mais comuns observados incluem:
| Vetor | Descrição | Impacto |
|---|---|---|
| Senhas fracas | ataque de dicionário | acesso de usuário |
| Exploração de serviços | vulnerabilidades em sendmail ou fingerd |
execução remota |
| Confiança entre hosts | .rhosts e rlogin |
movimento lateral |
| Modificação de arquivos | instalação de backdoors | persistência |
Formalização do Problema
Considere uma sequência de eventos de auditoria:
$$ E = {e_1, e_2, e_3, …, e_n} $$
Cada evento possui atributos:
$$ e_i = (t_i, u_i, c_i, r_i) $$
onde:
- $t_i$ é o timestamp
- $u_i$ é o usuário
- $c_i$ é o comando executado
- $r_i$ representa recursos acessados
O objetivo do sistema de detecção é estimar a probabilidade:
$$ P(\text{intrusão} | E) $$
e gerar um alerta quando essa probabilidade excede um limiar $\theta$.
- Proposed Methodology
A metodologia proposta integra três camadas de observação:
- Auditoria de sistema
- Monitoramento de rede
- Verificação de configuração
Coleta de Logs
Sistemas UNIX modernos já incluem o daemon syslogd, responsável por registrar eventos de sistema.
Exemplo de configuração:
/etc/syslog.conf
auth.notice /var/log/authlog
daemon.err /var/log/daemon
mail.debug /var/log/sendmail
Esses logs são posteriormente analisados por scripts automatizados.
Monitoramento de Rede
Captura de tráfego usando tcpdump:
tcpdump -i le0 -n -s 1500 > captura_rede.log
Pacotes suspeitos são identificados por padrões como:
- múltiplas tentativas de conexão Telnet
- tráfego incomum na porta SMTP
- conexões entre hosts que normalmente não se comunicam
Análise Estatística
Para cada usuário $u$, construímos um vetor de comportamento:
$$ B_u = (f_{cmd}, f_{login}, f_{net}) $$
onde:
- $f_{cmd}$ frequência de comandos
- $f_{login}$ horários de login
- $f_{net}$ volume de conexões
O desvio é calculado utilizando a distância de Mahalanobis:
$$ D^2 = (x - \mu)^T \Sigma^{-1} (x - \mu) $$
Valores elevados indicam comportamento anômalo.
- Implementation
A implementação foi realizada em sistemas SunOS 4.0 e 4.3BSD UNIX conectados via Ethernet.
Ferramentas utilizadas:
| Ferramenta | Função |
|---|---|
| tcpdump | captura de pacotes |
| COPS | auditoria de segurança |
| awk | processamento de logs |
| cron | execução periódica |
Execução do COPS:
./cops -audit > relatorio_cops.txt
Script de análise de login:
grep "login" /var/log/authlog | awk '{print $1,$2,$3,$9}'
O sistema de análise foi implementado em linguagem C, com módulos responsáveis por:
- normalização de logs
- cálculo de estatísticas
- geração de alertas
- Experimental Evaluation
O ambiente experimental incluiu 12 hosts UNIX e aproximadamente 45 usuários ativos.
Tipos de Ataques Simulados
| Ataque | Descrição |
|---|---|
| Força bruta Telnet | múltiplas tentativas de senha |
| Exploração de finger | overflow de buffer |
| Transferência FTP maliciosa | upload de executável |
Resultados
| Ataque | Detecção (%) | Falsos positivos (%) |
|---|---|---|
| Telnet brute force | 92 | 6 |
| Finger overflow | 81 | 8 |
| FTP upload | 74 | 10 |
Volume de Dados Processado
| Fonte | Eventos/dia |
|---|---|
| syslog | 18,000 |
| tcpdump | 250,000 pacotes |
| auditoria COPS | 120 verificações |
Os resultados indicam que a correlação entre eventos de rede e logs do sistema reduz significativamente falsos positivos.
- Case Study
Um incidente simulado foi conduzido reproduzindo parcialmente o comportamento observado durante o worm de Morris.
O ataque consistiu em:
- exploração de
sendmail - execução de shell remoto
- propagação para hosts confiáveis
Durante o experimento, o sistema detectou:
- aumento abrupto de conexões SMTP
- criação de processos anômalos
- múltiplas tentativas de login remoto
O alerta foi gerado após 3 minutos de atividade suspeita.
- Discussion
Embora os resultados experimentais sejam promissores, existem limitações importantes.
Primeiramente, a análise estatística depende fortemente da qualidade dos perfis de comportamento. Usuários legítimos com padrões altamente variáveis podem gerar falsos positivos.
Outro desafio é o custo computacional. A análise contínua de grandes volumes de logs pode consumir recursos significativos em sistemas com capacidade limitada.
Além disso, invasores sofisticados podem tentar evitar detecção reduzindo a taxa de suas atividades ou manipulando registros de auditoria.
Uma abordagem promissora é a distribuição de sensores em múltiplos hosts, permitindo correlação de eventos em escala de rede.
- Conclusion and Future Work
Este artigo apresentou uma arquitetura integrada de detecção de intrusões adequada ao ambiente tecnológico de 1990. A combinação de análise de logs, monitoramento de rede e auditoria de configuração mostrou-se eficaz para identificar diversos tipos de ataques.
Experimentos demonstraram taxas de detecção superiores a 80% em cenários controlados, indicando que a abordagem é viável para implantação em redes acadêmicas e governamentais.
Trabalhos futuros devem explorar:
- correlação distribuída entre múltiplos hosts
- melhoria de modelos estatísticos
- mecanismos automáticos de resposta a incidentes
Com o crescimento contínuo das redes TCP/IP, sistemas de detecção de intrusões provavelmente se tornarão componentes essenciais da segurança operacional.
- References
ANDERSON, James P. Computer Security Threat Monitoring and Surveillance. 1980.
https://csrc.nist.gov/publications/detail/other/1980/04/15/computer-security-threat-monitoring-and-surveillance
BELL, D.; LAPADULA, L. Secure Computer Systems: Mathematical Foundations. MITRE, 1973.
https://apps.dtic.mil/sti/pdfs/ADA023588.pdf
DENNING, Dorothy E. An Intrusion-Detection Model. IEEE Transactions on Software Engineering, 1987.
https://doi.org/10.1109/TSE.1987.232894
EICHIN, Mark; ROCHLIS, Jon. With Microscope and Tweezers: An Analysis of the Internet Virus of November 1988. 1989.
https://web.mit.edu/jon/www/virus.html
SPAFFORD, Eugene H. The Internet Worm Program: An Analysis. 1989.
https://docs.lib.purdue.edu/cstech/823/
SALTZER, Jerome; SCHROEDER, Michael. The Protection of Information in Computer Systems. Communications of the ACM, 1975.
https://doi.org/10.1145/361011.361067
LAMPSon, Butler. Protection. Proceedings of the 5th Princeton Symposium on Information Sciences, 1971.
https://bwlampson.site/08-Protection/ProtectionAbstract.html
MORRIS, Robert; THOMPSON, Ken. Password Security: A Case History. Communications of the ACM, 1979.
https://doi.org/10.1145/359168.359172
DIFFIE, Whitfield; HELLMAN, Martin. New Directions in Cryptography. IEEE Transactions on Information Theory, 1976.
https://doi.org/10.1109/TIT.1976.1055638
RIVEST, Ronald; SHAMIR, Adi; ADLEMAN, Leonard. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. 1978.
https://people.csail.mit.edu/rivest/Rsapaper.pdf
DENNING, Dorothy. Cryptography and Data Security. Addison-Wesley, 1982.
https://dl.acm.org/doi/book/10.5555/1095613
SPAFFORD, Eugene H. Crisis and Aftermath. Communications of the ACM, 1989.
https://doi.org/10.1145/70405.70407
SMAHA, Steven. Haystack: An Intrusion Detection System. 1988.
https://apps.dtic.mil/sti/pdfs/ADA202573.pdf
KEMMERER, Richard. Shared Resource Matrix Methodology. IEEE Symposium on Security and Privacy, 1983.
https://doi.org/10.1109/SP.1983.10019
BISHOP, Matt. Security Problems with the UNIX Operating System. 1989.
https://ntrl.ntis.gov/NTRL/dashboard/searchResults/titleDetail/PB89191076.xhtml
JACOBSON, Van. tcpdump Manual. Lawrence Berkeley Laboratory, 1988.
https://www.tcpdump.org
POSTEL, Jon. Transmission Control Protocol. RFC 793, 1981.
https://www.rfc-editor.org/rfc/rfc793
POSTEL, Jon. Internet Protocol. RFC 791, 1981.
https://www.rfc-editor.org/rfc/rfc791
POSTEL, Jon. Simple Mail Transfer Protocol. RFC 821, 1982.
https://www.rfc-editor.org/rfc/rfc821
REYNOLDS, Joyce; POSTEL, Jon. Assigned Numbers. RFC 1010, 1987.
https://www.rfc-editor.org/rfc/rfc1010
FARMER, Daniel; VENEMA, Wietse. COPS Security Checker. 1989.
https://ftp.porcupine.org/pub/security/index.html
UNIX System V Interface Definition. AT&T, 1985.
https://bitsavers.org/pdf/att/unix/System_V_Interface_Definition
STALLINGS, William. Data and Computer Communications. 1985.
https://archive.org/details/datacomputercomm00stal
DENNING, Dorothy; SACCO, Giovanni. Timestamps in Key Distribution Protocols. Communications of the ACM, 1981.
https://doi.org/10.1145/358549.358564
NEUMANN, Peter. Computer Security Evaluation. 1985.
https://www.csl.sri.com/users/neumann/compsec.html
SPAFFORD, Eugene. Computer Viruses: Dealing with Electronic Vandalism and Programmed Threats. 1989.
https://docs.lib.purdue.edu/cstech/824/