O Problema de Segurança em Redes Baseadas no Padrão 802.11

Por Fernando Veríssimo:

 

Introdução e Motivação

A comunicação através do padrão conhecido como IEEE 802.11b é uma realidade, principalmente nos grandes centros do mundo. O preço dos cartões de rede caiu bastante e eles, assim como os pontos de acessos e outras interfaces de rede, já podem ser comprados facilmente nos países ricos.

A instalação desses produtos também já é muito simples, e já pode ser feita até por um usuário final que não seja tão leigo.

Existe uma tendência mundial, em crescimento acelerado, de que a informação deve estar presente em qualquer lugar. Os pontos de acesso estão sendo distribuídos pelos pontos públicos de grande movimento, e daqui a alguns anos, o cidadão de uma grande cidade vai estar 100% do tempo plugado numa rede, enviando e recebendo dados.

Nesses dois últimos anos a questão de segurança foi muito discutida pelos profissionais e pesquisadores do meio. A evolução é facilmente notada. Nesse relatório vamos enfatizar essa evolução, que ainda está em processo. Ainda é preciso maior divulgação. O usuário final ainda acredita que está seguro porque comprou uma interface de rede de uma empresa de nome conhecido no mercado. As grandes empresas incorporam a seus produtos algumas soluções de segurança, porém deixam de esclarecer que algumas dessas soluções devem ser desativadas quando o comprador deseja interoperatividade com interfaces de outros fabricantes.

WEP e suas vulnerabilidades

O WEP, Wired Equivalent Privacy, foi desenvolvido por um grupo de voluntários, todos membros do IEEE, que queriam dar segurança ao novo padrão de rede que estava surgindo. O WEP foi desenvolvido inicialmente para atender a algumas necessidades, entre elas, as listadas abaixo:

  • Confiabilidade. O WEP tinha que garantir que a transmissão não seria ouvida por um terceiro dispositivo de rede não autenticado.
  • Autenticação. Era preciso ter um método para garantir a autenticação de um novo parceiro válido.
  • Integridade. O WEP tinha que garantir que os dados transmitidos chegariam ao outro lado da rede sem ser alterado, e sem que dados não desejados fossem incluídos na transmissão ou removidos no meio do caminho.

 

O WEP usa o algoritmo de criptografia simétrica RC4. O RC4, a partir da junção da sua chave fixa de 40 bits, com uma seqüência de 24 bits variável conhecida como vetor de inicialização (IV), cria uma seqüência de bits pseudoaleatórios que é, através de ou-exclusivo (XOR), operados aos dados que serão criptografados. O IV também é transmitido junto com cada pacote criptografado. E a norma do padrão sugere que esse IV seja variado a cada pacote enviado.

O receptor, que também conhece a chave fixa, recebe o pacote, retira o IV dalí e aplica o processo inverso usando a mesma operação de XOR, para descriptografar o pacote e revelar a mensagem.

O RC4 é um algoritmo de fluxo, isto é, o algoritmo criptografa os dados à medida que eles são transmitidos, o que faz com que o RC4 seja um algoritmo de alto desempenho. O RC4 pouco foi criticado, e aqueles que o criticaram tiveram que, posteriormente, remover as suas críticas. Talvez porque o RC4 seja um algoritmo realmente bom e muito simples, ou talvez pela força do seu autor, o respeitado Ron Rivest, um dos sócios da RSA Security e professor do MIT.

Segundo [BARN2002], infelizmente o WEP não foi submetido à revisão de um número suficientemente grande de outros pesquisadores. O preço dessa imprudência é que várias falhas foram inseridas no protocolo então novo. Dinheiro e trabalho foram jogados fora, pois o mercado, ansioso pelas novas aplicações que poderia vender com a nova tecnologia, investiu muito.

Nesse relatório vamos listar as mais importantes falhas do WEP:

Reutilização do vetor de inicialização

Como o IV tem 24 bits, ele assume valores entre 0 e 16M, e normalmente ele sempre começa do 0 e é incrementado a cada envio de pacote. Chegará um momento que o IV assumirá novamente os mesmos valores. Podemos calcular quanto tempo vai demorar para esse IV voltar a assumir o valor 0 novamente: imagine uma conexão cuja banda seja de 5Mbits/s.

Ou seja, numa conexão de 5Mbits/seg, o IV voltará a assumir o mesmo valor em menos de meio dia. Se a implementação assumir que o IV terá valores aleatórios teremos a repetição de um IV em menos tempo. E é a partir dessa repetição de IV que o WEP pode ser quebrado. A chave, K, é fixa, e foi configurada nos clientes que estão se comunicando, logo o par repetir-se-á sempre que o IV se repetir. E sempre que eles se repetirem, gerarão a mesma cadeia pseudo-aleatória, que iremos referenciar como RC4(K,IV).,iv>

Imagine dois textos legíveis distintos P1 e P2, que são criptografados através da mesma cadeia pseudo-aleatória RC4(K,IV) em C1 e C2.

Pelas propriedades do XOR (ou-exclusivo), podemos dizer que de posse de dois textos criptografados e um texto legível é possível descobrir o outro texto legível, pois:

CRC32 linear

Outra grande fraqueza do WEP é o seu algoritmo de garantia da integridade (ICV - integrity check value), que é o CRC32.

O CRC32 é linear, isto é,

para qualquer valor de x e y. Essa propriedade serve para qualquer tipo de algoritmo CRC.

Uma conseqüência dessa propriedade é a possibilidade de se fazer modificações controladas no pacote, sem que sejam detectadas por qualquer um dos dispositivos transmissores ou receptores. Veremos que é possível alterar o conteúdo dos pacotes apenas com o conhecimento da string de valores pseudo-aleatórios.

Vamos lembrar como é formado o texto criptografado C, que corresponde ao texto legível P. M é a mensagem a ser criptografada.

Vamos imaginar um outro texto criptografado, C', que seja a imagem da encriptação de um outro texto legível, M', onde M'=MÄD, onde D é a alteração controlada que se deseja fazer. Veja só o desenvolvimento da fórmula a seguir.

Ou seja, pode-se interceptar o pacote, fazer a alteração, corrigir o ICV, e a alteração não será detectada, pois o sistema de manutenção de integridade foi perfeitamente burlado.

Gerenciamento de chaves

O padrão IEEE 802.11 não especifica como deve ser a distribuição das chaves. Ele é baseado num mecanismo externo de distribuição global da chave em um vetor de 4 chaves. Cada mensagem contém um campo de identificação de chave para especificar o índice do vetor da chave que está sendo usada. Na prática, a maioria das instalações utiliza a mesma chave para todos os dispositivos.

Isso traz problemas profundos à segurança dessas instalações, uma vez que a chave é compartilhada com vários usuários, fica muito complicado manter o segredo. Alguns administradores de rede tentam amenizar o problema não revelando a chave secreta ao usuário final, configurando, eles mesmos, os dispositivos. Mas isso não traz a solução, pois as chaves continuam guardadas nos dispositivos remotos.

A reutilização de uma única chave por vários usuários também aumenta as chances da colisão do IV. A chance de uma colisão aleatória aumenta proporcionalmente ao número de usuários.

Uma vez que a troca de chaves requer que cada usuário reconfigure o seu dispositivo, as atualizações dos drivers controladores dos cartões de rede (NIC) serão cada vez mais raros. Na prática, a troca demorará meses ou anos para acontecer, dando mais tempo para os intrusos analisarem o tráfego.

Não autentica do ponto de acesso

Com o WEP, a interface de rede pode se autentica no ponto de acesso, mas não há provisão para que o ponto de acesso se autentique junto à interface de rede. O resultado é que é possível para um hacker desviar os dados que vão para os pontos de acesso para um terceiro ponto, fazendo um caminho alternativo (Man in the Middle).

O que aconteceu depois do WEP

Depois que o WEP foi indefensável contra as críticas que sofrera, o IEEE criou o Task Group I, para desenvolver um padrão 802.11i, que deveria alcançar os objetivos que o WEP fora criado e resolver todas as críticas.

A padronização do 802.11i deve terminar ainda esse ano. O Draft 4.0 já foi lançado.

Tudo está sendo feito com mais prudência agora. Os draft são abertamente discutidos, e o processo não é tão amador como foi no lançamento da primeira versão.

O único problema é que as indústrias não podem esperar por tanto tempo.

Wi-Fi Alliance

A Wi-Fi Alliance é uma associação sem fins lucrativos, formada em 1999, para certificar os produtos baseados no padrão IEEE 802.11 quanto a sua interoperabilidade. Hoje, há mais de 180 empresas afiliadas, e já certificaram mais de 600 produtos.

A Wi-Fi Alliance, junto com o IEEE, foram os responsáveis pelo desenvolvimento do Wi-Fi Protected Access (WPA), na tentativa de resolver as vulnerabilidades do WEP e atender o mercado enquanto o TGi não lança o novo padrão.

WPA

O WPA copia do WEP os dispositivos que trazem um bom desempenho e a baixa consumo de recursos computacionais, e do IEEE 802.11i, ele copia os mecanismos que corrigem as falhas de segurança. O WPA foi desenvolvido para se executado nos mesmos hardwares que rodavam o WEP, desta forma, toda a base de interfaces de rede já instalada, que permite o upgrade de firmware, será aproveitada.

Implementa o 802.1X EAP

WPA usa o 802.1X para resolver os problemas do WEP no que tange à autenticação. 802.1X foi desenhado para redes cabeadas, mas pode ser aplicado à redes sem fio. O padrão provê controle de acesso baseado em porta e autenticação mútua entre os clientes e os pontos de acesso, através de um servidor de autenticação.

Existe 3 participantes em uma transação usando o 802.1X:

  • O suplicante - Um usuário ou um cliente que quer ser autenticado. Ele pode ser qualquer dispositivo sem fio.
  • O servidor de autenticação - Um sistema de autenticação, tipo RADIUS, que faz a autenticação dos clientes autorizados.
  • O autenticador - O dispositivo que age como um intermediário na transação, entre o suplicante e o servidor de autenticação. O ponto de acesso, na maioria dos casos.

 

A autenticação mútua no 802.1X é feita como mostrado à seguir:

1. Um suplicante inicia uma conexão com o autenticador. O autenticador detecta a inicialização e abre a porta para o suplicante. Todavia, todo o tráfego, exceto o relativo à transação 802.1X, é bloqueado.

2. O autenticador pede a identidade ao suplicante.

3. O suplicante responde com a sua identidade.

4. O autenticador passa a identidade a um servidor de autenticação.

5. O servidor de autenticação autentica a identidade do suplicante, e envia uma mensagem de ACCEPT ao autenticador.

6. O autenticador então abre o tráfego ao suplicante.

7. O suplicante pede a identidade do servidor de autenticação.

8. O servidor de autenticação responde com a sua identidade.

9. O suplicante autentica o servidor de autenticação e só então os dados começam a trafegar.

Como a identidade é definida é definido no Extensible Authentication Protocol (EAP) ([BLUN98]). O EAP é o protocolo que o 802.1X usa para gerenciar a autenticação mútua. O protocolo provê um framework generalizado para o sistema de redes sem fio escolher um método específico de autenticação. O método de autenticação pode ser a senha, certificado PKI ou outro token de autenticação. Com um EAP padrão, um autenticador não precisa entender em detalhes o método de autenticação. O autenticador simplesmente age como um intermediário que recebe e repassa pacotes EAP ente o suplicante e o servidor de autenticação, que nesse caso fará a autenticação.

Há vários tipos de EAP que são usados hoje em dia:

1. EAP-LEAP - Esse padrão foi desenvolvido pela CISCO. EAP-LEAP usa um par login/senha para transmitir a identidade do suplicante para o servidor RADIUS para autenticação.

2. EAP-TLS - Esse padrão foi descrito na RFC 2716. EAP-TLS usa um certificado X.509 para autenticar.

3. EAP-TTLS - Esse é um padrão desenvolvido pela Funk Software. EAP-TTLS é uma opção alternativa ao EAP-TLS. Enquanto o servidor de autenticação identifica a si mesmo ao cliente com um certificado de servidor, o suplicante usa um par login/senha para se indentificar.

4. EAP-PEAP (Protect EAP) - Outro padrão desenvolvido para prover autenticação mútua segura. O padrão foi desenhado para superar algumas vulnerabilidades existentes em outros métodos EAP.

Há um caso especial na implementação do IEEE 802.1X. Em ambientes pequenos (ambientes domésticos ou pequenas empresas), um servidor de autenticação pode não estar disponível. Então uma chave pré-estabelecida é usada. A chave é de conhecimento do suplicante e do autenticador. Uma autenticação parecida com a que acontece no WEP então é feita entre esses dois participantes.

Temporal Key Intergrity Protocol (TKIP)

É de responsabilidade do TGi a viabilização do padrão no aspecto de segurança. E muitos passos importantes vêm sendo dados na direção de se dar credibilidade ao protocolo WEP e na direção de se criar um outro protocolo mais robusto que substituirá o WEP.

O grupo encontra alguns problemas na hora de dar melhores soluções para o padrão:

  • Baixo poder computacional dos chips : Os algoritmos devem ser leves o suficiente para que possam ser executados nos cartões existentes hoje.
  • Manter compatibilidade : Deve-se manter a compatibilidade com o padrão que a Wi-Fi Alliance chamou de Wi-Fi.

 

A melhor proposta para trazer segurança ao WEP de aplicação imediata, ou seja, que pode ser implementada nos equipamentos já instalados, desde que eles tenham suporte à atualização de software ou firmware, é o TKIP (Temporal Key Integrity Protocol) . O algoritmo de escalonamento de chaves do TKIP surgiu a partir da idéia proposta ao IEEE por Russ Housley (RSA Security) e Doug Whiting (Hifn), chamada de Temporal Key Hash , [HOUS01]. TKH é uma função hash geradora de chaves para o WEP. A utilização de uma função hash para derivar uma outra chave a partir da chave-base foi sugestão de Ron Rivest em [RIVE01], que citou como exemplo o MD5. Entretanto os autores do TKH preferiram não utilizar o MD5 ou SHA1, por serem muito custosos. No lugar disso eles propuseram um algoritmo muito mais simples e que exige menos processamento. Segundo [PHIF02] submeter a chave à função hash resolve parte do problema. O resultado da função hash deve ser combinado ao resultado da função de integridade para prevenir a alteração e o reenvio de mensagens, e o gerenciamento de chaves ainda precisa ser implementada. Em 2002, Niels Ferguson juntou-se à Housley e Whiting, e propuseram um alternativa ao TKH, o ATKH (Alternate Temporal Key Hash), [HOUS02], que já foi aceito pelo TGi.

No TKIP, agora conhecido como WPA (WiFi Protected Access), o dispositivo começa com uma chave-base secreta de 128 bits, chamada de TK (Temporal Key), então ela é combinada com o TA (Transmitter Address), o endereço MAC do transmissor, criando a chave chamada de TTAK (Temporal and Transmitter Address Key), ou a "Chave da Fase 1". A TTAK é então combinada com o IV para criar as chaves que variam a cada pacote, chamadas de RC4KEY. Cada chave é utilizada pelo RC4 para criptografar somente um pacote.

O TKIP faz com que cada estação da mesma rede utilize uma chave diferente para se comunicar com o ponto de acesso. O problema da colisão de chaves do RC4 é resolvido com a substituição da TK antes que o IV assuma novamente um valor que já assumiu, ou seja a cada vez que o IV assuma o seu valor inicial, o TK deve assumir um valor distinto. A forma como é gerenciada essa troca de TKs não foi padronizada. Cabe ao próprio TGi o processo de validação dos novos protocolos, o que, acredita-se, não ser o sistema mais confiável.

Usa o Michael como ICV

Michael, também conhecido como Message Integrity Check (MIC), para manter a integridade das mensagens transmitidas. Michael é uma função hash com criptografia chaveada, que produz uma saída de 64 bits. A segurança do Michael basea-se no fato de que o valor do MIC é criptografado e desconhecido pelo atacante.

WEP x WPA

Há algumas pessoas, como o consultor de segurança, Rik Farrow [FARR03], que condena o alarmismo sobre o WEP. Diz ele, que o WEP serve para o fim que veio. Ele passa a idéia de que ponto de acesso sem o WEP é uma entrada grátis à internet, e com o WEP é uma entrada para poucos. Alerta para o fato de que ferramentas, como o Air-Snort, são para poucos instalarem - O RAVEL fez a experiência de usar essa ferramenta duas vezes, cada uma sob a orientação de um de seus integrantes, e nas duas vezes não fez trivialmente. Farrow continua dizendo que basta alterar o intervalo de envio de beacons pelo seu ponto de acesso para o máximo (67s), que ele não constará na maioria, senão totalidade dos mapas de wardrive - como na experiência feita pelo RAVEL, o wardrive é normalmente feito de carro, e em 67s você entra e sai da área de alcance de uma antena.

O mais importante que Farrow diz em seu artigo é que, se pelos resultados obtidos nos wardrives constatamos que as pessoas não usam o WEP, embora os alertas de segurança, então muito mais pessoas não usarão o WPA, que é muito mais complexo do que o WEP - no mínimo requer a adição de um servidor RADIUS.

IEEE 802.11i

O IEEE acredita que WPA será um remédio paleativo. Que a solução "definitiva" virá com o novo padrão IEEE 802.11i. O TGi gastou mais de 2 anos na especificação desse padrão, e 4 drafts fora publicados desde então. Eles estão próximos de completar a última versão, provavelmente até o final de 2003.

Haverá no novo padrão três algoritmos de criptografia:

1. TKIP - Funcionará como no WPA

2. AES-CCMP - AES (Advanced Encryption Standard) é o protocolo escolhido pelo NIST (US National Institutes of Standards and Technology) para substituir o DES (Data Encryption Standard). AES-CCMP necessitará de hardware extra para rodar. Logo, um upgrade de firmware apenas não será suficiente.

3. WRAP - WRAP é a sigla para Wireless Robust Authetication Protocol. Parecido com o CCMP, o algoritmo utiliza o AES em outro modo de criptografia (OCB) para criptografar e manter a integridade.

A integradade da mensagem continuará a ser mantida pelo algoritmo Michael Message Integrity Check, o mesmo usado no WPA.

A autenticação continuará sendo feita mutualmente através do conjunto de protocolos do 802.1X/EAP.

Além disso, o novo padrão promete implementar IBSS seguro, possibilitar handoff rápidos e seguros, e desautenticação e desassociação seguros, entre outras novidades.

Nós entendemos que será um padrão mais difícil de emplacar no mercado devido ao custo relativamente alto do hardware. Além do tamanho e do peso da interface de rede, que deverá destoar nos handhelds, por exemplo.

Sem dúvidas, o AES trará, pela primeira vez, uma sensação de segurança muito boa, uma vez que ele é um algortimo muito mais robusto e já terá passado por várias provas de fogo.

Críticas ao Michael

A escolha do Michael pelo TGi é bastante criticada. Aparentemente uma das principais qualidades do Michael é o seu baixo consumo de CPU. O artigo de Avishai Wool ([WOOL03]) questiona a escolha do Michael por esses critérios, em contraponto aos muito eficientes HMAC/SHA-1 e HMAC/MD5.

As críticas mais objetivas ao algoritmo recaem no fato de que no Michael existe um mecanismo de segurança que derruba a conexão se durante o curto tempo de 1 segundo um dispositivo receber 2 pacotes de dados não autorizados. A conexão fica desligada por 1 minuto ou mais (configurável), visando dificultar a vida de um provável ataque. Entretanto isso favorece o ataque de denial of service (DoS). O atacante não consegue dominar a conexão, mas também não permite que ninguém mais o faça.

Ataque de DoS não é novidade, principalmente em redes 802.11, mas o Michael facilita a vida do atacante, que agora precisa enviar dois pacotes com diferença de tempo curtíssimo, de minuto em minuto.

Referência

BARNES, D. Network America: Wireless security? Read it and Wep. June 27, 2002. URL: http://www.vnunet.com/Features/1133066.

BLUNK, L.; VOLLBRECHT, J. PPP Extensible Authentication Protocol (EAP). RFC 22284. Mar/1998

FARROW, R. Wireless Security: Send in the Clowns? Network Magazine. http://www.networkmagazine.com/shared/article/showArticle.jhtml?articleI.... Sept/2003.

HOUSLEY, R.; WHITING, D. Temporal Key Hash. IEEE 802.11 WG, Tgi. IEEE 802.11-01/550r3. 2001.

HOUSLEY, R.; WHITING, D.; FERGUSON, N. Alternate Temporal Key Hash. IEEE 802.11 WG, TGi. IEEE 802.11-02/282r2. 2002.

PHIFER, L. Better than WEP. http://www.isp-planet.com/fixed_wireless/technolo gy/2002/better_than_wep.html. Acesso em: 27 dez. 2002. 2002.

RIVEST, R. RSA Security Response to Weakness in Key Scheduling Algorithm of RC4. http://www.rsasecurity.com/. Acesso em: 13 dez. 2001. 2001.

VERISSIMO, F. Segurança em Redes Sem Fio. Monografia do curso de Tópicos Especiais em Redes de Faixa Larga. Janeiro de 2001.

WONG, S. The evolution of wireless security in 802.11 networks: WEP, WPA and 802.11 standards. GSEC Practical v1.4b. SANS Institute. May 20, 2003.

WOOL, A. A Note on the Fragility of the "Michael" Message Integrity Code. Technical Report EES2003-2 (version 2), Dept. Electrical Engineering System, Tel Aviv University, Israel. April 14, 2003.

O Lockabit não compartilha necessariamente da mesma opinião do autor.