0Pricing
Security+ Academy · Aula

SDLC seguro e ferramentas SAST e DAST

Integre a segurança ao ciclo de vida de desenvolvimento de software usando análise estática (SAST), análise dinâmica (DAST) e modelagem de ameaças desde as primeiras etapas do desenvolvimento.

SDLC seguro e ferramentas SAST e DAST é uma aula grátis de Security+ Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Security+ Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Security+ Academy inclui 4 aulas no total.

O que é o SDLC seguro?

O ciclo de vida seguro do desenvolvimento de software (SSDLC) integra atividades de segurança a todas as fases do desenvolvimento de software — desde os requisitos até o design, a codificação, os testes, a implantação e a manutenção. O SDLC tradicional trata a segurança como uma barreira na etapa final, o que é caro e ineficaz. A filosofia do SDLC seguro consiste em encontrar e corrigir vulnerabilidades o mais cedo possível, pois os defeitos identificados durante o design custam muito menos para corrigir do que aqueles encontrados em produção.

Antecipando a segurança no desenvolvimento

Antecipar a segurança significa colocá-la mais cedo (à esquerda na linha do tempo do desenvolvimento), em vez de adicioná-la apenas no final. Na prática, isso significa incluir requisitos de segurança nas histórias de usuário, realizar modelagem de ameaças durante o design, fazer revisão de código e SAST durante o desenvolvimento e executar DAST antes do lançamento. As equipes que antecipam a segurança descobrem vulnerabilidades quando é mais barato corrigi-las — durante o desenvolvimento, não em produção.

Modelagem de ameaças: STRIDE e PASTA

A modelagem de ameaças identifica e documenta sistematicamente as ameaças à segurança durante a fase de design. O modelo STRIDE categoriza as ameaças em: Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service e Elevation of Privilege. PASTA (Process for Attack Simulation and Threat Analysis) é uma metodologia centrada em riscos que simula os objetivos de um invasor. Os modelos de ameaças geram medidas de mitigação priorizadas antes que uma única linha de código seja escrita.

# STRIDE threat categories (mnemonic)
# S - Spoofing identity
# T - Tampering with data
# R - Repudiation of actions
# I - Information disclosure
# D - Denial of service
# E - Elevation of privilege

Teste estático de segurança de aplicações (SAST)

SAST (teste de caixa branca) analisa o código-fonte, o bytecode ou os binários sem executar a aplicação, procurando padrões de codificação associados a vulnerabilidades conhecidas. As ferramentas SAST podem examinar toda a base de código rapidamente e relatar problemas como credenciais codificadas diretamente, pontos de injeção de SQL e desserialização insegura. Elas são executadas dentro do IDE ou do pipeline de CI e informam os resultados com os números dos arquivos e das linhas, facilitando a correção.

# Example: running Semgrep SAST in CI
semgrep --config=auto --error src/

# Common SAST tools:
# - Checkmarx, Veracode, Fortify (commercial)
# - Semgrep, SonarQube, Bandit (open source)
# - GitHub CodeQL (integrated with GitHub Actions)

Limitações do SAST: falsos positivos

Uma limitação importante do SAST é sua tendência a produzir falsos positivos — sinalizando um código como vulnerável quando, na verdade, ele é seguro. Essa fadiga causada pelos alertas faz com que os desenvolvedores ignorem os resultados sem investigá-los. As ferramentas SAST também não conseguem detectar problemas de configuração em tempo de execução, falhas de autenticação que dependem do comportamento em tempo de execução ou vulnerabilidades em chamadas de API de terceiros. O SAST é mais eficaz quando combinado ao treinamento dos desenvolvedores, para que os resultados sejam avaliados e priorizados corretamente.

Teste dinâmico de segurança de aplicações (DAST)

DAST (teste de caixa preta) testa uma aplicação em execução enviando cargas de ataque aos seus endpoints HTTP e analisando as respostas em busca de indicadores de vulnerabilidade. O DAST não exige acesso ao código-fonte — ele testa a aplicação como um invasor faria. É excelente para encontrar problemas em tempo de execução, como desvio da autenticação, XSS refletido nas respostas e configuração incorreta do servidor. As ferramentas DAST incluem OWASP ZAP, Burp Suite e Netsparker.

# Running OWASP ZAP baseline scan against a URL
docker run -t owasp/zap2docker-stable zap-baseline.py \
  -t https://staging.example.com \
  -r zap-report.html

# ZAP sends probe requests and analyzes responses
# without requiring source code access

SAST e DAST: abordagens complementares

SAST e DAST são complementares, e não concorrentes. O SAST encontra problemas no nível do código antecipadamente e integra-se ao IDE, mas não tem visibilidade sobre o comportamento em tempo de execução. O DAST encontra vulnerabilidades em tempo de execução e não exige o código-fonte, mas não consegue examinar caminhos de código que não sejam acionados por suas sondas automatizadas. Usar ambos em conjunto — SAST no pipeline de CI e DAST contra um ambiente de homologação — maximiza a cobertura de vulnerabilidades em todo o SDLC.

Teste interativo de segurança de aplicações (IAST)

IAST combina aspectos de SAST e DAST instrumentando a aplicação em tempo de execução. Um agente IAST é executado dentro da aplicação (no servidor), observando a execução do código enquanto o tráfego de teste passa por ela. Ele pode correlacionar entradas de usuário contaminadas ao longo dos caminhos do código até pontos de destino sensíveis, encontrando vulnerabilidades com taxas menores de falsos positivos do que o SAST puro. O IAST é particularmente eficaz em aplicações Java e .NET e integra-se naturalmente às execuções de testes funcionais.

Análise de composição de software (SCA)

Análise de composição de software (SCA) identifica bibliotecas de código aberto e dependências de terceiros em uma aplicação e verifica-as em bancos de dados de vulnerabilidades (NVD, OSV). Como as aplicações modernas podem incorporar centenas de dependências — muitas delas transitivas —, ferramentas SCA como OWASP Dependency-Check, Snyk e Renovate são essenciais para detectar CVEs conhecidas antes que os invasores as explorem na sua cadeia de fornecimento.

# OWASP Dependency-Check (scans project dependencies)
dependency-check --project myapp --scan ./target --format HTML

# Snyk CLI
snyk test  # finds vulnerabilities in package.json / requirements.txt
snyk monitor  # continuously monitors for new CVEs

Segurança nos pipelines de CI/CD

A integração de ferramentas de segurança aos pipelines de CI/CD garante que nenhum código chegue à produção sem passar pelos controles de segurança. Um pipeline típico de DevSecOps executa: SAST a cada commit, SCA quando há alterações nas dependências, análise de imagens de contêiner antes do envio ao registro, análise de IaC para Terraform/CloudFormation e DAST contra uma implantação de homologação. Verificações de segurança malsucedidas bloqueiam a compilação, promovendo uma cultura de segurança por padrão.

# GitHub Actions example — security gate in CI
jobs:
  security:
    steps:
      - uses: actions/checkout@v4
      - name: Run SAST
        run: semgrep --config=auto --error .
      - name: SCA check
        run: snyk test --severity-threshold=high
      - name: Container scan
        run: trivy image myapp:latest --exit-code 1

Práticas de revisão segura de código

As ferramentas automatizadas não substituem a revisão de código humana focada na lógica de segurança. A revisão por pares deve verificar se: as verificações de autenticação e autorização estão nos locais corretos; o tratamento de erros não expõe informações confidenciais; as funções criptográficas usam algoritmos e parâmetros aprovados; e a lógica de negócio não pode ser contornada. Os responsáveis pela segurança nas equipes de desenvolvimento — desenvolvedores com treinamento em segurança — fazem a ponte entre a equipe de segurança e a engenharia.

Verificação rápida

Teste sua compreensão dos conceitos de CompTIA Security+ (SY0-701) desta lição.

Recapitulação da lição

Nesta lição, você aprendeu que: o SDLC seguro integra a segurança a todas as fases do desenvolvimento, em vez de adicioná-la apenas no final; o SAST analisa o código sem executá-lo, enquanto o DAST testa aplicações em execução; e o SCA identifica dependências de código aberto vulneráveis, enquanto os controles de segurança de CI/CD aplicam automaticamente os resultados. A seguir, exploraremos serviços de diretório com LDAP e Active Directory.

Perguntas Frequentes

A aula “SDLC seguro e ferramentas SAST e DAST” é grátis?

Sim — o texto completo de “SDLC seguro e ferramentas SAST e DAST” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Security+ Academy, atualize para CoddyKit PRO. O curso de Security+ Academy inclui 4 aulas no total.

O que vou aprender em “SDLC seguro e ferramentas SAST e DAST”?

Integre a segurança ao ciclo de vida de desenvolvimento de software usando análise estática (SAST), análise dinâmica (DAST) e modelagem de ameaças desde as primeiras etapas do desenvolvimento. Você pratica Security+ Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Security+ Academy?

Nenhuma experiência prévia é necessária. Security+ Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “SDLC seguro e ferramentas SAST e DAST”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Security+ Academy?

Sim. Cada aula de Security+ Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Injeção de SQL e injeção de comandos
  2. Cross-site scripting (XSS) e CSRF
  3. Autenticação comprometida e desserialização insegura
  4. SDLC seguro e ferramentas SAST e DAST
← Voltar para Security+ Academy