Este é o terceiro e último post
da série sobre o HTML5. Você pode verificar os posts anteriores, HTML - O Que É
Bom e HTML -
O Que É Ruim.
Bem vindo à última parte da série
sobre HTML5 e as questões de segurança acerca de seus recursos.
Veremos aqui o que são, em nossa opinião, a questão de segurança
mais assustadora trazida pelo HTML5 - BITB (Botnets In The Browser,
ou Botnets No Navegador).
Com HTML5, criminosos podem criar
uma botnet que funcione em qualquer sistema operacional, em
qualquer local e qualquer dispositivo. Como é baseada
principalmente em memória, a botnet quase não utiliza o disco,
dificultando sua detecção com antivírus tradicionais baseados em
arquivos. Além disso, é fácil confundir código JavaScript, então
assinaturas IDS de rede também terão problemas. Por fim, como é
baseado na web, facilmente passará por boa parte dos firewalls.
Estágios de um ataque botnet
baseado em navegador
- 1. Infecção: A
infecção do sistema do usuário ocorre quando este é convencido a
executar o JavaScript inicial. Existe uma extensa lista de meios de
fazer isso, incluindo XSS, clique em links enviados por emails ou
mensagens instantâneas, otimização para mecanismos de busca (SEO)
blackhat, engenharia social, corrupção de sites e outros.
- 2. Persistência:
Por natureza, uma botnet baseada em navegador não será tão
persistente quanto uma botnet tradicional. Assim que a vitima fecha
a aba do navegador, o código malicioso será encerrado. Um criminoso
deverá manter isso em mente, e as tarefas executadas pelas botnets
baseadas em navegador devem ser projetadas para levar em
consideração a natureza transitória dos nós de botnet. A habilidade
de facilmente re-infectar sistemas é importante, portanto vetores
de ataque como a utilizado de um XSS persistente e o a corrupção de
sites são mais prováveis. Outra possibilidade é a combinação de
clickjacking e tabnabbing. O clickjacking é utilizado para forçar a
vítima a abrir outra página web com o mesmo conteúdo que a página
original. Para estender a vida da aba maliciosa, o criminoso pode
utilizar o tabnabbing - fazendo com que a página e aba originais se
passem por páginas comumente abertas, como Google ou YouTube.
Talvez uma forma ainda mais simples de persistência seja a exibição
da página maliciosa como um jogo interativo. Idealmente, o jogo
deve ser projetado para que o usuário mantenha a página aberta o
dia inteiro, e tenha que voltar ocasionalmente para completar
alguma tarefa.
- 3. Carga: Esse
ataque pode resultar em:
- 1.
Ataques DDoS: O trabalhador web pode utilizar Cross Origin
Request (requisições de origem cruzada) para enviar milhares de
requisições GET para um único site-alvo, resultando em negação de
serviço.
- 2. Envio
de Spam: Utilizando formulários web mal configurados em
páginas de contato de website, um bot pode ser usado para gerar
spam.
- 3.
Geração de Bitcoin: Bitcoins são a moeda preferida para o
submundo do cybercrime. Atualmente existem vários geradores de
bitcoin baseados em navegador.
|

Figura 1. Gerador de
Bitcoin baseado em navegador
|
- 4.
Phishing: Com técnicas de tabnabbing, um criminoso pode
mudar a aparência de uma aba maliciosa cada vez que a aba perde
foco. Assim, cada vez que a vítima volta à aba, ele verá a tela de
login para um serviço diferente, permitindo que o criminoso roube
suas credenciais.
- 5.
Reconhecimento de rede interna: Utilizando as técnicas
descritas aqui, um criminoso pode realizar varreduras d
vulnerabilidade e de portas na rede da vítima.
- 6.
Utilização de rede proxy: Com as mesmas técnicas
utilizadas pelo Shell do Future tool (em inglês), uma rede de sistemas
comprometidos pode permitir que um criminoso realize ataques proxy
e conexões de rede, dificultando o rastreamento.
- 7.
Propagação: A botnet pode ser programada com um componente
de worm que se propaga via ataques XSS ou injeções SQL em sites
vulneráveis.
Isso representa um aumento de
arsenal para os criminosos, e devemos ver mais disso no futuro -
especialmente em ataques direcionados. Apesar de que defesas
tradicionais contra malware não são as mais indicadas para esse
novo vetor de ataques, existem duas ferramentas gratuitas que podem
oferecer boa proteção:
- 1. NoScript: O
plugin de navegador NoScript é bem conhecido da indústria de
segurança. Esta excelente ferramenta restringe a execução do
JavaScript e outros plugins em sites não confiáveis.
- 2. BrowserGard: O BrowserGuard da Trend
Micro inclui vários recursos para bloquear ataques baseados na web,
incluindo tecnologia heurística avançada.
O relatório HTML5 Overview: A
look at HTML5 Attack Scenarios está disponível para download (em inglês).