(texto atualizado às 17:30 e novamente às 19:00)

A nova notícia do dia é que pesquisadores conseguiram quebrar a senha do usuário no Google Wallet.

Pra quem não sabe, o Google Wallet é o serviço de carteira digital da Google, onde os pagamentos são feitos através do celular ao invés do cartão de crédito, utilizando o NFC para isso. Basicamente você aproximaria o seu celular com NFC habilitado do aparelho do lojista, digitaria sua senha no celular, e pronto! Compra feita! O modus operandi poderíamos dizer que é igual ao utilizado com um cartão de crédito hoje, onde você passa o cartão na máquina do lojista e digita sua senha ali. Ops….não é igual, pois a senha é digitada na máquina do lojista, que pode ter sido adulterada para capturar sua senha e clonar cartões.

No Google Wallet só você e seu aparelho tem acesso à senha. Mais segurança.

Antes de voltar à notícia em si, cabe explicar como o Google Wallet guarda a senha no aparelho. Ela é criptografada, obviamente, e guardada num banco de dados que apenas o Google Wallet tem acesso (graças ao sistema de segurança do Android que impede uma aplicação de acessar dados de outra). O aplicativo também bloqueia o acesso após 5 tentativas erradas de digitação da senha. Portanto, muito mais difícil de descobri-la (a menos que o gênio use uma senha bem forte tipo “1234” ou “1122”).

Mas….sempre tem um “mas”, em aparelhos rooteados um aplicativo pode ter acesso aos dados de outro, se receber a permissão de superusuário. Então um aplicativo especialmente desenvolvido para isso, num aparelho rooteado, pode acessar o banco de dados do Google Wallet.

Agora que já sabemos como acessar a senha criptografada, vamos ver como foi descoberta a senha real.

Voltando à notícia, como que a senha foi quebrada? Através de força bruta. A senha possui apenas 4 dígitos (se for muito grande deixa de ser prático….já notou que senhas de cartões de crédito e débito possuem de 4 a 6 dígitos? Então…), o que significa que existem apenas 10.000 possibilidades de combinações. Na força bruta um programinha simplesmente tenta uma a uma as possibilidades até encontrar a que funciona. Como são poucas possibilidades, isso é feito rapidamente sem muita necessidade de processamento, o que pode ser feito no próprio aparelho!

O leitor mais atento já percebeu que há uma pré-condição essencial para que a vulnerabilidade possa ser explorada: um aparelho rooteado. Mas não é só isso….é preciso também ter acesso físico ao aparelho!!!! Essa senha, sozinha, de nada adianta! O meliante precisaria ter o seu celular também para que pudesse usá-la (além, claro, de descobri-la).

Há algumas coisas que o usuário pode fazer para se proteger:

  • primeira e mais óbvia: não rootear o aparelho, já que sem root, nada feito
  • colocar como desbloqueio de tela um padrão, senha, face unlock…qualquer coisa exceto o deslizar (que na prática não protege nada)
  • desabilitar o modo de depuração USB. Nesse modo é possível acessar o aparelho através do cabo sem necessidade de desbloqueá-lo antes (deixando o item anterior inútil)
  • criptografar o telefone. Isso deixa impossível utilizar a depuração USB (e mesmo o aparelho) sem antes digitar a senha corretamente

Isso tudo, claro, sem deixar de citar: não perca seu aparelho e mantenha nele aplicativos de segurança para casos de roubos e perdas.

Uma alternativa comentada seria manter essa senha nos servidores dos bancos ao invés de no celular. Só que há 2 poréns nisso: a segurança dos bancos não é lá essas coisas (cansei de ouvir casos de cheques indevidos emitidos, cartões que nunca chegaram ao cliente desbloqueados e utilizados, e até casos de dados de clientes hackeados), além de ter que colocá-los no processo (algo que a Google gostaria de evitar). E ao meu ver a necessidade de uma conexão com servidores (para validar a senha). Ficando a senha no celular não é preciso conexão alguma….os dados podem ser enviados posteriormente.

Outra alternativa seria a senha ser salva no próprio NFC….só que no caso do Galaxy Nexus pode não ser uma boa ideia, já que os seus circuitos ficam na bateria! Ao usar uma bateria reserva você deixa de ter acesso a todos os dados que lá possam estar…

Atualização: segundo o Android and Me uma nova vulnerabilidade foi encontrada no Google Wallet. E de tão simples, estúpida, e porque não dizer lógica, funciona: basta apagar os dados da aplicação (lá nas configurações, aplicativos). Feito isso, assim que abrir o Wallet ele pedirá por uma nova senha. Sem root, sem programas extras, sem cabos, sem trabalho.

Atualização 2: é nisso que dá escrever sem conhecer o produto (não por culpa minha, já que em terras brasilis o Wallet não funciona)…ao apagar os dados da aplicação, como dito aí em cima, vai apagar qualquer informação referente aos cartões que o usuário tenha! Apenas não vai apagar os dados do chamado cartão pré-pago, que são armazenados na Google e sincronizados no aparelho. Para isso também há uma solução simples: perdeu o celular? Entre em contato com a Google (ou acesse alguma página que certamente deve existir para isso) e bloqueie o acesso daquele aparelho a esses dados. Coisa que aliás você faria se perdesse o seu cartão de crédito, por exemplo (avisaria a administradora para cancelá-lo)….

fonte: zveloBLOG