A importância das Palavras-passe
Neste artigo, vamos abordar a importância das Palavras-passe, explicando as razões pelas quais as mesmas devem ser complexas e como é que podem ser descobertas.

As palavras-passe são a nossa primeira linha de defesa contra o acesso interdito às nossas contas ou ficheiros online. Estas auxiliam na proteção dos dados contra ataques informáticos. Quanto mais complexa seja uma palavra-passe, mais protegidas estão as informações.    

Neste artigo vamos perceber as diferentes formas de como os hackers conseguem descobrir as nossas palavras-passe e de que forma nos conseguimos proteger. 

  1. Hackers e Palavras-passe
  2. Ataque de Força Bruta
  3. Ataque Dicionário
  4. Ataque de Tabela Arco-Íris
  5. Salt
  6. Validar se a Palavra-passe não foi comprometida


Hackers e Palavras-passe



Os hackers, normalmente, realizam ataques offline, onde primeiramente obtêm uma lista de hashes de palavras-passe comprometidas. Estes hashes podem ter vindo de bancos de dados de empresas ou a partir de sistemas.    

Um Hash consiste num algoritmo matemático para a criptografia, na qual ocorre uma transformação dos dados (como um arquivo, palavra-passe ou informações) para um conjunto alfanumérico com comprimento fixo de caracteres.  




(conversão de uma palavra-passe em hash)




Devido ao aumento de complexidade dos sistemas (como por exemplo o limite de logins), um ataque deste tipo à plataforma, tornou-se irrealizável. Por esta razão, os atacantes normalmente realizam ataques offline, onde primeiramente obtêm uma lista de hashes das palavras-passe (estas listas muitas vezes são devido a fugas de informação) e posteriormente prosseguem com o ataque contra a lista. 

Só iremos falar destes métodos, pelo facto de serem os mais comuns e, caso os utilizadores sejam informados e seguirem as recomendações de segurança, podem evitar este tipo de ataques. 



 Ataque de Força Bruta



Um hacker pesquisa manualmente todo o cumprimento da palavra-passe até encontrar uma palavra-passe que corresponda com um dos hash obtidos. 

Este ataque é normalmente automatizado, dado ao grande número de tentativas necessárias. 

O ataque pode ser dificultado, criando uma password mais comprida e com alguma complexidade. 




(exemplo de um ataque de força bruta)




Ataque Dicionário



O ataque dicionário surge como uma das variações do ataque anterior. 

Um hacker utiliza um dicionário pré-compilado de palavras e frases conhecidas e faz hash de cada uma delas até que seja feito um match. Este tipo de ataque pode ser automatizado, forçando os hashes com uma lista de palavras personalizada e regras de manipulação.   



(exemplo de lista de palavras de um ataque dicionário) 



Estes dicionários são facilmente descarregados da internet e possuem as passwords mais comuns e/ ou que já foram comprometidas. 

No entanto, estes dicionários também podem ser facilmente gerados pelo atacante, baseando-se em dados remetentes ao utilizador e/ou empresa a que o ataque se destina. Por esta razão, é importante evitar utilizar informação que remetem ao utilizador, ao site e à empresa. 



( exemplo de um script, baseado com dados do utilizador/ empresa.) 



Alguns padrões comuns que os utilizadores costumam usar para criarem as suas passwords, podem ser facilmente contornados com listas de regras genéricas e/ou personalizadas do lado do atacante, que pode simplificar o processo de descoberta da password.  



Enumeramos alguns exemplos 



Capitalizar o primeiro caracter: 



Primeiro caracter minúsculo e o resto maiúsculo: 



Inverter: 



Espelhar: 



Com Shift ativo:  

Shift cada um dos caracteres direita/esquerda, do teclado

l33t speak:


Adicionar o caracter 1 ao final de uma palavra: 

Adicionar carateres especiais em posições aleatórias nas palavras: 



Este tipo de ataque pode ser dificultado. Para isso as passwords não devem: 

  •  Ser comuns; 
  •  Conter informações referentes ao utilizador e ou ao site em questão; 
  •  Ser passwords previamente descobertas em alguma fuga de dados;  
  • Utilizar uma regra para a criação da palavra.  


(exemplo de um ataque dicionário) 




Ataque de tabela Arco-Íris 



A partir de uma abordagem calculada, um hacker calcula antecipadamente os hashes de todas as palavras-passe possíveis e guarda numa tabela de pesquisa, que mapeia os hashes para as palavras-passe correspondentes. Desta forma, a partir de uma lista de hashes partilhadas, apenas tem que se encontrar um hash que corresponda com a tabela, para se obter uma lista de palavras-passe possíveis.   

Este tipo de ataque é muito similar ao ataque dicionário, a única diferença é que o ataque dicionário apresenta um poder computacional baixo, face ao necessário para calcular cada hash, em cada tentativa.  

Já o ataque arco-íris, face ao anterior, necessita de mais espaço para armazenar todas as hash.  



(Ataque arco-íris) 



(exemplo de um ataque arco-íris) 



Salt



Existem contramedidas que podem ser aplicadas (por parte do servidor) que dificulta estes tipos de ataques.  



(exemplo de um senha convertida em hash com e sem salt) 



Em criptografia, salt é um dado aleatório que é utilizado como uma entrada adicional no hashing da palavra-passe. 

O salt é utilizado para proteger as palavras-passe armazenadas na base de dados.  

Antigamente as palavras-passe eram armazenadas em texto simples, mas com o tempo, medidas adicionais foram desenvolvidas para proteger as credencias, e o salt é um desses métodos. 

Esta técnica permite defender contra ataques dicionário ou o seu equivalente em hash, o ataque pré-computado de tabela arco-íris. 



(exemplo de um ataque em hash com e sem salt) 



Usar o mesmo salt para todas as senhas é perigoso porque uma tabela pré-computada que simplesmente contabiliza o salt, irá tornar o salt inútil. A geração de tabelas pré-computadas para bancos de dados com salts exclusivos para cada senha não é viável, devido ao custo computacional de fazê-lo. Mas se um salt comum for usado para todas as entradas, a criação de tal tabela (que representa o salt) torna-se um ataque viável e possivelmente bem-sucedido. 





Se um salt for muito curto, um invasor poderá pré-calcular uma tabela de todos os salts possíveis anexados a cada possível palavra-passe. Usar um sal longo garante que tal tabela seja proibitivamente grande. 





Validar se a sua Palavra-passe foi comprometida

Muitas vezes, as informações roubadas incluem palavras-passe dos utilizadores, o que significa que as suas contas podem estar em risco. Mas como pode saber se os seus dados estão incluídos nas informações roubadas?  

 Através do site “Have I Been Pwned”, poderá pesquisar pelas suas contas nas bases de dados de vários sites que foram alvo de roubo de informação, e cujas informações roubadas foram disponibilizadas publicamente.  

Desta forma, ficará a saber se os seus dados foram comprometidos.   

Alguns gestores de passwords também têm esta funcionalidade embutida. 



  

À medida que o mundo digital se torna mais complexo e inseguro, os ataques informáticos vão evoluindo, a importância de uma palavra-passe complexa só aumenta. Como foi possível observar no artigo, as palavras-passe não são apenas uma sequência aleatória de números e letras, mas uma proteção. Desta forma, da próxima vez que tiver que criar uma nova palavra-passe, lembre-se da importância da mesma.