» Falha em navegador revela senha de usuário
» Falhas de segurança são descobertas em antivírus
» Falha em Java abre qualquer PC à invasão
» Conheça o Centro de Segurança Terra
Segundo a página de segurança Search Security, hospedada no site Tech Target, a empresa de segurança Watchfire Inc. descobriu um método praticamente infalível de explorar os chamados dangling pointers (numa tradução livre, ponteiros/apontadores soltos/pendentes). Os ponteiros, na linguagem C, são entidades que apontam para algum objeto ou posição de memória dentro do programa.
Um dangling pointer é um ponteiro que indica um objeto ou posição de memória inexistente. O objeto ao qual o ponteiro se referia já existiu e foi intencionalmente apagado em alguma parte do programa. O erro ocorre quando o programa apaga o objeto mas não apaga o ponteiro que indica onde o objeto estava. Praticamente todos os programas e sistemas operacionais atuais são desenvolvidos em linguagem C ou uma de suas derivadas (C++, C#), incluindo aí o Windows e o Linux.
Até então, considerava-se impossível para agressores externos adivinhar a existência e a posição de tais ponteiros. Entretanto, os pesquisadores da Watchfire descobriram por acaso um método para explorar remotamente a imperfeição enquanto aplicavam seu software de testes AppScan em um servidor web, o IIS versão 5.1 produzido pela Microsoft. Segundo o site da PC World, o processo de exploração do erro será apresentado ao público na conferência anual Black Hat Briefings, que acontecerá em Las Vegas no mês de agosto.
Os profissionais de segurança estão preocupados, porque a brecha é generalizada e pode ser explorada de forma semelhante aos buffer overflows, que foram uma praga bastante comum nos anos 90 e começo da década seguinte.
Assim como no buffer overflow, os dangling pointers permitem a execução de código arbitrário na máquina afetada e podem ser explorados à distância com facilidade. Danny Allan, pesquisador da Watchfire, é enfático: "A severidade (do erro) é gigantesca. É como uma Caixa de Pandora: uma vez que a abramos, o que conseguirmos mostrar será só a pontinha do iceberg. É um problema bastante comum e disseminado, especialmente em linguagens de baixo nível. Na maioria das vezes, será impossível saber se o programa possui ou não um dangling pointer".
Uma explicação sobre dangling pointers (em inglês) pode ser obtida pelo atalho dtmurl.com/b5k. O texto é de 1998, o que atesta a antiguidade da falha.
Magnet
16h34 » Mensagem de celular desativa laptop em caso de roubo
11h07 » Homem terá que pagar US$ 873 mi por enviar spam
17h09 » Web: mercado negro de dados rende mais de US$ 270 milhões