15 de abril de 2010

Técnicas de ataques: Cross-Site Request Forgery

Navegar na internet sem um sistema de segurança pode ser perigoso. Uma dica básica, mas importante, para se obter maior segurança na navegação é melhorar a percepção que se tem sobre quais são os riscos envolvidos. Esse é um dos artigos da série sobre técnicas de ataque pela Internet que publico hoje no blog MAV.

Muito se fala dos riscos de se visitar sites falsos: um problema comum. Porém, mesmo quando o usuário está no site correto ainda corre o risco de ter um prejuízo devido à ação de hackers. Uma das técnicas usadas por eles para atingir esse objetivo é chamada de Cross-Site Request Forgery.

Por exemplo: suponhamos que você esteja acessando o seu webmail, usando endereço correto. Nesse momento, o nível de acesso que o seu browser terá no servidor do webmail lhe permite operações usuais: listar as mensagens da caixa de entrada, ler e-mails, enviar e-mails, criar pastas, listar/gerenciar contatos e etc. Qualquer requisição que o browser enviar será executada.

No ataque em pauta, o usuário é direcionado de alguma forma a um site malicioso: pode ser por um e-mail, que lhe pede para visitar um site interessante, ou qualquer outra técnica de engenharia social. A partir daí o site malicioso, supondo que o usuário esteja acessando o webmail neste momento, envia requsições ao servidor do webmail como se ele fosse a própria página do webmail.

Daí o nome do ataque: em português, "Requisição Falsa Entre Sites". O site falso manda requisições que o usuário não fez para o site que ele está acessando.

Só que, para o servidor do webmail, a requisição tem os parâmetros corretos e vem do browser/ip correto. Pela lógica, ele (o servidor) deve aceitar essa requisição. E, normalmente, é o que ele faz.

Um ataque bem sucessido pode ter diversos efeitos: desde do simples uso do seu webmail para envio de spams, a operações mais sofisticadas, tais como acessar informações confidenciais no seu webmail, realizar alterações no sistema de ERP, via web, ou até mesmo trocar o endereço de entrega de uma compra online.

A solução para esse tipo de ataque não é simples. As requisições autênticas enviadas pelo browser para o servidor precisam conter alguma informação secreta, que permita autenticá-la. Normalmente a ação envolve a construção de um sistema de comunicação sofisticado, no site e no servidor. O problema é que a maioria dos desenvolvedores de aplicações web não implementam esse tipo de segurança em seus sistemas.

A conclusão, como sempre, é que temos que proteger os usuários da rede da empresa das ameaças da Internet. Não podemos contar com a certeza de que o usuário da rede esteja ciente de todos os tipos de ataques e problemas. Para evitar prejuízos ao patrimônio digital da empresa devemos ter um sistema de segurança de Internet: instalado e bem configurado.

Um abraço e tenham um bom dia.