← Questões de Infraestrutura de TI / Redes

Infraestrutura de TI / Redes · FGV · 2023

Questão comentada de Infraestrutura de TI / Redes

O analista João administra o AuthServer, o servidor de autorização OAuth 2.0 do TJSE. João determinou que todos os clientes utilizem o parâmetro state nas requisições de autorização feitas ao AuthServer. Os clientes devem atribuir ao state um valor não adivinhável a cada nova requisição de autorização. Os clientes devem ainda validar se o state retornado pelo servidor após a autenticação condiz com o state enviado na requisição. De acordo com as especificações do protocolo OAuth 2.0, João estará mitigando diretamente o ataque malicioso:

Gabarito: E

No OAuth 2.0, o parâmetro state funciona como um “selo” de correlação entre a requisição de autorização e a resposta recebida depois. A ideia é simples: o cliente gera um valor aleatório, difícil de adivinhar, envia junto com a requisição e confere se o mesmo valor volta na resposta. Se não bater, a resposta pode ter sido forjada ou desviada no caminho. Esse cuidado existe principalmente para evitar ataques de CSRF, que tentam induzir o navegador da vítima a aceitar uma resposta de autorização que não foi iniciada por ela. Em outras palavras, o state ajuda a garantir que a resposta do AuthServer pertence àquela tentativa legítima de login/autorização feita pelo próprio cliente. A própria especificação do OAuth 2.0 recomenda o uso de state para mitigar CSRF em fluxos de autorização. Em provas, isso costuma aparecer de forma bem direta: se o enunciado fala em valor não adivinhável, enviado na requisição e validado no retorno, pense em proteção contra CSRF. Por isso, o gabarito é a letra E. Não é um enfeite do protocolo, é um mecanismo de amarração entre ida e volta da autorização, evitando que alguém “embreve” a resposta no lugar do usuário legítimo.

Continue treinando

Questões relacionadas