Início » Segurança » Por que as regras de senhas “fortes” que você aprendeu estavam erradas

Por que as regras de senhas “fortes” que você aprendeu estavam erradas

##0 c4Ra 9uE 1nv&nTou 4$ R3gr4S p4rA $3nh4s d1F1c&is SE! 4rReP3nd&u d0 Qu3 feZ!@##

Por
09/08/2017 às 11h01
Já conhece a nova extensão do Tecnoblog? Baixe Agora

Em todos esses anos na internet, você foi doutrinado a criar senhas cheias de maiúsculas, minúsculas, números e caracteres especiais, de preferência bem longas, daquelas impossíveis de memorizar. Muitos sites nem permitem concluir o cadastro se você não escolher uma senha “forte” (embora haja algumas exceções como, err, o seu internet banking). Mas de onde surgiram essas regras?

O cara que inventou o padrão foi Bill Burr, que trabalhou no Instituto Nacional de Padrões e Tecnologia (NIST, na sigla em inglês), uma espécie de equivalente americano da nossa ABNT. O documento que continha as regras foi escrito em 2003 e dizia que uma senha forte deveria ter “capitalização irregular, caracteres especiais e pelo menos um numeral”.

Mas não tem como não lembrar de uma tirinha clássica do xkcd: se a gente levar em conta um ataque de força bruta, uma senha “correct horse battery staple” é muito mais difícil de quebrar que um “Tr0ub4dor&3” (e mais fácil de ser memorizada). A primeira poderia levar 550 anos para ser adivinhada por um computador, enquanto a senha “forte” demoraria somente três dias, considerando um ataque típico na web.

Calma que tem mais: o documento também recomendava trocas de senhas a cada 90 dias. Eu não preciso nem dizer que trocar uma senha de 0b3$%ECyrn2#@!1 para 0b3$%ECyrn2#@!2 não é a coisa mais segura do mundo.

Por isso, Burr, agora com 72 anos e aposentado, deu uma entrevista para o Wall Street Journal se desculpando por ter criado as regras hoje amplamente adotadas pelas empresas (e provavelmente por ter feito você perder seu tempo). Além disso, o documento do NIST foi reescrito, removendo a regra de troca de senha a cada 90 dias e informando o seguinte:

“A forma mais notável disso [resolver as preocupações com segurança] são as regras de composição, que exigem que o usuário escolha senhas utilizando uma mistura de tipos de caracteres, como um numeral, maiúscula e símbolo. Porém, as análises de bancos de senhas violados revelam que o benefício dessas regras não é tão significativo como pensado inicialmente, embora o impacto na usabilidade e memorização seja grave”.

Por isso, o NIST agora apresenta “uma abordagem diferente e mais simples, baseada principalmente no comprimento da senha”. A recomendação é que “os usuários devem ser encorajados a tornarem suas senhas tão longas quanto quiserem”, e que ataques de força bruta podem ser mitigados limitando-se a quantidade de tentativas de login permitidas. Não há mais requisitos específicos de composição de senhas.

A conclusão é que “os requisitos de comprimento e complexidade além dos recomendados aqui aumentam significativamente a dificuldade das senhas memorizadas e a frustração do usuário. Como resultado, os usuários geralmente burlam essas restrições de uma forma contraproducente”.

Em resumo, tudo o que te ensinaram sobre como criar uma senha forte estava errado.

Mais sobre: ,
  • Islan Oliveira

    Já tem uns 2 anos que todas minhas contas na internet eu uso frases, às vezes misturando vários idiomas ou então usando frases com algum erro gramatical proposital. E atualizo normalmente a cada 3 meses, mas por decisão própria, quando me dá na telha. Acho bastante improvável que alguém consiga quebrar uma senha minha por força bruta em tempo hábil (que eu troque de senha ou morra, o que vier primeiro).

    • Perfeito, só acho surreal tu não usar um gerenciador de senhas 🙂

      • Islan Oliveira

        Cara, já tentei usar, mas não me acostumei.

    • Rodrigo

      Misturar os idiomas já é algo a se destacar, mas o erro gramatical, velho, foi a cereja do bolo! Adotarei.

  • gilbras

    O problema são serviços/sites que limitam a quantidade de caracteres na composição da senha.
    Até quando??

    • Isso é um forte indício de que o serviço armazena as senhas em texto puro, não em hash (porque daí não faria diferença no tamanho no banco de dados).

      Aí eu boto qualquer coisa, porque o cara que fez é tão incompetente que a senha provavelmente vai vazar de qualquer forma. ¯_(ツ)_/¯

      • gilbras

        Isso, e Bancos.

      • Bruno Martins Santana

        Dai vc coloca uma senha super complexa e dificil de lembrar e a senha do “banco de dados” do cara é 123456

        • Burnerman_X

          Ironicamente “um dois três quatro cinco seis” deve ser uma senha difícil de quebrar.

      • Thiago Azevedo
      • Ed. Blake

        Dica de senha para esses casos: dadada.
        Zuckerberg recomenda.

      • Veritas

        Isso é um forte indício de que o serviço armazena as senhas em texto
        puro, não em hash (porque daí não faria diferença no tamanho no banco de
        dados).

        Mas a limitação para a quantidade de caracteres ocorre no lado cliente, não no lado do servidor.

        É só uma limitação para que o pobre usuário, não conhecedor de tecnologia e, principalmente, de segurança, não coloque uma senha com 1 dígito. 🙂

        Aposto que se não tivesse esta checagem no lado do cliente, muitos de nossos pais, tios e avós iriam colocar “1” como senha… ou “a”. 🙂

        • O comentário se refere ao limite máximo, não mínimo.

          • Veritas

            Vero, erro meu.

            Mas, talvez também seja uma limitação para que o pobre usuário desconhecedor não escreva um texto gigante e, depois, esqueça. 🙂

        • Meganegão

          Caramba! Voce descobriu a senha das minhas planilhas de excel, como fez isso?

      • A MS limita o tamanho da senha a 16 caracteres (tu pode colocar mais, só que só os 16 primeiros contam)… E ironicamente invadiram ama conta minha hj.
        ¯_(ツ)_/¯

    • vin

      Ah, os bancos…

      Geralmente exigem uma senha curta ou só com números (as vezes os dois) para acessar o Internet Banking, e ainda colocam um teclado virtual ridículo que impede o uso de gerenciadores de senha.

      • Gustavo Sarmento

        É que tem de manter a torneirinha de dinheiro aberta pra GAS Tecnologia…

        • Gaba

          Essa maldita empresa… a Caixa usa ele. Fode completamente o computador e nao serve pra porra nenhuma.

        • Arthur Soares

          Agradeço o Santander deixar como opcional baixar ou não o Módulo de lentidão… Quando tenho que usar Banco do Brasil faço pelo celular pra não intsalar essa porqueira no meu pc

        • Felipe de Souza

          Itaú e Bradesco já tem um “aplicativo próprio” par PC para fazer o acesso sem precisar de módulos extras de segurança que agem no navegador. Nada mais são que navegadores minimizados à função única de acessar o site do banco sem possibilidade da instalação de complementos ou sites externos.

  • Bruno Martins Santana

    então a senha : “eu não sei a senha me deixe em paz” , é consideradao super segura ? coreto ?

  • Danilo Azevedo

    Use um gerenciador de senhas e não fique decorando. 😀

    • PPKX XD ✓ᵛᵉʳᶦᶠᶦᵉᵈ

      De preferência um que ainda não foi atacado ou que não tenha backdoors

      • Ricardo

        Quais foram atacados, quais tem BackDoor e quais tem os dois?

      • LAST PASS fellings

    • Use essa recomendação do artigo para a senha do gerenciador de senhas 😀

  • Amoeba

    Esperando a repetição dessa notícia aqui: https://tecnoblog.net/206056/keeper-piores-senhas-2016/

  • Só observo que não é bem de AGORA que eles vieram com essa abordagem…

    Já faz alguns anos que eles publicaram um artigo com aquela história em quadrinho e essas recomendações.

    Troquei minha senha forte de 9 caracteres, por uma frase simples e fácil de lembrar, mas com uns 25 caracteres. É engraçado me ver digitando a senha do 1PASSWORD, parece que estou escrevendo uma redação 😀

    • Rafael F. Silva

      Também uso frases marcantes de livros que li na infância como senhas. Se eu consegui lembrar de uma frase de mais de 30 caracteres após 20 anos, acredito ser uma boa senha

    • Islan Oliveira

      Na minha conta do DisqUs minha senha anterior possuía mais de 40 caracteres e palavras em português, inglês, alemão e francês. O único inconveniente era na hora de logar, dava uma leve preguiça.

  • André Matulionis

    Olha, concordo pra caramba no sentido, mas colocar “correct horse battery staple” como o xkcd mostrou ainda está um tanto inseguro, já que a senha é feita por 4 palavras, não 28 caracteres. Para um hacker esforçado, essa senha ainda é possível de ser identificada.

    O melhor é adicionar números e caracteres, assim não se tratam somente de palavras.
    “correct 4se. Battery stap1e!”, por exemplo, força a descoberta de caracteres.

    • Isso é bem discutível, mas o próprio 1Password atualizou o “medidor de força da senha” para se adaptar a esse método de senhas com palavras: https://blog.agilebits.com/2016/02/02/how-1password-calculates-password-strength/

      O “hacker esforçado” pode conseguir pegar sua senha se:

      – Ele estiver atacando especificamente você, e sabe que você usa esse esquema para gerar senhas;
      – Ele sabe qual separador você usa entre as palavras (pode ser correct horse battery staple, mas pode ser correct#horse#battery#staple ou correct2horse2battery2staple; são infinitas combinações possíveis);
      – Ele tiver acesso ao dicionário que você usa para gerar as senhas (obviamente não é uma boa ideia pegar umas palavras da sua cabeça; é melhor aleatorizar)

      Se essas três condições não forem atendidas ao mesmo tempo, é computacionalmente impraticável quebrar com força bruta.

      • André Matulionis

        A construção totalmente randômica feita por um computador é realmente difícil de crackear. Mas pra isso é necessário um serviço pronto, e assim a conveniência de “lembrar da senha” vira só algo estético. Afinal, se você tem um serviço dedicado a isso, você não vai se dar ao esforço.

        Considerando o bias do usuário, com um dicionário de 3000 palavras mais usadas e 4 palavras por senha, a senha é mais fácil de ser descoberta do que se fosse 8 letras e números. 3000^4 < 62^8 https://www.wolframalpha.com/input/?i=3000%5E4+%3C+62%5E8

        O separador é justamente do que eu estava falando. Usar espaço é um lugar comum a ser evitado. Usar '#' ou '2' já aumenta a complexidade em cerca de 70 vezes. Usar separadores diferentes na mesma senha aumenta centenas de milhares. Trocar algumas letras por números aumenta de novo, e assim vai indo.

      • Veritas

        Realmente, se você não utilizar palavras complexas, digamos assim, ou colocar caracteres especiais ou números nelas, um ataque via força bruta, baseado em dicionários fica mais fácil, só bloqueado pela necessidade de processamento (e o tempo) que o atacante possui.

        Talve algo do tipo
        3orrect#hors5#b2ttery#st2ple
        seja melhor ainda, onde substituímos algumas letras da palavra por sua posição correspondente no alfabeto. 🙂

        • Rafael Rocha Dornelas

          usando desta forma, não estamos voltando para a primeira opção?

    • Caio

      Sim, mas ai perde o proposito de facilitar né!
      algo como sua senha + fortificação:
      “123456 versão nova com fortificação avançada”
      Para os sites que permitem acentuação, isso já torna sua senha comum em algo muito mais forte.

    • Rodrigo

      Os dicionários de língua portuguesa (ficando apenas no português) trazem entre 300 a 500 mil palavras, dependendo da publicação. Boa sorte.

      Edit: Escolhi aqui, aleatoriamente (nem tanto): exequivel pachorra meretissimo rocegar

      Edit2: Imaginando que pra cada serviço serão palavras aleatorias diferentes, o efeito do “memorizar” tá descartado, vai ter que ser no gerenciador de senhas mesmo, tal qual letras, números e símbolos aleatórios.

      Edit3: Sim, obviamente que adicionando a essas palavras números e espaçador diferente aumenta ainda mais a dificuldade

      • André Matulionis

        Mas considerando que o usuário vai “gerar” as palavras, a distribuição do uso dessas 500k palavras vai ser bem irregular, da mesma forma que 1 000 000 de números têm 6 dígitos, mas “123456” é o mais usado.

        Apostar nas 1000 palavras mais comuns é um bom começo.

      • Imaginando que pra cada serviço serão palavras aleatorias diferentes, o efeito do “memorizar” tá descartado

        Pelo fato da senha ser pronunciável, se você digita/vê ela com frequência, tende a memorizar com o tempo.

        • Rodrigo

          Tem razão, embora, nesse caso, vejo vantagem em usar um gerenciador de senhas offline, ou mesmo na nuvem, mas sem o auto completar.

  • Christopher Domiciano

    Por enquanto vou usando o LastPass gerando senhas de 13 dígitos com letras, números e símbolos aleatórios. Tem me atendido até então.

  • Molinex

    Ai que Bill Burro. Dá zero pra ele…

    • Ed. Blake

      Boa dica de senha! Obrigado.

      • Arthur Soares

        kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ri demais

  • Felipe Alves

    Ata, claro que palavras são mais fáceis de descobrir.

    • Rafael F. Silva

      Por ataque de dicionário, são sim.

  • Andre Kittler

    Troque “senha” (password) por “frase secreta” (passphrase). Adota isso em inumeros serviços que importam. Usuários não pensam, apenas agem da forma que é solicitado.
    Assim já pode ajudar…

    • Tiago Medeiros

      Muitas vezes nem é questão de pensar ou não. Muitos sites restringem tanto o formato da senha que praticamente somos obrigados a usar algo ilegível e de difícil memorização.

      • Carlos Taylor

        Exatamente cara, cansei de ter que criar padrões de senhas para utilizar nesses casos.. O pior que muitos exigem uma boa senha mas o site em si não tem segurança. Aí nesses casos eu me obrigo a criar uma senha só pra eles..

      • Arthur Soares

        Sim… normalmente a senha que as pessoas usam é Maiúscula + 3 minúsculas + 4 números + Caractere especial (se necessário). Exemplo: Vaca1234 ou Vaca1234$

  • Klotz

    Se eu inserir na frase palavras com erros de escrita, verbos conjugados e/ou acentos colocados de maneira errada, torna a senha ainda mais segura?

    • Roberto

      o uso de caracteres especiais aumenta o número de combinações possíveis, logo, torna a senha mais difícil de ser quebrada.
      mas se vc vai escrever tecnoblog ou tecnublog, a dificuldade é a mesma

      • Banzeh

        A dificuldade é a mesma se for usado Brute Force. Se utilizar engenharia social, trocar letras torna o processo mais difícil.

    • André Matulionis

      Sim, mas somente se essa forma errada não for popular. “para o” -> “pro” acabaria atrapalhando mais que ajudando

      Evitar escrever em inglês também é um bom começo.

    • Lucky Dog

      sim.

      os dois métodos básicos para invadir uma conta são por descoberta da senha ou pela sua quebra.

      inserir o que você indicou tornará a senha mais difícil de ser descoberta (via engenharia social), mas não influi na possibilidade de ser quebrada. este segundo método varia conforme a extensão da senha (quanto mais caracteres possuir, maior será a necessidade de processamento computacional).

  • KARALBPIN

    Minhas senhas sempre tem apenas letras. Geralmente 15 letras. E eu nunca me lembro delas e acabo tendo que criar outras.

  • caramba, que droga hein…

  • LuisPauloLohmann

    Alguém precisa ir lá avisar o povo da Apple disso.

  • Helmut

    Imaginei o Bill Burr dizendo que era só uma piada.

  • Breno

    Trabalhei numa empresa que a gente era forçado a trocar a senha a cada 90 dias e não podia repetir com nenhuma senha anterior. Eu fazia exatamente isto senha + contador.
    “não sou obrigado a criar novas senhas a cada fds”

    • MJuliani

      O site da Vivo era bem pior,
      tem de ser 4 dígitos, somente números
      de vez em quando obrigava a trocar a senha e não podia repetir as 10 últimas

  • Leonardo Thibes

    O mais comum é pegar a sua senha “forte”, escrever num post-it e colar no monitor….ahuahauhauhauhaua

  • Então vou usar a senha “The quick brown fox jumps over the lazy dog”.

    • Arthur Soares

      hahahahah poucos vão pegar a referência

  • André Matulionis

    Sei que pode ser meio off topic, mas 2FA aumenta mais a segurança que lembrar de senhas, com mais conforto.

    • LekyChan

      eu adoraria ter um FIDO U2F Security Key, mas no BR é muito caro

      • André Matulionis

        Eu uso app de celular mesmo. De graça e vale a pena.

  • Silas Fibla

    As regras não estão erradas, a maneira que as pessoas criam e guardam as
    senhas é que está. Uma senha forte deve conter sim a combinação:
    Maiúsculas+minúsculas+números+caractere especial. Entretanto, uma boa
    maneira de criar uma senha é através de uma frase. Crie uma frase
    qualquer, mas que faça sentido para vc, separe para a senha a primeira
    letra de cada palavra, adicione números e caracteres especiais.

    Ex. ” Esta é um senha muito forte. Agosto 2017″

    Olha como fica a senha.

    [email protected]

    Você não precisa memorizar as letras separadas. Apenas a frase e a forma como vc construiu a senha.

    Na minha pagina do facebook, criei um artigo a respeito de senhas fortes. Acesse.
    https://www.facebook.com/chaveseguranca/

    • Gaba

      Usar “Esta é um senha muito forte. Agosto 2017” seria muito mais seguro nesse caso, ja que a sua abreviacao tem somente 11 chars, enquanto a sua frase tem praticamente o triplo. O problema nao esta em nao usar special chars ou numeros, mas na extensao da senha.

      • Silas Fibla

        Concordo. A ideia é construir uma senha eficiente, quanto maior, melhor. O ataque de força bruta se baseia em combinações simples e palavras do dicionário, quanto menos descaracterizada a senha for, mais segura ela será. Importante lembrar que só uma senha, mesmo que tenha 50 caracteres, não garante a segurança, autenticação em 2 (ou mais) fatores ainda é a melhor solução.

      • Arthur Soares

        Nesse caso tem números e char “.”

  • Então os sites deveriam proibir a senha “sua mãe” porque é muito facil

    • Geralmente ela já é proibida porque é muito grande.

  • kadug

    O problema das senhas longas é digita-las nos dispositivos móveis.

    • LekyChan

      apps como keepass podem resolver esse problema.

  • malfatti

    É uma pena que a matéria só faça comentário e não aponte solução.

    • Arthur Soares

      A solução é fazer uma senha com muitos caracteres, independente do tipo de caracter

    • Está subjetivamente solucionado.

  • Fernando Val

    Por isso que durante anos, uma de minhas senhas mais fortes foi “aminhasenhaesenhaseubobaoeduvidoquevocedescubra”, e ninguém nunca descobriu a senha.

    • Pedro Lucas

      xo tentar entrar no seu perfil com ela…

  • Difícil pro ser humano, fácil pro computador. E vice-versa.

  • swordfish

  • Anakin

    Os serviços tipo LastPast irão atualizar pra este novo método? Até que ponto as senhas que eles geram não são tão seguras assim.

  • Isaias Freitas

    E qual seria o jeito certo então ?

  • Keaton

    joga “correcthorsebatterystaple” no Have I been pwn3d / password. haha

  • André G

    O mais importante é usar senhas diferentes para cada site, pois a menos que você seja uma pessoa importante não irão tentar descobrir sua senha por ataque massivo, mas certo dia você pode ter sua senha descoberta por cair no golpe de um site clone ou um malware, e ao descobrir sua senha eles irão tentar usar seu login e senha em todos os principais sites existentes.
    Caso você não queira usar um programa como Lastpass, pode usar sua senha variável para cada site usando as duas primeiras letras do site em cada senha, como por exemplo higa00, no Google você colocaria Gohiga00, no Facebook Fahiga00, no Twitter Twhiga00. Ou usando as duas últimas letras do site Google –> Lehiga00, a primeira e última letra, Google –> Gehiga00, etc. Você pode criar a sua própria combinação, dessa forma, se descobrirem sua senha, você não terá todas as contas invadidas.
    Além disso, usem verificação em duas etapas sempre que estiver disponível.

  • Daniel Silva

    Bom, mas o que estabelece a base para a construção de uma senha segura? Por ordem de prioridade seria assim:

    1) O mais longa possível;
    2) Falta de sentido;
    3) Caracteres especiais, maiúsculos e numéricos;