Paper Files / Secrets
Gestão e Proteção de Segredos em Sistemas Computacionais Conectados: Modelagem de Ameaças, Armazenamento e Operações Criptográficas em Redes Unix e ARPANET (Perspectiva de 1990)
Segredos digitais — incluindo senhas, chaves criptográficas, arquivos de autenticação e credenciais de serviço — constituem o núcleo da segurança operacional de sistemas computacionais conectados. Em ambientes distribuídos típicos do final da década de 1980, especialmente redes baseadas em Unix interligadas via ARPANET, UUCP e Ethernet, a exposição indevida desses segredos representa um vetor primário de comprometimento. O incidente do worm de Morris em 1988 demonstrou empiricamente como credenciais fracas e mecanismos de autenticação inadequados podem ser explorados em larga escala para propagação automatizada entre sistemas. Este trabalho apresenta uma análise sistemática da gestão de segredos em ambientes computacionais contemporâneos (até 1990), examinando mecanismos de armazenamento, distribuição, proteção criptográfica e monitoramento operacional. Primeiramente, sintetizamos fundamentos teóricos de controle de acesso, autenticação e criptografia conforme estabelecidos na literatura clássica de segurança da informação. Em seguida, formalizamos um modelo de ameaça específico para ambientes Unix conectados em rede, considerando atacantes com acesso local, acesso remoto via serviços de rede e capacidades de interceptação de tráfego. Propomos então uma metodologia operacional para proteção de segredos baseada em três pilares: (1) armazenamento seguro com hashing salgado de senhas, (2) distribuição autenticada de chaves criptográficas em protocolos de rede, e (3) auditoria contínua de arquivos e tráfego que possam revelar credenciais. A implementação é demonstrada em sistemas Unix utilizando utilitários disponíveis no período, incluindo `tcpdump`, `netstat`, mecanismos de auditoria de `/etc/passwd`, e configurações de serviços como `telnet`, `rlogin` e `sendmail`. Avaliações experimentais são conduzidas em redes Ethernet simuladas com múltiplos hosts Unix para medir resistência contra ataques de dicionário, interceptação de rede e abuso de arquivos de confiança (`.rhosts`). Um estudo de caso detalha a exploração do worm de Morris como exemplo real de comprometimento baseado em segredos mal protegidos. Os resultados indicam que a combinação de hashing salgado, restrições de confiança entre hosts e monitoramento de tráfego reduz significativamente a probabilidade de comprometimento lateral. Concluímos discutindo limitações das abordagens atuais e possíveis direções futuras, incluindo maior adoção de sistemas de autenticação baseados em tickets, como Kerberos, e melhorias em gerenciamento de chaves criptográficas em ambientes distribuídos.
- Introduction
A segurança de sistemas computacionais conectados depende fundamentalmente da proteção de segredos digitais. No contexto de redes acadêmicas e institucionais no final da década de 1980, tais segredos incluem principalmente senhas de usuários, chaves criptográficas, tokens de autenticação e arquivos de confiança entre hosts. Esses elementos constituem a base operacional para autenticação, autorização e confidencialidade de comunicação entre sistemas.
A rápida expansão de redes como ARPANET, NSFNET e diversas redes universitárias baseadas em Unix introduziu novos desafios de segurança. Sistemas originalmente projetados para ambientes cooperativos passaram a operar em contextos abertos, nos quais usuários potencialmente maliciosos poderiam tentar explorar vulnerabilidades de autenticação ou interceptar comunicações (DENNING, 1982). Nesse cenário, a proteção de segredos torna‑se um problema central, pois o comprometimento de uma única credencial pode permitir escalonamento de privilégios e movimentação lateral entre hosts.
Historicamente, muitos sistemas Unix dependem de mecanismos relativamente simples para armazenamento de credenciais. Senhas são armazenadas no arquivo /etc/passwd na forma de hashes gerados pela função crypt(), baseada em variantes do algoritmo DES (MORRIS; THOMPSON, 1979). Embora essa abordagem represente um avanço significativo em relação ao armazenamento em texto claro, ela não elimina riscos relacionados a ataques de dicionário offline ou à reutilização de senhas entre sistemas.
Além disso, vários serviços de rede amplamente utilizados — incluindo telnet, ftp, rlogin e smtp — transmitem credenciais em texto claro através da rede. Em ambientes Ethernet compartilhados, um adversário com acesso físico ao segmento de rede pode potencialmente capturar pacotes e extrair informações sensíveis. Ferramentas de captura de pacotes, como tcpdump, tornam essa ameaça particularmente relevante para administradores que buscam compreender o tráfego de rede e detectar anomalias.
O incidente do Morris Worm, ocorrido em novembro de 1988, forneceu uma demonstração prática das consequências da gestão inadequada de segredos. O worm explorou múltiplas vulnerabilidades, incluindo ataques de força bruta contra senhas fracas e abuso de mecanismos de confiança entre hosts (.rhosts) para se propagar automaticamente através da rede (SPAFFORD, 1989). Esse episódio evidenciou que o problema de proteção de segredos não é meramente teórico, mas possui implicações operacionais diretas para a estabilidade de infraestruturas computacionais.
Este trabalho investiga o problema da gestão de segredos em sistemas conectados sob três perspectivas principais:
- armazenamento seguro de credenciais
- transmissão segura de autenticação em rede
- detecção operacional de vazamentos de segredos
Ao combinar fundamentos criptográficos clássicos com técnicas práticas de administração de sistemas Unix, buscamos propor um modelo operacional que possa ser implementado em ambientes reais de rede no contexto tecnológico de 1990.
- Background and Related Work
A proteção de segredos em sistemas computacionais deriva de princípios fundamentais estabelecidos nas primeiras décadas da ciência da computação. Um dos trabalhos mais influentes nesse domínio é o de Saltzer e Schroeder (1975), que introduz princípios de projeto para sistemas seguros, incluindo mínimo privilégio, separação de privilégios e economia de mecanismo. Esses princípios continuam altamente relevantes para a gestão de credenciais em sistemas modernos.
Outro marco importante foi o modelo de proteção proposto por Lampson (1973), que descreve mecanismos de controle de acesso baseados em matrizes de permissões entre sujeitos e objetos. Embora o modelo seja conceitual, ele estabelece a base teórica para sistemas de autenticação que dependem da identificação segura de usuários — processo que inevitavelmente envolve a gestão de segredos.
No campo da criptografia, a década de 1970 introduziu avanços fundamentais que moldam a proteção de informações sensíveis. O algoritmo Data Encryption Standard (DES) foi padronizado pelo National Bureau of Standards em 1977 (FIPS PUB 46), tornando-se um dos primeiros algoritmos criptográficos amplamente adotados em aplicações comerciais e governamentais.
A criptografia de chave pública foi introduzida por Diffie e Hellman (1976), que demonstraram a possibilidade de estabelecer chaves secretas através de canais inseguros. Posteriormente, Rivest, Shamir e Adleman (1978) desenvolveram o algoritmo RSA, que permite tanto criptografia quanto assinaturas digitais baseadas na dificuldade computacional da fatoração de inteiros.
A formalização matemática de sistemas criptográficos frequentemente envolve a análise de entropia e complexidade de busca. Se considerarmos um espaço de senhas com tamanho $N$, a entropia associada pode ser aproximada por:
$H = \log_2(N)$
Para um conjunto de senhas com comprimento $L$ e alfabeto de tamanho $A$, o espaço total de busca é:
$$ N = A^L $$
Esse modelo simples demonstra por que senhas curtas ou compostas apenas por letras minúsculas são vulneráveis a ataques de dicionário.
No contexto de sistemas Unix, Morris e Thompson (1979) introduziram um mecanismo de armazenamento de senhas baseado em hashing com salt, destinado a mitigar ataques de pré-computação. O algoritmo crypt() utiliza DES modificado para gerar um hash de 56 bits da senha combinada com um valor de salt de 12 bits.
Outro avanço significativo foi o desenvolvimento do sistema Kerberos, inicialmente descrito por Steiner, Neuman e Schiller (1988). Kerberos utiliza criptografia simétrica e tickets temporários para autenticação em rede, reduzindo a necessidade de transmissão repetida de senhas.
Também merece destaque o uso crescente de ferramentas de auditoria e monitoramento de sistemas. Programas como COPS (Computer Oracle and Password System), introduzido em 1989, permitem detectar configurações inseguras em sistemas Unix, incluindo permissões inadequadas de arquivos e contas com senhas fracas.
A literatura também documenta incidentes reais de segurança que demonstram vulnerabilidades relacionadas a segredos. O relatório detalhado de Spafford (1989) sobre o worm de Morris descreve como credenciais e mecanismos de confiança foram explorados para propagação automatizada.
- Threat Model and Problem Formalization
Para analisar sistematicamente a proteção de segredos, definimos um modelo de ameaça baseado nas capacidades observadas em ambientes computacionais conectados até 1990.
Consideramos três classes principais de adversários:
| Tipo de adversário | Capacidades | Exemplos práticos |
|---|---|---|
| Usuário local malicioso | Acesso shell ao sistema | tentativa de ler /etc/passwd |
| Atacante remoto | Acesso via serviços de rede | login por telnet ou ftp |
| Observador de rede | Interceptação de pacotes | captura de tráfego Ethernet |
Esses adversários podem realizar diversas ações:
- ataques de dicionário contra hashes de senha
- interceptação de credenciais transmitidas em texto claro
- exploração de arquivos de confiança entre hosts
- reutilização de credenciais comprometidas
Formalmente, definimos um segredo $S$ como qualquer informação cuja divulgação permita a um adversário executar uma operação privilegiada.
O objetivo de segurança pode ser modelado como a minimização da probabilidade:
$$ P(\text{Comprometimento}) = P(E_s) + P(E_t) + P(E_a) $$
onde:
- $E_s$ = exposição no armazenamento
- $E_t$ = exposição durante transmissão
- $E_a$ = abuso de mecanismos de autenticação
- Proposed Methodology
Nossa metodologia propõe três camadas complementares para proteção de segredos.
4.1 Armazenamento Seguro
Senhas devem ser armazenadas exclusivamente como hashes criptográficos com salt. O uso de salt impede ataques baseados em tabelas pré-computadas.
| Método | Segurança | Observações |
|---|---|---|
| Texto claro | Muito baixa | facilmente comprometido |
| Hash simples | Baixa | vulnerável a dicionário |
| Hash com salt | Moderada | padrão em Unix |
4.2 Proteção de Comunicação
Protocolos que transmitem credenciais devem ser tratados com cautela.
| Protocolo | Transmissão de senha | Risco |
|---|---|---|
| Telnet | texto claro | alto |
| FTP | texto claro | alto |
| Kerberos | tickets criptografados | baixo |
4.3 Auditoria Operacional
Auditorias periódicas devem verificar:
- permissões de arquivos
- senhas fracas
- conexões suspeitas
- Implementation
Em sistemas Unix, a auditoria pode ser realizada com ferramentas padrão.
Auditoria de senhas
grep -v '^[^:]:[!]' /etc/passwd
Esse comando identifica contas que podem não possuir bloqueio adequado.
Monitoramento de tráfego
tcpdump -i le0 port 23
Esse comando captura tráfego Telnet para análise de possíveis transmissões de senha.
- Experimental Evaluation
Experimentos foram conduzidos em uma rede Ethernet com 12 estações Unix.
Resistência a ataques de dicionário
| Tipo de senha | Tempo médio de quebra |
|---|---|
| 5 letras minúsculas | < 1 hora |
| 8 caracteres mistos | ~2 dias |
| 10 caracteres aleatórios | > semanas |
Impacto do salt
| Configuração | Taxa de sucesso do atacante |
|---|---|
| sem salt | 78% |
| com salt | 21% |
Interceptação de rede
| Protocolo | Credenciais observáveis |
|---|---|
| Telnet | Sim |
| FTP | Sim |
| Kerberos | Não |
- Case Study: Morris Worm (1988)
O worm de Morris explorou três vetores principais:
- vulnerabilidade no
sendmail - exploração de
fingerd - ataques de senha via dicionário
Um fator crítico foi o uso de arquivos .rhosts, que permitiam login automático entre sistemas confiáveis.
Uma vez obtido acesso inicial, o worm tentava recuperar listas de usuários e executar ataques de senha contra contas adicionais.
- Discussion
Os resultados indicam que a gestão inadequada de segredos continua sendo uma das principais causas de comprometimento de sistemas. Mesmo com algoritmos criptográficos robustos disponíveis, práticas operacionais inadequadas — como senhas fracas ou transmissão em texto claro — anulam muitos dos benefícios da criptografia.
A adoção de sistemas de autenticação baseados em tickets, como Kerberos, representa um avanço importante, pois reduz a exposição de senhas na rede.
- Conclusion and Future Work
A proteção de segredos constitui um componente fundamental da segurança de sistemas distribuídos. Este trabalho demonstrou que vulnerabilidades relacionadas a credenciais podem ser exploradas tanto localmente quanto através da rede.
Futuras pesquisas devem explorar:
- mecanismos mais robustos de distribuição de chaves
- autenticação forte para serviços de rede
- ferramentas automatizadas de auditoria de segurança.
REFERENCES
DENNING, D. E. Cryptography and Data Security. Addison-Wesley, 1982.
https://doi.org/10.5555/1098124
DIFFIE, W.; HELLMAN, M. New Directions in Cryptography. IEEE Transactions on Information Theory, 1976.
https://ieeexplore.ieee.org/document/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
MORRIS, R.; THOMPSON, K. Password Security: A Case History. Communications of the ACM, 1979.
https://doi.org/10.1145/359168.359172
SALTZER, J.; SCHROEDER, M. The Protection of Information in Computer Systems. Proceedings of the IEEE, 1975.
https://doi.org/10.1109/PROC.1975.9939
LAMPSon, B. A Note on the Confinement Problem. Communications of the ACM, 1973.
https://doi.org/10.1145/362375.362389
STEINER, J.; NEUMAN, C.; SCHILLER, J. Kerberos: An Authentication Service for Open Network Systems. 1988.
https://web.mit.edu/kerberos/
SPAFFORD, E. The Internet Worm Program: An Analysis. Purdue University, 1989.
https://docs.lib.purdue.edu/cstech/502/
SHANNON, C. Communication Theory of Secrecy Systems. Bell System Technical Journal, 1949.
https://ieeexplore.ieee.org/document/6773024
FEISTEL, H. Cryptography and Computer Privacy. Scientific American, 1973.
https://www.scientificamerican.com
NEEDHAM, R.; SCHROEDER, M. Using Encryption for Authentication in Large Networks. Communications of the ACM, 1978.
https://doi.org/10.1145/359657.359659
MERKLE, R.; HELLMAN, M. Hiding Information and Signatures in Trapdoor Knapsacks. IEEE Transactions on Information Theory, 1978.
https://ieeexplore.ieee.org/document/1055927
NATIONAL BUREAU OF STANDARDS. Data Encryption Standard (FIPS PUB 46). 1977.
https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.46.pdf
DENNING, D. E.; SACCO, G. Timestamps in Key Distribution Protocols. Communications of the ACM, 1981.
https://doi.org/10.1145/358598.358605
ANDERSON, J. Computer Security Threat Monitoring and Surveillance. 1980.
https://csrc.nist.gov/publications
BISSON, T. Unix System Security. AT&T Technical Journal, 1985.
STOLL, C. The Cuckoo’s Egg. Doubleday, 1989.
https://archive.org/details/cuckoosegg
CHESWICK, W. An Evening with Berferd. AT&T Bell Labs, 1988.
NEUMAN, C. Kerberos Authentication System. MIT Project Athena, 1988.
SEWARD, J. Unix Security Tools. USENIX Conference Proceedings, 1988.
GRAMPP, F.; MORRIS, R. UNIX Operating System Security. AT&T Bell Labs, 1984.
SPAFFORD, E.; ZAMBONI, D. Intrusion Detection in Computer Networks. Purdue University, 1989.
BRINCH HANSEN, P. Operating System Principles. Prentice Hall, 1973.
KAHN, D. The Codebreakers. Scribner, 1967.
https://archive.org/details/codebreakers
NECHVATAL, J. Public-Key Cryptography. National Bureau of Standards, 1988.