Esta é a segunda parte de uma
série de 3 posts sobre HTML5. Veja a primeira parte: HTML - O Que É
Bom.
Iniciamos esta série vendo algumas
dos novos recursos que vão melhorar o modo como interagimos com a
Web.
Neste post, veremos como alguns
recursos do HTML5 podem ser utilizados por hackers. Este post não
tem a pretensão de trazer uma lista completa, caso você se
interesse por mais detalhes veja o próximo post
sobre ataques HTML5.
Na lista abaixo, você encontrará 5
novos ataques possibilitados pelos novos recursos do HTML5. As
ameaças não estão listadas em qualquer ordem:
- 1. Clickjacking
facilitado: O clickjacking, ou sequestro de cliques, não é
por si só novo. Esse tipo de ataque busca roubar cliques do botão
do mouse da vítima e redirecioná-los a uma página especificada pelo
hacker, cujo objetivo é fazer com que o usuário clique em um link
oculto sem que perceba.
Atualmente, uma das melhores defesas no nível do servidor é algo
chamado Framekilling. Basicamente, o site afetado pode
usar JavaScript para verificar se um iframe está sendo executado e,
em caso afirmativo, negar a exibição. Esta técnica já é utilizada
em sites como o Facebook, Gmail e outros.
Contudo, o HTML5 traz um novo atributo chamado "sandbox" ao iframe,
impedindo que o site execute o JavaScript. Em muitos casos, isso
leva a uma configuração mais segura, porém desabilita a melhor
defesa contra o clickjacking.
- 2. Varredura de Porta
utilizando Solicitações de Origem Cruzada ou WebSockets:
Com HTML5, navegadores agora podem se conectar a qualquer endereço
IP ou site em (praticamente) qualquer porta. Apesar de não ser
possível ler a resposta dessa conexão a não ser que isso seja
especificamente permitido pelo site, pesquisadores já demonstraram
que a quantidade de tempo que a requisição leva pode ser utilizada
para determinar se a porta está aberta ou fechada. Isso permite que
um criminoso realize uma varredura de portas da rede local da
vítima diretamente do navegador.
- 3. Engenharia Social com
Notificações Web: Mencionamos notificações web em nosso
último post sobre os novos recursos que o HTML5 traz. Estes
pop-ups, que aparecem fora da área do navegador, podem ser
completamente customizados com código HTML. Enquanto isso permite
boas possibilidades de interação, isso também pode ser uma boa
ferramenta para ataques de engenharia social, tais como phishing ou
FAKEAV. A figura abaixo dá uma ideia do que criminosos podem fazer
com esse novo recurso:
|

Figura 1. Exemplo de
truque de engenharia social feito com HTML5
|
- 4. Rastreamento de vítimas
com Geolocalização: Geolocalização é um dos recursos de
maior repercussão no HTML5. Como medida de segurança e privacidade,
um site deve sempre pedir a permissão do usuário antes de acessar
informação de localização. Contudo, como visto anteriormente em
recursos como o controle de usuário do Vista, a permissão e
aplicativos do Android, e certificados HTTPS inválidos - a
segurança baseada na decisão do usuário raramente funciona. Uma vez
que a permissão é concedida, além de sua localização, o site pode
rastrear o usuário em tempo real conforme ele se movimenta.
- 5. Adulteração de
Formulários: Outro novo recurso permite que um criminoso
que tenha injetado código JavaScript nem um site (como de um ataque
XSS, por exemplo) altere o comportamento de formulários na página.
Por exemplo, um criminoso pode alterar um formulário benigno de uma
loja online para enviar conteúdo para a página de compras, ou
alterar uma página de login para enviar as credenciais do usuário
para o site do criminoso.
Estas são apenas algumas das
fantásticas possibilidades do HTML5, mas existem várias
demonstrações na web que valem uma olhada. Contudo, assim como os
super-poderes em filmes de super-heróis, esses recursos podem ser
uma faca de dois gumes.