Questão nº 57

Questão de Tecnologia da Informação · FCC DPE-RS 2017 (nº 57)

FCC2017Analista - Apoio Especializado (TI - Segurança da Informação)Tecnologia da Informação
Gabarito: Ever comentário ↓

Nas aplicações web, as falhas de SQL Injection são introduzidas quando os desenvolvedores de software criam consultas dinâmicas a banco de dados que incluem entrada fornecida pelo usuário. Técnicas eficazes para evitar vulnerabilidades SQL Injection em aplicações web incluem o uso de

Resposta comentada

Gabarito Alternativa E

As falhas de SQL Injection ocorrem quando a entrada do usuário é tratada como parte do código SQL, permitindo que um atacante manipule a consulta ao banco de dados. Para evitar isso, é crucial que a entrada do usuário seja sempre tratada como dados, e não como código.

  • (A) Incorreta: Tokens imprevisíveis são usados para prevenir ataques de CSRF (Cross-Site Request Forgery), garantindo que a requisição venha de uma sessão legítima, e não para mitigar SQL Injection.
  • (B) Incorreta: A referência direta a objetos por usuário ou sessão, se não for bem controlada, pode levar a vulnerabilidades de IDOR (Insecure Direct Object References), onde um usuário pode acessar recursos não autorizados, mas não é uma técnica de prevenção de SQL Injection.
  • (C) Incorreta: "Buffer procedures" não é um termo padrão para prevenção de SQL Injection. "Stack SQL statements" sugere a concatenação de comandos SQL, o que é a causa da SQL Injection, não a solução.
  • (D) Incorreta: "Direct statements" (consultas SQL construídas por concatenação de strings) são a principal causa de SQL Injection. Embora "design patterns" e "frameworks" possam incorporar boas práticas de segurança, eles não são as técnicas específicas de prevenção em si; são conceitos mais amplos. Armadilha da banca: Esta alternativa é tentadora porque frameworks e bons designs ajudam na segurança, mas a inclusão de "direct statements" (que são a raiz do problema) e a generalidade dos outros termos a tornam incorreta como técnica específica.
  • (E) Correta: Prepared statements (consultas parametrizadas) e stored procedures (procedimentos armazenados) são técnicas eficazes porque separam o código SQL dos dados fornecidos pelo usuário. Isso garante que a entrada do usuário seja tratada apenas como valor, e não como parte da lógica da consulta, impedindo a injeção de código malicioso.

Fonte: FCC DPE-RS 2017 Analista - Apoio Especializado (TI - Segurança da Informação) (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho