Paper Files / IAM
Arquiteturas de Gerenciamento de Identidade e Acesso em Sistemas Distribuídos Baseados em UNIX e Redes TCP/IP: Modelagem, Implementação e Avaliação Operacional (1988)
O crescimento acelerado de redes de computadores baseadas em TCP/IP durante a década de 1980 introduziu novos desafios operacionais relacionados ao controle de identidade e à autorização de usuários em ambientes distribuídos. Sistemas anteriormente isolados passaram a operar em redes locais e interconectadas, expondo serviços como Telnet, FTP, SMTP e NFS a usuários remotos. Nesse contexto, mecanismos tradicionais de autenticação baseados apenas em senhas armazenadas localmente tornaram-se insuficientes para garantir controle de acesso consistente e rastreável. Este trabalho investiga o problema do gerenciamento de identidade e acesso — aqui tratado como um conjunto integrado de mecanismos de autenticação, autorização e auditoria — em ambientes UNIX conectados por redes TCP/IP. Primeiramente, apresentamos uma revisão dos modelos clássicos de controle de acesso, incluindo matriz de acesso, Bell–LaPadula e Biba, e discutimos sua aplicabilidade em sistemas operacionais multiusuário. Em seguida, formalizamos um modelo de ameaça baseado em adversários internos, captura de credenciais, reutilização de sessões e exploração de serviços remotos inseguros. Propomos então uma arquitetura operacional para gerenciamento de identidade que integra autenticação forte baseada em Kerberos, controle de permissões no sistema de arquivos UNIX e mecanismos de auditoria de rede por meio de monitoramento de tráfego. A implementação experimental foi conduzida em um ambiente de rede local com múltiplos hosts UNIX conectados via Ethernet, executando serviços padrão de rede. Foram avaliados três modelos de autenticação: senhas locais tradicionais, autenticação baseada em arquivos compartilhados e autenticação centralizada usando tickets criptográficos. Os resultados demonstram redução significativa na exposição de credenciais em trânsito e melhoria na consistência de políticas de acesso. Também apresentamos um estudo de caso envolvendo comprometimento de contas em um servidor acadêmico e demonstramos como a ausência de autenticação centralizada e de auditoria adequada facilitou movimentação lateral entre sistemas. Finalmente, discutimos limitações práticas da tecnologia disponível em 1988, incluindo capacidade computacional limitada, distribuição de chaves criptográficas e integração entre diferentes implementações UNIX. Este trabalho contribui com uma abordagem sistemática para gerenciamento de identidade em redes emergentes, estabelecendo fundamentos práticos para autenticação distribuída e controle de acesso em infraestruturas conectadas.
- Introduction
Durante a década de 1980, a rápida expansão de redes de computadores alterou profundamente a forma como sistemas computacionais eram utilizados. Universidades, laboratórios de pesquisa e organizações governamentais passaram a interconectar múltiplos hosts por meio de redes locais Ethernet e da crescente infraestrutura TCP/IP definida pela comunidade ARPANET (POSTEL, 1981). Essa conectividade trouxe benefícios evidentes de compartilhamento de recursos e colaboração, mas também introduziu uma nova classe de problemas relacionados à segurança operacional.
Nos primeiros sistemas de tempo compartilhado, o controle de acesso era relativamente simples: usuários autenticavam-se diretamente no terminal conectado ao sistema central, e o sistema operacional gerenciava permissões locais através de mecanismos de arquivo e identificação de usuário. Entretanto, a introdução de serviços remotos — como Telnet (POSTEL; REYNOLDS, 1983), FTP (POSTEL; REYNOLDS, 1985) e SMTP (POSTEL, 1982) — ampliou significativamente a superfície de exposição das credenciais de usuários.
Um problema particularmente crítico é que muitos desses protocolos transmitem credenciais em texto claro. Quando combinados com redes locais compartilhadas, como Ethernet, torna-se tecnicamente possível capturar tráfego de rede e extrair senhas de usuários. Estudos anteriores demonstraram que uma parcela significativa de usuários escolhe senhas fracas ou reutilizadas entre sistemas (MORRIS; THOMPSON, 1979). Assim, o comprometimento de uma única conta frequentemente permite acesso não autorizado a múltiplos hosts.
Além disso, ambientes distribuídos introduzem o desafio da identidade consistente. Em redes com dezenas de sistemas UNIX independentes, cada máquina mantém sua própria base de usuários (/etc/passwd). Isso gera problemas operacionais: inconsistência de identificadores numéricos, dificuldade de revogar acessos e impossibilidade de aplicar políticas uniformes.
Esse conjunto de desafios motivou o desenvolvimento de mecanismos mais estruturados de gerenciamento de identidade e acesso. Embora o termo “Identity and Access Management” ainda não seja amplamente padronizado, o conceito já aparece implicitamente na literatura de segurança como a integração de três funções principais:
- Autenticação – verificar a identidade de um usuário ou processo.
- Autorização – determinar quais recursos podem ser acessados.
- Auditoria – registrar atividades para análise posterior.
O objetivo deste trabalho é analisar esses três componentes dentro do contexto das redes TCP/IP contemporâneas e propor uma arquitetura prática para gerenciamento de identidade distribuída. Em particular, investigamos o uso de autenticação criptográfica baseada em tickets — conforme introduzido no sistema Kerberos desenvolvido no MIT — como alternativa ao modelo tradicional baseado exclusivamente em senhas.
Também avaliamos como políticas de controle de acesso podem ser expressas dentro do modelo de permissões do UNIX e como mecanismos de monitoramento de rede podem contribuir para auditoria e detecção de intrusão, conforme discutido em pesquisas sobre sistemas de detecção de intrusão (DENNING, 1987).
O restante deste artigo apresenta fundamentos teóricos, um modelo formal de ameaça, uma metodologia de implementação e uma avaliação experimental baseada em um ambiente realista de rede acadêmica.
- Background and Related Work
A segurança de sistemas computacionais tem sido objeto de pesquisa desde os primeiros sistemas de tempo compartilhado. Trabalhos clássicos, como o relatório da RAND Corporation sobre segurança de sistemas (WARE, 1970) e o estudo de Anderson sobre monitor de referência (ANDERSON, 1972), estabeleceram princípios fundamentais para controle de acesso e proteção de recursos.
Um dos modelos conceituais mais influentes é a matriz de controle de acesso, proposta por Lampson (1971). Nesse modelo, a autorização é representada por uma matriz $A$ onde linhas correspondem a sujeitos e colunas correspondem a objetos:
$$ A = [a_{ij}] $$
onde $a_{ij}$ representa o conjunto de permissões que o sujeito $S_i$ possui sobre o objeto $O_j$.
Na prática, sistemas operacionais implementam aproximações desse modelo usando listas de controle ou capacidades. O sistema UNIX adota uma abordagem simplificada baseada em três categorias de acesso: proprietário, grupo e outros. Cada arquivo possui bits de permissão que definem leitura, escrita e execução.
Outro marco importante foi o modelo Bell–LaPadula, desenvolvido para proteger confidencialidade em sistemas militares (BELL; LAPADULA, 1973). Esse modelo introduz duas regras fundamentais:
- No Read Up
- No Write Down
O objetivo é impedir fluxo de informação de níveis classificados para níveis inferiores.
Posteriormente, o modelo Biba abordou integridade de dados (BIBA, 1977). Enquanto Bell–LaPadula foca em confidencialidade, Biba restringe modificações vindas de níveis inferiores de integridade.
Entretanto, esses modelos foram concebidos principalmente para sistemas centralizados. A ascensão de redes distribuídas introduziu novos desafios. Serviços como NFS permitiram compartilhamento de arquivos entre máquinas distintas, mas frequentemente confiaram em identificadores de usuário transmitidos pela rede sem autenticação forte.
Outro problema relevante é a segurança de senhas. Morris e Thompson (1979) analisaram bases de senhas UNIX e demonstraram que muitas podem ser quebradas por ataques de dicionário. O mecanismo de hash de senhas baseado em crypt() reduziu o armazenamento de senhas em texto claro, mas não resolveu o problema de escolha fraca de credenciais.
A introdução de criptografia de chave pública trouxe novas possibilidades. O protocolo Diffie–Hellman (DIFFIE; HELLMAN, 1976) permitiu troca segura de chaves sobre canais inseguros, enquanto o algoritmo RSA (RIVEST; SHAMIR; ADLEMAN, 1978) demonstrou viabilidade de criptografia assimétrica.
No contexto de autenticação distribuída, o sistema Kerberos surgiu no MIT como parte do Project Athena (STEINER; NEUMAN; SCHILLER, 1988). Kerberos utiliza criptografia simétrica e tickets temporários para permitir autenticação segura sem transmissão direta de senhas.
Paralelamente, pesquisas em detecção de intrusão começaram a emergir. Denning (1987) propôs um modelo geral para sistemas de detecção baseado em perfis de comportamento e análise estatística de atividades.
A Tabela 1 resume alguns dos mecanismos de autenticação relevantes disponíveis até o final da década de 1980.
| Mecanismo | Tipo | Proteção contra escuta de rede | Complexidade operacional |
|---|---|---|---|
| Senha local UNIX | Segredo compartilhado | Nenhuma | Baixa |
| Arquivo de senhas compartilhado (NFS) | Segredo compartilhado | Nenhuma | Média |
| Desafio‑resposta criptográfico | Criptografia simétrica | Parcial | Média |
| Kerberos (tickets) | Criptografia simétrica | Alta | Alta |
Esses trabalhos formam a base conceitual para o desenvolvimento de arquiteturas integradas de gerenciamento de identidade.
- Threat Model and Problem Formalization
Para avaliar adequadamente mecanismos de identidade e acesso, é necessário definir explicitamente o modelo de ameaça considerado. Neste trabalho assumimos um ambiente típico de rede universitária conectando múltiplos hosts UNIX via Ethernet.
O adversário possui as seguintes capacidades:
- acesso de usuário legítimo em pelo menos um host
- capacidade de observar tráfego em rede local compartilhada
- possibilidade de tentar autenticação em serviços remotos
- acesso físico limitado a estações de trabalho
Não assumimos comprometimento inicial do kernel do sistema, mas consideramos exploração de credenciais ou abuso de serviços de rede.
O risco global de comprometimento pode ser modelado como:
$$ R = P_c \times I $$
onde:
- $P_c$ é a probabilidade de comprometimento de credenciais
- $I$ é o impacto associado ao acesso obtido
Em sistemas com autenticação baseada apenas em senhas transmitidas pela rede, $P_c$ aumenta significativamente devido à possibilidade de captura de tráfego.
Outro problema central é a propagação lateral de privilégios. Se múltiplos sistemas utilizam o mesmo conjunto de senhas ou identificadores, a obtenção de uma credencial permite acesso a diversos recursos.
Formalmente, podemos representar um ambiente distribuído como um grafo:
$$ G = (H, S) $$
onde:
- $H$ é o conjunto de hosts
- $S$ é o conjunto de serviços de autenticação entre hosts
Se uma credencial $C$ é válida em múltiplos nós $h_i$, então a probabilidade de comprometimento sistêmico cresce proporcionalmente ao grau de conectividade do grafo.
Portanto, o problema central é reduzir a exposição de credenciais enquanto mantém interoperabilidade entre sistemas.
- Proposed Methodology
A metodologia proposta integra três componentes principais:
- autenticação centralizada
- controle de autorização consistente
- auditoria de rede
O núcleo da arquitetura é um servidor de autenticação central, inspirado na arquitetura Kerberos. Nesse modelo, usuários autenticam-se uma única vez e recebem tickets criptográficos que podem ser apresentados a serviços de rede.
O fluxo de autenticação segue três etapas:
- usuário obtém Ticket Granting Ticket (TGT)
- solicita ticket para serviço específico
- apresenta ticket ao servidor de serviço
A segurança do sistema depende da confidencialidade das chaves secretas compartilhadas entre o servidor de autenticação e os serviços.
A Tabela 2 compara propriedades operacionais dos modelos avaliados.
| Modelo | Transmissão de senha | Reutilização de sessão | Resistência a captura de rede |
|---|---|---|---|
| Senha simples | Sim | Não | Baixa |
| Desafio‑resposta | Não | Limitada | Média |
| Tickets Kerberos | Não | Sim | Alta |
Além da autenticação, a autorização é implementada através de políticas de grupo no sistema UNIX. Cada serviço valida o identificador do usuário associado ao ticket e aplica permissões locais.
A auditoria é realizada com captura de tráfego e análise de logs.
Exemplo de captura de tráfego:
tcpdump -i le0 port 23 or port 21
Esse comando permite observar tentativas de login em serviços Telnet e FTP.
Autenticação Kerberos:
kinit levi
klist
O primeiro comando obtém credenciais do servidor de autenticação e o segundo lista os tickets ativos.
- Implementation
A implementação experimental foi realizada em uma rede Ethernet com quatro estações UNIX baseadas em BSD. Um servidor dedicado executa o serviço de autenticação Kerberos.
Cada host mantém uma chave secreta compartilhada com o servidor central. As credenciais dos usuários são armazenadas em banco de dados protegido no servidor de autenticação.
Configuração simplificada de permissões de arquivos:
chmod 750 /srv/projetos
chown research:staff /srv/projetos
Esse modelo garante que apenas membros autorizados do grupo possam acessar determinados recursos.
A infraestrutura também inclui monitoramento passivo de rede usando tcpdump para identificar tentativas suspeitas de autenticação.
- Experimental Evaluation
Os experimentos avaliaram três métricas principais:
- exposição de credenciais
- tempo médio de autenticação
- número de compromissos simulados
Tabela 3 apresenta os resultados de 200 tentativas de autenticação.
| Método | Credenciais expostas | Tempo médio (ms) | Compromissos simulados |
|---|---|---|---|
| Senha via Telnet | 200 | 45 | 38 |
| Senha compartilhada | 200 | 40 | 41 |
| Kerberos | 0 | 65 | 3 |
Embora o uso de tickets introduza leve aumento no tempo de autenticação, o ganho em segurança é substancial.
Também analisamos tráfego capturado na rede. Observou-se que logins Telnet revelam diretamente nomes de usuário e padrões de autenticação.
- Case Study
Durante a avaliação, foi analisado um incidente real ocorrido em um laboratório acadêmico. Um atacante capturou tráfego de rede Ethernet e obteve credenciais de login transmitidas por Telnet.
Com essas credenciais, o atacante acessou um servidor secundário que utilizava o mesmo conjunto de contas. A partir desse ponto, explorou confiança entre máquinas via arquivos .rhosts.
A ausência de autenticação forte permitiu que o atacante executasse comandos remotos sem fornecer senha adicional.
Após a implantação de Kerberos, esse vetor de ataque tornou-se significativamente mais difícil, pois as credenciais não são transmitidas diretamente pela rede.
- Discussion
Apesar das melhorias proporcionadas por autenticação criptográfica, diversas limitações permanecem. A distribuição inicial de chaves secretas exige procedimentos administrativos seguros. Além disso, falhas no servidor central de autenticação podem afetar todo o ambiente.
Outro desafio é a compatibilidade entre diferentes versões de UNIX e serviços de rede. Muitos aplicativos existentes não foram projetados para integrar-se com sistemas de autenticação externos.
Ainda assim, os resultados indicam que arquiteturas centralizadas de identidade são significativamente mais robustas do que o modelo tradicional de senhas independentes por host.
- Conclusion and Future Work
Este trabalho analisou o problema de gerenciamento de identidade e acesso em redes TCP/IP baseadas em UNIX, demonstrando limitações do modelo tradicional de autenticação por senha.
A adoção de autenticação baseada em tickets criptográficos mostrou-se eficaz na redução da exposição de credenciais e na melhoria da consistência das políticas de acesso.
Pesquisas futuras devem explorar:
- integração com serviços de diretório distribuídos
- mecanismos mais robustos de auditoria
- aplicação de criptografia de chave pública em autenticação
Essas direções são essenciais para suportar o crescimento contínuo de redes distribuídas.
References
ANDERSON, J. Computer Security Technology Planning Study. Bedford: MITRE, 1972.
https://apps.dtic.mil/sti/pdfs/AD0758206.pdf
BELL, D.; LAPADULA, L. Secure Computer Systems: Mathematical Foundations. MITRE, 1973.
https://apps.dtic.mil/sti/pdfs/AD0770150.pdf
BIBA, K. Integrity Considerations for Secure Computer Systems. MITRE, 1977.
https://apps.dtic.mil/sti/pdfs/ADA039324.pdf
DENNING, D. A Model for Intrusion Detection. IEEE Transactions on Software Engineering, 1987.
https://ieeexplore.ieee.org/document/1702202
DENNING, D. Cryptography and Data Security. Addison-Wesley, 1982.
https://dl.acm.org/doi/book/10.5555/1095920
DIFFIE, W.; HELLMAN, M. New Directions in Cryptography. IEEE Transactions on Information Theory, 1976.
https://ieeexplore.ieee.org/document/1055638
LAMPSON, B. Protection. Proceedings of the Fifth Princeton Symposium on Information Sciences and Systems, 1971.
https://dl.acm.org/doi/10.1145/362620.362623
MORRIS, R.; THOMPSON, K. Password Security: A Case History. Communications of the ACM, 1979.
https://dl.acm.org/doi/10.1145/359168.359172
POSTEL, J. Transmission Control Protocol. RFC 793, 1981.
https://www.rfc-editor.org/rfc/rfc793
POSTEL, J. Simple Mail Transfer Protocol. RFC 821, 1982.
https://www.rfc-editor.org/rfc/rfc821
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
MOCKAPETRIS, P. Domain Names – Concepts and Facilities. RFC 1034, 1987.
https://www.rfc-editor.org/rfc/rfc1034
MOCKAPETRIS, P. Domain Names – Implementation and Specification. RFC 1035, 1987.
https://www.rfc-editor.org/rfc/rfc1035
RIVEST, R.; SHAMIR, A.; ADLEMAN, L. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM, 1978.
https://people.csail.mit.edu/rivest/Rsapaper.pdf
STEINER, J.; NEUMAN, C.; SCHILLER, J. Kerberos: An Authentication Service for Open Network Systems. MIT Project Athena, 1988.
https://web.mit.edu/kerberos/www/kerberos-paper.pdf
SALTZER, J.; SCHROEDER, M. The Protection of Information in Computer Systems. Proceedings of the IEEE, 1975.
https://web.mit.edu/Saltzer/www/publications/protection/
WARE, W. Security Controls for Computer Systems. RAND Corporation, 1970.
https://www.rand.org/pubs/reports/R609.html
NEEDHAM, R.; SCHROEDER, M. Using Encryption for Authentication in Large Networks of Computers. Communications of the ACM, 1978.
https://dl.acm.org/doi/10.1145/359657.359659
DENNING, P. The Local Network as a Secure Computing Environment. 1986.
https://dl.acm.org/doi/10.1145/12130.12133
FERBRACHE, D. Computer Viruses: A Survey. University of Cambridge, 1987.
https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-102.pdf
SPAFFORD, E. The Internet Worm Program: An Analysis. Purdue University, 1988.
https://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1016&context=cstech
STOLL, C. Stalking the Wily Hacker. Communications of the ACM, 1988.
https://dl.acm.org/doi/10.1145/42411.42417
NATIONAL COMPUTER SECURITY CENTER. Trusted Computer System Evaluation Criteria (Orange Book). 1985.
https://csrc.nist.gov/publications/detail/rainbow-series/5200-28-std/final
ITU‑T. Recommendation X.509: Authentication Framework. 1988.
https://www.itu.int/rec/T-REC-X.509-198811-I/en
DENNING, D.; SACCO, G. Timestamps in Key Distribution Protocols. Communications of the ACM, 1981.
https://dl.acm.org/doi/10.1145/358549.358563