Impressionante como cada tecnologia que se cria logo se usa alguma ferramenta para o mal. Isso acontece em todas as áreas, desde sistemas operacionais até simples APIs de sites de relacionamento.
A última vítima, hoje pela manhã, foi o microblog Twitter, que teve um ataque que partiu do usuário @test_nau e foi confirmado pela equipe do Twitter próximo às 11 horas de hoje (horário de Brasília).
O script de site transverso (Cross-Site Script ou XSS) é uma função bem legal, onde tu podes rodar um script que está hospedado em outro site dentro de teu blog, por exemplo, e é muito usado para divulgações virais utilizando-se sites de relacionamento (como Orkut, Facebook, Twitter e outros). Graças a essa tecnologia, pessoas não precisam ser programadores ou terem acesso direto à hospedagem do site para incluírem funções legais aos seus blogs ou sites, como, por exemplo, meu post sobre o DebianDay deste ano, onde rodo um script hospedado em outro site para fazer os balões festivos do Debian.
No entanto, isso abre uma brecha de segurança, como ocorreu no Twitter, pois o script pode ser malicioso. E no caso no Twitter foi mais fácil, pois grande parte das pessoas utilizam a interface Web para colocar seus “O que estou fazendo?”, logados e com toda a interface bem conhecida à disposição de quem conhece a ferramenta como programador. Criar um script que force os leitores a retwittar tornou-se algo simples.
Mas o ocorrido hoje pela manhã expõe algo muito mais grave, pois esse script inocente que obriga os usuários do Twitter a retwittar uma mensagem poderia, por exemplo, fazer com que a máquina do usuário fosse infectada por algum vírus, gerar mensagens de spam sem controle ou até capturar dados particulares das vítimas.
Felizmente a equipe de desenvolvimento do Twitter agiu rapidamente e acabou com a possibilidade de XSS nos twits. Ganha-se em segurança, mas perde-se parte da capacidade de divulgação viral que tornou essa ferramenta tão conhecida. Como dizia o tio do Piter Parcker: “Grandes poderes requerem grande responsabilidade…”