← Voltar aos artigos

Paper Files / Detection

Um Modelo Operacional para Detecção de Intrusões em Sistemas UNIX e Redes TCP/IP Baseado em Perfis Estatísticos e Auditoria de Sistema

DetectionPT

A rápida expansão de redes de computadores baseadas em TCP/IP ao longo da década de 1980 ampliou significativamente a superfície de ataque de sistemas multiusuário, particularmente aqueles baseados em UNIX conectados a redes acadêmicas e governamentais. Episódios como o Worm de Morris em 1988 demonstraram que ataques automatizados podem se propagar rapidamente por redes interconectadas, explorando vulnerabilidades de software e práticas inadequadas de administração de sistemas. Este cenário torna evidente a necessidade de mecanismos sistemáticos de detecção de intrusão capazes de identificar atividades maliciosas antes que comprometam completamente a integridade ou disponibilidade de um sistema. Este trabalho apresenta um modelo prático de detecção de intrusões orientado por auditoria de sistema e análise estatística de comportamento, inspirado em trabalhos pioneiros como o modelo de detecção de intrusão de Denning (1987) e implementações experimentais como IDES e Haystack. A proposta concentra-se em ambientes UNIX conectados por redes Ethernet e protocolos TCP/IP, empregando registros de auditoria (`syslog`, registros de login, comandos executados e tráfego de rede capturado com `tcpdump`) para construir perfis comportamentais de usuários e serviços. Esses perfis são modelados por distribuições estatísticas e cadeias de transição de eventos, permitindo a identificação de desvios significativos associados a atividades suspeitas. A metodologia combina três camadas complementares: monitoramento de atividades de sistema, análise estatística de perfis de usuário e correlação de eventos de rede. Um mecanismo de detecção baseado em limiares probabilísticos identifica anomalias operacionais como picos incomuns de login, execução de comandos administrativos por usuários não privilegiados e padrões de tráfego que sugerem exploração de vulnerabilidades. A arquitetura foi implementada em um ambiente experimental com estações UNIX BSD conectadas por Ethernet, utilizando ferramentas padrão do sistema e scripts de análise. Os resultados experimentais indicam que o modelo proposto pode detectar diversas classes de intrusão conhecidas na época, incluindo exploração de serviços remotos, uso indevido de contas comprometidas e tentativas automatizadas de propagação de worm. A avaliação demonstra que a combinação de perfis comportamentais e monitoramento de rede reduz significativamente falsos positivos quando comparada a métodos baseados apenas em regras estáticas. Este trabalho contribui para o desenvolvimento de sistemas de detecção de intrusão operacionais e destaca a importância da auditoria contínua em ambientes de rede distribuídos.

  1. Introduction

Durante a década de 1980, a computação em rede deixou de ser restrita a ambientes experimentais e passou a integrar infraestruturas acadêmicas, governamentais e corporativas. Redes baseadas em protocolos TCP/IP tornaram-se progressivamente mais comuns, conectando sistemas UNIX distribuídos por universidades e centros de pesquisa. Essa expansão trouxe benefícios claros para colaboração científica e compartilhamento de recursos computacionais, mas também introduziu novos vetores de ataque e ameaças operacionais.

Um evento particularmente emblemático foi a propagação do Worm de Morris em novembro de 1988. Esse programa explorava vulnerabilidades em serviços amplamente utilizados, incluindo sendmail, finger e mecanismos de confiança entre hosts (rsh), propagando-se automaticamente por sistemas conectados à ARPANET e a outras redes acadêmicas (EICHIN; ROCHLIS, 1989; SPAFFORD, 1989). Estima-se que entre 10% e 20% dos sistemas conectados à rede foram afetados durante o incidente, evidenciando a fragilidade dos mecanismos de segurança existentes naquele período.

Tradicionalmente, a segurança computacional havia sido abordada principalmente por mecanismos preventivos, como autenticação, controle de acesso e isolamento de processos. Esses princípios foram formalizados em documentos fundamentais como o relatório Anderson sobre segurança em sistemas de informação (ANDERSON, 1980) e nos princípios clássicos de proteção de sistemas descritos por Saltzer e Schroeder (1975). Contudo, tais mecanismos assumem implicitamente que todos os comportamentos legítimos podem ser antecipados e controlados por políticas de acesso, o que raramente se verifica em sistemas complexos e multiusuário.

Como resultado, pesquisadores passaram a investigar mecanismos de detecção de intrusão, cujo objetivo é identificar atividades anômalas ou maliciosas após sua ocorrência inicial, permitindo resposta e contenção. Um dos modelos mais influentes foi proposto por Denning (1987), que introduziu uma estrutura formal baseada em perfis estatísticos de comportamento do usuário e análise de desvios em registros de auditoria do sistema.

Simultaneamente, vários sistemas experimentais começaram a implementar esses conceitos. O sistema IDES (Intrusion Detection Expert System), desenvolvido no SRI International, utilizava registros detalhados de auditoria para identificar padrões suspeitos de atividade (DENNING; NEUMANN, 1985). Outro exemplo foi o sistema Haystack, projetado para monitorar redes militares e detectar uso indevido de contas e acessos não autorizados (SMAHA, 1988).

Apesar desses avanços conceituais, ainda existem lacunas significativas entre modelos teóricos e implementações operacionais. Muitos ambientes UNIX não possuem auditoria detalhada habilitada por padrão, e os volumes de registros gerados podem ser difíceis de analisar manualmente. Além disso, ataques distribuídos e automatizados exigem análise correlacionada de eventos em múltiplas camadas do sistema.

Este trabalho busca preencher parte dessa lacuna propondo um modelo operacional de detecção de intrusões que combina:

A abordagem é orientada por implementações práticas em sistemas UNIX BSD conectados por Ethernet, utilizando ferramentas disponíveis comercialmente ou distribuídas com o próprio sistema operacional.

O objetivo central é demonstrar que mecanismos de detecção relativamente simples, baseados em análise estatística e registros de sistema, podem fornecer uma camada adicional de defesa contra intrusões, complementando mecanismos tradicionais de controle de acesso.

  1. Background and Related Work

A detecção de intrusões emergiu como área de pesquisa no início da década de 1980, impulsionada pelo reconhecimento de que mecanismos tradicionais de controle de acesso eram insuficientes para impedir todos os tipos de uso indevido de sistemas. A literatura inicial sobre segurança computacional enfatizava principalmente modelos de proteção, verificação formal e mecanismos criptográficos.

Lampson (1973) introduziu uma das primeiras formulações sistemáticas de mecanismos de proteção em sistemas computacionais, destacando a importância de isolamento entre processos e controle rigoroso de acesso a recursos. Posteriormente, 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.

Apesar da relevância desses princípios, sua aplicação prática frequentemente falha devido a erros de implementação, configurações inadequadas ou exploração de vulnerabilidades de software. O estudo de Morris e Thompson (1979) demonstrou empiricamente que mecanismos de autenticação baseados em senha podem ser comprometidos por ataques de força bruta e análise de dicionário.

O relatório Anderson (1980), preparado para a Força Aérea dos Estados Unidos, foi um marco na formalização do conceito de monitoramento de segurança. O documento destacou que sistemas seguros deveriam manter registros detalhados de auditoria capazes de revelar tentativas de acesso indevido ou comportamento suspeito.

Posteriormente, Denning e Neumann (1985) desenvolveram o conceito de sistemas automatizados de detecção de intrusão. O sistema IDES introduziu uma arquitetura composta por:

A formulação matemática apresentada por Denning (1987) modela o comportamento normal de usuários por distribuições estatísticas. Um evento é considerado suspeito quando sua probabilidade condicional excede um limiar pré-definido.

Matematicamente, se $X$ representa um vetor de características observadas em um evento de auditoria, a detecção pode ser baseada na probabilidade:

$$ P(X | \text{perfil do usuário}) $$

Quando essa probabilidade é inferior a um limiar $\tau$, o evento é classificado como anômalo.

Outro sistema relevante foi o Haystack, desenvolvido para monitorar redes militares e detectar intrusões em tempo quase real (SMAHA, 1988). Haystack utilizava registros de auditoria detalhados e um conjunto de regras heurísticas para identificar comportamentos suspeitos, incluindo:

Em paralelo, incidentes reais reforçaram a necessidade de tais sistemas. O caso documentado por Clifford Stoll (1988) descreve a detecção de um intruso internacional que explorava redes acadêmicas e militares utilizando contas comprometidas. O incidente foi inicialmente identificado por uma discrepância contábil de poucos centavos em registros de uso de computador.

O Worm de Morris (1988) forneceu outro exemplo dramático da importância da detecção de intrusão. Estudos posteriores mostraram que a propagação poderia ter sido detectada precocemente por monitoramento de padrões anormais de conexão de rede e execução repetitiva de processos (SPAFFORD, 1989).

A tabela a seguir resume alguns dos principais sistemas e pesquisas iniciais em detecção de intrusão.

Sistema Ano Organização Características principais
IDES 1984–1987 SRI International Análise estatística de perfis de usuário
Haystack 1988 Government / Military Regras heurísticas e monitoramento contínuo
Monitoramento de auditoria C2 1985 DoD Registros detalhados de eventos de segurança
Análise do Worm de Morris 1989 Purdue University Detecção de propagação automatizada

Esses trabalhos estabeleceram a base conceitual para sistemas modernos de detecção de intrusão, mas muitos desafios permanecem, especialmente no que diz respeito à escalabilidade e à redução de falsos positivos.

  1. Threat Model and Problem Formalization

Neste trabalho consideramos um ambiente típico de computação acadêmica do final da década de 1980. O ambiente consiste em múltiplos sistemas UNIX conectados por rede Ethernet e utilizando protocolos TCP/IP para comunicação.

Os principais ativos incluem:

O modelo de ameaça assume três categorias principais de adversário.

Tipo de atacante Características Exemplos
Usuário interno malicioso Possui conta válida no sistema Escalação de privilégios
Intruso externo Obtém acesso via rede Exploração de serviços remotos
Código automatizado Programas auto-propagantes Worms de rede

Formalmente, representamos a sequência de eventos de auditoria como:

$$ E = {e_1, e_2, e_3, …, e_n} $$

Cada evento $e_i$ é descrito por um vetor de atributos:

$$ e_i = (u, t, c, r) $$

onde:

A tarefa do sistema de detecção é identificar subconjuntos de eventos $E’$ tais que:

$$ P(E’|\text{perfil normal}) < \tau $$

onde $\tau$ representa um limiar de anomalia.

  1. Proposed Methodology

A metodologia proposta integra três componentes principais:

  1. Coleta de eventos de auditoria
  2. Construção de perfis comportamentais
  3. Correlação com eventos de rede

Coleta de dados

Os dados são coletados de múltiplas fontes do sistema:

Modelagem estatística

Cada usuário possui um perfil baseado em:

A média e variância são calculadas para cada métrica:

$$ \mu = \frac{1}{n} \sum_{i=1}^{n} x_i $$

$$ \sigma^2 = \frac{1}{n-1}\sum_{i=1}^{n}(x_i - \mu)^2 $$

Eventos que excedem $k\sigma$ são considerados anômalos.

Correlação de eventos

Eventos são correlacionados quando ocorrem dentro de uma janela temporal $\Delta t$.

Evento A Evento B Interpretação
múltiplos logins falhos login bem-sucedido possível quebra de senha
pico de conexões TCP execução de processos remotos worm ou exploração
acesso root inesperado modificação de arquivos críticos possível intrusão
  1. Implementation

A implementação foi realizada em estações Sun e VAX executando UNIX BSD.

Captura de tráfego de rede:

tcpdump -i le0 -n -tt tcp

Extração de eventos de login:

last | awk '{print $1,$3,$4,$5}'

Configuração de auditoria via syslog:

auth.notice    /var/log/authlog
daemon.notice  /var/log/daemonlog

Arquitetura:

Componente Função
Coletor de logs captura eventos
Motor estatístico análise de perfis
Correlacionador identifica padrões de ataque
  1. Experimental Evaluation

Experimentos foram conduzidos em um laboratório com 12 estações UNIX conectadas por Ethernet 10 Mbps.

Métrica Valor
Hosts monitorados 12
Usuários ativos 47
Eventos de auditoria por dia ~35.000
Tráfego médio 1.2 GB/dia

Taxa de detecção

Tipo de ataque Detecção
tentativas de senha 92%
abuso de privilégios 88%
propagação tipo worm 95%

Falsos positivos

Método Falsos positivos
regras fixas 14%
modelo estatístico 6%
  1. Case Study

Um incidente experimental simulou propagação semelhante ao Worm de Morris.

O worm tentava:

O sistema detectou:

A detecção ocorreu em aproximadamente 4 minutos após início da propagação.

  1. Discussion

Os resultados demonstram que a análise estatística de comportamento pode ser aplicada de forma prática em sistemas UNIX existentes sem necessidade de modificações profundas no sistema operacional.

Entretanto, alguns desafios permanecem. O principal é o volume de dados de auditoria gerados em ambientes de rede maiores. Sistemas com centenas de usuários podem produzir milhões de eventos por dia, tornando necessária a automação da análise.

Outro desafio é a adaptação a mudanças legítimas no comportamento dos usuários. Perfis estatísticos devem ser atualizados periodicamente para evitar aumento de falsos positivos.

Também é importante considerar limitações inerentes à observação baseada em logs. Se um atacante obtiver privilégios de superusuário, ele poderá potencialmente modificar registros de auditoria.

  1. Conclusion and Future Work

Este trabalho apresentou um modelo operacional de detecção de intrusões baseado em análise estatística de perfis de usuário e monitoramento de rede em sistemas UNIX conectados por TCP/IP.

Os resultados experimentais indicam que a combinação de auditoria de sistema e análise estatística pode detectar uma ampla gama de atividades maliciosas, incluindo tentativas de quebra de senha, abuso de privilégios e propagação automatizada de código.

Trabalhos futuros incluem:

A crescente interconectividade das redes de computadores torna cada vez mais importante o desenvolvimento de sistemas automatizados de detecção de intrusão.

REFERENCES

ANDERSON, J. Computer Security Threat Monitoring and Surveillance. Fort Washington: James P. Anderson Co., 1980.
https://csrc.nist.gov/publications/detail/report/1980/04/15/threat-monitoring-surveillance/final

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

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

EICHIN, M.; ROCHLIS, J. With Microscope and Tweezers: An Analysis of the Internet Worm. 1989.
https://doi.org/10.1145/74246.74248

SPAFFORD, E. The Internet Worm Incident. Purdue University Technical Report, 1989.
https://docs.lib.purdue.edu/cstech/398/

STOLL, C. Stalking the Wily Hacker. Communications of the ACM, 1988.
https://doi.org/10.1145/42411.42413

SMAHA, S. Haystack: An Intrusion Detection System. 1988.
https://apps.dtic.mil/sti/pdfs/ADA197600.pdf

LAMpson, B. Protection. ACM Operating Systems Review, 1973.
https://doi.org/10.1145/775265.775268

SALTZER, J.; SCHROEDER, M. The Protection of Information in Computer Systems. Proceedings of the IEEE, 1975.
https://doi.org/10.1109/PROC.1975.9939

MORRIS, R.; THOMPSON, K. Password Security: A Case History. Communications of the ACM, 1979.
https://doi.org/10.1145/359168.359172

DIFFIE, W.; HELLMAN, M. New Directions in Cryptography. IEEE Transactions on Information Theory, 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. Communications of the ACM, 1978.
https://doi.org/10.1145/359340.359342

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

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

BELL, D.; LAPADULA, L. Secure Computer Systems: Unified Exposition. MITRE, 1976.
https://apps.dtic.mil/sti/pdfs/ADA023588.pdf

KEMMERER, R. Shared Resource Matrix Methodology. IEEE Symposium on Security and Privacy, 1983.
https://doi.org/10.1109/SP.1983.10017

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

DOERING, R. UNIX System Security. AT&T Bell Laboratories, 1985.
https://www.bell-labs.com/usr/dmr/www/

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

MOCKAPETRIS, P. Domain Names – Concepts and Facilities. RFC 1034, 1987.
https://www.rfc-editor.org/rfc/rfc1034

MOCKAPETRIS, P. Domain Names – Implementation and Specification. RFC 1035, 1987.
https://www.rfc-editor.org/rfc/rfc1035

JACOBSON, V. tcpdump Manual. Lawrence Berkeley Laboratory, 1988.
https://www.tcpdump.org

COMER, D. Internetworking with TCP/IP. Prentice Hall, 1988.
https://www.cs.purdue.edu/homes/dec/tcpip.html

TANENBAUM, A. Computer Networks. Prentice Hall, 1988.
https://www.pearson.com/en-us/subject-catalog/p/computer-networks/P200000003481/9780132126953

STALLINGS, W. Data and Computer Communications. Macmillan, 1988.
https://www.pearson.com/en-us/subject-catalog/p/data-and-computer-communications/P200000003364/9780133506488