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
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.
- 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:
- análise estatística de comportamento de usuários
- monitoramento de tráfego de rede TCP/IP
- correlação de eventos de auditoria do sistema
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.
- 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:
- coleta de eventos de auditoria
- análise estatística de perfis de usuário
- identificação de desvios comportamentais
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:
- uso inesperado de privilégios administrativos
- login em horários incomuns
- transferência excessiva de arquivos
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.
- 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:
- contas de usuários e credenciais
- arquivos de pesquisa e dados científicos
- recursos computacionais compartilhados
- serviços de rede (SMTP, FTP, rlogin, finger)
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:
- $u$ = usuário
- $t$ = timestamp
- $c$ = comando executado
- $r$ = recurso acessado
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.
- Proposed Methodology
A metodologia proposta integra três componentes principais:
- Coleta de eventos de auditoria
- Construção de perfis comportamentais
- Correlação com eventos de rede
Coleta de dados
Os dados são coletados de múltiplas fontes do sistema:
- logs
syslog - registros de login (
wtmp) - histórico de comandos
- captura de pacotes de rede
Modelagem estatística
Cada usuário possui um perfil baseado em:
- frequência de login
- distribuição temporal de atividade
- comandos mais utilizados
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 |
- 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 |
- 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% |
- Case Study
Um incidente experimental simulou propagação semelhante ao Worm de Morris.
O worm tentava:
- explorar serviço
finger - copiar-se via
rsh - executar repetidamente processos de rede
O sistema detectou:
- aumento abrupto de conexões TCP
- execução repetitiva de comandos remotos
- crescimento anormal de processos
A detecção ocorreu em aproximadamente 4 minutos após início da propagação.
- 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.
- 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:
- integração com sistemas de resposta automática
- análise distribuída em múltiplos hosts
- incorporação de modelos probabilísticos mais sofisticados
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