Um website é um conjunto de arquivos HTML conectados através de links de hipertexto, armazenados em um servidor web, ou seja, um computador permanentemente ligado à Internet. Com o avanço das tecnologias, o uso dos websites tornou-se parte do nosso dia a dia. Nesse contexto, a segurança dos websites passou a ser um dos principais requisitos para os utilizadores, programadores e para as organizações. Os utilizadores mal intencionados estão a utilizar métodos cada vez mais sofisticados para comprometer a segurança dos websites e uma das técnicas utilizadas por estes utilizadores mal intencionados é o clickjacking.
O clickjacking, também conhecido como um "UI redress attack", é uma técnica maliciosa cujo objetivo é enganar um utilizador web para selecionar algo diferente do que o utilizador percebe que está a selecionar, revelando assim informações confidenciais. O clickjacking permite que um hacker insira uma camada invisível no website, entre seus comandos e o que o utilizador vê no ecrã do dispositivo.
Um dos exemplos mais conhecidos do clickjacking foi um ataque contra a página de definições de plugins da Adobe Flash. Ao carregar esta página num iframe invisível, um intruso poderia enganar um utilizador a alterar as definições de segurança do Flash, permitindo que qualquer animação Flash utilizasse o microfone e a câmara do computador.
De acordo com a natureza do ataque, o clickjacking possui vários tipos:
É difícil reconhecer o clickjacking porque é muitas vezes invisível, contudo, pode conter elementos que revelam sua presença ao utilizador. Por exemplo, alguns anúncios e chamadas com erros ortográficos podem ser indício de que há uma tentativa de roubo de clique. Nas redes sociais, o clickjacking pode ser reconhecido quando alguém compartilha um conteúdo estranho, geralmente com um link de acesso.
Devem ser realizados testes para determinar se as páginas do site são vulneráveis a ataques deste tipo de vetor. Os pentesters podem investigar se uma página-alvo pode ser carregada num iframe, criando uma página web simples que inclui um iframe que contenha a página alvo. Um exemplo de código HTML para criar esta página web de teste é a seguir apresentado:
Há três métodos que podem ser usados para se defender contra clickjacking:
- Impedir que o navegador carregue a página num iframe utilizando os cabeçalhos HTTP (X-Frame-Options ou Política de Segurança de Conteúdos- CSP).
- Impedir que os cookies de sessão sejam incluídos quando a página é carregada num iframe usando o atributo de cookie SameSite.
- Implementação do código JavaScript na página para tentar evitar que seja carregado num iframe (conhecido como "frame-buster").
Estes métodos são todos independentes uns dos outros, e sempre que possível mais de um deles devem ser implementados de modo a fornecer a defesa em profundidade.
A ação do clickjacking pode causar vários danos, visto que através de um clique podemos ser infetados por diferentes malwares e até mesmo permitir que terceiros façam uso da câmara ou do microfone do nosso dispositivo. Nem mesmo o nosso email e as nossas redes sociais estão imunes a este tipo de ataque.
Por: