Engenharia De Software Seguro E Devsecops
()
Sobre este e-book
Relacionado a Engenharia De Software Seguro E Devsecops
Bem-estar para você
Aurora: O despertar da mulher exausta Nota: 4 de 5 estrelas4/5O Verdadeiro Ho'oponopono: Como restaurar sua harmonia, limpar memórias e manifestar milagres Nota: 5 de 5 estrelas5/5Fitoenergética - Edição Comemorativa de 15 anos: A energia das plantas no equilíbro da alma Nota: 5 de 5 estrelas5/5O pequeno livro do TDAH: Um manual para enfim entender como sua mente funciona Nota: 5 de 5 estrelas5/5Dieta Anti-inflamatória Estratégica Nota: 5 de 5 estrelas5/5Farmácia natural: aprenda a usar as ervas certas e como cuidar delas em casa ou apartamento Nota: 5 de 5 estrelas5/5Metafísica da saúde vol. 1: Sistemas respiratório e digestivo Nota: 5 de 5 estrelas5/5Fitoenergética: A Energia das Plantas no Equilíbrio da Alma Nota: 5 de 5 estrelas5/5O Poder das Folhas: Banhos, Defumações & Magias Nota: 4 de 5 estrelas4/5Herbologia Mágica: A cura pela Natureza com base na Fitoterapia & Botânica Oculta Nota: 4 de 5 estrelas4/5Barriga dos Sonhos: 12 minutos por dia para reprogramar seu estilo de vida Nota: 5 de 5 estrelas5/5Viva sem sofrer na menopausa: Você rainha da sua vida Nota: 5 de 5 estrelas5/5Autoperfeição com Hatha Yoga Nota: 5 de 5 estrelas5/5Plano Alimentar Para Resistência à Insulina Em português/ Food Plan for Insulin Resistance In Portuguese Nota: 0 de 5 estrelas0 notasDieta Para Gordura no Fígado Em português/ Diet For Fat In The Liver In Portuguese Nota: 5 de 5 estrelas5/5A Dieta Cetogênica Estratégica Nota: 0 de 5 estrelas0 notasMedicina integrativa: A cura pelo equilíbrio Nota: 4 de 5 estrelas4/5Trauma Complexo E Teoria Do Apego Nota: 0 de 5 estrelas0 notasGuia Do Orgasmo Feminino Nota: 5 de 5 estrelas5/5Faça os Seus Próprios Óleos Essenciais Nota: 4 de 5 estrelas4/5Guia Como Aumentar Seu Penis Definitivamente Nota: 5 de 5 estrelas5/5
Avaliações de Engenharia De Software Seguro E Devsecops
0 avaliação0 avaliação
Pré-visualização do livro
Engenharia De Software Seguro E Devsecops - André Alexandre Gaio
Engenharia de Software Seguro e DevSecOps
Princípios, Padrões e Práticas Avançadas
André Alexandre Gaio
Rafael Lachi
Engenharia de Software Seguro e DevSecOps
Princípios, Padrões e Práticas Avançadas
Publicação independente
São Paulo
2025
Copyright © 2025 André Alexandre Gaio. Todos os direitos reservados.
Esta publicação, no todo ou em parte, não pode ser reproduzida ou transmitida por qualquer forma ou meio, eletrônico ou mecânico, incluindo fotocópia, gravação ou qualquer sistema de armazenamento e recuperação de informações, sem permissão por escrito dos detentores dos direitos autorais.
Revisão técnica: Filipe André Gaio
Revisão ortográfica e gramatical: Filipe André Gaio
Projeto gráfico e diagramação: André Alexandre Gaio
Capa: André Alexandre Gaio
Este livro foi elaborado com rigor técnico e cuidado editorial. Ainda assim, é possível que existam falhas tipográficas ou de composição. Os autores não se responsabilizam por prejuízos diretos ou indiretos decorrentes da aplicação das informações aqui contidas.
Dados Internacionais de Catalogação na Publicação (CIP)
(Câmara Brasileira do Livro, SP, Brasil)
Gaio, André Alexandre
Engenharia de software seguro e DevSecOps
[livro eletrônico] : princípios, padrões e práticas
avançadas / André Alexandre Gaio, Rafael Lachi. --
1. ed. -- São Paulo : Ed. dos Autores, ٢٠٢٥.
ePub
Bibliografia.
ISBN 978-65-01-54550-9
1. Engenharia de software 2. Engenharia de
software - Estudo e ensino I. Lachi, Rafael.
II. Título.
25-281033.1 CDD-005.107
Índices para catálogo sistemático:
1. Engenharia de software : Estudo e ensino 005.107
Aline Graziele Benitez - Bibliotecária - CRB-1/3129
⚖
Nota de Direitos Autorais e Marcas Registradas
Todas as marcas registradas, nomes comerciais, nomes de produtos e logotipos mencionados neste livro são de propriedade de seus respectivos detentores.
O uso de nomes de empresas, produtos ou tecnologias neste livro tem caráter meramente informativo, técnico ou educativo, e não implica em qualquer tipo de endosso, parceria, afiliação ou recomendação por parte dos autores ou da editora.
Sempre que possível, procuramos reconhecer os direitos autorais e marcas registradas. Caso alguma referência tenha sido feita de forma incompleta, pedimos que os detentores entrem em contato para as devidas correções em edições futuras.
Dedicatória
Ao querido Senhor Jesus Cristo, o qual me salvou de meus pecados, tem me dado de sua graça abundante, e como se isso fosse pouco, tem demonstrado generosa paciência para com o maior dos pecadores. (André Alexandre Gaio)
Ao meu senhor e salvador, Jesus Cristo que, com paciência e amor me esperou estar pronto para receber sua graça. (Rafael Lachi)
Agradecimentos
À minha saudosa sogra, Irmã Isabel Rosa da Silva [in memoriam], que me acolheu como seu filho, e foi o precioso instrumento que Deus usou para me ensinar a servi-Lo, além de sempre incentivar minhas ideias e projetos, por mais absurdos que fossem.
À minha querida esposa, Eloisa, pelo seu amor e paciência de Jó.
Aos meus queridos filhos Filipe, Davi e Paulo por simplesmente existirem.
Aos meus queridos pais, Ambrósio e Leony, por me ensinarem o valor do trabalho e por se doarem pela minha educação, ao ponto de renunciar a deles.
(André Alexandre Gaio)
Prefácio
Vivemos em uma era definida por software. Da continuidade dos negócios à confiança do consumidor, tudo depende da resiliência e integridade do código que executamos. No entanto, o modelo tradicional de segurança, que trata a proteção como um gargalo no final do processo, tornou-se insustentável. Como podemos inovar na velocidade que o mercado exige sem sacrificar a segurança?
É exatamente este o desafio que Engenharia de Software Seguro e DevSecOps
enfrenta e resolve. André Alexandre Gaio e Rafael Lachi, com mais de 40 anos de experiência combinada nas trincheiras da cibersegurança e do desenvolvimento, não nos entregam apenas teoria. Eles nos oferecem um roteiro prático e um manifesto cultural que reposiciona a segurança: de um freio reativo para um catalisador de inovação e qualidade.
Esta obra é uma jornada completa, do porquê
ao como
. Ela estabelece os princípios fundamentais, disseca as práticas essenciais, da modelagem de ameaças à proteção da cadeia de suprimentos e, crucialmente, ensina como cultivar uma cultura de responsabilidade compartilhada. A jornada culmina em um laboratório prático e detalhado com OWASP Juice Shop e GitHub Actions, onde o conhecimento é forjado em habilidade real.
Este livro não é apenas para ser lido; é para ser aplicado. É a ferramenta que faltava para líderes, arquitetos e engenheiros que não se contentam em apenas desenvolver software, mas se dedicam a construir, de forma inteligente, um futuro digital mais seguro e confiável.
Desejo-lhe uma boa leitura e uma construção sólida!
Marcelo Zillo Neto
Security Strategist Sales Lead
América Latina - Google
Professor e Coordenador do MBA em Cibersegurança e Proteção de Dados Digitais - FIA
Apresentação: A Importância do Software Seguro
Estamos em uma era onde o software permeia praticamente todas as esferas da vida moderna e a segurança desses sistemas tornou-se uma preocupação crítica.
Exemplos do nosso cotidiano revelam que falhas ou vulnerabilidades nesses sistemas podem gerar impactos significativos, não só financeiros, mas também operacionais, reputacionais e, em casos extremos, até mesmo fatais.
Independentemente do setor, qualquer negócio moderno depende de algum sistema informatizado. As indústrias, por exemplo, contam com atuadores e sensores conectados por redes como sensorbus, devicebus e fieldbus, necessitando de um sistema supervisório para gerenciar suas operações. No setor comercial, departamentos como RH, fiscal e contábil são estruturados em sistemas de gestão específicos. Empresas mais maduras ou de maior porte integram todas essas soluções dentro de um sistema mais robusto, conhecido como ERP.
Até mesmo o universo da Fórmula 1 não escapa dessa realidade. Sem sistemas inteligentes, ajustes automatizados de suspensão, controle preciso da pressão dos turbocompressores e programação avançada dos câmbios simplesmente não seriam viáveis. A capacidade de gerenciar essas variáveis com precisão pode determinar o sucesso ou o fracasso de uma equipe ao longo da temporada.
Tais sistemas são constituídos por programas de computador, ou softwares, e atualmente estão onipresentes em todos os tipos de negócio e até no dia a dia das pessoas na forma de relógios e telefones inteligentes, computadores pessoais e afins. Estes programas têm se tornado tão estratégicos, como no caso da fórmula 1, que se não funcionarem adequadamente ou não receberem uma atualização rápida podem apresentar um efeito catastrófico para uma corrida ou temporada. No caso de uma organização, os efeitos poderiam ser um enorme prejuízo ou a perda de uma grande oportunidade de negócio, o que certamente afetaria a sobrevivência desta empresa.
Por isso, as organizações, hoje em dia, têm investido tanto no desenvolvimento de software e é imperativo que os times de desenvolvimento o entreguem de modo rápido, constante, com qualidade e segurança.
Desenvolver softwares não é uma tarefa simples e tampouco barata e cedo as empresas começaram a ter que lidar com os problemas advindos desta atividade e para ajudar a resolver este problema, começaram a aplicar técnicas de gestão de projetos no processo de desenvolvimento.
Embora este livro seja especialmente voltado para profissionais com expertise técnica, seus conceitos são amplamente aplicáveis a qualquer organização que busque amadurecer sua postura de segurança no ciclo de vida do software.
Os princípios¹ aqui discutidos podem ser adaptados tanto por startups quanto por grandes corporações, independentemente da tecnologia ou metodologia em uso.
Uma Palavra dos Autores
Caros leitores,
Esta obra é fruto de mais de 25 anos de experiência prática, estudo contínuo e uma convicção profunda de que a segurança não deve ser um entrave, mas o alicerce sobre o qual se constroem ideias sólidas e soluções robustas.
Escrevê-la foi tanto um desafio quanto um privilégio. Desafio, pela complexidade e dinamismo da Segurança de Aplicações. Privilégio, por podermos compartilhar aprendizados que acumulamos ao longo de nossa jornada.
Nosso propósito vai além de informar. Queremos inspirar uma mudança de mentalidade, na qual a segurança é parte natural da engenharia de software de forma colaborativa, estratégica e contínua.
Desejamos que este livro acompanhe você na prática, no pensamento e na ação.
Boa leitura e mãos à obra!
Atenciosamente,
André Alexandre Gaio
Rafael Lachi
Para Quem Este Livro Foi Escrito?
Antes de aprofundarmos nas práticas e exemplos técnicos abordados neste livro, é importante esclarecer para quem esta obra foi escrita e como você pode tirar máximo proveito dela.
Este livro é destinado especialmente aos seguintes perfis profissionais:
Desenvolvedores de Software e Engenheiros de Software (Todos os Níveis):
Para Desenvolvedores Juniores e Plenos: Servirá como um guia robusto para compreender os fundamentos do desenvolvimento seguro, integrar a segurança em seu fluxo de trabalho diário e aprender a utilizar ferramentas essenciais de DevSecOps. Os princípios e padrões aqui discutidos fornecerão uma base sólida para o crescimento na carreira.
Para Desenvolvedores Seniores e Especialistas: Oferecerá insights sobre práticas avançadas, modelos de maturidade, segurança na cadeia de suprimentos e estratégias para liderar e disseminar a cultura de segurança em suas equipes e projetos.
Engenheiros de DevOps, Engenheiros de SRE (Site Reliability Engineers) e Profissionais de Infraestrutura: Aqueles que desejam integrar a segurança de forma eficaz e automatizada nas pipelines de CI/CD, proteger a infraestrutura como código (IaC) e entender o papel da segurança nas operações contínuas.
Profissionais de Segurança da Informação, Analistas de AppSec e Pentesters: Que buscam expandir sua compreensão sobre como a segurança pode ser deslocada para a esquerda
(Shift Left), colaborando efetivamente com equipes de desenvolvimento e operações, e aplicando uma visão holística da segurança no ciclo de vida do software.
Arquitetos de Software e Sistemas: Que necessitam projetar sistemas intrinsecamente seguros (Secure by Design), realizar modelagem de ameaças eficaz e tomar decisões arquiteturais que promovam a resiliência e a privacidade.
Líderes Técnicos, Gerentes de Engenharia e Gerentes de Produto: Que precisam compreender os aspectos estratégicos da segurança de aplicações, implementar programas de AppSec eficazes, justificar investimentos e fomentar uma cultura de segurança em suas organizações.
Estudantes de Graduação e Pós-Graduação (Ciência da Computação, Engenharia de Software, Segurança da Informação): Que buscam um material de referência completo e atualizado sobre os desafios e soluções contemporâneas em engenharia de software seguro e DevSecOps.
Consultores de Segurança e Auditores: Que necessitam de um panorama detalhado das melhores práticas, padrões e modelos para avaliar e orientar organizações na melhoria de sua postura de segurança de software.
Embora o livro aborde tópicos avançados, leitores com uma compreensão fundamental de desenvolvimento de software, operações de TI e conceitos básicos de segurança encontrarão nos capítulos iniciais a base necessária para progredir. Para os mais experientes, a obra servirá como um compêndio de consulta e um catalisador para a implementação de estratégias de segurança de ponta.
Como Este Livro Está Organizado?
Agora que você sabe que este livro é feito sob medida para o seu perfil profissional, vejamos como estruturamos o conteúdo para facilitar sua jornada de aprendizado.
Para facilitar uma jornada de aprendizado progressiva e coesa, dividimos esta obra em sete partes principais, cada uma construindo sobre o conhecimento da anterior, culminando em uma compreensão holística e prática da Engenharia de Software Seguro e DevSecOps:
Parte I: O Cenário Moderno e a Necessidade da Segurança Ágil:
Iniciamos contextualizando os desafios atuais da segurança da informação na era digital. Exploramos a evolução do desenvolvimento de software, a ascensão das metodologias ágeis e da cultura DevOps, e as limitações dos modelos tradicionais de segurança. Fundamentamos a urgência por uma mudança de paradigma e introduzimos os conceitos basilares do DevSecOps e do Desenvolvimento Seguro, incluindo a importância da integração com Governança, Riscos e Compliance (GRC).
Parte II: Princípios e Modelos Fundamentais de Segurança de Software:
Aprofundamos nos pilares conceituais e técnicos do desenvolvimento seguro. Detalhamos os princípios essenciais que devem nortear cada decisão de design e codificação. Em seguida, exploramos os Ciclos de Vida de Desenvolvimento Seguro (S-SDLC), com destaque para o Microsoft SDL e outras abordagens consolidadas pela indústria, como SAFECode e o Secure Software Framework (SSF) da Secure Software Alliance (SSA).
Parte III: Planejamento e Design com Foco em Segurança:
Mergulhamos nas etapas cruciais que precedem a escrita do código. Abordamos a análise e gestão de riscos de software (incluindo serviços e APIs de terceiros), a arte de definir requisitos de segurança eficazes, a prática preventiva da modelagem de ameaças (e sua evolução para abordagens as Code
) e os princípios de projetar sistemas com segurança e privacidade por design e por padrão (Secure by Design/Default, Privacy by Design/Default), incluindo a estratégica abordagem Zero Trust.
Parte IV: Implementação, Verificação e Proteção da Cadeia de Suprimentos:
Esta parte é dedicada às etapas práticas onde o software toma forma. Exploramos as técnicas e ferramentas de análise de código (SAST, DAST, IAST, Revisão Manual), a gestão de componentes e dependências (SCA, SBOMs) e a mitigação de riscos comuns, com um foco especial nos projetos OWASP (Top 10 Web, API Security Top 10, Proactive Controls). Crucialmente, detalhamos as práticas essenciais para proteger a cadeia de suprimentos de software contra ataques cada vez mais sofisticados, incluindo assinaturas digitais (Sigstore) e níveis de garantia (SLSA).
Parte V: Maturidade, Configuração Segura e Operações:
Expandimos nosso foco para garantir que as práticas de segurança sejam sustentáveis e que os ambientes de construção e operação sejam intrinsecamente seguros. Discutimos modelos para medir e evoluir a maturidade em segurança de software (OWASP SAMM, BSIMM, ASVS), a importância de frameworks normativos (NIST SSDF, ISO/IEC 27034) e as implicações legais e contratuais em AppSec. Detalhamos a configuração segura de ambientes e pipelines de CI/CD (IaC, CaC, Secrets Management) e o papel vital da segurança em operações (Computação Imutável, WAFs, API Gateways, SOC, e o uso de Inteligência Artificial), culminando na importância da educação e cultura para a resiliência contínua.
Parte VI: Consolidando o Conhecimento:
Nesta penúltima parte, buscamos sintetizar os aprendizados da jornada, transformando-os em diretrizes acionáveis. Focamos em como colocar efetivamente o conhecimento em prática, oferecendo recomendações estratégicas para um programa AppSec efetivo e, fundamentalmente, como sustentar a jornada DevSecOps através do fortalecimento da cultura de segurança e do empoderamento dos Security Champions. Concluímos reforçando a visão holística da segurança como um diferencial estratégico.
Parte VII: DevSecOps na Prática: Laboratório com OWASP Juice Shop e GitHub Actions:
Para solidificar os conceitos e práticas discutidos, esta parte final oferece um laboratório prático detalhado. Guiamos o leitor passo a passo na configuração de uma pipeline DevSecOps utilizando o OWASP Juice Shop como aplicação alvo e o GitHub Actions para orquestrar a integração de diversas ferramentas de segurança, desde linters e SAST até SCA, DAST e scan de segredos.
Parte VIII: O Mestre Construtor Do Futuro Digital Está Pronto:
Conclusão e próximos passos.
Além das 8 partes que estruturam este livro, ao final incluímos alguns materiais essenciais para complementar sua jornada:
Apêndice A: Um Guia Prático Para Revisão De Segurança Em Pull Requests, auxiliando na adoção de boas práticas no processo de desenvolvimento.
Apêndice B: Uma Estrutura de Política de Desenvolvimento Seguro, servindo como referência para fortalecer a segurança desde a concepção do software.
Referências Bibliográficas: Para quem deseja se aprofundar nos tópicos abordados e explorar novas fontes de conhecimento.
Este livro foi pensado para ser mais do que teoria, ele é um guia para a prática. Para facilitar sua aplicação, todos os exemplos de código, arquivos de configuração e materiais do laboratório estão disponíveis publicamente no repositório oficial no GitHub.
Repositório do Livro: https://github.com/aagaio/repo_livro
O Que Você Aprenderá?
Com essa estrutura clara e progressiva em mente, ao concluir este livro você estará capacitado a:
Integrar a segurança em todas as fases do ciclo de vida do desenvolvimento de software (SDLC), desde a concepção até a operação e desativação.
Aplicar os princípios fundamentais do desenvolvimento seguro para construir aplicações mais resilientes.
Implementar e automatizar práticas DevSecOps eficazes, utilizando ferramentas modernas de análise estática (SAST), dinâmica (DAST), interativa (IAST) e de composição de software (SCA).
Proteger a cadeia de suprimentos de software, compreendendo e mitigando riscos associados a dependências de terceiros e ao processo de build e deploy.
Realizar modelagem de ameaças e definir requisitos de segurança eficazes para seus projetos.
Conhecer e mitigar as principais vulnerabilidades listadas pelo OWASP (Web e API).
Configurar ambientes e pipelines de CI/CD com foco em segurança, utilizando conceitos como Infrastructure as Code (IaC) e Policy as Code (PaC).
Avaliar e evoluir a maturidade do seu programa de segurança de aplicações utilizando modelos como OWASP SAMM e BSIMM.
Compreender o papel da segurança em operações, incluindo a importância do SOC, da computação imutável e da aplicação de Inteligência Artificial na defesa cibernética.
Fomentar uma cultura de segurança proativa e compartilhada em sua organização, capacitando Security Champions e engajando todas as equipes.
Colocar em prática os conhecimentos adquiridos através de um laboratório hands-on, construindo uma pipeline DevSecOps funcional.
Em suma, este livro almeja transformá-lo em um agente de mudança, capaz de construir e defender o futuro digital com mais confiança e expertise, além de trazer-lhe um desenvolvimento pessoal e profissional impactante.
INTRODUÇÃO
O DESAFIO DA SEGURANÇA DA INFORMAÇÃO NA ERA DIGITAL
Hoje, a segurança da informação é um dos temas mais discutidos e relevantes em nosso cotidiano. O assunto ganhou destaque na mídia e passou a ser uma preocupação constante, impulsionado pelo crescimento de ataques como o Ransomware, frequentemente associado ao crime organizado, e pelos frequentes vazamentos de dados em instituições públicas e privadas. Nesse contexto, regulamentações como a GDPR, na Europa, e a LGPD, no Brasil, reforçam a necessidade de proteger as informações, mesmo que cada uma delas ainda enfrente seus próprios desafios.
Além disso, o cenário global é marcado por diversas exigências normativas, como a Sarbanes-Oxley Act, o PCI-DSS e decretos nacionais (como os nº 3.505/2000 e nº 4.553/2002). Esses dispositivos mostram que a segurança da informação não deve ser encarada como um custo ou um mal necessário, mas sim como um elemento estratégico indispensável para a sustentabilidade dos negócios.
Ainda assim, paira uma pergunta no ar: as áreas de segurança das empresas estão realmente preparadas para atuar de forma estratégica e alinhada aos objetivos do negócio?
Muitos gestores ainda optam por soluções de prateleira
, acreditando que o investimento em produtos de grandes marcas resolve automaticamente os problemas de segurança. Essa visão, no entanto, ignora a complexidade do cenário, onde os atacantes não se intimidam com nomes ou altos investimentos em tecnologia.
Por isso, a segurança da informação precisa ser entendida como um processo contínuo de gestão de riscos, e não apenas como um requisito momentâneo de conformidade. Integrar a segurança de forma estratégica aos processos da empresa é fundamental para transformar esse desafio em um diferencial competitivo, acompanhando a evolução dos negócios e enfrentando as ameaças de forma eficaz, uma filosofia que encontra sua expressão máxima na abordagem DevSecOps.
Infelizmente, muitos gestores acreditam erroneamente que investir em soluções de mercado já é suficiente para proteger seus sistemas. No entanto, inúmeros incidentes recentes comprovam que não basta adquirir produtos renomados, é necessário investir em boas práticas de segurança. Um exemplo emblemático disso ocorreu em 2021, quando o FBI e a CISA alertaram sobre vulnerabilidades críticas exploradas ativamente em dispositivos firewall da FORTINET (ex.: CVE-2018-13379).
Mesmo com as devidas correções disponíveis, muitas organizações não adotaram práticas adequadas de gestão de vulnerabilidades, comprovando que a escolha de um produto renomado não garante, por si só, a proteção necessária.
Neste livro, propomos uma abordagem prática e escalável para elevar o nível de segurança nas empresas, sem que essa área seja vista como um entrave à inovação. Nosso objetivo é mostrar que a segurança da informação pode, e deve, ser um aliado estratégico, agregando valor aos produtos e serviços e inspirando confiança.
Além de nos concentrarmos na implementação de mecanismos de proteção no processo de desenvolvimento de software, ampliaremos a discussão para desafios emergentes da segurança em ambientes cloud-native, como microsserviços e arquiteturas serverless. Embora não seja possível abordar todos os aspectos da segurança da informação, os conceitos apresentados aqui podem, e devem, ser adaptados a outras áreas da organização. Ao incluir práticas modernas de proteção contra ataques à cadeia de suprimentos, buscamos oferecer uma base sólida e atual para que as organizações estejam preparadas para enfrentar ameaças cada vez mais sofisticadas, automatizadas e persistentes.
PARTE I — O CENÁRIO MODERNO E A NECESSIDADE DA SEGURANÇA ÁGIL
Todo aquele, pois, que escuta estas minhas palavras, e as pratica, assemelhá-lo-ei ao homem prudente, que edificou a sua casa sobre a rocha; E desceu a chuva, e correram rios, e assopraram ventos, e combateram aquela casa, e não caiu, porque estava edificada sobre a rocha.
(Mateus 7:24,25)
A EVOLUÇÃO DO DESENVOLVIMENTO DE SOFTWARE
O Desenvolvimento Ágil E A Cultura Devops
Para entender como chegamos às abordagens modernas de desenvolvimento e segurança, é importante primeiro revisitar a evolução das metodologias de desenvolvimento de software. Historicamente, a mais tradicional técnica de gestão de projetos, utilizada até pouco tempo no desenvolvimento de software, se chama cascata, ou em inglês Waterfall, e ela ajudava a resolver alguns problemas, mas não completamente, pois o desenvolvimento continuava apresentando problemas, como:
Alto custo de desenvolvimento;
Demoravam para ser entregues e quando eram, estavam atrasados e até defasados;
Extrapolavam orçamentos;
Tinham baixa qualidade;
Desprezavam o principal: agradar os clientes e gerar valor para eles.
Em meados de 2001, alguns engenheiros de software resolveram se unir e unificar suas visões no intuito de resolverem as deficiências do modelo de desenvolvimento em cascata e assim criaram um manifesto em prol da agilidade, que chamaram de manifesto ágil. Os pontos principais deste manifesto ágil são:
Indivíduos e interações mais que processos e ferramentas.
Software em funcionamento mais que documentação abrangente.
Colaboração com o cliente mais que negociação de contratos.
Responder a mudanças mais que seguir um plano.
Inicialmente, este modelo era bastante utópico, e rapidamente perceberam que não bastava ter um time de desenvolvimento ágil se o time de operações não trabalhasse sob os mesmos princípios. Então, em 2008 em uma conferência de desenvolvimento ágil cunhou-se o termo DevOps² para levar a filosofia ágil de mudanças rápidas para as operações de TI.
Os resultados desta prática logo começaram a surgir e levou muitas empresas a rapidamente adotarem esta filosofia em seus times de desenvolvimento e operações. Alguns destes resultados eram:
Aceleração do time-to-market³ para novas funcionalidades de software;
Aumento da frequência de introdução de melhorias (releases);
Redução do número de defeitos de implantação;
Rápida recuperação no caso de falha de uma nova versão.
Diante de tantos resultados positivos, não demorou para que surgissem também os primeiros problemas. Embora muitos defensores do DevOps⁴ original sustentassem que a segurança estaria implícita no pilar da qualidade
, na prática o foco quase exclusivo na velocidade das entregas acabou relegando a segurança a um papel secundário. O fluxo contínuo foi colocado como prioridade absoluta, enquanto a disciplina de Segurança da Informação permaneceu em uma posição reativa, quando deveria ser parte estrutural do processo.
Essa mentalidade ficou evidente em uma fala de um gerente de produto do Visual Studio Team Services da Microsoft, durante o DevOps Enterprise Summit de 2014. Na ocasião, ele afirmou que ao se mover rápido, você se torna mais seguro, porque não está se deixando em uma posição fixa e vulnerável
(tradução nossa).
Com o tempo, porém, a limitação dessa visão tornou-se clara. A obsessão pela cadência contínua de entregas mantinha a segurança sempre em segundo plano, trata apenas após incidentes ou descobertas tardias. Essa lacuna acabou dando origem ao movimento conhecido como Shift Security Left⁵, que defende levar os controles de segurança para as etapas mais iniciais do desenvolvimento. A lógica é que quanto antes os problemas forem identificados, menor será o custo e o impacto para corrigi-los, tanto do ponto de vista técnico quanto estratégico.
A figura abaixo representa como a segurança é tratada, na prática, sob a abordagem DevOps:
Ela ilustra um cenário comum onde a segurança é negligenciada nas fases iniciais. Para entender melhor as implicações dessa abordagem, analisemos a linha do tempo hipotética apresentada. No mês de maio surge uma vulnerabilidade em um dos softwares de uma empresa. Como não existe um processo de desenvolvimento seguro ou ferramentas de varredura de vulnerabilidades no processo de desenvolvimento e construção do software, esta vulnerabilidade apenas será descoberta no processo de pentest⁶ manual, que acontecerá no final de junho. O intervalo de tempo dos pentests varia de empresa para empresa e está definido na política de gestão de vulnerabilidades. Normalmente, este período é de 6 meses. A empresa hipotética, retratada na figura acima, o faz a cada 2 meses. A vulnerabilidade 1 ao ser detectada no processo de pentest será submetida a correção, que concorrerá com o processo normal de entregas contínuas de valor e assim, na melhor das hipóteses, será corrigida no final de agosto. Perceba o problema desta situação, o tempo de exposição da vulnerabilidade é muito alto, de aproximadamente 105 dias.
O problema tende a se agravar ainda mais, pois suponha que enquanto a empresa está trabalhando em uma correção para a vulnerabilidade 1, surja outra vulnerabilidade no meio de julho, a vulnerabilidade 2, a qual só será percebida no pentest de agosto, a qual só será corrigida no final de outubro e este ciclo vicioso continua, com tempos de exposição altos e acumulando várias vulnerabilidades simultâneas permitindo uma superfície de ataque contínua e ampla.
Existe ainda um outro agravante para o problema: o time de desenvolvimento é obrigado, na melhor das hipóteses, a interromper o fluxo de desenvolvimento de novas funcionalidades e entrega de valor para efetuar as correções dos problemas que foram detectados tardiamente, ao final do ciclo de desenvolvimento, ou na melhor desta hipótese, na fase de testes. Isso gera enormes atrasos na entrega do software, pois a quantidade de correções é grande e impõe um retrabalho pesado aos times de desenvolvimento, o que gera custos muito maiores ao projeto.
Além disso, existe uma tendência natural dos times de desenvolvimento em postergar as correções de segurança em função da pressão natural do negócio pelas entregas de valor, fazendo com que este acúmulo de vulnerabilidades se torne cada vez maior. Isso aumenta ainda mais a superfície de ataque do software e consequentemente o risco para o negócio.
Além de trazer grandes riscos operacionais e legais, o acúmulo de vulnerabilidades não resolvidas configura o que chamamos de dívida, ou débito, de segurança⁷, que é um passivo técnico que compromete a escalabilidade e a sustentabilidade dos sistemas a longo prazo. Assim como a dívida técnica, ela pode crescer silenciosamente até se tornar impagável, gerando impactos significativos para o negócio.
Um levantamento da Sonatype (2022) revelou que 96% das aplicações modernas utilizam dependências de terceiros, sendo que 11% dessas apresentam vulnerabilidades conhecidas. Esses dados reforçam a urgência de integrar segurança desde o início do ciclo de vida do software, e não apenas como uma verificação tardia no final do processo. E isso é apenas um dos muitos aspectos que podem comprometer a segurança de um software.
Esta situação, é comprovada por um estudo conduzido pelo NIST⁸ em conjunto com o Instituto Ponemon⁹, onde se percebe que quanto mais tarde no processo de construção de um software um problema é descoberto e corrigido, mais cara a correção será. Isso pode ser notado na figura abaixo:
Deste modo, apesar dos enormes avanços trazidos pelo DevOps, percebeu-se rapidamente que um elemento fundamental foi negligenciado: a segurança.
O Modelo De Segurança Tradicional E Suas Limitações
O modelo DevOps, apesar de revolucionário, rapidamente trouxe a tona um problema importante: a segurança tradicional simplesmente não conseguia acompanhar a velocidade e frequência das entregas ágeis. E pior ainda, representava um gargalo.
O alto custo de corrigir vulnerabilidades tardiamente, como vimos antes, é só um dos muitos problemas que surgem quando a segurança não acompanha o ritmo ágil do desenvolvimento moderno. Para piorar, o modelo tradicional de segurança acaba impondo limitações importantes ao processo, pois tem a característica de centralizar as iniciativas e as responsabilidades de Segurança da Informação a um departamento da empresa específico para este fim, o qual trabalhando neste modelo é incapaz de atender as altas demandas das entregas contínuas e do desenvolvimento Ágil. Segundo DONKERS (2016), isso se deve a forma com a qual se lida com o gerenciamento de segurança.
Frameworks populares de segurança da informação, como o ISO 27001, se valem de uma visão de cima para baixo (Top Down) que enfatizam que políticas, processos e controles técnicos genéricos precisam estar em vigor para garantir que uma organização esteja no controle da segurança da informação. Uma vez que tudo isso esteja estabelecido, os projetos podem começar a ser construídos sobre essa base de segurança e usar os serviços de gerenciamento de segurança. Esta abordagem funciona em projetos que seguem o modelo cascata (Waterfall), com momentos de transição e entregas claramente definidos e neste modelo, é comum que a segurança da informação seja abordada no início e no final de um projeto.
Contudo, o modelo ágil funciona de um modo diferente, pois usa uma abordagem baseada em risco para o desenvolvimento de forma incremental, utilizando ciclos curtos de desenvolvimento chamados sprints.
O grande problema está no fato de que a segurança tradicional pressupõe que:
A equipe do projeto traduz requisitos de segurança genéricos nos controles de segurança necessários e apropriados;
A equipe tem tempo, habilidades e ferramentas para implementar os controles corretamente;
Durante o projeto de desenvolvimento, há tempo e dinheiro suficientes para realizar testes de segurança e processar os problemas descobertos;
Há tempo suficiente disponível para abordar os riscos de segurança encontrados durante o projeto e o teste.
Para tornar o cenário ainda mais difícil, existe uma regra informal, mas prática, no meio de TI que indica que na maioria das empresas se tem para cada 100 desenvolvedores, 10 pessoas de DevOps e apenas 1 para atender as demandas de segurança da informação. É a famigerada regra da razão 100:10:1.
Esse desbalanceamento tem um custo operacional alto, pois os gargalos de segurança aumentam muito o tempo de entrega, além de comprometer a cobertura dos controles e validações essenciais.
Tudo isso tende a dificultar ainda mais o modelo de segurança tradicional, pois sempre haverá um enorme conflito de interesses, onde a área de SI tentará impor práticas como separação de privilégios, análises de risco, gestão segura de mudanças, compliance, além de padrões, normas e procedimentos de segurança, enquanto o time de desenvolvimento tentará ignorar solenemente a área de segurança da informação e seus controles e exigências de modo a priorizar suas entregas e diante desta disputa fútil, a área de segurança da informação tende a ter menos força, pois além de ser vista como um empecilho para o negócio, é minoria.
Diante do cenário apresentado, ao fazer um rápido exercício de imaginação, é fácil perceber que uma área de segurança que opere, segundo o modelo tradicional, na proporção próxima de 1 pessoa para cada 100 desenvolvedores é um enorme gargalo para o fluxo de entregas. E é óbvio compreender por que o movimento ágil começou apenas com desenvolvedores e estes envolveram o time de operações de TI, mas deixaram de lado a área de Segurança da Informação. Por estes e outros motivos que o modelo de segurança tradicional não é capaz de acompanhar as entregas contínuas com implantações em larga escala.
A figura a seguir, extraída de uma apresentação do evento re:Invent 2015¹⁰, da AWS, nos dá uma ideia desta dimensão:
Nela, podemos notar o impressionante número de 50 milhões de deployments¹¹ por ano, e isso em 2015!
Diante destes números fica difícil imaginar uma estrutura de Segurança da Informação tradicional capaz de atender esta quantidade enorme de deployments sem causar algum tipo de impacto negativo aos negócios e ao mesmo tempo mitigar os riscos nas aplicações.
Urgência Por Mudança: Impactos E Novas Demandas Em Segurança
Face a esse cenário complexo, tornou-se urgente repensar radicalmente o modelo tradicional de segurança. Foi exatamente nesse contexto que surgiu o movimento DevSecOps, trazendo consigo o conceito essencial do Shift Security Left, ou seja, antecipando os controles e as práticas de segurança para as fases iniciais do ciclo de desenvolvimento.
Todos esses fatores, que discutimos anteriormente, somados ao aumento da complexidade dos ambientes de TI, a velocidade de entrega de novas soluções e a sofisticação dos ataques cibernéticos levaram muitas organizações a reconhecer que o modelo tradicional de segurança não era mais suficiente.
Era imperativo mudar, e mudar profundamente. Tal mudança extrapolou a simples adoção de novas ferramentas ou práticas técnicas, mas exigiu uma verdadeira mudança cultural, organizacional e estratégica e mudou definitivamente a forma como a segurança é percebida, aplicada e integrada aos objetivos do negócio. Entre os principais efeitos dessa transformação, temos:
A necessidade de enxergar a segurança além da camada técnica. Ela precisa estar conectada à governança corporativa, à gestão de riscos e à conformidade regulatória. Quando essa conexão não existe, os programas de segurança se tornam iniciativas isoladas, sem visibilidade nem apoio estratégico e, por consequência, com pouco impacto real.
A consciência de que vulnerabilidades técnicas têm impacto direto no negócio, seja do ponto de vista financeiro, operacional, reputacional ou regulatório. Empresas mais maduras passaram a alinhar suas práticas de segurança com o ecossistema de GRC (Governança, Riscos e Compliance), fortalecendo a sinergia entre proteção tecnológica e continuidade operacional.
O entendimento de que uma única área não pode ser responsável por garantir a proteção da informação. A responsabilidade passou a ser coletiva. Isso exigiu um novo comportamento organizacional: treinamentos mais frequentes, programas de conscientização, iniciativas de cultura de segurança e, principalmente, a formação de Security Champions, que são pessoas capacitadas dentro das áreas de negócio para apoiar, disseminar e reforçar os princípios de segurança.
A mudança na percepção da própria área de Segurança da Informação. Antes vista como uma área técnica e isolada, muitas vezes associada à burocracia e ao bloqueio da inovação, ela precisou se reinventar. Para se tornar estratégica, passou a buscar parceria com o negócio, entender suas dores e objetivos, e oferecer soluções que agregassem valor e não apenas controle.
Para acompanhar esse novo cenário de agilidade, as equipes de segurança também precisaram se adaptar em termos de ritmo. A cultura de segurança teve que evoluir para operar no mesmo compasso das entregas contínuas, afinal, de nada adianta uma equipe de desenvolvimento que entrega semanalmente se os controles de segurança operam no tempo das auditorias anuais.
A adoção crescente da automação para garantir escala e agilidade. À medida que os ambientes ficaram mais dinâmicos, tornou-se inviável depender apenas de processos manuais. Essa automação não se limita a ferramentas de varredura e integração de testes. Muitas organizações maduras têm adotado processos de Continuous Security Validation, que consiste em validar continuamente a efetividade dos controles de segurança mesmo após o software estar em produção, usando simulações de ataque, purple teaming e análise de comportamento.
A necessidade de inserir ferramentas e processos de segurança em todas as etapas do desenvolvimento, como mostra a figura abaixo, e antecipar o quanto possível a detecção e correção de falhas. Cada um destes processos e ferramentas serão descritos mais aprofundadamente mais adiante neste livro.
O fortalecimento do movimento conhecido como Shift Security Left, ou seja, deslocar os processos de segurança para as fases mais iniciais do ciclo de desenvolvimento. A lógica é simples: quanto antes um erro for identificado, mais barata, rápida e eficiente será sua correção. Como mostra a figura abaixo, antecipar o olhar de segurança é uma das formas mais eficazes de reduzir riscos sem comprometer a velocidade.
Segurança De Aplicações (AppSec)
O fundamento prático que possibilitou a ascensão do modelo DevSecOps foi justamente a consolidação da disciplina de Segurança de Aplicações, também conhecida como AppSec.
Embora a disciplina de Segurança de Aplicações não seja propriamente nova, sua evolução nas últimas décadas tem sido intensa e contínua. Esse avanço acelerado tem sido impulsionado por uma série de fatores combinados: a crescente complexidade dos sistemas modernos, a interdependência entre aplicações e infraestruturas distribuídas (como cloud, APIs e microsserviços), a pressão regulatória imposta por legislações de privacidade (como LGPD e GDPR), e o aumento da sofisticação técnica e organizacional de grupos cibercriminosos.
Além disso, o uso de inteligência artificial, automação e ataques em larga escala tornou o cenário ainda mais desafiador. As ameaças estão mais rápidas, discretas e adaptativas e, diante disso, as abordagens tradicionais de segurança deixaram de ser suficientes. Reagir a incidentes já não basta. É necessário desenvolver aplicações com segurança embutida desde a concepção, integrando práticas preventivas ao próprio ciclo de vida do software.
Diante desse cenário complexo e em evolução, torna-se essencial ter uma definição clara do que constitui a Segurança de Aplicações. De forma objetiva, podemos definir Segurança de Aplicações como o conjunto de práticas, princípios, controles e tecnologias voltados a proteger um software, e todos os seus elementos associados, contra falhas, abusos, vulnerabilidades e ataques. Isso inclui desde o código-fonte, bibliotecas e frameworks de terceiros até APIs, configurações de ambiente, infraestrutura de execução e os dados manipulados em trânsito ou em repouso.
Entre as práticas mais comuns dessa disciplina, destacam-se:
Testes de segurança (unitários, integração, regressão e aceitação)
Desenvolvimento seguro e uso de padrões seguros de codificação
Secure by Design e Secure by Default
Privacy by Design e Privacy by Default
Análise de bibliotecas e frameworks de terceiros
Revisão de código (manual e automatizada)
Análise de vulnerabilidades (SAST, DAST, SCA)
Proteção de bibliotecas e componentes críticos
Segurança dos ambientes de desenvolvimento, CI/CD e produção
Hardening da infraestrutura de apoio
Gestão de patches e resposta a incidentes
Muitas dessas práticas são formalizadas em frameworks de referência como o OWASP SAMM¹², o Microsoft SDL, o NIST SSDF¹³, o SAFECode e o Secure Software Framework (SSF)¹⁴ proposto pela Secure Software Alliance (SSA), que é um consórcio colaborativo que vem ganhando espaço por integrar práticas modernas e multidimensionais de segurança no ciclo de vida de aplicações. Estes frameworks serão abordados com mais profundidade adiante.
Também ganham destaque abordagens modernas como Security by Design, Privacy by Design, Security by Default e Privacy by Default, que serão aprofundadas ao longo deste livro. Em resumo, o objetivo da Segurança de Aplicações é garantir que o software seja robusto e confiável, mesmo quando exposto a ataques. Como bem colocou McGraw (2006), software seguro é aquele que continua funcionando corretamente mesmo sob ataque
. Para chegar neste ponto, é essencial que a segurança esteja presente ao longo de todo o ciclo de vida do desenvolvimento, desde os requisitos até a operação em produção.
Como Colocar Tudo Isso Em Prática?
Após termos explorado a evolução histórica do desenvolvimento seguro e entendido a importância estratégica da abordagem DevSecOps e da disciplina de Segurança de Aplicações, é natural que você já esteja se perguntando: Como colocar tudo isso em prática de forma realista no contexto da sua organização?
Uma resposta satisfatória para esta indagação foi difícil e demorou a surgir. Diante dos desafios de escalabilidade e da necessidade de alinhar segurança com a agilidade do DevOps, percebeu-se o quanto as áreas de Desenvolvimento, Operações e Segurança da Informação das empresas precisavam amadurecer muito em relação aos seus
