Mais Populares

17 de maio de 2010

Como tirar o Bradesco Internet Banking de seus usuários?


Parece até história de ficção científica, de hackers e crackers manipulando computadores centrais de Manhattan em Cidade de Nova Iorque, mas não, isto é bem simples, e muitos talvez me chamem de lammer ou coisa parecida, mas é de extrema importância para que o banco tenha uma segurança voltada à este aspecto ilustrado aqui nesta postagem.

Não só o internet banking do Bradesco, como de outros bancos estão vulneráveis à esta falha de segurança, das, o Bradesco, possui, explicitamente em sua aplicação do iPhone (que pode ser acessada de qualquer computador com internet, ou qualquer dispositivo) solicitando justamente vários itens importantes de acesso a conta, na primeira página, como agência, conta, e senha.


Ao digitar sua senha, de forma errada, mais do que 3 vezes, sua conta é bloqueada para acesso ao Internet Banking. Seu desbloqueio só será realizado na agência.

Certo, mas agora, se isto for usado em todas as contas? Difícil? Não, isto é extremamente fácil. O servidor trabalha aceitando requisições do tipo POST (envios de formulários sobre http) e os dados podem ser gerados de forma como em um loop, passando de conta em conta, e de agência em agência, tentando 3 vezes com senhas erradas apenas para bloquear a conta de todos. O que isto irá resultar? Bem, como todas as pessoas só podem desbloquear a função do Internet Banking pela sua própria agência, muitas pessoas irão neste dia no banco para refazer seu acesso, principalmente empresas que necessitam do uso diário do Internet Banking para utilização pelos funcionários de RH, e outros.

E se isto ocorresse em um dia de pagamento? Muitos salários seriam retidos, muitas pessoas não iriam receber seus salários, já que o RH necessita de entrar na aplicação para colocar o valor de salários de seus funcionários (à não ser que vivam ainda no tempo da pedra, escrevendo em papel e enviando por motoboy à agência).

Como pode-se fazer isto? Uma das formas, das quais eu mesmo fiz, foi um programa em php, criado para enviar requisições POST ao servidor, e o resultado apresentava na tela como "senha inválida" para cada uma das tentativas, rodando, em linguagem de programação, dentro de um "for" e um "while"... exemplo, enquanto (while) não receber "senha inválida", continue tentando (derrepente a pessoa colocou uma senha igual ao que o sistema está usando) e depois dentro do for, os números entre 1 e 700.000 (já que pode-se considerar que seja a média de contas por agência, levando em consideração, agências antigas, que possuem muitas contas canceladas, contas poupança, etc.).

Mas pera aí, e o tecladinho virtual? Bem, estamos falando de requisição POST, quando você envia um formulário, você não utilizou o tecladinho virtual para fazer isto, isto que estamos falando, é como criar um formulário em html, utilizar a ação do formulário para o servidor do bradesco, e clicar em "enviar", e então, o navegador encarrega-se de enviar o formulário ao servidor.

Talvez, seria mais seguro, se o servidor não permitisse o envio de formulários com um HTTP_REFFER diferente de seu domínio padrão, exemplo, se o formulário vem sem nenhuma informação no HTTP_REFFER, a solicitação não é autorizada, mas já se o HTTP_REFFER tiver a informação de "bradesco.com.br" a solicitação é autorizada.

O HTTP_REFFER é simplesmente a informação que o navegador envia ao servidor, informando da onde veio aquele formulário, ou melhor, a última página acessada; porém, para quem entende de cabeçalhos HTTP, seria fácil manipular em um envio via socket sobre POST no windows, ou linux, ou qualquer outro sistema operacional (inclusive, o Safari, permite mudar algumas informações de HTTP quando ativa a função de desenvolvedor, como a do browser sendo utilizado, do qual pode-se utilizar a visualização para iPhone no safari, no seu computador, com apenas um clique, assim como disfarçar-se de Internet Explorer, Firefox, entre outros, já que tem a opção de personalizar).

O navegador Ópera, também tem esta função de "falsificar" sua integridade de navegador, disfarçando-se de outros navegadores, porém, não possui opções para personalizar como desejar, travando-se apenas em "Disfarçar-se como Internet Explorer" e "Disfarçar-se como Mozilla Firefox".
  

Nenhum comentário :

Postar um comentário

Deixe seu comentário abaixo e curta Tutorial TI no facebook!