2018/02/26

Have I Been Pwned já permite verificar passwords de forma segura


O Have I Been Pwned é um popular e útil serviço que nos pode alertar sempre que detectar que uma das nossas contas tenha sido comprometida, e agora também é capaz de fazer a verificação das passwords de forma segura.

Existem centenas de milhões de dados roubados referentes a utilizadores a circular pelo sub-mundo da internet, oriundos dos mais diversos serviços: um fórum que se registam há décadas para tirar uma dúvida; um site em que se tinham que registar para poder comentar; etc. etc. O Have I Been Pwned é um site que está atento aos dados roubados que vão surgindo publicamente, e nos alerta sempre que detectar algo associado a um dos nossos emails.

Para quem levar a sua segurança a sério e utilizar passwords aleatórias e diferentes para cada site, não representa mais que um pequeno incómodo de se dirigirem ao serviço em causa e mudarem a password; para quem utiliza a mesma password em todos os sites, será motivo para grande preocupação, sendo crítico alterar imediatamente as passwords nos serviços que utiliza (e de preferência, usando passwords diferentes desta vez.

O problema de tudo isto é que esta verificação era feita apenas através do endereço de email. Para quem tivesse a curiosidade para saber se algumas das suas passwords estariam comprometidas, a coisa ficava mais complicada; isto porque não é de todo recomendável que preencham a vossa password num site que diga "introduza aqui a sua password para saber se faz parte das listas de passwords já roubadas e que não são seguras!" - o que seria o equivalente a estarem a entregar a chave de casa a um potencial ladrão, para que ele vos dissesse se era uma boa chave!

Esta é a regra mas, como em tudo, há sempre uma excepção... e o Have I Been Pwned agora permite verificar a segurança das passwords.



Do lado do utilizador, o aspecto é em tudo idêntico aos sites "duvidosos" de verificação de passwords em que não devem introduzir a password. A diferença, é que neste site o processo de verificação da password é bem feito, sem que a mesma saia da vosso computador.

O sistema funciona da seguinte forma: quando se introduz a password, um script cria uma hash da mesma, e depois envia apenas os primeiros cinco caracteres dessa hash para o serviço. O serviço compara com as hashes dos 500 milhões de passwords na sua base de dados, e devolve aquelas que têm um início coincidente (por norma, entre 300 e 500 "candidatos"). Depois, é o computador local que determina se nessa lista existe alguma que seja mesmo coincidente na sua totalidade - e com isso evitando que quer a password quer a sua hash, tivessem saído do computador do utilizador.


Um salto a este verificador de passwords (que também está disponível via API) permite tirar as teimas sobre se uma determinada password já anda a circular em listas públicas (e portanto, sendo desaconselhada a sua utilização) - coisa que o 1Password já está a fazer, para alertar utilizadores que usem uma dessas passwords potencialmente vulneráveis, e que me parece que rapidamente seja adoptado também por outros serviços (e até sites, durante o processo de registo de novos utilizadores, ou em verificações regulares de segurança).

Por exemplo, caso escolhessem a password "password", descobririam que a mesma já apareceu mais de 3 milhões de vezes em bases de dados roubadas; mas mesmo que seja uma password que apenas tenha aparecido uma única vez, a mesma regra mantém-se: usar outra password.

6 comentários:

  1. Curiosamente, hoje recebi uma mensagem de email dessa plataforma informando que o meu endereço de email e password tinha sido 'vazado' recentemente...

    ResponderEliminar
  2. Muito interessante, mas deviam de dizer em que site a password foi leaked!

    ResponderEliminar
    Respostas
    1. Isso pode já nem ter a ver com o site original, tendo sido compilado numa qualquer lista sem "origem"...
      Mas se introduzires o teu email, no teste normal, ele costuma dizer em que serviços é que foi "leakado"... (no meu caso tenho da Disqus, Dropbox, e mais uma dezena...)

      Eliminar
  3. Tenho as notificações activas e o meu endereço foi detectado em vários leaks ao longo dos anos. Assim que começou a ser detectado comecei a alterar as palavras passe dos serviços específicos que por vezes era partilhadas com mais do que um serviço.
    Mais tarde optei por usar o keepass e alterei as passwords de todos os serviços onde estava registado (comecei pelos mais importantes) para passwords aleatórias com caracteres especiais.
    Neste momento sei apenas uma única password, a de acesso à BD do Keepass. Todas as outras são me desconhecidas, quer por estarem no Keepass. Deu muito trabalho mas estou mais descansado (dentro do possível). Apenas quando há compilação de ficheiros de leaks sem referencia a sites específicos é que ficamos sem poder fazer nada...

    ResponderEliminar
  4. Também uma boa maneira de ficarem com mais passwords :P

    ResponderEliminar
    Respostas
    1. Podes fazer o "debug" da página, e confirmar que nunca envia a password... :)

      Eliminar