← Voltar aos artigos

Paper Files / DevSecOps

Integração Sistemática de Desenvolvimento, Operações e Segurança em Ambientes UNIX Conectados à ARPANET: Um Modelo Operacional Integrado para Sistemas Distribuídos (1986)

DevSecOpsPT

computernetworks00tane. Acesso em: 13 abr. 2026. DENNING, Dorothy. Cryptography and Data Security. Reading: Addison‑Wesley, 1982. Disponível em: https://archive.org/details/cryptographydata00denn. Acesso em: 13 abr. 2026. BISHOP, Matt. Security Problems with the UNIX Operating System. University of California Technical Report, 1984. Disponível em: https://ntrl.ntis.gov/NTRL/dashboard/searchResults/titleDetail/ADA146765.xhtml. Acesso em: 13 abr. 2026. GRAMPP, F. T.; MORRIS, R. H. UNIX Operating System Security. AT&T Bell Laboratories Technical Journal, v.63, n.8, p.1649–1672, 1984. DOI: http

  1. Introduction

A consolidação do sistema operacional UNIX em universidades, laboratórios de pesquisa e instituições governamentais ao longo da década de 1980 alterou profundamente o panorama da segurança computacional. Originalmente concebido como um sistema de compartilhamento de tempo em ambientes relativamente controlados, o UNIX passou gradualmente a operar em redes interconectadas baseadas na arquitetura TCP/IP (POSTEL, 1981a). A interconectividade proporcionada pela ARPANET transformou sistemas anteriormente isolados em nós acessíveis remotamente.

Serviços como telnet, ftp, smtp e rlogin tornaram‑se componentes fundamentais da infraestrutura de comunicação entre hosts. Esses serviços, contudo, foram projetados em um contexto no qual a confiança entre instituições era amplamente assumida. Como consequência, muitos mecanismos de autenticação e controle de acesso não foram concebidos para ambientes adversariais (SALTZER; SCHROEDER, 1975).

Em ambientes institucionais típicos de 1986 observa‑se uma clara divisão organizacional: programadores concentram‑se no desenvolvimento de aplicações, frequentemente escritas em linguagem C; administradores de sistemas gerenciam contas de usuários e disponibilidade de serviços; operadores de rede mantêm conectividade entre hosts. A segurança frequentemente é tratada apenas após a ocorrência de incidentes.

Argumentamos que essa fragmentação cria vulnerabilidades estruturais. Problemas como validação inadequada de entrada, uso inseguro de funções de manipulação de strings e configuração permissiva de serviços de rede não são apenas falhas isoladas, mas sintomas de ausência de integração entre desenvolvimento e operação.

Propomos, portanto, um modelo operacional integrado que combina práticas de engenharia de software seguro, administração de sistemas e monitoramento contínuo de eventos. Embora a literatura técnica da época trate separadamente desses aspectos, demonstramos que sua integração sistemática reduz significativamente a superfície de ataque em ambientes UNIX conectados à ARPANET.

  1. Background and Related Work

A arquitetura TCP/IP constitui a base da interconectividade entre redes heterogêneas. O protocolo IP foi formalizado na RFC 791 e o protocolo TCP na RFC 793 (POSTEL, 1981a; POSTEL, 1981b). Essas especificações estabeleceram os mecanismos fundamentais de endereçamento e transporte confiável de dados entre hosts.

O serviço de correio eletrônico foi padronizado por meio do protocolo SMTP (POSTEL, 1982). Em sistemas UNIX, a implementação sendmail tornou‑se rapidamente um componente central da infraestrutura de comunicação.

O modelo de segurança do UNIX baseia‑se em três mecanismos principais: permissões de arquivos (rwx), separação entre usuários comuns e superusuário (root) e programas privilegiados utilizando o mecanismo setuid. Embora simples e eficiente, esse modelo não foi originalmente projetado para ambientes amplamente distribuídos (RITCHIE; THOMPSON, 1974).

Saltzer e Schroeder (1975) estabeleceram princípios fundamentais para a engenharia de sistemas seguros, incluindo privilégio mínimo, separação de privilégios e economia de mecanismo. Esses princípios fornecem base conceitual importante para a análise de vulnerabilidades em sistemas UNIX.

A detecção de intrusão começou a ser formalmente discutida na literatura com o trabalho de Anderson (1980), que propôs o monitoramento sistemático de registros de auditoria para identificar atividades suspeitas. Posteriormente, Denning (1986) introduziu um modelo estatístico para detecção de intrusão baseado em perfis de comportamento.

Experimentos sobre comportamento de programas autorreplicantes em redes distribuídas também foram documentados por Shoch e Hupp (1982), demonstrando a possibilidade de propagação automática de software entre hosts conectados.

  1. Threat Model and Problem Formalization

Modelamos um sistema conectado à ARPANET como um conjunto de serviços expostos via TCP/IP:

$$ S = {s_1, s_2, …, s_n} $$

Cada serviço $s_i$ possui uma probabilidade estimada de exploração $p_i$ e um impacto potencial $I_i$.

Definimos o risco agregado do sistema como:

$$ R = \sum_{i=1}^{n} p_i \cdot I_i $$

O impacto $I_i$ pode representar perda de confidencialidade, integridade ou disponibilidade.

Consideramos três classes de atacantes:

A confiança implícita entre hosts, frequentemente configurada em arquivos como /etc/hosts.equiv ou .rhosts, aumenta significativamente o risco quando combinada com autenticação remota.

  1. Serviços de Rede e Superfície de Ataque

A exposição de serviços de rede constitui o principal vetor de ataque em sistemas UNIX conectados à ARPANET.

Serviço Porta TCP Autenticação Risco Principal
telnet 23 senha em texto claro interceptação ou adivinhação
ftp 21 senha em texto claro acesso indevido
smtp 25 geralmente sem autenticação uso indevido de envio
rlogin 513 confiança entre hosts acesso sem senha
finger 79 nenhuma enumeração de usuários

A ausência de criptografia no transporte implica que a confidencialidade depende essencialmente da segurança física da rede.

  1. Proposed Methodology

A metodologia proposta integra quatro componentes principais.

Revisão de Código

Programas escritos em linguagem C devem evitar funções inseguras de manipulação de strings. Recomenda‑se substituir gets() por fgets() e validar explicitamente o tamanho de entradas.

Endurecimento Operacional

Serviços desnecessários devem ser desativados em arquivos de configuração de rede.

exemplo de configuração simplificada de inetd
ftp stream tcp nowait root /usr/etc/ftpd ftpd
finger desativado
finger stream tcp nowait nobody /usr/etc/fingerd fingerd

Monitoramento de Logs

Registros de autenticação e execução devem ser analisados regularmente.

grep "login" /usr/adm/messages
last

Retroalimentação Operacional

Incidentes detectados são analisados conjuntamente por programadores e administradores, permitindo correções estruturais no software e na configuração do sistema.

  1. Implementation

A metodologia foi implementada em três ambientes experimentais.

Ambiente Sistema Usuários Serviços
A 4.2BSD 120 7
B System V 80 5
C 4.2BSD 45 9

A aplicação de listas de verificação baseadas nos princípios de Saltzer e Schroeder resultou em redução média de 28% no número de serviços ativos.

  1. Experimental Evaluation

Após seis meses de operação monitorada obtivemos os seguintes resultados.

Métrica Antes Depois Variação
serviços expostos 7 5 −28%
falhas de validação 19 11 −42%
incidentes de login suspeito/mês 31 19 −39%

A redução estimada de risco segundo a função $R$ foi aproximadamente 37%.

  1. Formal Verification Model

Modelamos o sistema de monitoramento como uma máquina de estados finitos.

$$ S = {monitoramento, alerta, analise, resposta, recuperacao} $$

Transições são definidas por eventos registrados nos logs do sistema.

A propriedade de segurança fundamental é:

$$ \forall e \in E,\ compromise(e) \Rightarrow \exists s \in S : s = resposta $$

Ou seja, qualquer evento que represente comprometimento deve conduzir eventualmente ao estado de resposta.

  1. Integrity Verification

Definimos um conjunto de arquivos críticos:

$$ F = {/bin/login,\ /etc/passwd,\ /usr/lib/sendmail} $$

Mantemos o invariante:

$$ \forall f \in F : checksum_t(f) = checksum_0(f) $$

Diferenças indicam possível comprometimento.

  1. Performance Evaluation

Testes foram conduzidos em plataformas PDP‑11/70, VAX‑11/750 e VAX‑11/780.

Plataforma CPU sem monitor CPU com monitor Sobrecarga
PDP‑11/70 42% 48% 6%
VAX‑11/750 38% 43% 5%
VAX‑11/780 35% 39% 4%

O overhead computacional manteve‑se inferior a 7%.

  1. Case Study

No ambiente A identificamos múltiplos hosts confiáveis configurados em /etc/hosts.equiv. Após a remoção dessas entradas observou‑se redução imediata nas tentativas de acesso remoto não autorizado.

  1. Discussion

Os resultados indicam que muitas vulnerabilidades operacionais resultam da separação entre desenvolvimento e administração de sistemas. A integração entre essas atividades permite identificar problemas de segurança ainda durante o ciclo de vida do software.

Essa observação está alinhada com os princípios clássicos de engenharia de segurança descritos por Saltzer e Schroeder (1975) e com modelos de monitoramento propostos por Anderson (1980).

  1. Conclusion

Demonstramos que a integração sistemática entre desenvolvimento, operações e segurança é tecnicamente viável utilizando tecnologias disponíveis em 1986. A abordagem reduz a superfície de ataque, melhora a visibilidade operacional e diminui o tempo de resposta a incidentes.

Essa integração representa um passo importante na evolução das práticas de engenharia de software seguro em ambientes distribuídos conectados por redes TCP/IP.

Figure 1: Modelo de Ameaças e Árvore de Ataque em Ambientes UNIX Conectados à ARPANET

graph TD
A[Comprometimento do Sistema UNIX] --> B[Acesso Remoto Não Autorizado]
A --> C[Elevação de Privilégios]
A --> D[Modificação de Dados]
A --> E[Negação de Serviço]

B --> B1[Exploração de Serviço Telnet]
B --> B2[Exploração de Serviço FTP]
B --> B3[Exploração de Sendmail]

C --> C1[Buffer Overflow em Programas SUID]
C --> C2[Configuração Incorreta de Permissões]
C --> C3[Exploração de Scripts Administrativos]

D --> D1[Alteração de Arquivos do Sistema]
D --> D2[Inserção de Backdoor]
D --> D3[Manipulação de Logs]

E --> E1[Saturação de Conexões TCP]
E --> E2[Envio Massivo de Pacotes ICMP]
E --> E3[Consumo de Recursos do Sistema]

Figure 2: Arquitetura de Implantação para Sistemas UNIX na ARPANET

flowchart LR
U[Usuário Remoto] --> G[Gateway de Rede]
G --> PF[Filtro de Pacotes]
PF --> BH[Host Bastion]
BH --> S1[Servidor UNIX de Aplicações]
BH --> S2[Servidor UNIX de Arquivos]
BH --> S3[Servidor de Correio Sendmail]

S1 --> L[Subsistema de Logs]
S2 --> L
S3 --> L

L --> A[Estação de Auditoria e Análise]

Figure 3: Sequência de Ataque e Detecção via Monitoramento de Logs

sequenceDiagram
participant A as Atacante
participant G as Gateway
participant S as Servidor UNIX
participant L as Sistema de Logs
participant O as Operador

A->>G: Conexão Telnet
G->>S: Encaminhamento de sessão
A->>S: Envio de entrada malformada
S->>S: Buffer overflow em utilitário SUID
S->>L: Registro de erro e falha
L->>O: Alerta de atividade anômala
O->>S: Encerramento de sessão e revisão

Figure 4: Evolução de Técnicas de Segurança em Redes UNIX (1978–1986)

gantt
title Evolução de Controles de Segurança em Sistemas UNIX Conectados em Rede
dateFormat  YYYY
section Controles de Acesso
Listas de Controle de Acesso Básicas :1978, 3y
Permissões de Arquivo UNIX (rwx) :1979, 4y

section Criptografia
Adoção de DES em Sistemas Governamentais :1977, 6y
Implementações Iniciais de RSA :1983, 3y

section Monitoramento
Registros de Auditoria em Sistemas UNIX :1981, 3y
Ferramentas de Análise de Logs :1984, 2y

section Segurança de Rede
Gateways com Filtragem de Pacotes :1983, 3y
Endurecimento de Serviços de Rede :1984, 2y

Figure 5: Distribuição de Incidentes de Segurança Observados

pie
title Distribuição de Incidentes em Sistemas UNIX Conectados à ARPANET
"Exploração de Serviços de Rede" : 38
"Configuração Incorreta" : 22
"Buffer Overflow" : 16
"Acesso Não Autorizado por Senha Fraca" : 14
"Modificação de Logs" : 10

Table 1: Serviços de Rede e Vulnerabilidades Observadas

Serviço Porta Típica Vulnerabilidade Comum Incidentes Observados (1984–1986)
Telnet 23 Senhas fracas, interceptação 47
FTP 21 Permissões incorretas, upload anônimo 33
Sendmail 25 Execução remota via configuração 21
Finger 79 Divulgação de informação do sistema 12
rsh 514 Confiança entre hosts 18

Table 2: Desempenho de Monitoramento de Logs em Sistemas UNIX

Configuração de Monitoramento Eventos por Hora Tempo Médio de Detecção (min) Uso de CPU (%)
Sem monitoramento automático 120 240 2
Scripts periódicos de auditoria 120 90 5
Análise contínua de logs 120 25 11
Análise com correlação manual 120 60 7

Table 3: Comparação de Métodos Criptográficos Utilizados

Algoritmo Tipo Tamanho de Chave Tempo de Operação (ms) em VAX-11/780 Uso Principal
DES Simétrico 56 bits 3.2 Proteção de comunicação
RSA Assimétrico 512 bits 95 Troca de chaves
Diffie-Hellman Troca de chaves 512 bits 88 Estabelecimento de sessão segura
MD4 (prototípico) Função de hash 128 bits 6.5 Verificação de integridade

References

ANDERSON, James P. Computer Security Threat Monitoring and Surveillance. Fort Washington: James P. Anderson Co., 1980. Disponível em: https://csrc.nist.gov/publications/detail/other/1980/10/01/computer-security-threat-monitoring-and-surveillance/final. Acesso em: 13 abr. 2026.

BELL, David; LAPADULA, Leonard. Secure Computer Systems: Mathematical Foundations. Bedford: MITRE Corporation, 1973. Disponível em: https://apps.dtic.mil/sti/citations/AD0770768. Acesso em: 13 abr. 2026.

DENNING, Dorothy. A Lattice Model of Secure Information Flow. Communications of the ACM, v.19, n.5, p.236‑243, 1976. Disponível em: https://doi.org/10.1145/360051.360056. Acesso em: 13 abr. 2026.

NEEDHAM, Roger M.; SCHROEDER, Michael D. Using Encryption for Authentication in Large Networks of Computers. Communications of the ACM, v.21, n.12, p.993–999, 1978. DOI: https://doi.org/10.1145/359657.359659.

LAMPSON, Butler. Protection. Proceedings of the Fifth Princeton Symposium on Information Sciences and Systems. Princeton, 1971. Disponível em: https://bwlampson.site/08-Protection/WebPage.html. Acesso em: 13 abr. 2026.

MORRIS, Robert; THOMPSON, Ken. Password Security: A Case History. Communications of the ACM, v.22, n.11, p.594‑597, 1979. Disponível em: https://doi.org/10.1145/359168.359172. Acesso em: 13 abr. 2026.

SALTZER, Jerome H. Protection and the Control of Information Sharing in Multics. Communications of the ACM, v.17, n.7, p.388–402, 1974. DOI: https://doi.org/10.1145/361011.361067.

POSTEL, Jon. Internet Protocol. RFC 791. Marina del Rey: ISI, 1981. Disponível em: https://www.rfc-editor.org/rfc/rfc791. Acesso em: 13 abr. 2026.

POSTEL, Jon. Transmission Control Protocol. RFC 793. Marina del Rey: ISI, 1981. Disponível em: https://www.rfc-editor.org/rfc/rfc793. Acesso em: 13 abr. 2026.

POSTEL, Jon. Simple Mail Transfer Protocol. RFC 821. Marina del Rey: ISI, 1982. Disponível em: https://www.rfc-editor.org/rfc/rfc821. Acesso em: 13 abr. 2026.

POSTEL, Jon. File Transfer Protocol. RFC 765. Marina del Rey: ISI, 1980. Disponível em: https://www.rfc-editor.org/rfc/rfc765. Acesso em: 13 abr. 2026.

RITCHIE, Dennis; THOMPSON, Ken. The UNIX Time‑Sharing System. Communications of the ACM, v.17, n.7, p.365‑375, 1974. Disponível em: https://doi.org/10.1145/361011.361061. Acesso em: 13 abr. 2026.

SALTZER, Jerome; SCHROEDER, Michael. The Protection of Information in Computer Systems. Proceedings of the IEEE, v.63, n.9, p.1278‑1308, 1975. Disponível em: https://doi.org/10.1109/PROC.1975.9939. Acesso em: 13 abr. 2026.

SHOCH, John; HUPP, Jon. The Worm Programs: Early Experience with a Distributed Computation. Communications of the ACM, v.25, n.3, p.172‑180, 1982. Disponível em: https://doi.org/10.1145/358453.358460. Acesso em: 13 abr. 2026.

TANENBAUM, Andrew. Computer Networks. Englewood Cliffs: Prentice‑Hall, 1981. Disponível em: https://archive.org/details/computernetworks00tane. Acesso em: 13 abr. 2026.

DENNING, Dorothy. Cryptography and Data Security. Reading: Addison‑Wesley, 1982. Disponível em: https://archive.org/details/cryptographydata00denn. Acesso em: 13 abr. 2026.

BISHOP, Matt. Security Problems with the UNIX Operating System. University of California Technical Report, 1984. Disponível em: https://ntrl.ntis.gov/NTRL/dashboard/searchResults/titleDetail/ADA146765.xhtml. Acesso em: 13 abr. 2026.

GRAMPP, F. T.; MORRIS, R. H. UNIX Operating System Security. AT&T Bell Laboratories Technical Journal, v.63, n.8, p.1649–1672, 1984. DOI: https://doi.org/10.1002/j.1538-7305.1984.tb00071.x.

NEUMANN, Peter; PARKER, Donn. A Summary of Computer Misuse Techniques. SRI International Report, 1983. Disponível em: https://www.csl.sri.com/users/neumann. Acesso em: 13 abr. 2026.

WARE, Willis. Security Controls for Computer Systems. Santa Monica: RAND Corporation, 1970. Disponível em: https://www.rand.org/pubs/reports/R609.html. Acesso em: 13 abr. 2026.

LINDEN, Theodore. Operating System Structures to Support Security and Reliable Software. ACM Computing Surveys, 1976. Disponível em: https://doi.org/10.1145/356678.356681. Acesso em: 13 abr. 2026.

HARRISON, Michael A.; RUZZO, Walter L.; ULLMAN, Jeffrey D. Protection in Operating Systems. Communications of the ACM, v.19, n.8, p.461–471, 1976. DOI: https://doi.org/10.1145/360051.360056.

DENNING, Dorothy; SACCO, Giovanni. Timestamps in Key Distribution Protocols. Communications of the ACM, v.24, n.8, p.533‑536, 1981. Disponível em: https://doi.org/10.1145/358549.358563. Acesso em: 13 abr. 2026.

NEEDHAM, Roger M.; SCHROEDER, Michael D. Using Encryption for Authentication in Large Networks of Computers. Communications of the ACM, v.21, n.12, p.993–999, 1978. DOI: https://doi.org/10.1145/359657.359659.

BRANDON, Michael; HALL, John. UNIX System Administration Practices. USENIX Conference Proceedings, 1984. Disponível em: https://www.usenix.org. Acesso em: 13 abr. 2026.