← Voltar aos artigos

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)

SecretsPT

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.

  1. 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.

  1. 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.

  1. 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.

  1. Proposed Methodology

Nossa metodologia para proteção de segredos baseia-se em quatro princípios operacionais.

  1. Minimização de exposição

Segredos devem existir apenas quando estritamente necessários. Serviços de rede devem evitar armazenamento persistente de credenciais.

  1. 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.

  1. Distribuição criptográfica segura

Utilizamos protocolos baseados em criptografia de chave pública para distribuir segredos entre hosts confiáveis.

  1. 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
  1. 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.

  1. 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%
  1. 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.

  1. 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.

  1. 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.

  1. 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