Pular para o conteúdo principal

Questão de Segurança da Informação — Testes de Segurança em Desenvolvimento (SAST e DAST) — INSTITUTO AOCP 2023

Segurança da InformaçãoTestes de Segurança em Desenvolvimento (SAST e DAST)
Código
qa541437
Banca
INSTITUTO AOCP
Órgão
MPE MS
Ano
2023
Cargo
Ana ( )
Antes de ser homologado, um software corporativo será testado em busca de vulnerabilidades. Que tipo de ferramenta é a mais adequada, considerando que haverá acesso total ao código fonte do software?
  1. ADAST.
  2. BSAST.
  3. CFAST.
  4. DEDR.
  5. ECAST.
Revelar gabarito e comentário

GabaritoB — SAST.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Testes de Segurança em Desenvolvimento: SAST vs DAST

Gabarito: letra B. Quando há acesso total ao código-fonte, a ferramenta mais adequada é o SAST (Static Application Security Testing), pois realiza análise estática do código antes da execução, identificando vulnerabilidades sem precisar rodar o programa. O DAST, por outro lado, testa a aplicação em execução, simulando ataques externos, sem acesso ao código-fonte.

O SAST é uma abordagem de análise estática que examina o código-fonte, bytecode ou binário antes da execução, identificando vulnerabilidades sem a necessidade de rodar o programa. Ele é eficaz na detecção de falhas como injeção SQL, XSS e uso de bibliotecas vulneráveis diretamente no código. Seu principal benefício é permitir que os desenvolvedores encontrem e corrijam problemas cedo no ciclo de vida do software, reduzindo custos e riscos futuros. Ferramentas populares dessa categoria incluem SonarQube, Checkmarx e Veracode.

O DAST, por sua vez, realiza testes dinâmicos simulando ataques externos contra a aplicação em execução. Ele é útil para encontrar vulnerabilidades exploráveis, como falhas de autenticação e vazamento de dados, sem precisar acessar o código-fonte. Essa abordagem é essencial para validar a segurança de aplicações web e APIs, sendo complementada por ferramentas como OWASP ZAP, Burp Suite e Acunetix.

A distinção fundamental entre SAST e DAST está no momento e na forma de análise: o SAST analisa o código em repouso (estático), enquanto o DAST analisa a aplicação em funcionamento (dinâmico). Essa diferença é crucial para escolher a ferramenta certa conforme o contexto. Se a questão mencionar "teste de segurança antes da execução", pense em SAST; se falar em "simular ataques em uma aplicação já implantada", é DAST.

A banca explora exatamente essa confusão: o candidato pode associar "teste de vulnerabilidades" a DAST, mas o acesso total ao código-fonte é o gatilho para SAST. Guarde a fronteira: acesso ao código → SAST; aplicação em execução → DAST.

Critério

SAST

DAST

Momento da análise

Estático (antes da execução)

Dinâmico (aplicação em execução)

Acesso ao código-fonte

Necessário

Não requer

Tipo de teste

Análise do código em repouso

Simulação de ataques externos

Exemplos de ferramentas

SonarQube, Checkmarx, Veracode

OWASP ZAP, Burp Suite, Acunetix

1SAST (código-fonte)
Análise estática
Antes da execução
Detecta SQLi, XSS, libs vulneráveis
2DAST (aplicação em execução)
Simula ataques externos
Sem acesso ao código
Detecta falhas de autenticação
3Outros
IAST (instrumentação)
RASP (proteção em runtime)
Testes de segurança
LEVELsoulevel.com.br
Testes de segurança: SAST (código-fonte) (Análise estática, Antes da execução, Detecta SQLi, XSS, libs vulneráveis); DAST (aplicação em execução) (Simula ataques externos, Sem acesso ao código, Detecta falhas de autenticação); Outros (IAST (instrumentação), RASP (proteção em runtime))

Alternativa A — ❌ Incorreta

O DAST (Dynamic Application Security Testing) testa a aplicação em execução, simulando ataques externos, e não requer acesso ao código-fonte. Como o enunciado garante acesso total ao código, o DAST não é a ferramenta mais adequada para aproveitar essa condição.

Alternativa B — ✅ Correta ⟵ GABARITO

O SAST (Static Application Security Testing) é a ferramenta ideal quando há acesso ao código-fonte, pois realiza análise estática do código antes da execução, identificando vulnerabilidades como injeção SQL, XSS e uso de bibliotecas vulneráveis. Ferramentas como SonarQube, Checkmarx e Veracode são exemplos dessa categoria.

Alternativa C — ❌ Incorreta

FAST não é uma sigla reconhecida no contexto de testes de segurança de aplicações. As categorias consagradas são SAST, DAST, IAST e RASP. FAST pode ser confundida com ferramentas de teste de performance, mas não é uma abordagem de segurança de código.

Alternativa D — ❌ Incorreta

EDR (Endpoint Detection and Response) é uma solução de segurança para endpoints (estações de trabalho, servidores), focada em detectar e responder a ameaças em tempo real. Não é uma ferramenta de teste de segurança de software em desenvolvimento.

Alternativa E — ❌ Incorreta

CAST não é uma sigla padrão para testes de segurança de aplicações. Pode ser confundida com ferramentas de análise estática, mas não é uma categoria reconhecida como SAST, DAST, IAST ou RASP.

NÃO CAIA NESSA!

A banca tenta induzir o candidato a escolher DAST por associar "teste de vulnerabilidades" a ataques simulados. Mas o acesso total ao código-fonte é o diferencial: isso permite análise estática (SAST), que examina o código sem executá-lo. Lembre-se: código disponível → SAST; aplicação rodando → DAST.

PEGA ESSA DICA!

Para diferenciar na prova, use o gatilho: se a questão menciona "acesso ao código-fonte", "análise estática", "antes da execução", marque SAST. Se menciona "aplicação em execução", "simular ataques", "teste dinâmico", marque DAST. Essa distinção é recorrente em concursos de TI.

Gabarito: letra B

Link permanente: /questoes/qa541437