quinta-feira, 29 de dezembro de 2011

HashDos: a brecha que afeta milhões de sites com PHP, Java e outras linguagens

A 23ª edição da Chaos Computer Club, conferência de segurança que acontece na Alemanha, começou essa semana e, para variar, as primeiras palestras já assustam. Além do aviso do pesquisador que encontrou uma brecha na rede 2G GSM que afeta milhões de celulares, hoje uma dupla de pesquisadores avisou que milhões de sites estão vulneráveis a um novo tipo de ataque de DoS, chamado HashDos, que pode deixá-los fora do ar se não for tratado logo.

Segundo os descobridores da brecha, os pesquisadores Alexander Klink e Julian Wälde, o problema está na maneira como certas linguagens usadas em servidores web armazenam valores em uma tabela hash. A grande maioria faz da mesma forma e pessoas mal-intencionadas podem tirar vantagem disso, enviando valores pré-determinados que sabem que não serão tratados como deveriam. Essas requisições, no final das contas, acaba gerando uma função quadrática que sobrecarrega os servidores.

Para provar que o método funciona, durante a apresentação dos detalhes do ataque, eles enviaram requisições do tipo HTTP POST com 2 MB de tamanho para um servidor web rodando Apache Tomcat. Isso fez com que o processamento do servidor atingisse 100% e permanecesse nesse nível durante toda a palestra.

Quais são as linguagens afetadas? A lista não é nada pequena. Nela constam PHP, ASP.NET, Java, Python, Ruby, Apache Tomcat, Apache Geronimo, Jetty, Glassfish, e até a V8, engine de renderização de JavaScript do Google.

A Microsoft já anunciou que vai liberar uma atualização para a ASP.NET que soluciona esse problema e versões mais novas do PHP (5.4.0RC4 e 5.3.9) já contam com uma correção. Mas segundo a W3Techs, a enorme maioria desses sites ainda roda a versão 5.2. PHP é a linguagem mais usada em servidores web no mundo, sendo responsável por cerca de 77% deles, ou 20 milhões de sites e 1 milhão de servidores web (números estimados).

Eis uma observação que oferece uma perspectiva interessante: os criadores da Perl, uma linguagem relativamente pouco usada na internet, trataram esse problema em meados de 2003.

A explicação é extremamente complexa, mas vale a pena pesquisar bem se você quiser impressionar seus amigos nerds: leia os detalhes nesse PDF liberado ontem pela dupla e veja aqui uma lista completa de linguagens afetadas e em quais versões delas essa falha já foi corrigida.

Fonte: TecnoBlog

Nenhum comentário:

Postar um comentário