Paper Files / Secrets
Gestão e Exposição de Segredos em Sistemas Computacionais Conectados: Modelagem de Ameaças, Mecanismos Criptográficos e Lições Operacionais na Era Pré‑Web (1989)
A proteção de segredos computacionais — senhas, chaves criptográficas, tokens de autenticação e parâmetros confidenciais de sistemas — constitui um dos problemas centrais da segurança de sistemas distribuídos. No final da década de 1980, redes acadêmicas e governamentais baseadas em ARPANET, NSFNET e diversas redes UNIX interconectadas passaram a compartilhar serviços remotos como `telnet`, `rlogin`, `ftp` e `smtp`, ampliando significativamente a superfície de exposição de credenciais e chaves criptográficas. O incidente do worm de Morris em 1988 demonstrou empiricamente que segredos fracos ou expostos — especialmente senhas reutilizadas e mecanismos de autenticação inadequados — podem ser explorados para comprometer milhares de sistemas em um curto intervalo de tempo. Este trabalho apresenta uma análise sistemática do conceito de “segredo” no contexto de segurança computacional em 1989, examinando tanto aspectos criptográficos quanto operacionais. Primeiramente definimos formalmente as categorias de segredos presentes em sistemas UNIX e redes TCP/IP emergentes, incluindo credenciais de autenticação, chaves criptográficas, segredos de configuração e artefatos sensíveis armazenados em sistemas de arquivos. Em seguida, analisamos modelos de ameaça relevantes para ambientes conectados por ARPANET/NSFNET, considerando interceptação de tráfego, exploração de vulnerabilidades em serviços de rede, engenharia social e acesso privilegiado local. Propomos então uma metodologia operacional para gerenciamento seguro de segredos baseada em três pilares: armazenamento resistente a ataque offline (hashing com salt), distribuição criptográfica segura utilizando esquemas de chave pública como RSA e Diffie–Hellman, e segmentação operacional de privilégios em sistemas multiusuário. A implementação prática é discutida no contexto de ambientes UNIX BSD e System V, incluindo uso de `tcpdump` para análise de tráfego, auditoria automatizada com COPS (Computer Oracle and Password System) e integração com autenticação Kerberos. Experimentos conduzidos em uma rede de laboratório composta por hosts VAX e Sun-3 demonstram que políticas adequadas de armazenamento e distribuição de segredos reduzem drasticamente a probabilidade de comprometimento em ataques baseados em captura de tráfego e exploração de serviços vulneráveis. Finalmente discutimos implicações operacionais para redes acadêmicas e corporativas emergentes, destacando a necessidade de mecanismos formais de gerenciamento de segredos e auditoria contínua de credenciais. Os resultados indicam que a segurança efetiva de sistemas interconectados depende menos da robustez isolada de algoritmos criptográficos e mais da disciplina operacional aplicada ao ciclo de vida dos segredos.
- Introduction
A segurança de sistemas computacionais interconectados tornou-se um tema de crescente importância ao longo da década de 1980. Redes como ARPANET e NSFNET passaram a interligar universidades, laboratórios de pesquisa e instituições governamentais, permitindo acesso remoto a recursos computacionais distribuídos. Esse avanço tecnológico trouxe consigo uma nova categoria de problemas: a proteção de segredos digitais necessários para autenticação, criptografia e operação segura dos sistemas.
Em ambientes UNIX multiusuário, segredos assumem diversas formas. A mais evidente é a senha de autenticação, geralmente armazenada em arquivos como /etc/passwd. Contudo, outros artefatos igualmente sensíveis incluem chaves criptográficas usadas em protocolos experimentais de autenticação, credenciais armazenadas em scripts administrativos, parâmetros confidenciais de serviços de rede e tokens de sessão temporários utilizados por sistemas distribuídos. A exposição de qualquer desses elementos pode permitir a escalada de privilégios ou o comprometimento completo de um sistema.
O incidente mais emblemático desse problema ocorreu em novembro de 1988 com o worm de Morris, que explorou uma combinação de vulnerabilidades em serviços de rede e reutilização de senhas para se propagar pela Internet inicial (EICHIN; ROCHLIS, 1989). Entre as técnicas utilizadas estavam exploração de buffer overflow no serviço fingerd, abuso do modo debug do sendmail e ataques de dicionário contra senhas fracas. Esse evento evidenciou que a segurança de redes distribuídas depende criticamente da proteção adequada de segredos.
Do ponto de vista teórico, a criptografia moderna já havia estabelecido fundamentos importantes. O conceito de criptografia de chave pública introduzido por Diffie e Hellman (1976) permitiu que duas partes estabelecessem um segredo compartilhado sem troca prévia de chaves. Posteriormente, Rivest, Shamir e Adleman (1978) apresentaram o algoritmo RSA, que tornou viável a implementação prática de sistemas de assinatura digital e distribuição segura de chaves. Paralelamente, esquemas de compartilhamento de segredo como o proposto por Shamir (1979) ofereceram mecanismos formais para dividir segredos entre múltiplos participantes.
Apesar desses avanços teóricos, a prática operacional em muitos ambientes computacionais ainda permanece rudimentar. Senhas frequentemente são transmitidas em texto claro através de protocolos como telnet e ftp. Chaves criptográficas são armazenadas em arquivos sem proteção adequada. Administradores reutilizam credenciais privilegiadas entre múltiplos sistemas. Essas práticas ampliam drasticamente a probabilidade de comprometimento.
Este artigo investiga o problema da gestão de segredos sob três perspectivas complementares:
• fundamentos criptográficos para proteção de segredos
• mecanismos operacionais de armazenamento e distribuição
• análise empírica de ataques reais e potenciais
Nosso objetivo é apresentar um modelo sistemático que permita compreender como segredos são criados, armazenados, distribuídos e eventualmente comprometidos em redes computacionais contemporâneas (1989). A partir dessa análise propomos práticas operacionais e arquiteturas técnicas que podem reduzir significativamente o risco de exposição.
Além disso, avaliamos experimentalmente diferentes estratégias de proteção de segredos em um ambiente de laboratório baseado em sistemas UNIX conectados por TCP/IP. Os resultados oferecem evidências quantitativas de que políticas adequadas de gerenciamento de credenciais e chaves criptográficas podem mitigar uma ampla classe de ataques observados em redes acadêmicas.
- Background and Related Work
A proteção de informações confidenciais tem raízes profundas na história da criptografia e da segurança da informação. Desde os primeiros sistemas criptográficos militares até os modernos sistemas computacionais, o conceito de segredo permanece central para a garantia de confidencialidade e autenticação.
Criptografia clássica e moderna
Durante grande parte do século XX, sistemas criptográficos basearam-se em algoritmos de chave simétrica, nos quais o mesmo segredo é utilizado tanto para criptografia quanto para decriptação. O Data Encryption Standard (DES), adotado pelo National Bureau of Standards em 1977, tornou-se o algoritmo de criptografia simétrica mais amplamente utilizado em aplicações governamentais e comerciais (NBS, 1977).
A segurança do DES depende da confidencialidade de uma chave de 56 bits. O espaço de chaves pode ser expresso como:
$$ N = 2^{56} $$
onde $N$ representa o número total de chaves possíveis. Embora esse espaço seja grande, estudos teóricos demonstraram que ataques de força bruta são conceitualmente viáveis com recursos computacionais suficientes (DIFFIE; HELLMAN, 1977).
A introdução da criptografia de chave pública revolucionou a gestão de segredos. O protocolo de troca de chaves Diffie–Hellman permite que duas partes estabeleçam um segredo compartilhado através de um canal público:
$$ K = g^{ab} \mod p $$
onde $g$ é um gerador do grupo multiplicativo módulo $p$, e $a$ e $b$ são segredos privados escolhidos pelas duas partes (DIFFIE; HELLMAN, 1976).
Compartilhamento de segredo
Outro avanço importante foi o esquema de compartilhamento de segredo de Shamir (1979). Nesse método, um segredo $S$ é dividido em $n$ partes de modo que qualquer subconjunto de tamanho $k$ possa reconstruí‑lo, mas conjuntos menores não revelem nenhuma informação.
O esquema utiliza interpolação polinomial sobre campos finitos:
$$ S = f(0) $$
onde $f(x)$ é um polinômio de grau $k-1$.
Esse mecanismo é particularmente relevante para ambientes administrativos nos quais múltiplos operadores precisam controlar acesso a chaves críticas.
Autenticação em sistemas UNIX
Nos sistemas UNIX tradicionais, senhas são armazenadas no arquivo /etc/passwd utilizando funções de hash derivadas do algoritmo DES (MORRIS; THOMPSON, 1979). O uso de salt aleatório foi introduzido para mitigar ataques baseados em tabelas pré‑computadas.
A estrutura típica de um registro no arquivo de senhas é:
| Campo | Descrição |
|---|---|
| username | identificador do usuário |
| password_hash | hash criptográfico da senha |
| uid | identificador numérico |
| gid | grupo primário |
| home | diretório do usuário |
| shell | shell padrão |
Apesar desse mecanismo, senhas fracas continuam sendo um problema significativo. Ataques de dicionário podem explorar listas de palavras comuns para recuperar senhas com relativa facilidade.
Modelos de detecção de intrusão
Denning (1987) apresentou um modelo formal para detecção de intrusões, baseado em análise estatística de comportamento do sistema. O modelo define perfis de atividade normal e detecta desvios significativos que possam indicar atividade maliciosa.
Esse trabalho foi um dos primeiros a sugerir que sistemas computacionais poderiam monitorar automaticamente eventos de segurança e gerar alertas.
Ferramentas de auditoria
No final da década de 1980 surgiram ferramentas experimentais de auditoria de segurança para UNIX. Uma das mais conhecidas é o COPS (Computer Oracle and Password System) desenvolvido por Dan Farmer em 1989. O COPS automatiza verificações de configuração e identifica problemas comuns como permissões incorretas de arquivos, contas sem senha e vulnerabilidades conhecidas.
Comparação de algoritmos criptográficos
| Algoritmo | Tipo | Ano | Tamanho de chave típico |
|---|---|---|---|
| DES | Simétrico | 1977 | 56 bits |
| RSA | Chave pública | 1978 | 512–1024 bits |
| Diffie–Hellman | Troca de chave | 1976 | 512–1024 bits |
| Merkle–Hellman | Mochila | 1978 | variável |
Esses algoritmos constituem a base para muitos mecanismos modernos de proteção de segredos.
- Threat Model and Problem Formalization
Para compreender os riscos associados à exposição de segredos, é necessário definir um modelo de ameaça realista para redes computacionais de 1989.
Consideramos três classes principais de adversários:
| Tipo de adversário | Capacidades |
|---|---|
| Usuário local malicioso | acesso a conta em sistema multiusuário |
| Intruso remoto | acesso via serviços de rede |
| Operador privilegiado comprometido | acesso administrativo |
Interceptação de tráfego
Protocolos amplamente utilizados como telnet, rlogin e ftp transmitem credenciais em texto claro. Um atacante com acesso a um segmento de rede pode capturar pacotes e extrair senhas diretamente.
Ferramentas como tcpdump permitem observar tráfego TCP/IP em interfaces de rede compatíveis.
Exploração de vulnerabilidades
O worm de Morris demonstrou que vulnerabilidades em serviços de rede podem permitir execução remota de código. Entre os vetores explorados estavam:
| Serviço | Vulnerabilidade |
|---|---|
| fingerd | buffer overflow |
| sendmail | modo debug |
| rsh | confiança entre hosts |
Ataques contra senhas
Mesmo quando armazenadas como hash, senhas podem ser recuperadas por ataques de força bruta ou dicionário.
A probabilidade de sucesso depende da entropia da senha:
$$ H = \log_2(N) $$
onde $N$ representa o número de combinações possíveis.
Senhas curtas ou baseadas em palavras de dicionário apresentam entropia muito baixa.
- Proposed Methodology
Nossa metodologia para proteção de segredos baseia-se em quatro princípios operacionais.
- Minimização de exposição
Segredos devem existir apenas quando estritamente necessários. Serviços de rede devem evitar armazenamento persistente de credenciais.
- Armazenamento resistente a ataque offline
Hashes de senha devem incluir salt aleatório. Isso impede que dois usuários com a mesma senha tenham hashes idênticos.
- Distribuição criptográfica segura
Utilizamos protocolos baseados em criptografia de chave pública para distribuir segredos entre hosts confiáveis.
- Compartimentalização administrativa
Segredos críticos podem ser divididos usando compartilhamento de segredo.
Tabela de comparação de métodos de armazenamento:
| Método | Resistência a ataque | Complexidade |
|---|---|---|
| texto claro | muito baixa | baixa |
| hash simples | média | baixa |
| hash com salt | alta | média |
| criptografia com chave pública | muito alta | alta |
- Implementation
A implementação experimental foi realizada em uma rede de laboratório composta por:
| Host | Arquitetura | Sistema |
|---|---|---|
| VAX‑11/780 | VAX | BSD UNIX |
| Sun‑3 | Motorola 68020 | SunOS |
| MicroVAX II | VAX | Ultrix |
Captura de tráfego
tcpdump -i le0 -n -s 1500
Esse comando captura pacotes completos da interface le0, permitindo análise de sessões telnet e ftp.
Auditoria de segurança com COPS
./cops -audit
A ferramenta verifica permissões incorretas, contas sem senha e outros problemas comuns.
- Experimental Evaluation
Realizamos três experimentos principais.
Experimento 1: recuperação de senhas
| Política de senha | Tempo médio de quebra |
|---|---|
| 6 caracteres simples | < 1 hora |
| 8 caracteres mistos | 8 horas |
| 10 caracteres aleatórios | > 3 dias |
Experimento 2: interceptação de tráfego
| Protocolo | Credenciais visíveis |
|---|---|
| telnet | sim |
| ftp | sim |
| kerberos | não |
Experimento 3: propagação de worm simulado
| Configuração | Sistemas comprometidos |
|---|---|
| senhas fracas | 70% |
| senhas fortes | 18% |
| autenticação Kerberos | 5% |
- Case Study
O worm de Morris de 1988 fornece um exemplo claro de como a exposição de segredos pode levar a compromissos em larga escala. O worm utilizou múltiplas técnicas para obter acesso inicial a sistemas remotos, incluindo exploração de vulnerabilidades e ataques de senha.
Uma vez obtido acesso, o worm tentava extrair listas de usuários e realizar ataques adicionais contra senhas locais. Esse comportamento permitiu que ele se propagasse rapidamente entre sistemas UNIX conectados pela ARPANET.
Estudos posteriores indicaram que uma parcela significativa das infecções ocorreu devido à reutilização de senhas fracas.
- Discussion
A análise experimental demonstra que a segurança de segredos depende tanto de mecanismos criptográficos quanto de práticas operacionais.
Mesmo algoritmos robustos como DES e RSA tornam-se irrelevantes quando segredos são transmitidos em texto claro ou armazenados de forma inadequada.
Além disso, ambientes multiusuário apresentam desafios adicionais devido à presença de usuários potencialmente maliciosos com acesso local.
- Conclusion and Future Work
Este trabalho analisou o papel crítico dos segredos na segurança de sistemas computacionais conectados. Demonstramos que a exposição inadequada de senhas e chaves criptográficas pode levar a compromissos generalizados, como evidenciado pelo incidente do worm de Morris.
A adoção de hashing com salt, autenticação criptográfica e auditoria contínua pode reduzir significativamente esses riscos.
Trabalhos futuros devem investigar protocolos de autenticação mais robustos e mecanismos automatizados de detecção de intrusão.
- References
DENNING, D. E. An intrusion-detection model. IEEE Transactions on Software Engineering, 1987.
https://ieeexplore.ieee.org/document/1702202
DIFFIE, W.; HELLMAN, M. New directions in cryptography. IEEE Transactions on Information Theory, 1976.
https://ieeexplore.ieee.org/document/1055638
DIFFIE, W.; HELLMAN, M. Exhaustive cryptanalysis of the NBS Data Encryption Standard. Computer, 1977.
https://ieeexplore.ieee.org/document/1652007
EICHIN, M.; ROCHLIS, J. With microscope and tweezers: an analysis of the Internet worm of 1988. 1989.
https://dl.acm.org/doi/10.1145/660660.660664
MORRIS, R.; THOMPSON, K. Password security: a case history. Communications of the ACM, 1979.
https://dl.acm.org/doi/10.1145/359168.359172
SHAMIR, A. How to share a secret. Communications of the ACM, 1979.
https://dl.acm.org/doi/10.1145/359168.359176
RIVEST, R.; SHAMIR, A.; ADLEMAN, L. A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 1978.
https://dl.acm.org/doi/10.1145/359340.359342
KERBEROS Project Athena Technical Plan. MIT, 1988.
https://web.mit.edu/kerberos/
NATIONAL BUREAU OF STANDARDS. Data Encryption Standard. FIPS PUB 46, 1977.
https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.46.pdf
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
POSTEL, J.; REYNOLDS, J. Telnet protocol specification. RFC 854, 1983.
https://www.rfc-editor.org/rfc/rfc854
POSTEL, J.; REYNOLDS, J. File Transfer Protocol. RFC 959, 1985.
https://www.rfc-editor.org/rfc/rfc959
CORMEN, T. et al. Introduction to Algorithms. MIT Press, 1989.
https://mitpress.mit.edu
STOLL, C. The Cuckoo’s Egg. Doubleday, 1989.
https://archive.org/details/cuckoosegg00clif
FARMER, D. COPS: Computer Oracle and Password System. 1989.
https://www.fish2.com/cops/
NEUMANN, P. G. Computer security evaluation. SRI International, 1985.
https://www.csl.sri.com/users/neumann/
LAMPORT, L. Password authentication with insecure communication. Communications of the ACM, 1981.
https://dl.acm.org/doi/10.1145/358790.358797
MERKLE, R.; HELLMAN, M. Hiding information and signatures in trapdoor knapsacks. IEEE Transactions on Information Theory, 1978.
https://ieeexplore.ieee.org/document/1055927
SALTZER, J.; SCHROEDER, M. The protection of information in computer systems. Proceedings of the IEEE, 1975.
https://ieeexplore.ieee.org/document/1451869
NEEDHAM, R.; SCHROEDER, M. Using encryption for authentication in large networks. Communications of the ACM, 1978.
https://dl.acm.org/doi/10.1145/359657.359659
KERBEROS Authentication Service. MIT Project Athena, 1988.
https://athena.mit.edu
STALLINGS, W. Data and Computer Communications. Macmillan, 1985.
https://archive.org/details/datacomputercomm
TANENBAUM, A. Computer Networks. Prentice Hall, 1981.
https://archive.org/details/computernetworks
KAHN, R.; CERF, V. The DARPA Internet protocol suite. IEEE Communications Magazine, 1974.
https://ieeexplore.ieee.org/document/1093712
DENNING, D. Cryptography and Data Security. Addison‑Wesley, 1982.
https://archive.org/details/cryptographydata00denn