Clickjacking (ou UI redressing attack) é uma das formas de ataques perigosos em aplicações Web. Assinale a opção que descreve uma forma de proteção, mesmo parcial, contra clickjacking.
- A)A aplicação deve fazer uso e checagem de tokens aleatórios nos formulários.
Errada, porque tokens aleatórios em formulários ajudam mais contra CSRF, não contra o truque visual do clickjacking.
- B)O lado servidor da aplicação deve fazer uso do cabeçalho HTTP X-Frame-Options com a opção DENY.
Certa, pois o cabeçalho X-Frame-Options com DENY impede que a página seja carregada em frames, dificultando a técnica de clickjacking.
- C)Cookies usados pela aplicação devem ser criados com a opção Secure.
Errada, porque a opção Secure nos cookies protege o envio apenas por HTTPS, mas não evita a sobreposição maliciosa da interface.
- D)Entradas de dados de usuários na aplicação devem ser filtradas para evitar o uso de comandos SQL.
Errada, pois filtragem para evitar SQL injection trata de ataques ao banco de dados, não de enganar cliques na tela.
- E)O lado cliente da aplicação deve evitar o redirecionamento de páginas para o protocolo HTTP não seguro.
Errada, porque evitar HTTP inseguro é uma boa prática geral, mas não resolve o problema específico de UI redressing.
Gabarito: B
Clickjacking, ou UI redressing, acontece quando o usuário acha que está clicando em uma coisa, mas na verdade está acionando outra, geralmente porque a página legítima foi colocada dentro de um frame invisível ou malicioso. O golpe vive de enganar a interface, não de invadir senha, então as defesas precisam impedir que sua página seja exibida dentro de quadros de terceiros. Por isso, uma proteção clássica é o cabeçalho HTTP X-Frame-Options, que pode ser configurado com DENY para bloquear totalmente o carregamento da página em frames, ou com SAMEORIGIN em cenários mais restritos. Em versões mais modernas, também se usa a Content-Security-Policy com a diretiva frame-ancestors, mas o ponto da questão está no mecanismo tradicional cobrado em prova. O gabarito é a letra B porque o cabeçalho X-Frame-Options com DENY impede que a página seja embutida em iframe/frame, reduzindo o risco de clickjacking. A lógica é simples: se o atacante não consegue colocar sua página dentro de uma moldura invisível, fica muito mais difícil enganar o clique do usuário. Em segurança web, isso é uma defesa de camada de interface, não de validação de dados ou criptografia de sessão. Repare que token aleatório em formulário, cookies Secure, filtro de SQL e bloqueio de HTTP não atacam o problema central do clickjacking. Eles podem ser importantes em outros contextos, mas aqui o vilão é a manipulação visual da interface. Em prova, quando aparecer UI redressing, pense imediatamente em frame-busting, X-Frame-Options e CSP frame-ancestors.