Questão nº 71
Questão de Tecnologia da Informação · FGV CGE-SP 2025 (nº 71)
Considerando técnicas de testes de segurança em aplicações, analise as afirmativas a seguir.
I. SAST (Static Application Security Testing) pode identificar vulnerabilidades de lógica de negócio e falhas de autorização baseadas em contexto de execução, sendo mais efetivo que DAST para detectar quebras de controle de acesso horizontal (IDOR - Insecure Direct Object Reference).
II. IAST (Interactive Application Security Testing) utiliza instrumentação de código para correlacionar entrada de dados com fluxo de execução em runtime, reduzindo falsos positivos em comparação com SAST puro, mas introduzindo overhead de performance que pode inviabilizar uso em ambientes de produção.
III. Fuzzing (Fuzz Testing) é técnica eficaz para identificar vulnerabilidades de corrupção de memória (buffer overflow, use-after-free) em aplicações compiladas, mas tem limitação em detectar falhas de lógica de negócio que requerem sequências específicas de operações válidas.
IV. DAST (Dynamic Application Security Testing) consegue identificar todas as rotas e endpoints de uma API REST automaticamente por meio de spidering, sem necessidade de documentação OpenAPI/Swagger, sendo mais abrangente em cobertura de código que SAST.
Está correto o que se afirma em
- AI e II, apenas.
- BI e IV, apenas.
- CII e III, apenas. (alternativa correta)
- DII e IV, apenas.
- EIII e IV, apenas.
Resposta comentada
Gabarito Alternativa C
As técnicas de testes de segurança em aplicações são métodos usados para identificar vulnerabilidades em softwares. Elas analisam o código ou o comportamento da aplicação em execução para encontrar falhas antes que sejam exploradas por atacantes.
- (A) Incorreta: SAST (Static Application Security Testing) analisa o código-fonte sem executá-lo, sendo ineficaz para identificar vulnerabilidades de lógica de negócio e falhas de autorização baseadas em contexto de execução, como IDOR (Insecure Direct Object Reference), que exigem a aplicação em funcionamento.
- (C) Correta: IAST (Interactive Application Security Testing) instrumenta o código e o executa, correlacionando entradas e fluxos em tempo real, o que reduz falsos positivos. Contudo, essa instrumentação gera um overhead de performance que geralmente inviabiliza seu uso em ambientes de produção.
- (C) Correta: Fuzzing (Fuzz Testing) é altamente eficaz para encontrar vulnerabilidades de corrupção de memória (ex: buffer overflow) em aplicações compiladas, pois envia dados inesperados. No entanto, é limitado para falhas de lógica de negócio, que dependem de sequências válidas e específicas de operações.
- (D) Incorreta: DAST (Dynamic Application Security Testing) utiliza spidering para explorar aplicações, mas para APIs REST complexas, a documentação OpenAPI/Swagger é frequentemente essencial para descobrir todas as rotas e endpoints. SAST, por analisar o código-fonte completo, tem uma cobertura de código mais abrangente que DAST, que testa apenas o código executado.
Fonte: FGV CGE-SP 2025 Auditor Estadual de Controle - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.