[OFF] SEGURANCA

JABA 18/04/2012 18:21:28
#400185
Olá, boa noite a todos!

Gostaria de saber sobre técnicas de segurança utilizadas em paginas ASP.net.

um exemplo de ataque que um pagina poderia sofrer seria os de redirecionamento arbitrário de URL:

O redirecionamento ou encaminhamento é uma funcionalidade da aplicação em que o aplicativo de origem redireciona o acesso do usuário para outro localidade ou para alguma função dentro da própria aplicação. Um caso típico de utilização é o processo de autenticação: uma vez que o usuário tente acessar uma área restrita do aplicativo, ele automaticamente redireciona o cliente para o formulário de autenticação.

Em casos específicos, esta funcionalidade pode ser utilizada por um atacante para redirecionar um cliente legítimo para uma localidade arbitrária, transferindo, por exemplo, a confiança estabelecida pelo usuário do aplicativo legítimo para um sítio que contenha material malicioso.

O redirecionamento não representa uma vulnerabilidade de segurança direta, entretanto, ela pode ser explorada em ataques de phishing (engenharia social) fazendo o usuário acreditar que está em uma área de conteúdo legítimo e fornecendo credenciais ou dados sensíveis de maneira arbitrária. O ataque também pode ser utilizado de maneira extensiva para inflacionar sistemas de publicidade e remuneração por click.

Se alguem puder compartilhar alguma coisa, poste ai.

vlw
KERPLUNK 19/04/2012 12:09:54
#400223
Resposta escolhida
Uma solução para isso, é nunca usar redirecionamento por querystring, e sim, por uma variável de sessão ou algo interno no server.
Existem muitos outros meios de se [Ô]sacanear[Ô] uma aplicação web:
- URL Injection
- Cross-site scripting
- Javascript Injection
- SQL Injection
Entre muitos outros...

O truque, é fazer verificações para tudo. Não que isso não deva ser feito em uma aplicação desktop, mas em aplcações web esses ataques são mais comuns. Fazer o seu site acessar um webservice com classes próprias, também é uma maneira de evitar(e até suprimir) esses ataques. Se você usa objetos de leitura/gravação de dados, diretamente no seu webform, com certeza sua aplicação está mais vulnerável. Coloque sua página em uma [Ô]camada[Ô] de rede e seu webservice em outra, que por sua vez estará fechada para acesso externo e somente com acesso interno(da sua aplicação). Todos os métodos do webservice, recebem como parâmetro um objeto [Ô]conexão[Ô], que contém usuário e senha, assim, antes de fazer qualquer coisa no webservice, verifique se usuário e senha estão corretos e só então faça o que o webmethod deve fazer. Quando chamar o webmethod de dentro da sua aplicação, envie o usuário logado(usuário e senha). E se quiser, poderia até mesmo abrir esse webservice publicamente, e qualquer um que queira consumí-lo vai ter que ter dados de autenticação.
JABA 19/04/2012 16:42:04
#400278
Boa KerpLunk. Muito obrigado pela colaboração.
O pessoal hoje em dia quer fazer páginas mas não quer saber de segurança. Isso se torna um prato cheio para os invasores.
Estou tentando me atualizar sobre o assunto para evitar ataques e dor de cabeça. Recomendo isso para todos.
Se alguem tiver um tutorial sobre o assunto, poste ai pra quem quiser se informar.

Muito obrigado mais uma vez. vlw
Tópico encerrado , respostas não são mais permitidas