Questão nº 42
Questão de Tecnologia da Informação · FGV TRF1 2024 (nº 42)
Walace está fazendo uma verificação de segurança da empresa X,
onde trabalha na busca de alguma falha no controle de acesso
das aplicações. Ele está seguindo o modelo OWASP, que indica
algumas ferramentas que auxiliam nessa tarefa. Walace
identificou adulteração do JSON Web Token (JWT) de controle de
acesso para elevação de privilégios na aplicação.
Com isso, Walace teve a necessidade de implementar
rapidamente a ação de prevenção:
- Ainvalidar JSON Web Tokens (JWT) após o logout; (alternativa correta)
- Bcorrigir ou atualizar todos os processadores e bibliotecas de XML usados pela aplicação;
- Cgarantir que todos os dados em repouso sejam encriptados;
- Ddesativar a cache para respostas que contenham dados sensíveis;
- Erestringir e monitorizar o tráfego de entrada e saída dos contêineres e servidores que realizam desserialização.
Resposta comentada
Gabarito Alternativa A
O conceito-chave aqui é Controle de Acesso Quebrado (Broken Access Control), uma das categorias do OWASP Top 10. Isso significa que o sistema não está verificando corretamente quem pode acessar o quê, permitindo que usuários não autorizados (ou usuários com privilégios menores) realizem ações que não deveriam. A adulteração de um JWT para elevar privilégios é um exemplo direto dessa falha.
- (A) Correta: Invalidar JSON Web Tokens (JWT) após o logout é uma ação fundamental de controle de acesso e gerenciamento de sessão. Se um JWT for adulterado e usado para elevação de privilégios, significa que o sistema falhou em validar sua integridade ou as permissões contidas nele. Embora a correção primária seja fortalecer a validação do token (assinatura e claims), invalidar o JWT após o logout garante que, mesmo que um token tenha sido comprometido ou adulterado, ele não poderá ser reutilizado após o usuário encerrar sua sessão, limitando o tempo de exposição e prevenindo a persistência do acesso indevido.
- (B) Incorreta: Corrigir ou atualizar processadores e bibliotecas de XML é uma medida para vulnerabilidades relacionadas a XML (como XXE), que não é o caso aqui, pois o problema é com JWT (JSON Web Token).
- (C) Incorreta: Encriptar dados em repouso (dados armazenados) protege contra vazamento de dados em caso de acesso físico ou lógico ao armazenamento, mas não resolve a adulteração de tokens de controle de acesso que são usados em tempo real.
- (D) Incorreta: Desativar a cache para respostas com dados sensíveis previne o vazamento de informações confidenciais através do cache do navegador ou de proxies, mas não aborda a adulteração de um JWT para elevação de privilégios.
- (E) Incorreta: Restringir e monitorar o tráfego de desserialização é uma medida para prevenir ataques de Desserialização Insegura (Insecure Deserialization), que ocorre quando dados não confiáveis são desserializados e podem levar à execução de código remoto. Embora JWTs sejam parseados (que é uma forma de desserialização de JSON), a vulnerabilidade descrita é a adulteração do token para elevação de privilégios, não uma falha na desserialização que leva à execução de código. A armadilha aqui é que o termo "desserialização" pode parecer relacionado à leitura do JWT, mas a vulnerabilidade de "Desserialização Insegura" no OWASP Top 10 foca em riscos mais amplos e severos do que a simples validação de um JSON.
Fonte: FGV TRF1 2024 Analista Judiciário - Segurança da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.