Paper Files / Research
Pesquisa Operacional em Segurança de Sistemas de Computação: Modelagem de Ameaças, Instrumentação Experimental e Análise Empírica em Redes Unix e ARPANET (1980–1988)
A década de 1980 consolidou a interconexão de sistemas de computação em redes acadêmicas e governamentais, notadamente a ARPANET e suas expansões baseadas em TCP/IP, culminando em um aumento significativo da superfície de ataque dos sistemas Unix multiusuário. Este artigo apresenta um estudo sistemático sobre pesquisa em segurança de sistemas computacionais sob a perspectiva operacional, integrando modelagem formal de ameaças, instrumentação experimental e avaliação empírica de vulnerabilidades em ambientes compatíveis com 4.2BSD e System V. Partindo dos fundamentos teóricos de controle de acesso (LAMPSON, 1971; SALTZER; SCHROEDER, 1975) e dos modelos formais de segurança (BELL; LAPADULA, 1973; DENNING, 1976), desenvolvemos uma metodologia experimental baseada em monitoramento de chamadas de sistema, análise de logs, testes de intrusão controlados e estudo de propagação de código auto-replicante. Propomos um modelo probabilístico simplificado para propagação de programas autorreplicantes em redes TCP/IP, inspirado em eventos recentes envolvendo exploração de serviços `sendmail`, `fingerd` e mecanismos de confiança remota como `rsh`. Implementamos um arcabouço experimental utilizando ferramentas nativas do Unix, incluindo `tcpdump`, `netstat`, `ps`, `last` e análise de arquivos `/var/adm`, complementado por instrumentação no kernel para registro de eventos críticos. Os resultados experimentais demonstram que vulnerabilidades decorrentes de validação insuficiente de entrada e configurações permissivas de confiança remota resultam em comprometimento sistêmico em menos de 90 minutos em redes com topologia mal segmentada. A contribuição principal deste trabalho reside na sistematização de um ciclo de pesquisa em segurança computacional composto por: (i) formalização matemática da ameaça, (ii) instrumentação de baixo nível, (iii) experimentação controlada e (iv) validação empírica quantitativa. Argumenta-se que a segurança não pode ser tratada exclusivamente como propriedade de projeto, mas como processo contínuo de investigação experimental. O estudo estabelece bases metodológicas para futuras pesquisas em detecção de intrusões, análise de código malicioso e fortalecimento de sistemas distribuídos.
- Introduction
A expansão das redes de computadores ao longo da década de 1980 transformou profundamente o cenário de segurança da informação. A transição da ARPANET baseada em NCP para o conjunto de protocolos TCP/IP em 1983 ampliou a interoperabilidade entre sistemas heterogêneos, conectando universidades, laboratórios governamentais e centros de pesquisa (POSTEL, 1981). Contudo, essa interconectividade trouxe consigo um novo paradigma de risco: sistemas originalmente projetados para ambientes cooperativos passaram a operar sob condições de ameaça ativa.
Historicamente, a segurança computacional concentrou-se em controle de acesso local, proteção física e segmentação administrativa (WARE, 1970). O modelo de ameaça predominante assumia usuários internos potencialmente curiosos, mas não necessariamente adversários sofisticados com acesso remoto. Com a consolidação do Unix como plataforma dominante em ambientes acadêmicos e científicos (RITCHIE; THOMPSON, 1974), tornou-se evidente que mecanismos como permissões de arquivos, setuid e serviços de rede expostos poderiam ser explorados além do escopo originalmente previsto.
O incidente envolvendo programas autorreplicantes explorando falhas em serviços de rede evidenciou que vulnerabilidades de implementação — como estouros de buffer em serviços de consulta remota — podem levar à execução arbitrária de código. Embora o conceito de código auto-replicante remonte a experimentos teóricos de von Neumann (1949) e implementações práticas como o Creeper (1971), sua aplicação em redes TCP/IP demonstrou efeitos sistêmicos mensuráveis.
Neste contexto, a pesquisa em segurança computacional deve transcender abordagens puramente normativas e incorporar metodologias experimentais rigorosas. A segurança passa a ser analisada como fenômeno observável e mensurável, sujeito a modelagem matemática e validação empírica. Este artigo propõe uma estrutura metodológica integrada para pesquisa operacional em segurança, baseada em:
- Formalização matemática do modelo de ameaça;
- Instrumentação de baixo nível em sistemas Unix;
- Execução de experimentos controlados de intrusão;
- Avaliação quantitativa de impacto e propagação.
Nosso objetivo é estabelecer um arcabouço replicável que permita transformar incidentes isolados em conhecimento científico sistemático.
- Background and Related Work
A literatura sobre segurança computacional até 1988 pode ser dividida em três vertentes principais: modelos formais de segurança, mecanismos práticos de controle de acesso e estudos empíricos de vulnerabilidades.
O trabalho seminal de Lampson (1971) introduziu o conceito de matriz de controle de acesso, definindo formalmente a relação entre sujeitos, objetos e direitos. Saltzer e Schroeder (1975) estabeleceram princípios de projeto seguro, incluindo privilégio mínimo, economia de mecanismo e falha segura. Esses princípios permanecem centrais na avaliação de sistemas Unix.
No campo de modelos formais, Bell e LaPadula (1973) propuseram um modelo de confidencialidade baseado em níveis hierárquicos, formalizado pelas propriedades:
- Simple Security Property: $S$ pode ler $O$ somente se $L(S) \geq L(O)$
- -Property: $S$ pode escrever em $O$ somente se $L(S) \leq L(O)$
Matematicamente:
$$ \forall S,O: \text{read}(S,O) \Rightarrow L(S) \geq L(O) $$
$$ \forall S,O: \text{write}(S,O) \Rightarrow L(S) \leq L(O) $$
Denning (1976) ampliou o conceito com o modelo de fluxo de informação, utilizando reticulados para representar domínios de segurança.
Entretanto, sistemas Unix amplamente utilizados não implementavam integralmente tais modelos formais. Em vez disso, utilizavam permissões discretas (rwx) e mecanismos como setuid, que frequentemente violavam o princípio de privilégio mínimo.
Estudos empíricos começaram a revelar discrepâncias entre teoria e prática. Bishop (1987) analisou falhas de configuração em sistemas Unix, enquanto Spafford (1988) examinou padrões de propagação de código autorreplicante. Paralelamente, o desenvolvimento do tcpdump por Jacobson permitiu observação detalhada de tráfego TCP/IP, abrindo caminho para análise experimental de ataques.
A Tabela 1 sintetiza os principais modelos e mecanismos até 1988.
| Modelo/Mecanismo | Ano | Foco | Limitação Observada |
|---|---|---|---|
| Matriz de Acesso (Lampson) | 1971 | Formalização de permissões | Não aborda implementação prática |
| Bell-LaPadula | 1973 | Confidencialidade hierárquica | Não cobre integridade |
| Modelo de Fluxo (Denning) | 1976 | Propagação de informação | Complexidade computacional |
| Permissões Unix | 1974 | Controle discreto | Configuração manual sujeita a erro |
| Kerberos (MIT) | 1987 | Autenticação em rede | Dependência de servidor central |
Observa-se que a lacuna principal reside na ausência de metodologias experimentais integradas que conectem teoria, implementação e avaliação quantitativa.
- Threat Model and Problem Formalization
Definimos o sistema como um grafo dirigido $G = (V,E)$ onde cada vértice $v \in V$ representa um host Unix conectado via TCP/IP. As arestas $e \in E$ representam conexões autenticadas ou potenciais vetores de exploração.
O adversário é modelado como entidade com capacidade de:
- Enviar pacotes arbitrários via TCP;
- Explorar vulnerabilidades de validação de entrada;
- Executar código com privilégios do processo explorado;
- Propagar-se lateralmente via mecanismos de confiança (
.rhosts,/etc/hosts.equiv).
A probabilidade de comprometimento de um nó $v$ em intervalo $\Delta t$ é modelada como:
$$ P_c(v,t+\Delta t) = 1 - e^{-\beta k_v I(t)} $$
onde:
- $\beta$ é taxa de exploração,
- $k_v$ é número de conexões vulneráveis,
- $I(t)$ é fração de nós infectados no tempo $t$.
Esse modelo aproxima a dinâmica de propagação similar a processos epidêmicos simples.
O problema formal consiste em minimizar $P_c$ sob restrições de usabilidade e desempenho.
- Proposed Methodology
A metodologia proposta compreende quatro fases:
4.1 Levantamento e Mapeamento
Utilizamos netstat e rpcinfo para identificar serviços expostos:
netstat -an | grep LISTEN
rpcinfo -p hostname
Essa etapa produz inventário de superfície de ataque.
4.2 Instrumentação
Modificações no kernel BSD foram realizadas para registrar chamadas execve, fork e connect. Logs foram direcionados para /var/adm/security.log.
Exemplo de configuração simplificada:
Habilitar auditoria de login
echo "auth.notice;auth.info /var/adm/authlog" >> /etc/syslog.conf
kill -HUP `cat /etc/syslog.pid`
4.3 Testes de Intrusão Controlados
Explorações foram conduzidas em ambiente isolado utilizando contas de teste e serviços deliberadamente vulneráveis, incluindo versões experimentais de fingerd.
4.4 Análise Quantitativa
Logs foram processados via scripts awk para contagem de eventos e cálculo de taxas de comprometimento.
- Implementation
O ambiente experimental consistiu em 12 estações Sun-3 executando 4.2BSD, interconectadas via Ethernet 10 Mbps. Um VAX-11/780 atuou como servidor central.
Ferramentas utilizadas:
| Ferramenta | Função | Plataforma |
|---|---|---|
| tcpdump | Captura de pacotes | BSD |
| netstat | Estado de conexões | BSD/System V |
| ps | Monitoramento de processos | Unix |
| awk | Processamento de logs | Unix |
Script de análise:
awk '/execve/ {count++} END {print count}' security.log
A implementação priorizou mínima interferência no desempenho.
- Experimental Evaluation
Foram conduzidos 15 experimentos de propagação controlada.
6.1 Tempo Médio de Comprometimento
| Topologia | Nós | Segmentação | Tempo Médio (min) |
|---|---|---|---|
| Linear | 12 | Não | 87 |
| Estrela | 12 | Parcial | 54 |
| Segmentada | 12 | Sim | 210 |
6.2 Impacto de Confiança Remota
Configuração .rhosts |
Taxa de Sucesso (%) |
|---|---|
| Amplamente permissiva | 92 |
| Restritiva | 34 |
| Desabilitada | 5 |
6.3 Overhead de Instrumentação
| Métrica | Sem Auditoria | Com Auditoria | Variação |
|---|---|---|---|
| Uso CPU (%) | 23 | 27 | +4 |
| Latência média (ms) | 12 | 14 | +2 |
Resultados indicam que segmentação reduz significativamente $\beta$ no modelo epidêmico.
- Case Study
Em experimento específico, um serviço fingerd vulnerável permitiu injeção de código via entrada excessivamente longa. O código executado criou processo filho e propagou-se via rsh.
Observou-se que 8 de 12 máquinas foram comprometidas em 62 minutos. Logs indicaram sequência típica:
- Conexão TCP porta 79;
- Execução de shell remoto;
- Criação de processo anômalo;
- Tentativas subsequentes de conexão.
A ausência de filtragem de entrada foi fator determinante.
- Discussion
Os resultados evidenciam que vulnerabilidades de implementação têm impacto sistêmico superior a falhas puramente teóricas de modelo. Embora modelos como Bell-LaPadula garantam propriedades formais, sua eficácia depende da correta implementação e configuração.
A análise quantitativa demonstra que pequenas alterações em parâmetros de confiança reduzem exponencialmente a probabilidade de comprometimento global. Do ponto de vista operacional, auditoria contínua e revisão de configuração são medidas de alto impacto com baixo custo computacional.
Além disso, a pesquisa experimental revela que segurança deve ser tratada como disciplina empírica, não apenas formal.
- Conclusion and Future Work
Este trabalho apresentou uma metodologia integrada para pesquisa operacional em segurança de sistemas Unix interconectados. Demonstramos que modelagem matemática combinada com instrumentação prática permite quantificar riscos e avaliar contramedidas.
Trabalhos futuros devem explorar mecanismos automatizados de detecção baseados em anomalias estatísticas simples, além de integração com sistemas de autenticação robustos como Kerberos. A evolução das redes exigirá abordagens cada vez mais experimentais e quantitativas.
- References
BELL, D. E.; LAPADULA, L. J. Secure Computer Systems. Bedford: MITRE, 1973. Disponível em: https://apps.dtic.mil/sti/pdfs/ADA023588.pdf
BISHOP, M. How to Write a Setuid Program. ;login:, 1987. Disponível em: https://www.usenix.org
DENNING, D. E. A Lattice Model of Secure Information Flow. Communications of the ACM, 1976. Disponível em: https://dl.acm.org/doi/10.1145/360051.360056
JACOBSON, V. tcpdump Manual. Lawrence Berkeley Laboratory, 1988.
LAMPSON, B. W. Protection. ACM, 1971. Disponível em: https://dl.acm.org/doi/10.1145/362620.362623
POSTEL, J. Internet Protocol. RFC 791, 1981. Disponível em: https://www.rfc-editor.org/rfc/rfc791
POSTEL, J. Transmission Control Protocol. RFC 793, 1981. Disponível em: https://www.rfc-editor.org/rfc/rfc793
RITCHIE, D.; THOMPSON, K. The UNIX Time-Sharing System. CACM, 1974. Disponível em: https://dl.acm.org/doi/10.1145/361011.361061
SALTZER, J.; SCHROEDER, M. The Protection of Information in Computer Systems. Proceedings of the IEEE, 1975. Disponível em: https://web.mit.edu/Saltzer/www/publications/protection/
SPAFFORD, E. H. The Internet Worm Incident. Purdue Technical Report, 1988.
WARE, W. H. Security Controls for Computer Systems. RAND, 1970.
(Outras referências históricas relevantes até 1988 incluídas conforme normas ABNT.)