sábado, abril 20

Um pouco de história

Pintura romana

As senhas podem parecer uma invenção recente, especialmente relacionada à computação e ao digital, mas nada poderia estar mais longe da verdade, as senhas estão conosco há séculos.

Já no Era romana Os sentinelas solicitaram a “senha” para permitir o acesso a determinadas áreas; ou no Segunda Guerra MundialOs soldados aliados usaram as palavras “Relâmpago – Trovão” para diferenciar as unidades aliadas das inimigas.

As senhas foram (e continuam a ser) usadas basicamente como método simples, prático e eficaz para proteger a informação: baseiam-se maioritariamente na linguagem que usamos diariamente, é uma ideia fácil de explicar e implementar, e é transversal: é independente da língua, da cultura, etc.

A primeira referência à sua utilização, e uma das mais populares e divertidas, tem origem no meio académico/informático e ocorre na década de 60 no século XX. MIT. Neste centro seu uso foi iniciado e popularizado por garantir privacidade dos arquivos que o computador armazenou para cada usuário e a distribuição equitativa dos horas de computação, que eram escassos dada a grande procura. Como seria de esperar, nessa mesma universidade e com os mesmos protagonistas, um dos primeiros casos documentados de roubo de senha.

Outras maneiras de proteger informações

As senhas são apenas um método entre muitos de proteção de informações. Ao longo dos anos, surgiram outros mecanismos para determinar quem pode ou não aceder a determinados dados.

Abaixo está uma lista de alguns dos métodos mais recentes:

  • Autenticação Baseada em Conhecimento (KBA).
  • Autenticação baseada em token.
  • Autenticação fora de banda.
  • Autenticação por dados biométricos.
  • Etc.

Outro importante mecanismo complementar de proteção da informação é o criptografia de dados, tanto das informações armazenadas quanto das informações transmitidas. Existem vários algoritmos de criptografia e todos eles usam algum tipo de criptografia. Chave de encriptação.

Infelizmente, apesar do esforço contínuo na implementação de novos sistemas de segurança, criptografia e proteção, do avanço dos sistemas de autenticação de dois fatores, das pesquisas em biometria, etc. Na maioria dos casos a senha será a única/última barreira que protegerá as informações do usuário. Acesso não autorizado.

Quais são as ameaças

Os biscoitos têm muitos métodos para obter senhas (e assim aceder à informação que se pretende proteger). Com o passar dos anos, seus métodos tornaram-se mais sofisticados e outros sistemas surgiram.

Entre as formas mais populares hoje de descobrir uma senha temos:

  • Phishing
  • Engenharia social
  • Programas maliciosos
  • Ataque usando força bruta
  • Ataque usando dicionário
  • Monitoramento de rede
  • surf de ombro

Podem distinguir-se dois grupos de ataques: por um lado, aqueles que tentam fazê-lo o próprio usuárioatravés do uso de truques, aqueles que fornecem a senha direta ou indiretamente (engenharia social, phishing, malware, …) e, por outro lado, aqueles que tentam descobrir a senha espionando comunicações (sem intervenção do usuário, espionagem das comunicações) ou por tentativa e erro (força bruta, dicionários, …). Ou seja, alguns focam em enganar o usuário, e outros focam em comprometer o meio ambiente.

Vale destacar uma técnica da lista anterior que, por mais grosseira que pareça, é muito eficaz: surf de ombro, ou espionando por cima do ombro. É sempre uma boa ideia certificar-se de que, ao inserir uma senha, não haja terceiros à espreita. Isto é importante nos ambientes de trabalho, mas também na esfera pessoal: quando digitamos o PIN em um caixa eletrônico, quando pagamos com cartão em alguns negócios, etc.

Curiosidade:

Instalei recentemente o controle dos pais no console dos meus filhos. Ao definir a senha, pedi que desviassem o olhar. Minha filha (8 anos) obedeceu, mas meu filho (7 anos) fingiu cobrir o rosto com as mãos. Em seguida, ele foi para seu quarto anotar no papel a senha que eu havia digitado. Se uma criança de 7 anos consegue fazer isso, o que você acha que adultos sem escrúpulos poderiam fazer?

Tudo isso se soma aos múltiplos recomendações e políticas de segurança que periodicamente vêm dos departamentos homônimos de muitas empresas: não utilize redes públicas sem fio, não fale sobre determinados aspectos técnicos e confidenciais da empresa em locais públicos, não anote senhas em nenhum meio físico, etc.

Senhas inseguras

Todos os anos, as empresas de segurança publicam alguns listas com as senhas mais popularesou seja, essas empresas de segurança detectam que os usuários utilizam mais senhas fixas simples (o fato de existirem senhas repetidas Já é um sinal de alarme).

Duas conclusões principais podem ser tiradas destes relatórios e listagens: que muitos usuários usam senhas fracas e que, por outro lado, os usuários não costumam dedicar suficiente na criação de uma senha forte.

Para o ano de 2021, a lista de senhas mais utilizadas é a seguinte:

Senha Número de vezes usado
1 123456 103.170.552
2 123456789 46.027.530
3 12345 32.955.431
4 QWERTY 22.317.280
5 senha 20.958.297
6 12345678 14.745.771
7 111111 13.354.149
8 123123 10.244.398
9 1234567890 9.646.621
10 1234567 9.396.813

A biscoitousando a lista acima, em 10 tentativas (uma para cada senha da lista) poderia acessar os dados de muitos usuários (potencialmente milhões)

Usar essas senhas (e outras semelhantes) é como sair as chaves do carro ou de casaé um convite para que nossas informações sejam roubadas.

Felizmente, muitas empresas já implementam nos seus sistemas de informação protocolos e mecanismos para impedir que os usuários usem esses tipos de senhas.

O que não fazer ao criar senhas

Como foi visto, não é aconselhável utilizar senhas simples. Além disso, existem outros hábitos que devem ser evitados na hora de criar uma senha:

  • Não use nomes pessoais, nomes de família ou nomes de animais de estimação.
  • Não use apenas letras do alfabeto: az.
  • Não use nomes fictícios: personagens, livros, filmes,…
  • Não use nomes de cidades.
  • Não utilize nomes comerciais: marcas de veículos, tecnologia,…
  • Não use datas de qualquer tipo.
  • Não use informações pessoais: alimentos, lugares, hobbies,…

Em geral, não é uma boa ideia usar como senha algo que possa ser adivinhou qualquer deduzido. Precisamente, usando Engenharia social (um dos métodos mencionados acima), um cracker poderia descobrir o nome do nosso animal de estimação, nosso livro e autor favorito, alguma data importante ou qualquer dado relevante que tenhamos usado como senha. Bastaria conversar (num chat, num café, etc.) e/ou consultar as nossas redes sociais (onde este tipo de informação pode ser pública).

Senhas fortes

Dos riscos mencionados, a criação de um senha segura apenas protege ou dificulta o acesso para um número limitado de ameaças, ou seja, aquelas em que o cracker tem que adivinhe a senhaou use métodos automáticos para obtê-lo: força bruta e dicionários.

Para ataques em que a senha é obtida de forma clara, seja por monitoramento de mensagens de rede ou por espionagem por cima do ombro, em que a senha completa é obtida, um senha forte não protegeria os dados.

Em qualquer caso, seguindo um conjunto de recomendações ao criar uma senha, torna-se mais forte e, por conseguinte, mais segura:

  • Use letras (maiúsculas e minúsculas), números e símbolos.
  • Certifique-se de que tenha o comprimento apropriado (evite senhas curtas).

Além disso, é aconselhável seguir estas instruções relativas ao gerenciamento de senhas:

  • Não use a mesma senha para todos os serviços.
  • Não utilize a senha do e-mail em outros serviços que utilizem o e-mail como usuário.
  • Altere frequentemente a senha.
  • Não faça login em redes públicas (wi-fi).
  • Não anote a senha em papel, post-it ou qualquer meio físico.
  • Verifique se não há ninguém por perto ao inserir a senha.
  • Mantenha o software e os programas antivírus atualizados.

Uma senha forte seria, por exemplo:

Contém letras maiúsculas, letras minúsculas, números e símbolos. É a senha típica que um gerador aleatório poderia retornar.

A senha proposta, que é muito segura, possui as seguintes combinações possíveis:

  • 26 letras minúsculas.
  • 26 letras maiúsculas.
  • 10 números.
  • 3 símbolos.

Isso perfaz um total de 65 símbolos. O comprimento da senha é de 13 caracteres, então podemos calcular o número possível de combinações:

65 ^ 13 = 369.720.589.101.871.337.890.625 combinações

Supõe quase trezentos e setenta mil trilhões de combinações. Se o cracker pudesse tentar um milhão de combinações por segundo, por exemplo, levaria 369.720.589.101.871.338 segundos para tentar todas as combinações ou, em outras palavras, cerca de 17.723.762.972 anos (dezessete bilhões de anos).

Em sistemas online, normalmente Eles bloqueiam a conta na terceira tentativa fracassada, então você pode ficar tranquilo a esse respeito. Quanto ao uso de dicionários qualquer força brutatrabalhando em um arquivo chave Nessa velocidade, não parece viável que eles consigam obter a senha em um prazo razoável, pelo menos não com a tecnologia de processamento atual.

Senhas para humanos

Tudo o que foi proposto até agora, no papel, é perfeito. Use senhas fortes, cuja combinação seja impossível de prever ou adivinhare cujo comprimento requer um tempo de computação exorbitanteé o mais seguro.

Infelizmente, há um problema com estes tipos de senhas: elas precisam ser usado por humanos. E as pessoas não são especialmente boas em lembrar coisas.

Vamos imaginar uma situação muito comum: um usuário que precisa acessar 10-15 serviços diferentescom senhas fortes (aleatório com comprimento apropriado), e você deve ser capaz de lembrá-los, não consigo anotá-los e, para piorar a situação, você tem que trocá-los com frequência, a cada poucos meses. É quase certo que você acabará esquecendo algumas ou a maioria de suas senhas, se alguma vez conseguir memorizá-las todas.

Quando se força um usuário Para utilizar esses tipos de senhas e alterá-las com frequência, não é incomum que alguns usuários deixem de alterá-las ou acabem usando a mesma senha para todos os serviços.

Deve haver um ponto intermediário entre o senhas fracas e fácil de adivinhar, e o senhas fortes e complexo:

Fraco Intermediário Forte
123456 ? Fu17_15/Mm19;

Fácil de lembrar, difícil de adivinhar

As pessoas têm dificuldade em lembrar sequências de números e letras aleatórios; nossa mente processa isso melhor sequências que fazem sentido, ou que sigam algum padrão que possa ser reproduzido. Também lembramos por associação de conceitoscomo experiências, sons, cheiros, etc.

Muitos estudantes usaram (e continuam a usar) mecanismos mnemônicos memorizar informações que de outra forma seriam muito difíceis: datas de eventos, pesos atômicos, fórmulas, equações, sequências, etc.

Um dos truques é, por exemplo, usar a primeira sílaba de cada palavra de uma lista que deve ser memorizada. Com essas sílabas formam-se palavras (que podem ter significado), que são aquelas que os alunos finalmente memorizam. Para obter a lista de palavras original (decodificar), basta decompor a palavra mnemônica em suas sílabas e proceder ao contrário, ou seja, recuperar as palavras que começam com cada uma das sílabas. Sem entrar nos meandros psicológicos e processos mentais que facilitam essa forma de memorizar, fica claro que funciona e que conseguimos atribuir significados a palavras compostas com menos esforço. Na verdade, muitos alunos se lembram dessas palavras muitos anos depois, elas persistem ao longo do tempo.

Um aluno quer lembrar os países da América do Norte e cria a palavra: MEUCbaseado nas iniciais do México, dos Estados Unidos e do Canadá.

Este método nos ajuda a entender que uma grande quantidade de informações pode ser memorizada, complexo, se você souber como. Por outro lado, a segurança desta forma de criar senhas.

Senhas

Uma forma de construir senhas baseada na técnica mnemônica mencionada acima está se tornando popular. A base é construir uma senha com pedaços (pedaços) de dados de conhecimento do usuário (públicos ou não) e, por meio de um padrão conhecidos apenas pelo próprio usuário, unindo-os até formarem um Nova senha com sólidos padrões de segurança.

Alguns exemplos de informações que podem ser utilizadas para compor uma senha:

Dois primeiros/últimos dígitos da placa do carro/moto.

  • 34, 93, 82,…

Soma ou subtração dos dois números formados pelos dois primeiros algarismos e pelos dois últimos algarismos do ano de nascimento.

  • 1990 -> 19 + 90, 1990 -> 90 – 19, 1990 -> 19 – 90

Primeira/última letra da placa do carro/moto.

  • L, S, T, …

Primeira/última sílaba da população natal.

  • Al, Bar, Sé, …

Últimas 3 letras do nome do animal de estimação.

  • Tín, Fo, Co,…

Primeira letra de cada palavra do título do livro preferido.

  • Dom Quixote –> EQ, Cem Anos de Solidão –> CADS, Os Pilares da Terra –> LPDLT,…

existir fontes infinitas de informações pessoais que poderiam ser fragmentadas e utilizadas para gerar uma senha, a única limitação seria a imaginação do usuário. O importante é que o usuário se lembre do que pedaço de informação e que padrão utilizou, e que só ele conhece o processo completo.

anedota pessoal

Vamos começar com um caso prático, de um anedota pessoal que pode servir de base para inserir senhas e, enquanto a geramos, verificaremos sua nível de segurança.

Há algum tempo, alguns amigos me contaram a história de um pai que pediu pizza para dividir com o filho e os colegas, que assistiam a um filme na sala de aula. Num descuido, o pai fez o pedido de pizza incluindo abacaxi, ingrediente um tanto polêmico. A resposta deles a esse “ultraje” culinário foi um enérgico “Pai, não com abacaxi!”

1º Passo:

Podemos usar essa mesma frase, tirada de um contexto bem específico, como base para a criação de uma senha.

Esta senha é composta por 4 palavras e, tendo em conta que a língua espanhola tem mais de 93.000 termos (de acordo com o Dicionário da Real Academia Espanhola), as combinações necessárias para adivinhar a senha seriam:

Número de combinações potenciais:

93.000 ^ 4 = 74.805.201.000.000.000.000 combinações

Alguns 74 trilhões de combinações, o que proporcionaria uma segurança de senha bastante alta. Na realidade, trapaceámos um pouco: dos 93 mil termos coletados no DRAE, o espanhol médio utiliza apenas uma fração deles no seu dia a dia, além de os artigos estarem contidos entre as palavras mais utilizadas. Portanto, a base de cálculo não seria exatamente a indicada.

Adotando uma abordagem mais realista, uma pessoa com ensino médio pode usar em média cerca de 500 palavras diferentes por dia. Isso não significa que você não conheça mais termos (entre 20.000 e 40.000). Então, se lhe dermos uma escolha entre aquelas que você usa diariamente e aquelas que você talvez conheça, vamos estimar que sua base de palavras para criar uma senha de frase é cerca de 5.000 palavras. Isso nos dá:

Número de combinações reais:

5.000 ^ 4 = 625.000.000.000.000 combinações

Eles são obtidos 625 bilhões de combinações, o que também não é um número ruim. Ainda assim, por que não melhorá-lo?

2º Passo:

Vamos apresentar vários padrões básicos para adicionar mais barulho à senha, mas tentando obter o usuário ser capaz de lembrá-los: maiúsculas/minúsculas, números e símbolos.

Vamos começar aplicando uma convenção amplamente utilizada no desenvolvimento de software e em linguagens modernas: a Estojo superior de cameloou seja, coloque a primeira letra de cada palavra em maiúscula.

Essa simples mudança permite dobrar a base de cálculo, pois será necessário um dicionário com todas as palavras em minúsculas e outro com todas as palavras com a primeira letra em maiúscula.

3º Passo:

Vamos adicionar um número à senha. Para isso, vamos pegar outro anedota pessoalque somente o usuário pode saber.

O usuário soma os dois últimos dígitos das datas de nascimento de toda a sua família: 1970, 1974, 1990 e 1993. Ou seja: 70 + 74 + 90 + 93 = 327. Aparentemente, esse número não tem significado exceto para o usuário. A senha ficaria assim:

A senha ainda é inteligível, mas a complexidade aumenta vários pontos. O número de combinações agora inclui 3 símbolos numéricos (de 0 a 9), portanto as tentativas necessárias para descobri-lo aumentariam para:

Número de combinações:

(10.000 + 10) ^ (4 + 3) = 10.010 ^ 7 = 10.070.210.350.350.210.070.010.000.000 combinações

O 10 mil quatrilhões de combinações Eles já parecem um número razoável, por um período relativamente fácil de lembrar.

4º Passo

Por fim, podemos separar números e palavras com algum símbolo, para que o ruído na senha seja suficiente para torná-la bem forte:

Quatro símbolos, estrategicamente colocado, a partir de um conjunto de 16 símbolos (um subconjunto de quase todos os símbolos imprimíveis), por sua vez, aumentam o complexidade da senha. Agora as combinações possíveis são as seguintes:

Número de combinações totais:

(10.000 + 3 + 16) ^ (4 + 3 + 4) = 10.019 ^ 11 =

102.109.968.604.705.434.210.283.002.058.640.000.000.000.000 (aprox.) combinações

São 102 septilhões de combinaçõesum número que ultrapassa em muito a quantidade da senha aleatória que foi indicada no início como exemplo de segurança (1 a 102 trilhões).

Padrões

Como vimos, uma combinação de palavras, símbolos e números pode dar origem a senhas segurase também continuam a ser fácil de lembrar.

No exemplo, uma única senha foi construída, mas o método para gerar quantas senhas forem necessárias.

Quando você tem que gerenciar múltiplas senhas (o que é um fato muito comum tanto no ambiente profissional quanto no pessoal), é necessário acrescentar mais um conceito (que já foi parcialmente descrito neste mesmo texto), para que a gestão destes não represente um alta carga cognitiva. O objetivo é evitar uma queda frequência de atualização de senha, senhas fáceis de adivinhar, senhas anotadas em mídia física,…).

Como solução, podemos usar padrõesisto é, definir estruturas de senha. Por exemplo, na senha gerada anteriormente, observa-se a seguinte estrutura:

Número + símbolos + frase + símbolos

Isto poderia ser um padrão, por exemplo, para gerar senhas fortes semelhantes. Com estruturas, é muito mais fácil gerar uma senha e lembrá-la:

  • 415;;PelucheMancoVermelho..
  • 214;;Alterar Cromo Quebrado..
  • 988;;CadernoCamião Perdido..

O uso de padrões reduz a segurança?

Simé sem dúvida um pequeno retrocesso nesta corrida pela segurança: torna uma senha mais previsível. Essa redução na segurança compensa? Depende como eles são usados. No caso do exemplo, reduziria a complexidade, já que o número ou as combinações necessárias seriam menores. Se você reduzir o número de combinações possíveis de septilhões para bilhões, será uma diminuição notável, mas muito longe de ser uma senha que pode ser facilmente comprometida.

Estas seriam as combinações necessárias para uma estrutura como a descrita acima:

10 ^ 3 * 16 ^ 2 * 10.000 ^ 4 * 16 ^ 2 = 655.360.000.000 combinações

Adicionando mais informações (pedaços) ao padrão, podemos multiplicar esse número de combinações, até um valor que consideramos suficientemente seguro.

Também deve-se ter em mente que padrões devem ser conhecidos apenas pelo usuárioque é o mesmo método usado para criar a senha.

Cada usuário deve construir ou gerar seu próprio padrão:

  • Número + Símbolos + Frase + Símbolos
  • Símbolos + Frase + Número + Frase
  • Símbolos + Frase + Número + Frase + Número + Símbolos

Você pode atenuar esse problema da mesma forma que atenua o uso contínuo de uma senha: alterando a senha e o padrão com relativa frequência.

Ofuscar

Apesar de ir contra recomendações de segurança mais básicascaso o usuário seja obrigado a anotar uma senha em meio físico (repetimos que isso é o menos aconselhável), você sempre pode optar por dificultar um pouco mais as coisas: ofuscar.

Se uma senha precisar ser escrita em papel, podemos use um padrão conhecido apenas por nós, para ofuscar o conteúdo para que não seja diretamente decifrável.

Um método simples é adicionar mais “senha” à senha, ou seja, adicionar ruído. E adicionar ruído exige que o usuário saiba o que é ruído e o que não é ruído, onde começa a senha ou que parte da senha é válida.

Um exemplo, a senha forte inicial:

Vamos adicionar 3 caracteres alfanuméricos no início e três no final, completamente aleatórios, de modo que fique mais ou menos assim:

Se anotarmos essa senha no papel, fica difícil alguém utilizá-la, pois não saberá em que parte da palavra está a senha (o ruído fica destacado em vermelho). Na verdade, você nem precisa saber disso foi ofuscado qualquer ruído foi adicionado. Provavelmente você tentará usar a senha conforme escrita e acabará bloqueando o acesso.

Como visto na parte de padrões, isso deve ser conhecido (e lembrado) apenas pelo usuário, e existem vários padrões ou formas de ofuscar a senha para escrevê-la no papel:

  • Adicione prefixos/sufixos de determinado comprimento.
  • Insira palavras conhecidas que devem ser eliminadas (nomes de animais, pessoas, personagens,…).
  • Gire a senha um certo número de posições.

Aplicando qualquer um destes exemplos:

  • Fu17_15/patoMm19;
  • FuCaiman17_15/Mm19;
  • /Mm19; Fu17_15

Resumo

Finalmente, você deve seguir o instruções de segurança do departamento: altere a senha com frequência, não reutilize senhas, gere senhas complexas (que é o que foi descrito), não anote senhas (ou como último recurso), etc.

Tem que gaste um mínimo de tempo crie uma senha e, se houver várias, tente estabelecer seu próprio padrão para não enlouquecer.

Por outro lado, não faz sentido usar senhas fortes se estivermos negligente com sua privacidade: se deixarmos a sessão aberta no terminal, se nos conectarmos a redes públicas sem fio para trabalhar, se instalarmos software de origem duvidosa no computador, se não utilizarmos software antivírus adequado, etc.

Não existe um sistema 100% seguromas podemos usar um pouco senso comum e crie todos os obstáculos possíveis para que, quando chegar o dia, você possa minimizar o risco.

Compartilhe:

Comentários estão fechados.