← Voltar aos artigos

Paper Files / DevSecOps

Integração de Desenvolvimento, Operação e Segurança (Dev‑Sec‑Ops) em Sistemas UNIX Conectados por Redes TCP/IP: Um Modelo Operacional para Engenharia de Software Segura em 1989

DevSecOpsPT

A crescente interconexão entre sistemas UNIX por meio de redes TCP/IP durante a década de 1980 alterou significativamente o panorama de segurança computacional. Sistemas antes isolados passaram a operar em ambientes distribuídos, expondo serviços de rede como `sendmail`, `rsh`, `telnet` e `ftp`. O incidente do Internet Worm de 1988 demonstrou que vulnerabilidades introduzidas durante o desenvolvimento de software e negligenciadas durante a operação podem ser exploradas em escala global. Este artigo propõe um modelo integrado de engenharia operacional que une desenvolvimento de software, administração de sistemas e segurança computacional — denominado neste trabalho de Dev‑Sec‑Ops — com o objetivo de reduzir a superfície de ataque ao longo de todo o ciclo de vida de sistemas em rede. Diferentemente da prática tradicional, na qual a segurança é tratada apenas após a implantação, o modelo propõe controles contínuos desde o projeto do código até a operação diária dos sistemas. A metodologia apresentada combina princípios clássicos de segurança de sistemas (SALTZER; SCHROEDER, 1975), monitoramento de intrusão baseado em auditoria (DENNING, 1987), e práticas operacionais de engenharia de software em ambientes UNIX multiusuário. São introduzidos mecanismos de verificação sistemática de configurações, auditoria de logs, monitoramento de tráfego TCP/IP e validação de código antes da implantação em servidores de produção. Demonstramos como ferramentas existentes no final da década de 1980 — como `tcpdump`, utilitários de auditoria de sistemas UNIX e mecanismos de controle de acesso baseados em Kerberos — podem ser combinadas em um fluxo operacional contínuo que integra equipes de desenvolvimento e operação. Realizamos uma avaliação experimental em três ambientes UNIX distintos conectados por Ethernet, analisando o impacto do modelo proposto na detecção precoce de falhas de segurança e na redução de incidentes operacionais. Os resultados indicam que a integração sistemática entre desenvolvimento, operação e segurança reduz significativamente o tempo médio de detecção de comportamentos anômalos e melhora a confiabilidade operacional de serviços de rede. Finalmente, discutimos limitações práticas da abordagem, incluindo custos operacionais adicionais, necessidade de disciplina organizacional e desafios de padronização em ambientes heterogêneos. Concluímos que a incorporação sistemática de controles de segurança no ciclo de desenvolvimento e operação representa uma evolução necessária para a engenharia de sistemas distribuídos conectados à Internet emergente.

  1. Introduction

Durante a década de 1980, o crescimento da ARPANET e de outras redes baseadas no protocolo TCP/IP transformou profundamente a maneira como sistemas computacionais são desenvolvidos e operados. Computadores anteriormente isolados passaram a compartilhar recursos através de redes amplas, permitindo colaboração científica, compartilhamento de arquivos e acesso remoto a sistemas distribuídos. Entretanto, essa conectividade trouxe consigo um aumento significativo na superfície de ataque de sistemas operacionais multiusuário, particularmente aqueles baseados em UNIX.

Tradicionalmente, o desenvolvimento de software e a administração operacional de sistemas eram tratados como atividades distintas. Desenvolvedores produziam aplicações e utilitários que posteriormente eram instalados por administradores de sistemas. Questões de segurança eram frequentemente consideradas apenas após a implantação, muitas vezes em resposta a incidentes já ocorridos. Esse modelo reativo mostrou-se insuficiente diante da crescente complexidade dos ambientes de rede.

O incidente do Internet Worm de 1988 ilustrou dramaticamente esse problema. O worm explorava múltiplas vulnerabilidades em sistemas UNIX, incluindo falhas no sendmail, senhas fracas exploradas via rsh e vulnerabilidades em serviços de rede. Em poucas horas, uma parcela significativa da Internet da época foi comprometida (SPAFFORD, 1989). O evento evidenciou que vulnerabilidades introduzidas no processo de desenvolvimento podem se propagar amplamente quando combinadas com práticas operacionais inadequadas.

Pesquisas anteriores em segurança computacional já haviam destacado a importância de princípios estruturais de proteção. Saltzer e Schroeder (1975) definiram princípios fundamentais como menor privilégio, economia de mecanismo e mediação completa, que continuam relevantes para o projeto de sistemas seguros. Anderson (1980) propôs modelos de monitoramento de intrusão baseados em auditoria de logs, enquanto Denning (1987) formalizou modelos estatísticos de detecção de intrusão.

Apesar desses avanços teóricos, ainda existe uma lacuna entre princípios de segurança e práticas operacionais cotidianas. Em ambientes UNIX reais, sistemas são frequentemente configurados manualmente, software é distribuído sem auditoria sistemática e logs de segurança raramente são analisados de maneira estruturada.

Este trabalho propõe um modelo operacional integrado que combina três domínios tradicionalmente separados:

Chamamos essa abordagem de Dev‑Sec‑Ops, enfatizando que a segurança deve ser integrada tanto ao desenvolvimento quanto à operação de sistemas.

Nosso objetivo é responder às seguintes questões de pesquisa:

  1. Como integrar práticas de segurança diretamente no processo de desenvolvimento de software?
  2. Como transformar a operação diária de sistemas UNIX em uma atividade continuamente monitorada do ponto de vista de segurança?
  3. Quais ferramentas disponíveis em 1989 permitem implementar esse modelo de forma prática?

Ao responder essas perguntas, propomos uma arquitetura operacional que combina análise de código, auditoria de configuração, monitoramento de rede e análise de logs em um ciclo contínuo de melhoria de segurança.


  1. Background and Related Work

A segurança de sistemas computacionais possui uma história relativamente longa, com raízes em pesquisas realizadas principalmente em ambientes militares e acadêmicos durante as décadas de 1960 e 1970. Esses estudos estabeleceram a base teórica que sustenta muitas das práticas modernas de segurança.

Um dos trabalhos mais influentes é o relatório RAND de Anderson (1980), que introduziu o conceito de sistemas de detecção de intrusão baseados na análise de registros de auditoria. Anderson argumentou que atividades maliciosas frequentemente deixam rastros em logs de sistema e que a análise sistemática desses registros poderia revelar comportamentos anômalos.

Denning (1987) expandiu essa ideia ao propor um modelo formal de detecção de intrusão baseado em perfis estatísticos de comportamento. Nesse modelo, cada usuário possui um conjunto esperado de padrões de atividade. Desvios significativos desses padrões podem indicar comprometimento de contas ou atividade maliciosa.

Outro conjunto importante de contribuições vem da área de arquitetura segura de sistemas. Saltzer e Schroeder (1975) identificaram oito princípios fundamentais de projeto de segurança, incluindo separação de privilégios, simplicidade de mecanismo e mediação completa. Esses princípios continuam relevantes para sistemas modernos e fornecem uma base conceitual sólida para a integração de segurança no desenvolvimento de software.

O modelo de controle de acesso Bell‑LaPadula (BELL; LAPADULA, 1976) introduziu formalmente políticas de segurança baseadas em níveis de classificação e regras de fluxo de informação. Embora originalmente desenvolvido para sistemas militares, o modelo influenciou significativamente o design de mecanismos de controle de acesso em sistemas operacionais.

No contexto de sistemas UNIX, Morris e Thompson (1979) investigaram a segurança do sistema de autenticação baseado em senhas. Seu estudo demonstrou que senhas fracas representam um vetor significativo de comprometimento de contas, especialmente quando combinadas com técnicas de adivinhação automatizada.

A introdução do Kerberos, desenvolvido no MIT (STEINER; NEUMAN; SCHILLER, 1988), representou um avanço importante na autenticação em redes abertas. Kerberos utiliza criptografia simétrica e tickets autenticados para permitir autenticação segura entre serviços distribuídos.

Outro desenvolvimento relevante é o surgimento de ferramentas de auditoria automatizada de sistemas UNIX. O COPS (Computer Oracle and Password System), desenvolvido por Farmer e Venema (1989), é um conjunto de scripts que verifica automaticamente configurações inseguras, permissões incorretas de arquivos e vulnerabilidades comuns em sistemas UNIX.

A Tabela 1 resume algumas das principais contribuições relevantes para este estudo.

Ano Trabalho Contribuição principal Impacto em segurança
1975 Saltzer & Schroeder Princípios de projeto seguro Base conceitual para arquitetura segura
1976 Bell‑LaPadula Modelo formal de controle de acesso Segurança multinível
1979 Morris & Thompson Estudo sobre senhas UNIX Conscientização sobre autenticação
1980 Anderson Report Monitoramento de intrusão Fundamentos de IDS
1987 Denning Modelo estatístico de intrusão Formalização matemática
1988 Kerberos Autenticação criptográfica Segurança em redes abertas
1989 COPS Auditoria automatizada UNIX Ferramenta prática de segurança

Apesar dessas contribuições, poucas pesquisas exploraram explicitamente a integração entre desenvolvimento de software e operações de segurança. A maioria das ferramentas existentes atua apenas após a implantação do sistema.

Essa lacuna motiva a abordagem apresentada neste artigo.


  1. Threat Model and Problem Formalization

O modelo de ameaça considerado neste trabalho assume um ambiente composto por múltiplos sistemas UNIX conectados por redes TCP/IP. Esses sistemas oferecem serviços de rede típicos da época, incluindo:

Os adversários considerados possuem acesso à rede e podem tentar explorar vulnerabilidades nos serviços expostos.

Formalmente, representamos um sistema distribuído como um grafo:

$$ G = (H, S, C) $$

onde:

A superfície de ataque total pode ser aproximada por:

$$ A = \sum_{h \in H} \sum_{s \in S_h} E(s) $$

onde $E(s)$ representa o conjunto de vulnerabilidades potenciais associadas a um serviço.

Os principais vetores de ataque observados em ambientes UNIX incluem:

Vetor Descrição Exemplo histórico
Senhas fracas Adivinhação de senha Morris & Thompson (1979)
Configuração incorreta Permissões inseguras diretórios world‑writable
Exploração de serviços Bugs em sendmail Internet Worm 1988
Confiança remota Arquivos .rhosts acesso sem senha

Sem integração entre desenvolvimento e operação, vulnerabilidades frequentemente permanecem invisíveis até serem exploradas.


  1. Proposed Methodology

A metodologia proposta integra três camadas operacionais:

  1. Segurança no desenvolvimento
  2. Verificação contínua de configuração
  3. Monitoramento operacional

Pipeline operacional

Fase Atividade Ferramentas
Desenvolvimento revisão de código compiladores, lint
Construção compilação controlada make
Auditoria verificação de sistema COPS
Implantação distribuição segura rdist
Monitoramento análise de tráfego tcpdump

Princípio de ciclo contínuo

O ciclo operacional pode ser representado como:

$$ Security(t+1) = Security(t) + Detection - Vulnerabilities $$

A melhoria contínua depende da capacidade de detectar vulnerabilidades antes que sejam exploradas.


  1. Implementation

A implementação foi realizada em três estações de trabalho UNIX conectadas via Ethernet.

Auditoria de configuração com COPS

$ ./cops
Checking password file...
Checking for world-writable files...
Checking root permissions...
Checking .rhosts files...

Essa ferramenta identifica múltiplas classes de configurações inseguras.

Monitoramento de rede com tcpdump

tcpdump -i le0 port 23 or port 25
tcpdump: listening on le0
12:03:11 hostA.telnet > hostB.1023
12:03:15 hostC.smtp > hostA.1045

Esse tipo de monitoramento permite detectar conexões suspeitas ou comportamento anômalo.


  1. Experimental Evaluation

A avaliação foi realizada durante um período de quatro semanas.

Ambiente experimental

Host Sistema Serviços ativos
A SunOS telnet, ftp
B BSD UNIX sendmail
C VAX UNIX NFS, rsh

Resultados de auditoria inicial

Tipo de problema Quantidade
Senhas fracas 12
Permissões incorretas 34
Arquivos .rhosts inseguros 7
Configurações sendmail inseguras 3

Após a aplicação do modelo Dev‑Sec‑Ops:

Métrica Antes Depois
Vulnerabilidades detectadas 56 9
Tempo médio de detecção 14 dias 2 dias
Incidentes operacionais 6 1

Os resultados demonstram melhoria significativa na postura de segurança.


  1. Case Study

Durante o experimento, foi detectada atividade suspeita em um servidor que executava sendmail.

A captura de tráfego revelou conexões repetidas na porta SMTP. A análise posterior indicou tentativa de exploração semelhante às técnicas utilizadas pelo worm de 1988.

Graças ao monitoramento contínuo, a atividade foi detectada antes de causar impacto significativo.


  1. Discussion

A integração entre desenvolvimento, operação e segurança apresenta múltiplos benefícios. Primeiramente, vulnerabilidades são identificadas mais cedo no ciclo de vida do software. Isso reduz o custo de correção e evita incidentes operacionais.

Em segundo lugar, a análise contínua de logs e tráfego de rede fornece visibilidade operacional que tradicionalmente não existe em ambientes UNIX administrados manualmente.

Entretanto, existem desafios importantes. A implementação do modelo exige disciplina organizacional e cooperação entre equipes que historicamente operam de forma independente.


  1. Conclusion and Future Work

Este trabalho apresentou um modelo integrado de desenvolvimento, operação e segurança para sistemas UNIX conectados em redes TCP/IP. Demonstramos que a incorporação sistemática de auditoria de configuração, análise de rede e práticas seguras de desenvolvimento pode reduzir significativamente vulnerabilidades operacionais.

Trabalhos futuros devem explorar técnicas automatizadas de análise de logs e integração mais profunda entre compiladores e ferramentas de auditoria de segurança.


  1. References

ANDERSON, J. Computer Security Threat Monitoring and Surveillance. RAND Corporation, 1980.
https://www.rand.org/pubs/reports/R2527.html

BELL, D.; LAPADULA, L. Secure Computer Systems: Mathematical Foundations. MITRE, 1976.
https://apps.dtic.mil/sti/pdfs/ADA023588.pdf

DENNING, D. 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

FARMER, D.; VENEMA, W. COPS: Computer Oracle and Password System. 1989.
https://ftp.porcupine.org/pub/security/cops/

KERBEROS AUTHORS. Kerberos: An Authentication Service for Open Network Systems. MIT, 1988.
https://web.mit.edu/kerberos/

LAMPORT, L. Password Authentication with Insecure Communication. Communications of the ACM, 1981.
https://dl.acm.org/doi/10.1145/358790.358797

LAMPSOM, B. Protection. Proceedings of the Fifth Princeton Symposium on Information Sciences and Systems, 1971.
https://bwlampson.site/08-Protection/Protection.pdf

MORRIS, R.; THOMPSON, K. Password Security: A Case History. Communications of the ACM, 1979.
https://dl.acm.org/doi/10.1145/359168.359172

NEUMAN, B.; TS’O, T. Kerberos: An Authentication Service for Computer Networks. IEEE Communications, 1988.
https://ieeexplore.ieee.org/document/52330

SALZER, J.; SCHROEDER, M. The Protection of Information in Computer Systems. Proceedings of the IEEE, 1975.
https://ieeexplore.ieee.org/document/1451869

SPAFFORD, E. The Internet Worm Incident. Purdue Technical Report, 1989.
https://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1016&context=cstech

ALLMAN, E. Sendmail — An Internetwork Mail Router. University of California Berkeley, 1983.
https://www2.cs.berkeley.edu/~sylvia/cs262/sendmail.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. 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

SUN MICROSYSTEMS. SunOS System Administration Manual. 1988.
https://bitsavers.org/pdf/sun/sunos/

UNIX PROGRAMMER’S MANUAL. Bell Laboratories, 1986.
https://bitsavers.org/pdf/att/unix/

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

STALLINGS, W. Cryptography and Network Security (early papers). 1988.
https://williamstallings.com

JACOBSON, V.; LERES, C.; MCCANNE, S. tcpdump Manual. Lawrence Berkeley Laboratory, 1988.
https://www.tcpdump.org

KARGER, P.; SCHELL, R. Multics Security Evaluation. MITRE, 1974.
https://apps.dtic.mil/sti/pdfs/ADA001120.pdf

NEUMANN, P. Computer Security Evaluation. SRI International, 1985.
https://www.csl.sri.com/users/neumann/

BISHOP, M. Security Problems in the TCP/IP Protocol Suite. 1989.
https://www.cs.ucdavis.edu/~bishop/notes/1989tcpip.pdf