por Rodolpho Sá
Com uma forte cultura de segurança estabelecida, o próximo passo na jornada DevSecOps é incorporar controles de segurança em todo o Ciclo de Vida de Desenvolvimento de Software (SDLC). Essa abordagem de “Shift Left” (deslocamento para a esquerda) foca na identificação e mitigação de problemas de segurança o mais cedo possível, reduzindo drasticamente o custo e o esforço de remediação. O objetivo é construir uma defesa em camadas, em que diferentes tipos de testes de segurança são aplicados em várias fases, criando uma rede de segurança abrangente.
Fase 1: planejamento e design
A fase inicial é a mais econômica para construir uma aplicação segura, e tem como principal atividade a Modelagem de Ameaças. Trata-se de um processo estruturado para identificar potenciais ameaças de segurança antes que qualquer código seja escrito. Ao pensar como um invasor, as equipes conseguem projetar contramedidas de forma proativa. Esse processo normalmente envolve a decomposição da aplicação, etapa em que se entendem os componentes do sistema e os fluxos de dados, frequentemente visualizados por meio de Diagramas de Fluxo de Dados (DFDs). Envolve também a identificação de ameaças, usando frameworks como STRIDE (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege) para fazer brainstorm sobre tudo o que pode dar errado. Por fim, inclui a determinação de mitigações, na qual são definidos controles de segurança para abordar as ameaças identificadas. Os resultados da modelagem de ameaças são, então, traduzidos em requisitos de segurança acionáveis e integrados diretamente nas ferramentas de gerenciamento de projetos, seja como histórias de usuário ou critérios de aceitação, garantindo que a segurança seja tratada como uma característica central do produto.
Fase 2: desenvolvimento
Durante a fase de desenvolvimento, os profissionais são capacitados com ferramentas e conhecimento para escrever código seguro em tempo real. Uma das atividades principais é o Teste Estático de Segurança de Aplicação (SAST), no qual ferramentas analisam o código-fonte em busca de potenciais vulnerabilidades sem executar o programa. A integração de plugins SAST diretamente nos ambientes de desenvolvimento integrado (IDEs) oferece feedback instantâneo aos desenvolvedores, funcionando de maneira semelhante a um corretor ortográfico para segurança. Outra prática essencial é o Gerenciamento de Segredos, que utiliza ferramentas automatizadas de varredura para detectar e bloquear credenciais, como chaves de API e senhas, que possam ser acidentalmente codificadas no código-fonte, evitando assim a sua exposição.
Fase 3: construção e integração (CI/CD)
No pipeline de CI/CD, que se torna um hub central para verificações de segurança automatizadas, são estabelecidos importantes portões de proteção. A Análise de Composição de Software (SCA) é executada para verificar vulnerabilidades conhecidas em bibliotecas de código aberto, frequentemente utilizadas em aplicações modernas, além de verificar questões de conformidade de licença. O SAST também é aplicado como um portão de qualidade: uma varredura mais aprofundada é realizada e pode ser configurada para “quebrar a compilação”, caso vulnerabilidades de alta severidade sejam encontradas, impedindo que código inseguro avance. Além disso, ferramentas de segurança são utilizadas para varrer scripts de Infraestrutura como Código (IaC), como Terraform, e imagens de contêiner, identificando configurações incorretas e vulnerabilidades conhecidas antes da implantação.
Fase 4: teste e homologação
Quando a aplicação é implantada em um ambiente de teste, o foco passa da análise estática para o comportamento da aplicação em execução. Nessa etapa, o Teste Dinâmico de Segurança de Aplicação (DAST) desempenha um papel essencial, pois simula ataques externos na aplicação em funcionamento e identifica vulnerabilidades em tempo de execução, como Cross-Site Scripting (XSS) e Injeção de SQL, que o SAST pode não detectar.
Ao integrar essas verificações de segurança automatizadas em todas as etapas do SDLC, as organizações constroem uma defesa robusta e em múltiplas camadas, capaz de detectar vulnerabilidades de forma precoce e eficiente. Na TIVIT, apoiamos as empresas em sua jornada de DevSecOps, oferecendo equipes especializadas que integram segurança desde a concepção até todas as fases do ciclo de desenvolvimento de software.


