Questão de Segurança da Informação — Testes de Segurança em Desenvolvimento (SAST e DAST) — INSTITUTO AOCP 2023
- Código
- qa541456
- Banca
- INSTITUTO AOCP
- Órgão
- MPE MS
- Ano
- 2023
- Cargo
- Ana ( )
- AValidação.
- BRegressão.
- CFusão.
- DTeste de estresse.
- EInjeção.
GabaritoB — Regressão.
Gabarito: letra B. Após corrigir vulnerabilidades no código, o procedimento adequado para garantir que as alterações não introduziram novos problemas de segurança é o teste de regressão, que reexecuta os testes existentes para verificar se as correções não quebraram funcionalidades ou criaram novas falhas. Esse conceito vem da engenharia de software e é amplamente aplicado no contexto de segurança da informação.
O teste de regressão é um tipo de teste de software que visa garantir que mudanças recentes no código (como correções de bugs ou vulnerabilidades) não afetaram negativamente as funcionalidades existentes. No contexto de segurança, ele é essencial porque uma correção mal implementada pode introduzir novas vulnerabilidades ou reabrir outras já corrigidas. Por exemplo, se um desenvolvedor corrige uma falha de injeção de SQL alterando a forma como as consultas são construídas, o teste de regressão reexecutará os casos de teste de segurança para confirmar que a correção não quebrou outras partes do sistema ou criou uma nova brecha.
A prática de testes de regressão está alinhada com o ciclo de desenvolvimento seguro, onde a segurança é integrada em todas as fases. Ferramentas como SAST (análise estática) e DAST (análise dinâmica) são frequentemente usadas nesse processo. O SAST analisa o código-fonte antes da execução, enquanto o DAST testa a aplicação em execução, simulando ataques. Após uma correção, rodar novamente essas ferramentas é uma forma de teste de regressão, garantindo que as alterações não introduziram novas vulnerabilidades.
A distinção entre os tipos de teste é crucial para responder corretamente. O teste de regressão foca em verificar se mudanças não quebraram o que já funcionava. Já a validação (alternativa A) verifica se o software atende aos requisitos do usuário, não especificamente se as correções introduziram novos problemas. O teste de estresse (alternativa D) avalia o comportamento do sistema sob condições extremas de carga, não a segurança após correções. A injeção (alternativa E) é uma técnica de ataque, não um procedimento de teste. A fusão (alternativa C) não é um termo padrão em testes de software.
A pegadinha desta questão está em confundir o teste de regressão com outros tipos de teste ou com técnicas de ataque. O candidato pode ser tentado a escolher "validação" por pensar que se trata de confirmar a correção, mas o termo técnico correto para reexecutar testes após uma mudança é "regressão". Guarde essa distinção: regressão = garantir que o que funcionava continua funcionando após alterações.
A validação é o processo de avaliar se o software atende aos requisitos e expectativas do usuário final. Ela não é específica para verificar se correções de segurança introduziram novos problemas. A validação responde à pergunta "estamos construindo o produto certo?", enquanto o teste de regressão responde "as mudanças quebram algo que já funcionava?".
O teste de regressão é exatamente o procedimento descrito no enunciado: após corrigir vulnerabilidades, reexecutar os testes para garantir que as alterações não causaram novos problemas de segurança. Ele é uma prática padrão em engenharia de software e segurança, assegurando que as correções não introduziram regressões (falhas em funcionalidades que antes funcionavam).
Fusão não é um termo reconhecido como procedimento de teste de segurança. Pode haver confusão com "merge" (mesclagem de código) ou com conceitos de outras áreas, mas não se aplica ao contexto de verificar se correções introduziram novos problemas de segurança.
O teste de estresse avalia o comportamento do sistema sob condições extremas de carga, como alto volume de usuários ou dados. Ele não é adequado para verificar se correções de segurança introduziram novas vulnerabilidades. O foco do teste de estresse é desempenho e estabilidade, não segurança pós-correção.
Injeção é uma técnica de ataque, como injeção de SQL ou de comandos, usada para explorar vulnerabilidades. Não é um procedimento de teste de segurança para verificar se correções introduziram novos problemas. A injeção é uma ameaça que os testes de segurança buscam identificar, não um método de verificação pós-correção.
A banca explora a confusão entre "validação" e "regressão". O candidato pode pensar que, após corrigir, basta validar a correção. Mas o termo técnico para reexecutar testes e garantir que nada quebrou é "regressão". Lembre-se: validação verifica se o produto atende aos requisitos; regressão verifica se mudanças não quebraram o que já funcionava.
Para questões sobre testes de segurança, associe: SAST = análise estática (antes da execução), DAST = análise dinâmica (em execução), regressão = reexecutar testes após mudanças. Se o enunciado mencionar "após correção" ou "garantir que não causou novos problemas", a resposta quase sempre será regressão.
Gabarito: letra B
Link permanente: /questoes/qa541456