Questão de Engenharia de Software — Desenvolvimento de Software — FGV 2024
Engenharia de Software›Desenvolvimento de Software
Código
fg084710
Banca
FGV
Órgão
EPE
Ano
2024
Nível
Superior
Cargo
Analista de Gestão Corporativa - Tecnologia da Informação (Soluções)
Desenvolvimento seguro é um conjunto de práticas que visam incorporar a segurança em todas as fases do ciclo de vida do desenvolvimento de software. As técnicas de análise de segurança de aplicações desempenham um papel crucial na identificação e mitigação de vulnerabilidades.Assinale a opção que indica a técnica usada para analisar o código-fonte de uma aplicação em busca de vulnerabilidades, sem executar essa aplicação.
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 de Aplicações: SAST vs. Outras Técnicas
Gabarito: letra B. A técnica que analisa o código-fonte sem executar a aplicação é o SAST (Static Application Security Testing). O DAST, IAST, Black Box e Fuzz Testing dependem da execução da aplicação para detectar vulnerabilidades, o que os torna inadequados para o cenário descrito.
A questão cobra a distinção fundamental entre análise estática e dinâmica. O SAST examina o código em repouso (estático), enquanto as demais técnicas exigem que a aplicação esteja em execução ou que interajam com ela.
Técnica
Descrição
Executa a Aplicação?
Analisa Código-Fonte?
SAST (Static Application Security Testing)
Analisa código-fonte, bytecode ou binário sem executar a aplicação
Não
Sim
DAST (Dynamic Application Security Testing)
Testa a aplicação em execução, simulando ataques externos
Sim
Não
IAST (Interactive Application Security Testing)
Combina elementos estáticos e dinâmicos, geralmente com instrumentação em execução
Sim
Parcialmente
Black Box Testing
Testa a aplicação em funcionamento sem conhecimento do código interno
Sim
Não
Fuzz Testing
Insere dados aleatórios/malformados na aplicação em execução para provocar falhas
Sim
Não
Testes de segurança
1Estáticos (sem executar)
SAST (código-fonte)
2Dinâmicos (com execução)
DAST (aplicação rodando)
IAST (instrumentada)
Fuzz (dados aleatórios)
Black Box (caixa-preta)
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
O DAST (Dynamic Application Security Testing) testa a aplicação em execução, simulando ataques externos. Não analisa o código-fonte sem executá-lo.
Alternativa B — ✅ Correta ⟵ GABARITO
O SAST (Static Application Security Testing) analisa o código-fonte, bytecode ou binário da aplicação sem precisar executá-la. Ferramentas como SonarQube (com plugins de segurança) e Checkmarx realizam essa varredura estática.
Alternativa C — ❌ Incorreta
O IAST (Interactive Application Security Testing) combina elementos estáticos e dinâmicos, mas geralmente requer a execução da aplicação com instrumentação. Não é exclusivamente estático.
Alternativa D — ❌ Incorreta
Black Box Testing é um método de teste que ignora o código interno (caixa-preta) e tipicamente é executado contra a aplicação em funcionamento. Não analisa o código-fonte.
Alternativa E — ❌ Incorreta
Fuzz Testing (ou fuzzing) insere dados aleatórios ou malformados na aplicação em execução para provocar falhas. É uma técnica dinâmica.
NÃO CAIA NESSA!
A banca explora a confusão entre SAST e DAST, que são siglas muito parecidas e opostas. Lembre-se: S de Static (código parado) vs. D de Dynamic (aplicação rodando). O SAST é como uma auditoria de código sem ligar o motor; o DAST é como um teste de colisão com o carro em movimento.