Pular para o conteúdo principal

Questão de Engenharia de Software — Metodologia de desenvolvimento de software — FGV 2022

Engenharia de SoftwareMetodologia de desenvolvimento de software
Código
fg047181
Banca
FGV
Órgão
CGU
Ano
2022
Nível
Superior
Cargo
Auditor Federal de Finanças e Controle - Tecnologia da Informação
Considere o desenvolvimento de uma aplicação de tratamento de dados sensíveis. O time tem experiência com desenvolvimento seguro e elabora uma lista de verificação com foco em segurança para ser utilizada na revisão de código manual que ocorre antes de um commit. Essa lista de verificação trata exclusivamente da aplicação de boas práticas de validação dos dados de entrada das unidades do sistema.Deveria fazer parte dessa lista verificar se:
  1. Atodo acesso ao banco utiliza credenciais seguras;
  2. Btodos os dados são validados após redirecionamentos;
  3. Ctodos os dados provenientes de usuários são validados após o processamento;
  4. Dtoda operação de registro (logging) é realizada por aplicações de terceiros (Third Party Applications);
  5. Eapenas falhas de validação de autenticação e autorização causam rejeição completa dos dados de entrada.
Revelar gabarito e comentário

GabaritoB — todos os dados são validados após redirecionamentos;

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”.

Validação de dados de entrada em revisão de código seguro

Gabarito: letra B. Em uma lista de verificação de segurança para validação de dados de entrada, deve-se verificar se todos os dados são validados após redirecionamentos. Redirecionamentos podem ser explorados para injetar dados maliciosos (ex.: redirecionamento aberto), e validar após esse ponto garante que a entrada não foi adulterada durante o fluxo. As demais alternativas fogem do escopo de validação de entrada ou apresentam práticas incorretas.

  1. 1Entrada do usuário
  2. 2Redirecionamento
  3. 3Validar após redirecionamento
  4. 4Processamento seguro
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

"Todo acesso ao banco utiliza credenciais seguras" é uma prática de segurança importante, mas trata de gerenciamento de credenciais e autenticação, não de validação de dados de entrada. A lista de verificação especificada no enunciado é exclusivamente sobre validação de entrada, portanto está fora do escopo.

Alternativa B — ✅ Correta ⟵ GABARITO

"Todos os dados são validados após redirecionamentos" está correta porque redirecionamentos (como redirecionamento HTTP ou interno) podem ser um vetor de ataque: um invasor pode manipular parâmetros de redirecionamento para injetar dados maliciosos que contornem a validação inicial. Validar após redirecionamentos garante que a entrada seja checada novamente em cada estágio do processamento, seguindo o princípio de defesa em profundidade. É uma boa prática reconhecida em desenvolvimento seguro (ex.: OWASP, SDL da Microsoft).

Alternativa C — ❌ Incorreta

"Todos os dados provenientes de usuários são validados após o processamento" — a validação deve ocorrer antes do processamento (sanitização de entrada), não depois. Validar após processar os dados expõe o sistema a ataques como injeção (SQL, XSS) porque os dados maliciosos já teriam sido processados. A frase correta seria "antes do processamento".

Alternativa D — ❌ Incorreta

"Toda operação de registro (logging) é realizada por aplicações de terceiros" não tem relação com validação de dados de entrada. Logging por terceiros é uma questão de auditoria e confiabilidade, não de verificação de entrada. Totalmente fora do escopo da lista.

Alternativa E — ❌ Incorreta

"Apenas falhas de validação de autenticação e autorização causam rejeição completa dos dados de entrada" é restritiva demais. A validação de entrada deve rejeitar dados que falhem em qualquer tipo de validação (tipo, tamanho, formato, range, etc.), não apenas autenticação/autorização. Ignorar outras falhas de validação pode permitir ataques como buffer overflow ou injeção.

NÃO CAIA NESSA!

A banca cobra o momento correto da validação. A alternativa C inverte o momento (pós-processamento em vez de pré-processamento), e a alternativa E tenta limitar indevidamente as causas de rejeição. Fique atento aos verbos e advérbios: "após" vs. "antes", "apenas" vs. "todas".

Gabarito: letra B.

Link permanente: /questoes/fg047181