• Nenhum resultado encontrado

Proposta de melhoria do nível de segurança de redes locais sem fio

No documento SEGURANÇA EM REDES LOCAIS SEM FIO (páginas 86-93)

5 PROPOSTA DE MELHORIA DO NÍVEL DE SEGURANÇA DAS REDES LOCAIS SEM FIO

5.2 Proposta de melhoria do nível de segurança de redes locais sem fio

A figura 32 apresenta um esquema de conexão à rede local sem fio, incluindo as fases de sondagem, autenticação e associação de acordo com a proposta. Sua interpretação é análoga à da figura 3 do capítulo 2 e é analisada nas seções seguintes.

Endereço da estação

Endereço do ponto de acesso

Sucesso e identificação da associação ou Insucesso

Id estação, n1 criptografado com a chave pré-compartilhada

((n1 xor n2) || n2), criptografados com a chave pré-compartilhada

((n2 xor n) || SSID ), criptografados com chave pré-compartilhada

Pedido de sondagem

Respostas (somente se MAC cadastrado)

Administração via SSH, SNMPv3 ou HTTPS Chave de sessão = n2 Sondagem Autenticação Associação

Sucesso ou insucesso da autenticação

5.2.1 Processo de sondagem

Esta seção descreve os mecanismos que dificultam o mapeamento da rede na fase de sondagem. Estes mecanismos se fundamentam na filtragem MAC.

Na proposta apresentada, o mapeamento da rede, por um intruso, é dificultado considerando a verificação do endereço MAC durante a fase de sondagem. Nesta fase, o endereço MAC do cliente é verificado contra uma base de endereços MAC cadastrados. Caso o endereço MAC do cliente não esteja armazenado na base, o ponto de acesso fica mudo e não transmite resposta alguma. Assim, a descoberta de uma rede sem fio é dificultada. Atualmente, os produtos que disponibilizam algum tipo de filtragem MAC consideram a filtragem em fases subseqüentes a de sondagem. Logo, mesmo tendo o acesso à rede negado, o invasor tem a chance de capturar dados sobre a rede.

Mesmo considerando os pontos citados, é possível que a filtragem MAC não seja adotada. Em redes grandes e dinâmicas, o custo de administração da base de endereços MAC deve ser observado.

O problema da captura e falsificação de um endereço MAC cadastrado continua existindo. No entanto, essa medida evita que war drivers e usuários comuns usem o software de suas interfaces de rede sem fio para mapear a rede. Entretanto, isto não confere à rede segurança diante de usuários mais experientes e determinados a mapeá-la. Portanto, este não é um mecanismo eficaz contra a falsificação ou clonagem de endereços MAC. Ele apenas dificulta o mapeamento da rede.

5.2.2 Processo de autenticação

A proposta apresentada neste capítulo também previne a captura do SSID na fase de autenticação. No esquema convencional, o SSID trafega de forma não criptografada, quando

enviado do cliente para o ponto de acesso. Isto permite que seja facilmente capturado e posteriormente utilizado.

No esquema desta proposta, o SSID é transmitido concatenado a outro valor e de forma criptografada pelo algoritmo WEP. Assim, a leitura do SSID fica impossibilitada devido à criptografia e impossibilidade de correlação dos valores. Neste caso, mesmo se o pacote for capturado para posterior utilização, o ataque não terá sucesso em razão do número pseudo-aleatório que compõe o valor concatenado ao SSID.

A partir do pacote criptografado, não é viável a extração das duas partes sem o uso da chave adequada. A correlação entre o desafio e a resposta entre os pacotes de autenticação não pode ser feita, visto que, em cada um destes pacotes, existe um valor composto por um número pseudo-aleatório diferente, concatenado aos valores do desafio e da resposta. Este processo é ilustrado entre a quarta e sétima linhas da figura 32.

Outro mecanismo proposto é a redução da quantidade de tráfego protegido pela chave pré-compartilhada. Considera-se o uso de uma chave pré-compartilhada, que é utilizada somente no processo de autenticação. Observa-se que, no padrão IEEE 802.11, a chave pré- compartilhada é utilizada no processo de autenticação e também para prover a confidencialidade dos dados no ar.

Nessa proposta, a chave pré-compartilhada somente é utilizada para autenticar o cliente, autenticar o ponto de acesso e, se necessário, revogar outras chaves. Assim, uma quantidade bem menor de tráfego é criptografada com esta chave. Desta forma, os ataques citados em [Roshan 2002] contra o protocolo WEP tornam-se inviáveis em decorrência da quantidade pequena de dados que trafegam sob a proteção da chave pré-compartilhada.

Com base no estudo realizado na seção 5.6, na rede analisada, existem, em média, 2.8 processos de autenticação por usuário a cada dia. Considerando 7 usuários e que cada autenticação necessita de 4 pacotes, existem, aproximadamente, 80 pacotes de autenticação

em um dia. Como o IV (Initialization Vector) é repetido a cada 224 pacotes, e considerando o uso da chave pré-compartilhada apenas no processo de autenticação, seriam gastos, aproximadamente, 574 anos de coleta de tráfego para a quebra de chave WEP utilizando as vulnerabilidades já discutidas. O valor 574 é a divisão de 224 por 80 pacotes/dia, novamente, dividido por 365 dias.

O processo de autenticação tem três propósitos: autenticar o cliente perante o ponto de acesso, autenticar o ponto de acesso perante o cliente e distribuir uma nova chave de sessão. Da mesma maneira que não se deseja que clientes quaisquer tenham acesso à rede, também se deseja que nenhum ponto de acesso clandestino possa fazer parte dela.

No primeiro passo, o pedido de autenticação é enviado do cliente para o ponto de acesso. O identificador da estação é concatenado ao pedido, juntamente com um primeiro número pseudo-aleatório (n1) gerado pela estação e criptografado pela chave pré- compartilhada. Este processo está ilustrado nos itens de 1 a 3 da figura 33. Os números pseudo-aleatórios gerados e utilizados na proposta são números de 128 bits, gerados pelo gerador do protocolo WEP.

Ambiente da estação cliente

1) Gera um número n1

2) Criptografa n1 com Kc Ekc(n1) 3) Envia Ekc(n1) || Id-estação

10) Decriptografa Ekc((n1 xor n2) || n2) ((n1 xor n2) || n2)

11) Verifica o n1, com base em (n1 xor n2) e n2 recebidos 12) Calcula os 128 primeiros bits do SSID n

13) Calcula (n2 xor n)

14) Concatena (n2 xor n) e SSID 15) Criptografa ((n2 xor n) || SSID) com Kc Ekc((n2 xor n) || SSID) 16) Envia Ekc((n2 xor n) || SSID)

22) Recebe resultado

Ambiente do ponto de acesso

4) Gera um número n2 5) Decriptografa Ekc(n1) n1 6) Calcula (n1 xor n2) 7) Concatena (n1 xor n2) e n2 8) Criptografa ((n1 xor n2) || n2) com Kc

Ekc((n1 xor n2) || n2) 9) Envia Ekc((n1 xor n2) || n2)

17) Decriptografa Ekc((n2 xor n) || SSID) ((n2 xor n) || SSID)

18) Calcula os 128 primeiros bits do SSID n

19) Verifica o n2, com base em (n2 xor n) recebido e n calculado 20) Verifica se o SSID recebido está correto face ao SSID já conhecido 21) Se n2 e SSID estiverem corretos, envia resultado OK se não envia ABORTA

Meio de transmissão

O ponto de acesso gera um segundo número pseudo-aleatório (n2), que é o desafio ao cliente. Ao receber o conjunto enviado pelo cliente, o ponto de acesso decriptografa o conjunto. O ponto de acesso deveria enviar de volta os dois números, no entanto, se estes dois números fossem apenas concatenados e criptografados para o envio, ainda seria possível correlacionar os pacotes, tornando possível a derivação da chave-fluxo. Logo, primeiro o ponto de acesso calcula o ou-exclusivo entre os dois números (n1 e n2). Este resultado é concatenado ao valor de n2. O resultado é criptografado e enviado ao cliente. Para que o ponto de acesso possa calcular o ou-exclusivo, ele tem que decifrar o n1 recebido, e esta decriptografia é que garante ao cliente que o ponto de acesso possui a chave pré- compartilhada correta. Este processo está ilustrado nos itens de 4 a 9 da figura 33.

O cliente, ao receber o conjunto, deve decriptografá-lo e verificar se o desafio (n1) que emitiu está correto, para isso, o cliente deve calcular o ou-exclusivo entre o resultado que recebeu (n1 xor n2) e o valor de n2 recebido. O resultado deve ser idêntico ao n1 que o cliente gerou anteriormente. Caso a verificação de n1 falhe, o processo é abortado. Em seguida o cliente responde ao desafio lançado pelo ponto de acesso. Entretanto, para que n2 também seja protegido, o cliente o concatena com os 128 primeiros bits do SSID configurado no cliente. Esta metade do SSID é denominada por n, assim, o cliente calcula (n2 xor n) e concatena este valor ao SSID inteiro, cujo resultado é criptografado com a chave pré- compartilhada e enviado ao ponto de acesso. Este processo está ilustrado nos itens de 10 a 16 da figura 33.

Novamente, ao receber o conjunto, o ponto de acesso verifica o desafio que lançou ao cliente (n2), para isso, o ponto de acesso decriptografa o conjunto recebido, calcula um novo n, baseado nos 128 primeiros bits do SSID configurado no ponto de acesso; depois o ponto de acesso calcula o ou-exclusivo entre (n2 xor n) recebido e o n calculado. O resultado deve ser idêntico ao n2 gerado anteriormente. O ponto de acesso também verifica se o SSID recebido é

idêntico ao SSID configurado anteriormente. Se todas as verificações ocorreram com sucesso, um resultado positivo é enviado ao cliente, caso contrário, um resultado negativo é enviado. Este processo está ilustrado nos itens de 17 a 21 da figura 33.

O número n2 é, a partir deste momento, utilizado como chave de sessão para garantir a confidencialidade dos dados. Esta chave é empregada até que seja revogada ou até que haja um processo de reautenticação.

O primeiro número pseudo-aleatório (n1), gerado pelo cliente, é utilizado no processo de autenticação do ponto de acesso. Isto evita que um cliente legítimo possa se conectar a um ponto de acesso inserido maliciosamente, com o propósito de capturar as credenciais de acesso.

O segundo número pseudo-aleatório (n2), gerado pelo ponto de acesso, é utilizado no processo de autenticação do cliente. Isto permite que seja verificado se o cliente conhece a chave pré-compartilhada e se tem a habilidade de utilizá-la de forma correta.

Essas autenticações ocorrem em esquema de desafio/resposta. Neste caso, os dados não trafegam isoladamente e nem de forma não criptografada. Isto evita que a chave-fluxo possa ser derivada do desafio e da resposta. Os dois campos somente podem ser correlacionados se não possuírem outras informações agrupadas.

Observa-se que a filtragem MAC, definida na fase de sondagem, é considerada como uma pré-autenticação. Com isso, passos adicionais, como os exibidos no capítulo 2, podem ser eliminados na fase de autenticação.

Um exemplo completo de um processo de autenticação é exibido na figura 34. Este exemplo emprega números pseudo-aleatórios de apenas 4 bits, ao contrário dos 128 bits desta proposta. Além disso, o SSID considerado é de apenas 8 bits. O processo de criptografia utilizado é definido como a substituição do texto não criptografado pelo valor de duas posições à frente, ou seja: para o texto não criptografado 7 o texto criptografado é 9, e assim

por diante. Este exemplo não é nada seguro devido ao tamanho das chaves e do processo de criptografia, é um exemplo didático e tem o objetivo único de mostrar, de forma simples, a utilização do processo de autenticação dessa proposta. O protocolo de criptografia utilizado na proposta continua sendo o WEP, o protocolo simplificado é aqui utilizado apenas para facilitar o acompanhamento deste exemplo.

Ambiente da estação cliente

1) 0111 2) 1001 3) 1001 || 1011.…0110 10) 1100 || 1011 11) (1100 xor 1011) = 0111 12) 1010 13) (1011 xor 1010) = 0001 14) 0001 || 1010 1001 15) 0011 || 1100 1011 16) 0011 || 1100 1011 22) OK SSID= 1010 1001

Ambiente do ponto de acesso

4) 1011 5) 0111 6) (0111 xor 1011) = 1100 7) 1100 || 1011 8) 1110 || 1101 9) 1110 || 1101 17) 0001 || 1010 1001 18) 1010 19) 0001 xor 1010 = 1011 20) 1010 1001 = 1010 1001 OK 21) OK SSID= 1010 1001 Meio de transmissão Texto não criptografado Texto criptografado 0000 0010 0001 0011 0010 0100 0011 0101 0100 0110 0101 0111 0110 1000 0111 1001 1000 1010 1001 1011 1010 1100 1011 1101 1100 1110 1101 1111 1110 0000 1111 0001 Tabela de criptografia

Ambiente da estação cliente

1) 0111 2) 1001 3) 1001 || 1011.…0110 10) 1100 || 1011 11) (1100 xor 1011) = 0111 12) 1010 13) (1011 xor 1010) = 0001 14) 0001 || 1010 1001 15) 0011 || 1100 1011 16) 0011 || 1100 1011 22) OK SSID= 1010 1001

Ambiente do ponto de acesso

4) 1011 5) 0111 6) (0111 xor 1011) = 1100 7) 1100 || 1011 8) 1110 || 1101 9) 1110 || 1101 17) 0001 || 1010 1001 18) 1010 19) 0001 xor 1010 = 1011 20) 1010 1001 = 1010 1001 OK 21) OK SSID= 1010 1001 Meio de transmissão Texto não criptografado Texto criptografado 0000 0010 0001 0011 0010 0100 0011 0101 0100 0110 0101 0111 0110 1000 0111 1001 1000 1010 1001 1011 1010 1100 1011 1101 1100 1110 1101 1111 1110 0000 1111 0001 Tabela de criptografia

Figura 34 – Exemplo didático de uma autenticação, de acordo com esta proposta

5.2.3 Processo de reautenticação

O processo de reautenticação é similar ao processo de autenticação. Porém ele é iniciado pelo ponto de acesso responsável por controlar os períodos de reautenticação. O processo de reautenticação é exibido na figura 35

((n3 xor n4) || n4) criptografados com a

No documento SEGURANÇA EM REDES LOCAIS SEM FIO (páginas 86-93)