Engenharia Múltipla Escolha

Em um ambiente tão aberto quanto a internet, a possibilidade de sofrer algum novo tipo de ataque é maior a cada dia. Para dificultar a ação dos invasores, alguns artifícios, como criptografia, autenticação e autorização, devem sempre ser utilizados nos sistemas web. Avalie as afirmações a seguir. I. O mecanismo de CORS bloqueia o acesso a recursos entre domínios diferentes, em que o padrão é a permissão de acesso. II. Na autenticação direta via protocolo HTTP, no modo básico, o login e a senha são fornecidos sem criptografia, apenas com codificação Base64. III. As senhas devem ser armazenadas com criptografia destrutiva, para que ninguém seja capaz de recuperar. IV. Para que uma entidade Sequelize armazene a senha criptografada, de forma automática, a criptografia deve ocorrer nos hooks afterUpdate e afterCreate. Considerando que V indica uma afirmação verdadeira e F uma afirmação falsa, as assertivas I, II, III e IV são respectivamente:

Em um ambiente tão aberto quanto a internet, a possibilidade de sofrer algum novo tipo de ataque é maior a cada dia. Para dificultar a ação dos invasores, alguns artifícios, como criptografia, autenticação e autorização, devem sempre ser utilizados nos sistemas web. Avalie as afirmações a seguir. I. O mecanismo de CORS bloqueia o acesso a recursos entre domínios diferentes, em que o padrão é a permissão de acesso. II. Na autenticação direta via protocolo HTTP, no modo básico, o login e a senha são fornecidos sem criptografia, apenas com codificação Base64. III. As senhas devem ser armazenadas com criptografia destrutiva, para que ninguém seja capaz de recuperar. IV. Para que uma entidade Sequelize armazene a senha criptografada, de forma automática, a criptografia deve ocorrer nos hooks afterUpdate e afterCreate. Considerando que V indica uma afirmação verdadeira e F uma afirmação falsa, as assertivas I, II, III e IV são respectivamente:

  1. F, V, V, F
  2. V, V, V, V
  3. F, F, V, V
  4. V, F, F, F
  5. V, F, V, F

Resolução completa

Explicação passo a passo

A
Alternativa A

Alternativa A - F, V, V, F

Análise Detalhada

A questão aborda conceitos fundamentais de segurança web, autenticação e manipulação de banco de dados com Node.js/Sequelize. Vamos analisar cada afirmação individualmente:

I. Mecanismo de CORS

Afirmação: "O mecanismo de CORS bloqueia o acesso a recursos entre domínios diferentes, em que o padrão é a permissão de acesso."
Status: FALSO (F)

  • Explicação: O CORS (Cross-Origin Resource Sharing) é um mecanismo de segurança baseado na Same-Origin Policy.
  • Padrão: O comportamento padrão dos navegadores modernos é bloquear requisições entre domínios (origens) diferentes por segurança.
  • Correção: Para permitir o acesso, o servidor deve configurar explicitamente cabeçalhos (headers) específicos. Ou seja, o padrão é o bloqueio, não a permissão.

II. Autenticação HTTP Básica

Afirmação: "Na autenticação direta via protocolo HTTP, no modo básico, o login e a senha são fornecidos sem criptografia, apenas com codificação Base64."
Status: VERDADEIRO (V)

  • Explicação: O HTTP Basic Authentication envia as credenciais na header Authorization formatadas como Basic base64(user:pass).
  • Codificação vs Criptografia: O Base64 é uma técnica de codificação binária para transmissão de dados, não é criptografia. Ela pode ser revertida instantaneamente sem chave secreta.
  • Segurança: Para garantir a privacidade dessas credenciais, é obrigatório o uso de HTTPS (SSL/TLS), pois o protocolo HTTP em si não protege os dados contra interceptação.

III. Armazenamento de Senhas (Bcrypt)

Afirmação: "As senhas devem ser armazenadas com criptografia destrutiva, para que ninguém seja capaz de recuperar, e a biblioteca bcrypt efetua esse tipo de criptografia através de seu método hash."
Status: VERDADEIRO (V)

  • Contexto: Embora tecnicamente o termo correto seja Hashing (não criptografia reversível), a questão utiliza "criptografia destrutiva" para descrever a propriedade de irreversibilidade.
  • Função: O objetivo é impedir que, caso o banco de dados seja comprometido, as senhas originais possam ser recuperadas.
  • Ferramenta: O bcrypt é uma função de hash adaptativa projetada especificamente para senhas, tornando computacionalmente inviável o ataque de força bruta.

IV. Hooks do Sequelize

Afirmação: "Para que uma entidade Sequelize armazene a senha criptografada, de forma automática, a criptografia deve ocorrer nos hooks afterUpdate e afterCreate."
Status: FALSO (F)

  • Lógica: Os hooks afterCreate e afterUpdate são executados após que o registro já foi gravado no banco de dados.
  • Erro: Se a criptografia for feita nesses momentos, a senha já estará salva em texto plano no banco, violando a segurança.
  • Correção: A criptografia deve ocorrer nos hooks beforeCreate e beforeUpdate, garantindo que o dado esteja transformado antes da operação de escrita no banco.

Conclusão

A sequência correta das assertivas é:

  1. F (O padrão é bloqueio, não permissão)
  2. V (Base64 é codificação, não criptografia)
  3. V (Hash é irreversível, ideal para senhas)
  4. F (Deve ser before, não after)

Portanto, a alternativa correta é F, V, V, F.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Engenharia

Ver mais Engenharia resolvidas

Tem outra questão de Engenharia?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.