Sítio do Piropo

B. Piropo

< Jornal Estado de Minas >
Volte
06/01/2005

< O Preço do Sucesso >


Ninguém faz sucesso impunemente. A Microsoft sabe disso há muito tempo. Seus produtos, que ocupam a liderança inconteste do mercado, são constituídos de dezenas de milhões de linhas de código. Em um arcabouço de tal complexidade, não se deve estranhar uma falha aqui ou ali. Recentemente descobriu-se que nomes de arquivos MP3 com mais de 4.096 caracteres podiam provocar um “estouro de buffer” se carregados no Windows Media Player e isso poderia ser explorado para “plantar” um código mal intencionado na máquina da vítima. Este artigo que você está lendo tem pouco mais de 4.096 caracteres e eu acho altamente improvável que se venha a usar um texto deste tamanho como nome de uma música. Portanto, para que essa vulnerabilidade cause algum malefício, é preciso que um mequetrefe desenvolva deliberadamente um código mal intencionado para explorá-la. Não obstante isso, quando se tomou conhecimento da vulnerabilidade (que, diga-se de passagem, já foi corrigida), não se criticou o biltre que a explora. Em vez disso, caiu-se de pau na Microsoft por haver desenvolvido código vulnerável, como se ela fosse a parte mal intencionada da história. E tais críticos jamais deixam de confrontar Windows com os sistemas de código aberto, onde raramente surgem vulnerabilidades, esquecendo que elas só aparecem se procuradas. E como um dos objetivos principais dos criadores de vermes é sua rápida disseminação, não perdem tempo procurando vulnerabilidades em produtos pouco usados – que por isso acabam passando por invulneráveis.

O Google está descobrindo isso agora. Em sua área de atuação – que já não se limita mais a buscas na Internet mas inclui produtos como o Gmail e o Google Desktop Search (sobre o qual escrevi um artigo ainda disponível na seção “Escritos / Artigos no Estado de Minas” de meu sítio em < www.bpiropo.com.br >) – exerce uma liderança comparável à da Microsoft no mercado de sistemas operacionais. E começou a pagar o preço deste sucesso.

Em meados de dezembro passado pesquisadores da universidade de Rice, em Houston, EUA, divulgaram uma vulnerabilidade no Google Desktop Search que poderia permitir que pessoas mal intencionadas tivessem acesso aos resultados das buscas efetuadas nos computadores das vítimas, revelando assim partes dos arquivos pesquisados (que poderiam conter dados confidenciais). Explorá-la não é fácil: a vítima terá que ser induzida a visitar um sítio que contenha um “applet” Java especialmente engendrado para fechar certas conexões que “enganariam” o dispositivo de busca interna do Google levando-o a enviar o resultado da busca para uma conexão externa. Apesar disso já se começa a fazer alarde da “nova vulnerabilidade encontrada no Google Desktop Search” como se fosse o Google o vilão da história (a vulnerabilidade já foi corrigida; como a correção é instalada automaticamente, se você usa o programa e quer saber se sua versão é vulnerável, abra-o, clique no atalho “About” e assegure-se que o número da versão é 121004 ou superior).

Mas não é só isso. Aproveitando-se da imensa popularidade e da enorme base de dados do Google, pouco antes do Natal passado um pilantra liberou o Santy.A, um verme (programa mal intencionado dotado da capacidade de se replicar automaticamente) que usa essa base de dados para localizar suas vítimas potenciais. O Santy.A não infecta máquinas de usuários finais, mas apenas servidores da Internet que hospedam um popular gerenciador de grupos de usuários (“bulletin board”) de código aberto denominado phpBB. Para encontrar esses servidores o verme dispara através do Google uma busca pela expressão “viewtopic.php”, presente nas pastas dos grupos de usuários gerenciados pelo phpBB. Quando a encontra, explora uma vulnerabilidade do programa para se instalar no servidor, localiza todos os arquivos com extensões Htm, Php, Asp, Shtm, Jsp e Phtm e os sobrescreve com a frase “This site is defaced! NeverEverNoSanity WebWorm generation”, tão sem sentido quanto a mente de seu criador, e continua sua busca por novas vítimas.

Em poucos dias o Santy.A infectou quarenta mil máquinas, um número substancial levando em conta que ataca apenas servidores de Internet. E, curiosamente, as vozes que se alevantaram em reprimenda não criticaram o autor do verme, mas sim o Google, por deixá-lo replicar-se. E, ao fim e ao cabo, foi o Google que interrompeu a disseminação do Santy.A impedindo que a busca por ele efetuada fosse atendida.

O problema é que isso não foi o bastante. Nos final de dezembro passado apareceram as versões Santy.C e Santy.E, semelhantes à Santy.A porém muito mais virulentas. Em vez de procurar por uma expressão específica do programa phpBB as novas versões buscam por quaisquer páginas desenvolvidas na linguagem PHP que usem as funções “include( )” e “require( )” e que não tenham sido cercadas por determinadas medidas de segurança no que diz respeito à verificação de parâmetros. Quando encontram, podem incorporar às páginas que contenham tais funções código malicioso que, dependendo da configuração das máquinas, permitem que o atacante controle o servidor (ver artigo de Peter Sayer em
< http://www.pcworld.com/news/article/0,aid,119051,00.asp >).
E, neste caso, para evitar os ataques, pode ser necessário reprogramar de uma forma segura todas as páginas que usam as funções vulneráveis, forçando a verificação dos parâmetros.

Mas diga-me lá: PHP não é uma linguagem desenvolvida para servidores que empregam sistemas de código aberto, os tais invulneráveis? Bem, ocorre que se não são muito populares nas máquinas de usuários finais, sistemas de código aberto estão se disseminando cada vez mais rapidamente no mercado restrito de servidores da Internet. Onde já abarcam uma fatia do mercado suficientemente suculenta para despertar o interesse dos desenvolvedores de vírus. Quem criou o verme Santy, que ataca apenas servidores de Internet, já se deu conta disso e não teve trabalho algum para encontrar em poucos dias quarenta mil máquinas vulneráveis. Se outros seguirem suas pegadas, talvez se descubra que os sistemas de código aberto são tão sujeitos a vulnerabilidades como qualquer outro. E que elas sempre estiveram lá. Apenas não apareciam porque ninguém se dava ao trabalho de procurá-las. Mas começam a aparecer agora, que o número de servidores Internet rodando sistemas em código aberto já é suficientemente grande para despertar o apetite dos malfeitores que desenvolvem programas mal intencionados.

É o preço do sucesso...

B. Piropo