Questão de Segurança da Informação — Testes de Segurança em Desenvolvimento (SAST e DAST) — INSTITUTO AOCP 2023
- Código
- qa541437
- Banca
- INSTITUTO AOCP
- Órgão
- MPE MS
- Ano
- 2023
- Cargo
- Ana ( )
- ADAST.
- BSAST.
- CFAST.
- DEDR.
- ECAST.
GabaritoB — SAST.
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 |
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.
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.
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.
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.
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.
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.
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