Em um aviso de segurança publicado no mesmo dia, a Microsoft, cuja linguagem de programação ASP .Net é uma das várias afetadas pela falha, prometeu solucionar a vulnerabilidade e ofereceu aos clientes maneiras de proteger seus servidores até que uma atualização de segurança seja lançada.
Depois, em uma nova mensagem, a fabricante anunciou que estaria lançando no dia 29/12/11, um update de emergência. Chamada de MS 11-100, a atualização conserta três bugs na ASP .Net, sendo que um deles é classificado como “crítico”. Nenhum dos três havia sido revelado publicamente até hoje.
O problema que causou um alvoroço na comunidade de segurança existe em muitos das mais populares linguagem de programação de sites e aplicativos na web, incluindo a ASP .Net, as opções de código aberto PHP e Ruby, o Java, da Oracle e o V8 JavaScript, da Google, explicam os pesquisadores citados acima Klink e Walde.
A dupla, que apresentou suas descobertas durante a conferência Chaos Communication Congress (CCC), em Berlim, nesta semana, ligou a falha ao manejo de hash tables por essas linguagens – e outras, uma estrutura de programação usada para obter e armazenar dados.
Ao menos que uma linguagem randomize funções hash ou leve em conta “colisões hash” - quando múltiplos dados geram o mesmo hash – os invasores podem calcular os dados que acionarão grandes números ou colisões, então enviar esses dados como um simples pedido HTTP. Como cada colisão “mastiga” ciclos de processamento no servidor direcionado, um hacker usando pacotes de ataque relativamente pequenos poderia consumir todo poder processamento até mesmo de servidores bem equipados, efetivamentos deixando-os offline.
A Microsoft confirmou que um único pedido HTTP de 100K especialmente criado e enviado para um servidor rodando a ASP. Net poderia consumir 100% do núcleo de uma CPU por algo entre 90 e 110 segundos.
“Um invasor poderia potencialmente enviar tais pedidos de forma repetida, fazendo com que o desempenho diminuísse significativamente o bastante para causar uma condição de negação de serviço até mesmo para servidores de vários núcleos ou clusters de servidores”, afirmaram os engenheiros da companhia, Suha Can e Jonathan Ness, em um post publicado nesta semana no blog Security Research & Defense.
Klink e Walde estimaram que os pacotes de até 6K poderiam manter um processador de um único núcleo ocupado em um servidor Java.
As implicações são significativas para web apps e sites que rodam nesses servidores.
“Um invasor com poucos recursos pode efetivamente tirar um site do ar de maneira relativamente fácil”, afirmou o diretor de operações de segurança da nCircle Security, Andrew Storms. “Não é preciso nenhuma botnet para causar uma destruição aqui.”
A pressa da Microsoft em solucionar a falha na ASP .Net deu uma dica quanto a seriedade do bug.
“A Microsoft será uma a ficar de olho e ver se eles saem da banda e se fizerem, quando acontecerá”, disse Storms nesta quarta-feira, antes de a Microsoft anunciar o pacote de soluções de hoje. “Se fizerem isso, penso que será em breve.”
Can e Ness, da Microsoft, afirmaram que a companhia “antecipou o iminente lançamento público do código de exploração”, e pediu para que os clientes da ASP .Net apliquem o patch ou as soluções descritas no aviso da companhia.
Outros desenvolvedores de linguagem, como o Ruby, já oferecem soluções para seus softwares.
A Microsoft entregou a MS11-100 por meio dos seus conhecidos canais Windows Update e Windows Server Update Service (WSUS).
Mais informações sobre a falha de colisão hash podem ser encontradas no aviso que Klink publicou no site da sua empresa, e nas anotações da sua apresentação (download de arquivo PDF) – vídeos da apresentação de Klink e Walde na CCC foram retirados do YouTube nas últimas horas.
Fonte: IDG Now!
Nenhum comentário:
Postar um comentário