[ --- The Bug! Magazine _____ _ ___ _ /__ \ |__ ___ / __\_ _ __ _ / \ / /\/ '_ \ / _ \ /__\// | | |/ _` |/ / / / | | | | __/ / \/ \ |_| | (_| /\_/ \/ |_| |_|\___| \_____/\__,_|\__, \/ |___/ [ M . A . G . A . Z . I . N . E ] [ Numero 0x02 <---> Edicao 0x01 <---> Artigo 0x05 ] .> 14 de Fevereiro de 2007, .> The Bug! Magazine < staff [at] thebugmagazine [dot] org > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ WEP - Analise de Vulnerabilidades e Ataques +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ .> 10 de Novembro de 2006, .> wishbone < andreguedes85 [at] gmail [dot] com > [ --- Indice + 1. <---> Primeiras Palavras + 2. <---> Introducao + 3. <---> Vulnerabilidades do WEP + 3.1. <-> Tamanho da Chave + 3.2. <-> Gerenciamento de Chaves + 3.3. <-> Reuso de Chaves + 3.4. <-> IV passado em Claro + 3.5. <-> Protocolo de Autenticacao Ineficiente + 3.6. <-> Negacao de Servico (DoS) + 3.7. <-> O Algoritmo que Implementa o ICV nao e' Apropriado + 3.8. <-> Problemas do RC4 + 3.9. <-> Re-injecao de pacotes + 4. <---> Analise dos Ataques + 4.1. <-> Chopchop Attack + 4.2. <-> FMS Attack + 4.3. <-> DoS Attack + 4.3.1. <-> DoS Baseado em Radio Frequencia + 4.3.2. <-> DoS Baseado em Pacote + 5. <---> Conclusao + 6. <---> Referencias [ --- 1. Primeiras Palavras Essencialmente, este artigo analisa as vulnerabilidades apresentadas pelo protocolo WEP, protocolo de seguranca ainda bastante utilizado em redes wireless do tipo 802.11 (Wi-Fi). Tambem abordo, de forma objetiva, os principais ataques existentes que podem comprometer a seguranca de uma rede Wi-Fi. Recomendo, fortemente, um estudo previo sobre os mescanismos de funcionamento do protocolo WEP. E' de suma importacia que o leitor tenha um conhecimento solido sobre as formas de autenticacao, a integridade e a confidencia do protocolo WEP. Alem disso, tambem recomendo que o leitor possua um nocao geral da arquitetura e funcionamento de uma rede 802.11. Abordarei apenas a seguranca a nivel da camada de enlace. Nao me preocuparei com solucoes de outras camandas, como por exemplo, VPN. [ --- 2. Introducao Devido a necessidade de interconectividade e mobilidade a implantacao de re- des wireless tem apresentado um crescimento bastante significativo em corpora- coes e domicilios. Segundo algumas pesquisas, a tecnologia wireless sera' a tecnologia do futuro. Dentre todas as tecnologias wireless, a tecnologia Wi-Fi tem se destacado, pois ela atende as necessidades dos usuarios devido suas caracteristicas particulares. Cada vez mais, o numero de hotspots vem crescendo consideravelmente. Em termos de seguranca existem algumas diferencas que podem tornar as redes wireless mais vulneravies que as cabeadas. Uma LAN (Local Area Network) geralmente esta' protegida por mecanismos de seguranca fisicos (ex. controle de acesso 'a salas, predios, etc) que sao eficazes em uma area fisica controlada. Contudo, essa abordagem nao e' efetiva para as WLANs (Wireless Local Area Network), pois as ondas de radio usadas para a comunicacao nao ficam necessariamente confinadas pelas paredes da area onde se encontram os dispositivos que compoem a rede. Atualmente existem tres protocolo de seguranca para redes Wi-Fi: WEP (Wired Equivalent Privacy), WPA (Wi-Fi Protected Access) e WPA2 (Wi-Fi Protected 2, tecnicamente conhecido por 802.11i), repectivamente em ordem cronologica. Mesmo se mostrando o mais ineficiente e vulneravel, o protocolo WEP ainda e' o mais utilizado, ate' mesmo em redes corporativas. Talvez o WEP ainda seja bastante utilizado porque uma mudanca no protocolo de seguranca (WPA ou WPA2) pode implicar custos altos com a compra de novos equipamentos. Talvez tambem seja por falta de informacao a cerca das vulnerabilidades que o WEP apresenta. Este artigo esta' organizado por capitulos. No capitulo 3 abordo as vulnerabilidades apresentadas pelo WEP. Ja' no capitulo 4, abordo os principais ataques existentes contra o WEP, apresentando maiores detalhes atraves de demostracoes. Finalmente, no capitulo 5 faco a minha conclusao sobre este trabalho e no capitulo 6 as referencias. [ --- 3. Vulnerabilidades do WEP [ --- 3.1 Tamanho da Chave Originalmente quando o WEP foi lancado, a chave estatica WEP era de apenas 40 bits. Chaves com este tamanho podem ser quebradas por forca bruta usando-se maquinas atuais. Para solucionar este problema, fabricantes de produtos Wi-Fi lancaram o WEP2 com chave estatica de 104 e 232 bits, mantendo o IV de 24 bits. Com isto tornou-se praticamente impossivel quebrar a chave por meio de forca bruta. [ --- 3.2 Gerenciamento de Chaves O WEP nao possui um protocolo para gerenciamento de chaves, portanto a chave utilizada pelos dispositivos nao pode ser mudada dinamicamente. Isso dificulta a manutencao das redes visto que a troca da chave e' feita manualmente em cada maquina. Devido a isso, as chaves nao sao trocadas com frequencia o que ocasiona uma falha de seguranca. Dado que o WEP e' um mecanismo fortemente baseado no segredo de sua chave e' necessario que haja, frequentemente, a troca da mesma. [ --- 3.3 Reuso de Chaves Os 24 bits do vetor de inicializacao (IV) permitem pouco mais de 16,7 milhoes de vetores diferentes. Esse numero de possibilidades e' relativamente pequeno. De acordo com o volume de trafego da rede os IVs se repetirao de tempos em tempos e, portanto, as chaves usadas pelo RC4 tambem se repetirao. Se o IVs forem escolhidos aleatoriamente, a frequencia de repeticoes pode aumentar significativamente dado o paradoxo do aniversário. De acordo com o paradoxo, após 4823 pacotes há uma probabilidade de 50% de ocorrer uma repeticao de IV. A repeticao de chaves fere a natureza dos Vernan Ciphers que nao garantira' mais a confidencia dos dados. Vejamos porque apos uma repeticao de chave o WEP nao garante mais a confidencia dos dados. Dados: M1 = Mensagem 1 M2 = Mensagem 2 C1 = Cifra da M1 (ou seja, e' a M1 cifrada) C2 = Cifra da M2 iv = vetor de inicializacao chave = Chave estatica WEP -- Inicio: C1 = M1 XOR RC4(iv, chave) C2 = M2 XOR RC4(iv, chave) C1 XOR C2 = (M1 XOR RC4(iv, chave)) XOR (M2 XOR RC4(iv, chave)) * A XOR A = 0, logo RC4(iv, chave) XOR RC4(iv, chave) = 0 C1 XOR C2 = M1 XOR M2 XOR 0 * B XOR 0 = B, portanto C1 XOR C2 = M1 XOR M2 Isto significa que fazer um XOR entre dois pacotes encriptados sobre a mesma chave e' a mesma coisa que fazer um XOR entre as mensagens que eles guardam. Com isto, se uma das mensagens e' conhecida, entao e' possivel decodificar todas as outras mensagens criptografadas sobre a mesma chave. Veja a figura. +-----------+ +----+ +----+ | C1 XOR C2 | = | M1 | XOR | M2 | <----- Qualquer que seja M2, +-----------+ +----+ +----+ sera' possivel A A decodifica-la atraves de | | uma simples operacao XOR Este valor sempre Se uma das sera' conhecido mensagens for conhecida Ou seja, +----+ +----+ +-----------+ | M2 | = | M1 | XOR | C1 XOR C2 | +----+ +----+ +-----------+ A (conhecido) (conhecido) | conhecido por consequencia [ --- 3.4 IV passado em claro O vetor de inicializacao e' passado em claro ja' que o mesmo e' necessario para o processo de decodificacao. Como IV e' a parte inicial da chave, estamos passando em claro uma parte da chave que codificou o pacote. Devido a esta falha, ataques poderosos, como o FMS (que sera' abordado em breve), puderam ser criados. [ --- 3.5 Protocolo de autenticacao Ineficiente No modo de autenticacao Chave Compartilhada (Shared-Key) o atacante pode com apenas uma simples escuta de trafego ter acesso a um pacote em claro (pacote texto-desafio) e a sua respectiva cifra (pacote texto-desafio codificado). Com estes dados e' possivel achar o keystream e usa-lo para criar uma resposta valida para qualquer texto-desafio (ver figura abaixo). Portanto, o atacante podera' autenticar-se sem conhecer a chave WEP. +----------+ +------------------+ +-----------+ | Mensagem | XOR | Respectiva Cifra | = | KeyStream | +----------+ +------------------+ +-----------+ ________________________________________________| | v +-----------+ +-------------------+ +--------------+ | KeyStream | XOR | Qualquer Mensagem | = | Cifra valida | +-----------+ +-------------------+ +--------------+ * isto ocorre porque os textos-desafio enviados pelo AP tem sempre o mesmo tamanho. O uso de MAC Filtering nao garante nenhuma seguranca 'a autenticacao, pois ataques de MAC Spoofing podem ser facilmente usados. Um atacante pode rapidamente descobrir um MAC Address valido, atraves de escuta de trafego, e usar o endereco descoberto para burlar o MAC Filtering. [ --- 3.6 Negacaao de Servico (DoS - Deny of Service) E' possivel forjar pacotes De-Authetication e envia-los em broadcast ou diretamente para um cliente especifico usando o seu endereco MAC associado. Ferramentas open source como o void11 e aircrack implementam este tipo de ataque. Esta vulnerabilidade nao esta somente presente no protocolo WEP, mas em todos os outros protocolos de seguranca de redes Wi-Fi (WPA, WPA2). [ --- 3.7 O Algoritmo que Implementa o ICV nao e' Apropriado O CRC-32 usado para computar o ICV pode detectar com alta probabilidade alteracoes na mensagem, servindo 'a verificacao de integridade. A verdade e' que algoritmos CRC nao foram desenvolvidos pensando-se em seguranca, mas sim em detectar alteracoes ocorridas devido 'a interferencia no canal de comunicacao. Por isso, o CRC e' inseguro em termos criptograficos. A principal caracteristica de inseguranca e' o fato de o CRC ser uma funcao linear. Com base nessa propriedade do CRC um atacante pode modificar o conteudo de um pacote e facilmente corrigir o ICV, fazendo o pacote parecer autentico. [ --- 3.8 Problemas do RC4 O RC4 e' o algoritmo criptografico utlizado pelo WEP. Ele e' subdividido em dois outros algoritmos: Key-Scheduling Algorithm (KSA) e Pseudo-Random Generation Algorithm (PRGA). O KSA e' bem simples, ele inicializa um array de 256 posicoes com os valores de 0 a 255. Logo apos, executa uma serie de swaps, permutando o array. A permutacao e' feita de acordo com a chave, chaves diferentes permutam o array de formas dirferentes. O PRGA ainda executa um swap e gera um byte como saida que sera' utilizado na operacao XOR. Em [4], e' demonstrado que o algoritmo KSA apresenta uma fraqueza. A partir disso, foi desenvolvido um ataque estatistico que revela a chave WEP. Este ataque ficou conhecido como FMS. Para descobrir a chave WEP atraves do FMS e' necessario a captura de um grande numero de pacotes com IVs diferentes, ou seja, um grande numero de IVs unicos. Baseado no Ataque FMS e nas otimizacoes de h1kari criou-se os ataques de KoreK que sao capazes de quebrar a chave WEP com um numero menor de IVs. [ --- 3.9 Re-injecao de Pacotes Redes protegidas pelo WEP sao passiveis de ataques de re-injecao de trafego. Este tipo de ataque nao afeta diretamente a seguranca da rede, porem podem ser usados para aumentar o trafego na rede e, assim, diminur o tempo necessario para ataques como o FMS quebrarem a chave WEP. [ --- 4. Analise dos Ataques [ --- 4.1 Chopchop Attack (Inverse Arbaugh Attack) O Chopchop Attack decodifica o pacote byte a byte sem conhecimento da chave WEP, apenas usando o AP como decodificador. O primeiro passo e' capturar um pacote. Altera-se o ultimo byte do pacote para um valor conhecido. O pacote e' enviado para o AP. Se o AP enviar o pacote de volta a rede, significa que o valor do byte escolhido na alteracao era o correto. Em caso negativo, o byte e' alterado por outro valor ate' que seja encontrado o valor correto. Felizmente so' existem 256 valores possiveis (de 0 'a 255) para o plaintext do byte. Maiores detalhes sobre o chopchop podem ser vistos em [1, 2, 3]. Para alterar um pacote e' necessario alterar duas partes: o payload e o ICV. O atacante cria um bitmask de acordo com a modificacao que ele quer fazer no payload. Apos a criacao do bitmask e' feito um XOR entre o payload e o bitmask, gerando, assim, o payload alterado. Porem o ICV do pacote original nao e' valido para o pacote alterado, logo temos que calcular um novo ICV. O calculo do novo ICV e' bastante simples. Basta calcular o CRC-32 do bitmask e fazer um XOR com o ICV original. O resultado do XOR e' o ICV do pacote alterado! Veja a figura. +-------------------------+ | +---------+ +-----+ | Pacote Capturado --> | | Payload | | ICV | | | +---------+ +-----+ | +-------------------------+ | | XOR XOR | | +---------+ CRC +-------+ | bitmask |----->|ICV do | +---------+ |bitmask| | +-------+ | | | | v v +--------------------------+ |+----------+ +----------+| Pacote Alterado --> || Payload | | ICV || || Alterado | | Alterado || |+----------+ +----------+| +--------------------------+ Mas... isso e' verdade? O resultado do XOR dos ICVs tem como resposta o ICV do pacote alterado? Vamos a prova! Dados: P = payload do pacote original P' = payload do pacote alterado ICV = CRC-32 do pacote original ICV' = CRC-32 do pacote alterado bm = bitmask gerado pelo atacante ICVbm = CRC-32 do bitmask +------------------------------------+ |Objetivo: Mostrar que CRC(P') = ICV'| +------------------------------------+ Inicio: CRC(P) = ICV (fato!) CRC(P' XOR bm) = ICV' XOR ICVbm * como a funcao CRC e' linear, ou seja, CRC(A XOR B) = CRC(A) XOR CRC(B) CRC(P') XOR CRC(bm) = ICV' XOR ICVbm ------- ------- --------------- A B C * A XOR B = C <==> A = C XOR B logo, CRC(P') = ICV' XOR ICVbm XOR CRC(bm) * CRC(bm) = ICVbm CRC(P') = ICV' XOR ICVbm XOR ICVbm * A XOR A = 0 CRC(P') = ICV' XOR 0 * A XOR 0 = A CRC(P') = ICV' (PROVADO!) Portanto, e' possivel alterar o payload do frame e facilmente corrigir o ICV. [ --- 4.2 FMS Attack O FMS e' um ataque que revela a chave WEP. Uma vez com a posse dessa chave, o atacante podera' ter acesso a' todos os recursos da rede. O FMS, basicamente, se resume em capturar uma grande quantidade de pacote (esta quantidade varia de acordo com o tamanho da chave WEP) e executar um algoritmo probabilistico que descobrira' a chave. Note que de acordo com a descricao acima o FMS e' um ataque passivo. Este ataque foi desenvolvido devido a uma falha no RC4 publicada em [4], esta falha ocorre mais especificamente no KSA. Alguns certos IVs (Weak IV) nao funcionam muito bem no RC4, pois nao permuta o array de uma forma adequada, facilitando a deducao da chave WEP. Para a demostracao deste ataque e' necessario uma abordagem mais profunda do RC4. Abaixo estao os dois algoritmos que compoe RC4. Key-Scheduling Algorithm: KSA(K) K[] = array que representa a chave WEP l = tamanho da chave em bytes (IV + chave WEP) Initialization: For i = 0 to 255 S[i] = i j = 0 Scrambling: For i = 0 to 255 j = (j + S[i] + K[i mod l]) mod 256 Swap(S[i], S[j]) Conforme podemos ver acima, o KSA inicializa o array S[] com os valores de 0 'a 255. Logo apos a inicializacao, ele executa 256 swaps. Note que a escolha de um dos elementos que participarao do swap dependem, diretamente, da chave utilizada. Pseudo-Random Generation Algorithm: PRGA(K) Initialization: i = 0 j = 0 Generation Loop: i = i + 1 j = (j + S[i]) mod 256 Swap(S[i], S[j]) Output z = S[(S[i] + S[j]) mod 256] Como o proprio nome do algoritmo sugere ele e' responsavel por gerar um byte de saida 'randomicamente'. E' importante lembrar que primeiro e' executado o KSA e somente apos o termino de sua execucao, o PRGA e' iniciado. O FMS e' um ataque estatistico baseado em IVs fracos (Weak IV), porem unicos. Isso significa que IVs repetidos nao influenciam na quebra da chave. Mas o que seria um weak IV? Todos os IVs que se encaixam neste padrao sao considerados weak IVs +---------+--------+-----+ | A + 3 | N -1 | X | +---------+--------+-----+ Onde, + A : byte da chave WEP que se deseja quebrar + N : tamnho do array interno do RC4, no caso do WEP, N = 256 + X : pode ser qualquer valor Vamos a demostracao do ataque. Depois de capturada uma enorme quantidade do pacotes com IVs diferentes entre si, executamos, efetivamente, o ataque. Vamos atacar o primeiro byte da chave, logo precisamos de um IV em que: + A = 0 + N = 256 + X = qualquer valor Pegamos um dos pacotes capturados em que o IV atenda a estes requesitos, por exemplo: IV = 3, 255, 7 Vamos definir que a chave WEP = 22222, de inicio nao sabemos o valor da chave, mas essa informacao sera' necessaria para compararmos com o resultado obtido. Dadas essas informacoes nossa situacao atual e': +-------------------------------------------------------------------------+ K[]=| K[0]=3 | K[1]=255 | K[2]=7 | K[3]=? | K[4]=? | K[5]=? | K[6]=? | K[7]=? | +-------------------------------------------------------------------------+ Nosso objetivo e' encontrar o primerio byte da chave WEP, ou seja, K[3]. Comecamos o processo de quebra simulando o KSA KSA no 1o loop: S[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, ... , 255} i = 0 j = 0 + S[0] + K[0] -> j = 0 + 0 + 3 -> j = 3 Swap(S[0], S[3]) KSA no 2o loop: S[] = {3, 1, 2, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, ... , 255} i = 1 j = 3 + S[1] + K[1] -> j = 3 + 1 + 255 -> j = 259 mod 256 -> j = 3 Swap(S[1], S[3]) KSA no 3o loop: S[] = {3, 0, 2, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, ... , 255} i = 2 j = 3 + S[2] + K[2] -> j = 3 + 2 + 7 -> j = 12 Swap(S[2], S[12]) KSA no 4o loop: S[] = {3, 0, 12, 1, 4, 5, 6, 7, 8, 9, 10, 11, 2, 13, ... , 255} i = 3 j = 12 + S[3] + K[3] -> j = 12 + 1 + K[3] --> mas qual o valor de K[3]?? Swap(S[3], S[j]) Aparentemente, estamos parados, pois nao sabemos o valor de K[3] (logico! e' o que queremos descobrir!). Porem, sabemos que ao final do processo de encriptacao e' feito um XOR entre o byte do pacote e o byte que sai do PRGA, gerando, assim, o byte cifrado. +----------------+ +------------------+ +-------------+ | plaintext byte | XOR | PRGA output byte | = | cipher byte | +----------------+ +------------------+ +-------------+ Dessa forma, podemos achar o primeiro byte gerado pelo PRGA se fizermos um XOR entre o primeiro byte cifrado e seu respectivo valor (plaintext byte). +------------------+ +-------------+ +----------------+ | PRGA output byte | = | cipher byte | XOR | plaintext byte | +------------------+ +-------------+ +----------------+ Saber qual o primeiro byte cifrado e' muito simples, basta olhar no pacote capturado (lembre-se que o pacote esta' cifrado). Mas e o seu respectivo valor? O primeiro byte do payload do frame 802.11 corresponde ao header do protocolo IP (na grande maioria dos casos). De acordo com a especificacao IEEE, o primeiro campo do header IP e' o SNAP cujo valor padrao e' 170 em decimal (ou 0xAA em hexadecimal), portanto sabemos o plaintext do primeiro byte! Entao, consideremos que o byte cifrado corresponde a 165. Dessa forma achamos 'z', a saida do PRGA. z = 170 XOR 165 z = 15 (I) Agora executamos o PRGA no primeiro loop. PRGA 1o loop: i = 1 j = 0 + S[1] -> j = 0 + 0 -> j = 0 Swap(S[1], S[0]) z = S[S[1] + S[0]] -> z = S[3 + 0] -> z = S[3] (II) a partir de I e II, z = 15 e z = S[3] S[3] = 15 Isto significa que no 4o loop do KSA houve um swap entre S[3] e S[15] (veja KSA no 4o loop, linha 4), portanto no KSA 4o loop o valor de j era 15. j = 12 + 1 + K[3] 15 = 12 + 1 + K[3] K[3] = 15 - 13 K[3] = 2 Achamos o primeiro byte da chave WEP! Note que este resultado esta' de acordo com o previsto! (lembra-se? chave WEP = 22222) Note que fizemos alguns abusos: consideramos que do 4o loop do KSA em diante os valores de S[0], S[1] e S[3] nao sofreram mais swaps (nada impede que durante o resto da execucao do KSA estes valores sejam alterados). De acordo com [4] este abuso nos custa uma probabilidade de 5% (e^-3) de acerto. Se por acaso tivessemos considerado que apenas dois desses valores nao sofrem mais swaps a probabilidade de acerto seria de 13% (e^-2). Veja que a probabilidade de estar correto e' muito pequena, por isto para aplicar o ataque FMS precisa-se ter bastante IVs para podermos afirmar com uma maior certeza qual e' a chave. Note tambem que por esse motivo IVs repetidos nao influenciam neste ataque. [ --- 4.3 DoS Attack Podemos dividir os ataque DoS em duas classes distintas: + DoS Baseado em Radio Frequencia + DoS Baseado em Pacote [ --- 4.3.1 DoS Baseado em Radio Frequencia (Old School DoS) O principal representante desta categoria de DoS e' o RF-Jamming Attack que nada mais e' do que criar uma interferencia deliberada atraves de ondas de radio para impedir a recepcao de sinais em uma banda de frequencia especifica, resumidamente significa criar interferencia suficiente capaz de derrubar a conexao Wireless. Para tal, e' necessario equipamentos capazes de emitir sinais a uma frequencia de 2,4 GHz. Existem varios equipamentos que podem ser usados para atacar a rede, como por exemplo, radio transmissores, microndas, dispositivos bluetooth, entre outros. [ --- 4.3.2 DoS Baseado em Pacote Sabemos que nas redes 802.11 existem tres tipo de frames: + Data Frames (Frames de dados) + Management Frames (Frames de Gerenciamento) + Control Frames (Frames de controle) Todos o protocolos de seguranca Wi-Fi (WEP, WPA, WPA2) apenas se preocupam com os Data Frames, ou seja, toda a seguranca destes protocolos sao aplicadas somente a este tipo de frame. Os outros dois tipos (management e control) nao tem seguranca alguma. Por esse motivo, uma vez forjado algum frame desses tipo, ele sera' valido. Os ataque DoS desta categoria se valem dessa falha, vejamos os principais: + Duration Attack Redes do tipo 802.11 utilizam CSMA-CA (Carrier Sense Multiple Access - Collision Avoidance) como protocolo de acesso ao meio de comunicacao. Quando um dispositivo quer enviar pacotes, ele primeiramente reserva o meio por um periodo de tempo. Essa reserva e' feita atraves de um Control Frame do tipo RTS (Request to Send). Os outros dispositivos da rede nao enviam pacotes ate que o tempo de reserva acabe. O Duration Attack consiste em forjar e injetar RTS Control Frames com altos valores no campo de duracao. Dessa forma, os outros clientes ficam parados esperando que o meio fique disponivel. Assim, o atacante fica reservando o meio atraves de injecoes massivas de RTS e os outros clientes nao podem acessar os servicos da rede, pois o meio esta' reservado. + De-authentication Attack O De-authentication Attack consiste em forjar Management Frames do tipo De-authentication. No campo de origem e' colocado o MAC Address do Access Point (AP), ja' no campo de destino pode-se colocar o MAC Address de um determinado cliente ou colocar FF:FF:FF:FF:FF pra enviar em Broadcast (caso queira desconectar todos os cliente da rede). Uma vez que o cliente recebe um pacote desse tipo, ele se desconecta, acreditando que o pacote veio do AP. + Association Flood Attack O AP possui um limite de associacoes simultaneas. Se o numero de clientes associados ao AP chegar nesse limite, o AP nao permitira' que mais associacoes ocorram. Este ataque consiste em o atacante forjar varios Authentication/Association Request Frames simulando varias associacoes. Com isso, o AP chegara' ao seu limite de associacoes e nao permitira' que novos clientes acessem a rede. [ --- 5. Conclusao Conforme visto neste artigo, o protocolo WEP e' bastante vulneravel. As vulnerabilidades do WEP sao muito faceis de serem exploradas. Qualquer pessoa com certo conhecimento das ferramentas existentes pode atacar uma rede Wi-Fi protegida por WEP, mesmo que nao saiba como realmente funciona o ataque. Desta forma, a seguranca da maioria das redes Wi-Fi pode ser comprometida. Recomendo que os 'novos' protocolos de seguranca (WPA e WPA2) sejam utilizados ao inves do WEP. Mesmo levando em consideracao que o WPA e o WPA2 apresentam algumas vulnerabilidades, eles sao, sem duvida alguma, bem mais seguros que o WEP. [ --- 6. Referencias [1] : Netstumbler - http://www.netstumbler.org/showthread.php?t=12489 [2] : informit.com - Byte-Sized Decryption of WEP with Chopchop, Part 1 Disponivel em: http://www.informit.com/guides/content.asp?g=security &seqNum=196&rl=1 [3] : informit.com - Byte-Sized Decryption of WEP with Chopchop, Part 2 Disponivel em: http://www.informit.com/guides/content.asp?g=security &seqNum=197&rl=1 [4] : Fluhrer, S., Mantin, I. and Shamir, A. - Weaknesses in the key scheduling algorithm of RC4 Disponivel em: http://www.cs.umd.edu/~waa/class-pubs/rc4_ksaproc.ps [5] : Hulton, David (h1kari) - Practical Exploitation of RC4 Weaknesses in WEP Environments Disponivel em: http://www.dachb0den.com/projects/bsd-airtools/ wepexp.txt [6] : Stubblefield, A., Ioannidis, J. and Rubin, A. - Using the Fluhrer, Mantin, and Shamir Attack to Break WEP [7] : Borisov, N., Goldberg, I. and Wagner, D. - Intercepting Mobile Communications: The Insecurity of 802.11