OWASP Chapter BrasilPágina principal | Sobre | Ajuda | FAQ | Páginas especiais | Entrar
A enciclopédia livre
Versão para impressão | Disclaimers

A7 Manipulação Inapropriada de Erros

Origem: OWASP Chapter Brasil, a enciclopédia livre.

Conteúdo

A7.1 Descrição

A manipulação inapropriada de erros pode introduzir uma variedade de problemas de segurança em um site web. O problema mais comum ocorre quando mensagens internas de erro detalhadas, como traces, dump de banco de dados e códigos de erros são mostrados ao usuário (atacante). Estas mensagens mostram detalhes de implementação que nunca deveriam ser reveladas. Estes detalhes podem prover ao atacante dicas importantes em falhas potenciais no site, além do fato de tais mensagens também perturbarem usuário legítimos.

Aplicações web geram condições de erro freqüentemente durante a operação normal. Falta de memória, exceções de ponteiro, falah em chamada de sistema, banco de dados indisponível, timeout de rede e centenas de outras condições comuns podem causar a geração de erros. Estes erros devem ser manipulados de acordo com um esquema bem planejado que irá prover mensagens de erros significativas ao usuário, informações de diagnóstico aos mantenedores do site e nenhuma informação útil para um atacante.

Mesmo quando mensagens de erro não fornecem muitos detalhes, inconsistências nestas mensagens ainda podem revelar dicas importantes sobre como um site funciona e qual informação é manipulada nos bastidores. Por exemplo, quando um usuário tenta acessar um arquivo que não existe, a mensagem de erro típica indica “arquivo não encontrado”. Quando há a tentativa de acesso a um arquivo que o usuário não tem autorização, a mensagem indica “acesso não permitido”. O usuário não deveria nem saber se o arquivo existe, mas estas inconsistências irão prontamente revelar a presença ou ausência de arquivos inacessíveis ou a estrutura de diretórios do site.

Um problema comum de segurança causado pela manipulação inapropriada de erros é a verificação de segurança de falha de abertura. Todos os mecanismos de segurança devem negar o acesso enquanto não for especificamente autorizado - não autorizar enquanto não for especificamente negado, que é uma razão comum para que erros de falha de abertura ocorram. Outros erros podem causar uma queda do sistema ou consumir recursos significativos, efetivamente negando ou reduzindo o serviço aos usuários legítimos.

Mecanismos de manipulação de erros bons devem ser capazes de tratar qualquer seqüência de entradas de usuário viáveis, enquanto garante a segurança apropriada. Mensagens de erro simples devem ser produzidas e registradas para que a sua causa, seja um erro no site, ou uma tentativa de ataque, possa ser revisada. A manipulação de erros não deve focar exclusivamente na entrada fornecida pelo usuário, mas também deve incluir quaisquer erros que possam ser gerados por componentes internos, como chamadas de sistema, consultas a bancos de dados ou qualquer outra função interna.


A7.2 Ambientes afetados

Todos os servidores web, servidores de aplicação e ambientes de aplicação web são suscetíveis a problemas de manipulação de erros.


A7.3 Exemplos e referências

A7.4 Como determinar se você está vulnerável

Tipicamente, testes simples podem determinar como seu site responde a vários tipos de erros de entrada. Testes mais profundos são necessários para causar erros internos e verificar como o site reage.

Outra abordagem é fazer uma revisão detalhada do código fonte para procurar a lógica de manipulação de erros. A Manipulação de erros deve ser consistente através de todo o site e cada peça deve ser uma parte de um esquema bem desenhado. Uma revisão do código irá revelar como o sistema está preparado para manipular vários tipos de erros. Se você achar que não há organização no esquema de manipulação de erros ou caso aparente haverem diversos esquemas diferentes, é bem provável que haja um problema.


A7.5 Como se proteger

Uma política específica de como manipular erros deve ser documentada, incluindo os tipos de erros a serem manipulados e para cada, qual informação deverá ser reportada ao usuário e qual informação será registrada em logs. Todos os desenvolvedores devem entender a política e assegurar que seus códigos a seguem.

Na implementação, assegure-se que o site foi construído para que manipule elegantemente todos os erros possíveis. Quando um erro ocorre, o site deve responder com um resultado especificamente desenhado que é útil para o usuário, sem revelar detalhes internos desnecessários. Certas classes de erros devem ser registradas em log para ajudar a detectar falhas de implementação no site e/ou tentativas de ataques. Poucos sites tem algum tipo de capacidade de detecção de intrusão na sua aplicação web, mas certamente é convincente que uma aplicação wev pode monitorar falhas repetitivas e gerar alertas. Note que a grande maioria dos ataques a aplicações web nunca é percebida por que muito poucos sites tem a capacidade de detectá-los. Por esta razão, o sentimento de ataques a aplicações web está seriamente sub estimado.

O Projeto OWASP Filters está produzindo componentes reutilizáveis em diversas linguagens para ajudar a prevenir vazamento de códigos de erros nas páginas web de usuários, filtrando páginas quando elas não foram construídas dinamicamente pela aplicação.

Retirado de "http://owasp.securenet.com.br/index.php/A7_Manipula%C3%A7%C3%A3o_Inapropriada_de_Erros"

Esta página foi acessada 751 vezes. Está página foi modificada pela última vez em 18:31, 6 Março 2006. Content is available under GNU Free Documentation License 1.2.


Procura
Folhear
Página principal
Community portal
Eventos atuais
Mudanças Recentes
Página randômica
Ajuda
Donations
Editar
Editar esta página
Ajuda de edição
Opções de página
Discutir esta página
Post a comment
Versão para impressão
Informação de página
Histórico
Artigos Relacionado
Páginas relacionadas
Minhas opções
Entrar
Special pages
Páginas novas
Lista de Imagens
Estatísticas
Reportagem de 'bugs'
More...