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 1 de 2 12 ÚltimoÚltimo
  1. Avatar de 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é.
  2. Avatar de jodrix
    Parabens amigo, OTIMO post, tenho dito isto aqui no forum, mas muitos acreditam até em coelinho da pascoa e papai noel, chaves faceis são faceis de quebrar mas chaves dos tipo 63 caracteres encriptadas WPA2....amigo esquece... só se vazar. Novamente parabens.
  3. Avatar de lemke
    Muito boa a postagem, bastante esclarecedora.

    Sds,
  4. Avatar de Não Registrado
    117E71 não é 117 com 69 zeros e sim 70 :)

    117E71 = 117 x 10^70
  5. Avatar de fbugnon
    Excelente artigo mlrodrig, esclarecedor e bem escrito. Parabéns!

    Só uma dúvida: que um computador-bom possa testar 100 chaves por segundo ou um ótimo-mega-power testar 100.000 chaves por segundo, tudo bem, não interessa o tempo que o roteador/ponto de acesso Wi-Fi leva para responder a esse teste?

    Eu já notei que quando digito a senha errada para acessar uma rede sem fio leva bem alguns segundos para vir a resposta de falha na conexão, isso pode ser superado?
  6. Avatar de rafaelhol
    O pessoal tah esquecendo que existe metodos eficientes de captura de pacotes com driver's especiais e placas especiais que possibilitão a decodificação da senha criptografada! Logico como tudo na vida há uma demora mas funciona com WEP e já vi funcionar com WPA. Os maninhus chegã estar desenvolvendo sistemas operacionais especiais para invasões como é o caso do WI-FI sLAX www.wifislax.com . Bom espero que seja de proveito. POis com esse sistema operacional voce pode ir testando sua rede até ela ficar menos vuneravel do que já é.
    Outra coisa pessoal.
    Uma senha WEP ou WPA, WPA2 quebrada não sera problema se voce tiver configurado corretamente seu firewall.
    Então preocupe-sem mais como firewall do que as proprias chaves key da WEP, WPA, WPA2.
    Pois nada como um bom e velho firewall para se evitar o pior.
    Para quem deseja acabar com a clonagem dos MAC e papapa...
    Usem PPPoe e não esqueção de marcar para somente um utilizador ser atribuido por vez ao acesso!
    Além do mais bloqueiem todos os acessos administrativos via REDE. Usem o velho e bom cabinhu Serial para os que usão servidores na propria empresa e não nas torres.
    Bom Pessoal!
    A todo e qualquer metodo de dificultar évalido.
    De igual forma parabens ao post e aos comentários de todos amigos aqui!
    Fiquem com Deus.
    E lembre-se Linux é liberdade.
    Sejam livres.
    Só cuidem para não fazerem besteiras por ai.
    Grande abraço!
    Fui
  7. Avatar de mlrodrig
    Citação Postado originalmente por Não Registrado
    117E71 não é 117 com 69 zeros e sim 70

    117E71 = 117 x 10^70
    Mas é 1,17E71 e não 117E71, tem duas casas decimais...
  8. Avatar de mlrodrig
    Citação Postado originalmente por rafaelhol
    O pessoal tah esquecendo que existe metodos eficientes de captura de pacotes com driver's especiais e placas especiais que possibilitão a decodificação da senha criptografada!
    Esses métodos que você cita, são os que dão 100 a 200 chaves testadas por segundo.

    Citação Postado originalmente por rafaelhol
    Logico como tudo na vida há uma demora mas funciona com WEP
    Sim, funciona com WEP

    Citação Postado originalmente por rafaelhol
    e já vi funcionar com WPA.
    Muita gente já viu funcionar com WPA:, quando a chave escolhida pelo administrador é muito fraca ou no caso de marmelada, quando o "invasor" já sabia qual era a chave e colocou apropriadamente no dicionário.
    De resto, é lenda urbana.

    Citação Postado originalmente por rafaelhol
    Os maninhus chegã estar desenvolvendo sistemas operacionais especiais para invasões como é o caso do WI-FI sLAX
    Eles podem inventar um sistema 1.000.000 mais eficiente que ainda vai demorar uma eternidade. Depois eles podem melhorar esse sistema 1.000.000 de novo e ainda vai demorar uma eternidade. Depois mais 1.000.000 de vezes mais rápido e ainda não chegou nem perto. Depois melhorar 1.000.000 mais e ainda vai estar MUITO longe.
    Repare: o ultimo exemplo (chave de 64 caracteres) leva 1,17E71 anos considerando um sistema do tamanho do Sol cheio de supercomputadores!!!! É um negócio absurdo de processamento e mesmo assim leva um tempo mais absurdo ainda.

    Citação Postado originalmente por rafaelhol
    Uma senha WEP ou WPA, WPA2 quebrada não sera problema se voce tiver configurado corretamente seu firewall.
    As redes wireless ficam dentro da rede local, fora do alcance do firewall. Assim uma chave wireless quebrada dá acesso à rede sem passar pelo firewall. A não ser que também seja colocado um firewall entre a rede local e a rede wireless, mas essa é uma topologia pouco utilizada.

    Para o caso dos provedores de acesso Internet wireless, normalmente a questão não é tanto a criptografia, mas sim a autenticação (garantir que apenas os clientes autorizados acessem). Nesse caso sim você tem razão o PPPoE é uma possibilidade. Agora para quem precisa de autenticação e criptografia, o ideal é 802.1x.
  9. Avatar de SantiagoMG
    Primeiramente gostaria de agradecer pelo artigo, que foi muito esclarecedor. Mas aproveitando a oportunidade, gostaria de fazer uma pergunta:

    Qual solução oferece mais segurança para evitar acesso não autorizado em provedor wireless: PPPoE ou Hotspot com Criptografia WPA2 com chave bem formada?
  10. Avatar de mlrodrig
    Citação Postado originalmente por SantiagoMG
    Primeiramente gostaria de agradecer pelo artigo, que foi muito esclarecedor. Mas aproveitando a oportunidade, gostaria de fazer uma pergunta:

    Qual solução oferece mais segurança para evitar acesso não autorizado em provedor wireless: PPPoE ou Hotspot com Criptografia WPA2 com chave bem formada?
    São duas coisas um pouco diferentes.

    O PPPoE é um protocolo simples de tunelamento e é mais apropriado para autenticação e controle de usuários. O PPPoE não tem criptografia, por exemplo.

    Já os WPA e WPA2 foram criados especificamente para atender os requisitos de segurança de redes sem fio corporativas, então estão mais preocupados com confidencialidade.

    Ambos (PPPoE e os WPAs) se preocupam em garantir que invasores não acessem a rede, mas de maneiras distintas.

    O PPPoE, apesar de não ter criptografia, permite o controle de banda (o que é importante para os provedores).

    Assim, eu acho que ambos protocolos são úteis para os provedores de acesso banda larga. No caso de redes corporativas, eu vejo apenas necessidade do WPA/WPA2.
Página 1 de 2 12 ÚltimoÚltimo

+ Enviar Comentário