Ver Feed RSS

Tecnologia de Redes, Mobilidade e Inovação

Quanto tempo leva para quebrar uma chave WPA ou WPA2?

Avaliação: 2 votos, 5,00 média.
Existe vários vídeos no Youtube e comentários em blogs descrevendo como "quebrar" chaves WPA e WPA2. O WEP tem um bug grave, que permite com que a chave seja descoberta rapidamente, mas no caso do WPA ou WPA2 os únicos métodos publicados e provados são dicionário ou força bruta.

Existe um post correndo na Internet sobre dois pesquisados japoneses que teriam descoberto uma maneira de quebrar parcialmente o WPA TKIP (esse suposto método não atingiria WPA AES nem o WPA2). Isso foi inclusive comentado aqui no Under-Linux em um post recente de outro blog.

Quando falo em "suposto método" é porque todos os textos que apareceram na Internet eram muito parecidos, mas depois disso não vi mais nenhum comentário. O nome dos pesquisadores aparentemente são válidos (pois existem textos relacionados a criptografia nomeando os dois), mas não encontrei nenhuma referência ao texto que eles iriam divulgar no evento que ocorreu semana passada. Além disso, em muitos sites (como Yahoo Tech) a notícia foi removida.

Em resumo: ninguém apareceu até agora para confirmar se a dedução em "matematiquês" está correta ou não.

Mas vamos considerar que o WPA TKIP seja realmente passível de quebra por algum algoritmo, então vamos nos focar no WPA AES e WPA2.

Em ambos os protocolos, como citei acima, a chave só pode ser quebrada (até onde se sabe) via ataque de dicionário ou força bruta.

O ataque de dicionário está relacionado à má escolha da chave. Por exemplo, um administrador escolhe como chave a seqüência "123456789". No ataque de dicionário o atacante possui uma lista de palavras (o dicionário) contendo várias senhas possíveis e o programa atacante tenta todas elas. Se a chave foi mal escolhida pelo administrador, ela deve estar na lista de palavras e eventualmente o programa identifica, informando o hacker.

Vale salientar que o programa de ataque tem que tentar uma por uma todas as chaves. Se for uma lista de um milhão de palavras, o programa vai testar todas.

Existe para download nos sites de hackers, várias listas de dicionários que um atacante pode usar e tentar a sorte. Mas é apenas isso: pura sorte (e falta de consciência do administrador da rede atacada).

Quando vemos os vídeos do Youtube, descrevendo como se ataca WPA ou WPA2, são ataques de dicionário. Obviamente que o "atacante" neste caso teve o cuidado de colocar uma chave WPA que estava no dicionário usado, então ele tem sucesso. A primeira vista, dá impressão que ele invadiu a rede em menos de 1 minuto, mas na verdade ele estava apenas demonstrando que o ataque precisa de sorte: o administrador tem que escolher uma senha fácil e que "por sorte" estava no dicionário pequeno que ele usou.

No entanto, qualquer senha que tenha sido escolhida com um pouco de cuidado, não estará no dicionário. Não estou falando de senhas como "6$gs5SD45Diad", mas coisas como "AbC345SoRtE" já são relativamente boas.

Nesse caso, quando o administrador fez uma boa escolha, a única alternativa do atacante é testar TODAS as chaves possíveis, uma a uma. Esse é o chamado método da força bruta.

Nesse caso, quanto tempo levaria para um atacante testar todas as chaves?

Lembre, cada chave pode ter caracteres maiúsculos e minúsculos, além de símbolos (%$&#@) e números. Na verdade, pode inclusive ser composta de qualquer número hexadecimal de 00 a FF. Mas vamos focar apenas no tradicional: letras, números e símbolos. Isso dá aproximadamente 70 caracteres possíveis.

Assim o atacante tem que tentar todas as chaves de 1 caracter (70 opções, fácil), depois todas de 2 caracteres (70 x 70 = 4.900 opções diferentes), depois todas de 3 caracteres (343.000 opções) e assim diante.

Além disso, por uma questão de estatística, em média, será necessário testar metade das opções para encontra a chave correta. Assim se levar 2 horas para testar todas as combinações, em média será necessário 1 hora para achar a chave correta (quem não gosta de estatística, apenas acredite em mim).

Então, vamos responder à pergunta: quanto tempo em média um hacker irá demorar para encontrar a chave correta?

Antes, algumas informações básicas: um bom computador deve ser capaz de testar 100 chaves por segundo. Vamos então imaginar que o hacker tenha um super computador, capaz de testar 100.000 chaves por segundo!!! Vamos dar a ele muito dinheiro, ele tem um mega-super-blaster computador, tudo bem. Jóia.

Também vamos lembrar algumas informações úteis:
- um ano tem 31.536.000 segundos
- a chance de ganhar na megasena com um jogo de 6 dezenas é de 1 em 50 milhões (aproximadamente)
- estima-se que o universo tenha 14,5 bilhões de anos.

Vamos ver as chances de sucesso desse hacker contra um administrador que escolheu uma boa senha (ou seja, uma senha que não esteja em um dicionário).

Chaves de 5 Caracteres

Com uma chave de 5 caracteres, temos 70x70x70x70x70 combinações (para os matemáticos de plantão, não quero falar de exponenciação) ou aproximadamente 1,68 bilhões de combinações.
O mega computador iria demorar quase 16.807 segundos para testar todas. Estatisticamente seria necessário, em média, metade desse tempo para encontrar a chave, ou 8.404 segundo ou quase 2 horas e meia.

Ok, nada mal. Parece fácil, basta ter um super computador. 5 não é um bom tamanho. Vamos continuar

Chave de 10 Caracteres

Teriamos 70x70x70x70x70x70x70x70x70x70 possibilidade ou mais de 2,8 quatrilhões de opções (chega quase na fortuna do Tio Patinhas). Usando o mega-blaster computer, dá um tempo 1,5 milhões de anos em média.

A chance dele conseguir encontrar essa chave em um prazo de 1 ano é menor que 1 em 1 milhão.

Vamos subir um pouco mais

Chave de 20 Caracteres

O padrão 802.11i recomenda que chave seja de pelo menos 20 caracteres. Nesse caso (não vou escrever "70x" vinte vezes) dá um número gigantesco de opções. Com o super-mega-blaster computador levaria 318 trilhões de vezes a idade do Universo. Ou seja, o hacker necessitaria que o Universo surgisse de novo 318 trilhões de vezes para ele encontrar a chave.

Mas vamos um pouco mais além. Vamos supor que o hacker tem um Deep Blue, o super computador da IBM que ganhou do campeão de xadrez (e mal perdedor) Garry Kasparov. O Deep Blue fazia 5 bilhões de operações por segundo. Para verificar uma chave são necessárias várias operações, mas vamos fazer de conta que ele conseguisse testar 1 chave por operação. Qual seria o tempo necessário? 92 sextilhões de anos, em média ou "apenas" 6 bilhões de vezes mais que o nosso universo existe.

Agora vamos pensar que esse hacker consiga cobrir todo o planta Terra com Deep Blues. Colocando 10 computadores por metro quadrado (inclusive sobre mares, geleiras e florestas). Isso daria 5,1 quintilhões de computadores trabalhando em rede. O tempo cairia para 18.000 anos em média.

Chave de 64 Caracteres

O tamanho máximo permitido para uma chave WPA ou WPA2 é de 64 caracteres.

O tempo para um hacker quebrar uma chave de 64 caracteres usando o planeta Terra coberto de Deep Blues seria de 2,7E85 anos (escreva 27 e depois coloque mais 84 zeros). É um número maior que a quantidade estimada de partículas (átomos) no Universo.

Agora vamos imaginar que o nosso hacker tenha assistido Guerra nas Estrelas e queira construir uma Estrela da Morte Deep Blue. Um objeto do tamanho do nosso Sol, totalmente recheado de Deep Blue. Ele teria que evitar o problema da atração gravitacional, porque tanta massa transformaria esse objeto em um buraco negro. Mas ele tem o lado negro da força com ele, então ele resolveria esse problema.

Sem aprofundar em detalhes, o tempo cairia para "apenas" 1,17E71 anos. Escreva ai: 117 e depois mais 69 zeros. Se não estou enganado isso se leria 117 duotrigintilhões de anos.

Resumo

Os ataques originados em bugs de operação são um problema real para qualquer sistema de criptografia (quer seja wireless, túneis IPSec, etc.). No entanto, uma escolha apropriada de chaves é o suficiente para proteger de maneira segura qualquer sistema wireless que use um protocolo seguro.

Me siga no Twitter: http://www.twitter.com/mlrodrig

Atualizado 13-01-2011 em 11:24 por mlrodrig

Categorias
Não Categorizado

Comentários

Página 2 de 2 PrimeiroPrimeiro 12
  1. Avatar de dfprty
    muito estho galera eu concegui quebrar uma wpa2 com 50 carater em menos de 4 horas eu não entendi nada
  2. Avatar de sergio
    Citação Postado originalmente por dfprty
    muito estho galera eu concegui quebrar uma wpa2 com 50 carater em menos de 4 horas eu não entendi nada

    posta a façanha aqui e quais ferramentas e equipamentos usou, pois você deve ser um expert além de possuir equipamentos que muitos mortais nem sequer sonham....

    cada uma viu... porque não põem um nariz de palhaço e sai por ai para aparecer.
  3. Avatar de mlrodrig
    Citação Postado originalmente por sergio
    posta a façanha aqui e quais ferramentas e equipamentos usou, pois você deve ser um expert além de possuir equipamentos que muitos mortais nem sequer sonham....

    cada uma viu... porque não põem um nariz de palhaço e sai por ai para aparecer.
    Obrigado Sergio, eu havia pensado em uma dúzia de respostas parecidas, mas como autor do artigo decidi que não seria adequado. Acho que não consegui motivação .
  4. Avatar de Não Registrado
    Pois é, este programa ter que ser iniciado em DOS, foi desenvolvido por um adolescente super dotado (Nerd) que descobre qualquer senha de qualquer porra de qualquer merda de sistema operacional. Este carinha foi capturado por federais dos EUA em 2007 porque invadiu a rede da Nasa e publicou um porrilhão de coisas no emule. Este cara sumiu e a Nasa usa o programa que ele desenvolveu até hoje. Baseado em seu software a Nasa desenvolveu um monte de outros softwares parecidos para espionar o mundo. Parece que estão tramando algum plano eu diria catastrófico.
  5. Avatar de Iranildo2005al
    Citação Postado originalmente por TheHawk
    Boa.... aqui no provedor utilizo WPA2 AES com chave individual para cada cliente de 63 caracteres (alfanumerica), tudo configurado via radius.... e ainda tem o login e senha do PPPoE...... tá dando bem pro gasto....... até.
    se não for pedir demais com é que eu faço para colecar uma senha wpa2 para cada cliente.. já conseguie wep.. mas com wpa2 não nem com reza braba
  6. Avatar de Não Registrado(s)
    Só 100, 200 tentativas? Força bruta não exige nenhum calculo miraculoso, é calculo de possibilidade não? se a tentativa 0000000000000000001 não der, passa para o valor seguinte.

    Fiz um teste bem simples com C aqui, com um loop com n loops internos... e pelo teste posso dizer que os computadores de 2011 fazem num chute modesto 50 000 tentativas pra cima em processo real (e olha.. a minha implementação nem de longe usou 2 núcleos ou tinha robustez, e por mais que tenha lidado com conjuntos subsequentes de somas não fica longe de sabermos os valores das variáveis que constroem a senha)...

    Quem dirá um super computador e seus TFLOPS?

    talvez, a lenta rede de um dispositivo wireless não aceite tantos testes por segundo... agora que isso depende do pc do fulano...

    Outra coisa, adoro essas estimativas de "coisas do universo"...

    E não... Não digo que o meu vizinho vai quebrar minha rede, mas não é tão impossível que nem o universo comporte essas possibilidades em número de átomos ou em toda sua existência na enésima...
  7. Avatar de subject666
    uma senha de 30 caracteres pode não ser falha, mas o ser humano que esta por traz dela e falho,vuneravel e as vezes ingenuo, e isso e o bastante para nos,isso e a engenharia social...
Página 2 de 2 PrimeiroPrimeiro 12

+ Enviar Comentário