Segurança do Protocolo WEP

31
Segurança do Protocolo WEP Segurança do Protocolo WEP <Alexandre Sarmento> <Alexandre Sarmento> <Francisco Valadares> <Francisco Valadares> <Erick Muzart> <Erick Muzart> {asas - famv – emfs}@cin.ufpe.br 1

description

Segurança do Protocolo WEP. . {asas - famv – emfs}@cin.ufpe.br. 1. Introdução: Motivação. Redes sem fio em crescimento rápido A proporção de dados trafegados aumenta Predominância das redes WiFi semelhantes à Ethernet - PowerPoint PPT Presentation

Transcript of Segurança do Protocolo WEP

Page 1: Segurança do Protocolo WEP

Segurança do Protocolo WEPSegurança do Protocolo WEP

<Alexandre Sarmento><Alexandre Sarmento>

<Francisco Valadares><Francisco Valadares>

<Erick Muzart><Erick Muzart>

{asas - famv – emfs}@cin.ufpe.br 1

Page 2: Segurança do Protocolo WEP

Introdução: MotivaçãoIntrodução: Motivação

2

• Redes sem fio em crescimento rápido

• A proporção de dados trafegados aumenta

• Predominância das redes WiFi semelhantes à Ethernet

• Maiores preocupações com a segurança

• Mecanismos de segurança deficientes

Page 3: Segurança do Protocolo WEP

Sumário Sumário

3

• Descrição WiFi

• Descrição WEP

• Análise dos elementos do WEP

• Fraquezas encontradas

• Conclusões

Page 4: Segurança do Protocolo WEP

WI-FI WI-FI

4

• O que é?

- Uma tecnologia de transmissão de dados via rádio.

- Wi-Fi é uma marca comercial utilizada pela WECA para indicar a interoperabilidade de produtos WLAN (Wireless Local Area Network).

- O nome provém de "wireless fidelity" (fidelidade sem fio).

- A WECA submete os produtos WLAN a testes avançados; os produtos que atendem ao padrão de interoperabilidade recebem o logotipo Wi-Fi.

- WECA é a ONG Wireless Ethernet Compatibility Alliance, 1999

Page 5: Segurança do Protocolo WEP

WI-FI WI-FI

5

802.11b 802.11a 802.11g

2.4GHz 5GHz 2.4GHz

11Mbps 54Mbps 54Mbps

100-300m 30-100m 100-300m

A mais utilizada hojeAplicações

específicas/estabilidadeSubstituindo 11b

rapidamente

Muito barata Relativamente cara Relativamente barata

Page 6: Segurança do Protocolo WEP

Elementos WI-FI Elementos WI-FI

6

• Elementos de uma rede sem fio

- Estação Base (ou AP, ponto de acesso): transmissor e bridge

(substituem os switches/hubs, DHPC, NAT (Network Address Translation))

- “Ondas de rádio”

(substituem os fios)

Page 7: Segurança do Protocolo WEP

Elementos WI-FI Elementos WI-FI

7

- Adaptador de rede

(conversor digital para ondas de rádio)

- Portal

(interconecta redes 802.11x a outras redes 802 externas)

Page 8: Segurança do Protocolo WEP

Arquitetura WI-FI Arquitetura WI-FI

8

• A arquitetura 802.11x é baseada na arquitetura dos celulares

Células (BSS, Basic Service Set), DS (backbones, geralmente Ethernet)

Page 9: Segurança do Protocolo WEP

9

• Ambiente

Atrativo: os usuários ficam livres para se moverem enquanto conectados à rede

Vulnerabilidade: o acesso ultrapassa os limites físicos

• Wired Equivalent Privacy

- Padrão de segurança para WLANs IEEE 802.11

- Atua na camada de enlace entre estações e o ponto de acesso (AP)

WEPWEP

Page 10: Segurança do Protocolo WEP

10

• Confidencialidade

- Oferece a segurança das informações no canal de comunicação.

- Criptografa os dados que passam pelo canal.

• Integridade

- Protege pacotes contra erros de transmissão (CRC).

- Mensagem + CRC formam o texto pleno que será criptografado.

WEP: CaracterísticasWEP: Características

Page 11: Segurança do Protocolo WEP

11

• Autenticação

- Permite apenas acesso autorizado à rede.

- Distribui uma Chave WEP para quem tem acesso à rede sem fio.

• Algoritmo

- É o RC4(será descrito adiante) com uma pequena variante.

- Problemas de segurança relacionados a confidencialidade e autenticação.

WEP: CaracterísticasWEP: Características

Page 12: Segurança do Protocolo WEP

Criptografia WEP: PrincípiosCriptografia WEP: Princípios

12

• Uma chave única k de 104 bits compartilhada entre os clientes autorizados e sem política de gestão da chave

• Vetor de inicialização aleatório IV (24 bits) para cada pacote

• Algoritmo criptográfico: cifra RC4

•Então a chave será o IV concatenado com k(128 bits);

XORTexto Pleno CRC

RC4 (k, IV)

Dados Transmitidos : IV Texto Cifrado

Page 13: Segurança do Protocolo WEP

Descrição RC4Descrição RC4

• RC4 : Gerador pseudo-aleatório de um fluxo de bytes, plenamente

determinado pela combinação K=IV·k ;• Composto por dois elementos [1]:

• KSA(Key Scheduling Algorithm): usa a chave de pacote K para gerar uma permutação inicial do array S de inteiros 0..N-1• PRGA(Pseudo Random Generation Algoritm): gera um fluxo de bytes à partir de permutações de S

Page 14: Segurança do Protocolo WEP

Criptografia WEP: Esquema de Criptografia WEP: Esquema de TransmissãoTransmissão

14

Page 15: Segurança do Protocolo WEP

WEP- Autenticação WEP- Autenticação

15

• Problema : um adversário que presencia essa troca ganha uma dupla Challenge e IV·(RC4(k,IV) xor Challenge)• Logo, fazendo novamente um xor entre os dois pacotes, obtém: RC4(k,IV) o que é suficiente, fixando-se o IV, para criptografar validamente qualquer pacote ulterior sem sequer precisar da chave!• Assim, o adversário ganhou o acesso em envio à rede, mesmo se ainda não pode decriptar o que recebe.

Page 16: Segurança do Protocolo WEP

WEP- ConfidencialidadeWEP- Confidencialidade

16

• O espaço de IVs de 24 bits é muito pequeno. Assim, o sorteio aleatório de IVs leva a forte probabilidade de repetições, como no paradoxo do aniversário [2].

• Se o adversário dispuser de um par (texto pleno P1, texto criptografado C1) para um dado IVa, ele poderá decifrar qualquer outro pacote que use o mesmo IVa:

C1 = P1 xor RC4(k,IVa)C2 = P2 xor RC4(k,IVa)

C1 xor C2 = (P1 xor RC4(k,IVa)) xor (P2 xor RC4(k,IVa)) C1

xor C2 = P1 xor P2

P2 = P1 xor C1 xor C2

Page 17: Segurança do Protocolo WEP

WEP-Key RecoveryWEP-Key Recovery• Suponha que você conhece os A primeiros bytes da chave

WEP(não levando em conta o IV) ;

• Três elementos são suficientes p/ a descoberta do (A+1)– ésimo byte da chave WEP a partir de um pacote capturado com probabilidade não nula( Fluhrer et al [3]) :

i. O primeiro byte da saída do algoritmo PRGA ;

ii. IV´s de uma certa característica ;

iii. Propriedade do array S no momento da execução do algoritmo KSA ;

• Pacotes resolved [3], são pacotes onde se conhece i e ocorre ii ;• No mínimo, em 5% dos pacotes resolved , iii ocorre [4]. 17

Page 18: Segurança do Protocolo WEP

1st PRGA Byte 1st PRGA Byte • No Padrão 802.11, pacotes gerados a partir de tráfico ARP possuem o primeiro byte da forma 0xAA ;

•O primeiro byte de saída do PRGA que chamaremos de OUT, seráS[ S[1] + S[S[1] ] ] ;

•Assim, capture um pacote ARP e observe o primeiro byte do texto cifrado R. Temos que R = 0xAA XOR OUT => OUT = R XOR 0xAA, ou seja, como conheço R e o primeiro texto pleno criptografado posso obter S[ S[1] + S[S[1] ] ] = OUT ;

•O valor de OUT será importante p/ a descoberta da chave. 18

Page 19: Segurança do Protocolo WEP

IV´s “Fracos”IV´s “Fracos”• Embora existam mais condições para os IV´s, nosso trabalho focou-se em IV´s desta forma:

• IV[0] = A + 3 ;

• IV[1] = 0xFF( 255 em decimal) ;

• IV[2] = Qualquer número de um byte ;

• Capturar pacotes resolved, seria capturar pacotes ARP cujo IV fosse desta forma ;

• Captura-se pacotes resolved suficientes para garantir que pelo menos um deles possuam a propriedade no array S na execução do KSA.

19

Page 20: Segurança do Protocolo WEP

Array S no KSA(4/1)Array S no KSA(4/1)

• Observando o algoritmo KSA defina Sn e jn como sendo o estado do

array S após o loop n(do segundo “for”) do KSA(após o Swap) e como o valor de j após passar pelo primeiro passo do loop n (do segundo “for”) do KSA, respectivamente ;

•Note que antes de se passar pelo segundo “for”, S e j já estão pré-definidos ;

20

Page 21: Segurança do Protocolo WEP

Array S no KSA(4/2)Array S no KSA(4/2)

• Realize i = A + 2 iterações completas do KSA ;

• Com esse número de iterações em pacotes resolved:

• S2[0] = A+3 e S2[1] = 0 ;

• [3] - Com quase 100% de certeza, S2[0] = SA+2[0] e S2[1] = SA+2[1], ou seja, SA+2[0] = A+3 e SA+2 [1] = 0 ;

• No fim da iteração A + 2, teremos SA+3[jA+3] = SA+3 [SA+3 [1] + SA+3 [SA+3 [1]] ] = S[S[1] +S[S[1]] ] = OUT !!!!!!!

•Desde que conhecemos somente os primeiros A bytes da chave WEP, não poderiamos realizar o laço i = A + 3 (pois precisariamos exatamente de K[A+3], K =3 bytes IV + Chave WEP. 21

Page 22: Segurança do Protocolo WEP

Array S no KSA(4/3)Array S no KSA(4/3)

Page 23: Segurança do Protocolo WEP

Array S no KSA(4/4)Array S no KSA(4/4)

• Após essa iteração teremos a seguinte equação do KSA :

• jA+3 = jA+2 +S A+2 [A+3] + K[A+3]

=> K[A+3] = jA+3 - jA+2 - SA+2 [A+3].

• Observe que K[A+3] é exatamente o (A+1)– ésimo byte da chave WEP que estamos procurando ;

• Temos jA+2 e SA+2 [A+3] obtidos da iteração ;

• jA+3 é obtido a partir do conhecimento de OUT!!!!

• Dúvidas e mais detalhes podem ser vistos no nosso relatório. 23

Page 24: Segurança do Protocolo WEP

Montando o Algoritmo KeyRec(4/1)Montando o Algoritmo KeyRec(4/1)

• Ou seja, conhecendo-se A bytes da chave WEP, posso obter o A+1 ésimo byte......

• Pode ser que o byte achado não corresponda ao byte real.....

• Como tratar disso?????

• Simples....pegue tantos pacotes quanto forem necessários e pegue o byte deduzido de cada um deles.... O byte que ocorrer mais vezes será provavelmente o byte verdadeiro....

• Com essa idéia já podemos montar o algoritmo [4].

24

Page 25: Segurança do Protocolo WEP

Montando o Algoritmo KeyRec(4/2)Montando o Algoritmo KeyRec(4/2)

• Algoritmo RecoverWEPKey[4] com a subrotina ResolvedPac:

25

Page 26: Segurança do Protocolo WEP

Montando o Algoritmo KeyRec(4/3)Montando o Algoritmo KeyRec(4/3)

• A subrotina ResolvedPac explora exatamente a propriedade no array S do KSA e retorna o possível byte da chave :

26

Page 27: Segurança do Protocolo WEP

Montando o Algoritmo KeyRec(4/4)Montando o Algoritmo KeyRec(4/4)

• Segundo Adi Shamir[3] , com q em torno de 60 poderemos obter o byte da chave WEP com 0,5 de certeza, portanto para q > 120 obteremos o byte com chance bastante alta.

Page 28: Segurança do Protocolo WEP

DemonstraçãoDemonstração

• Nossa implementação desenvolveu uma simulação bem simples baseada na linguagem Perl ;

• O script GeradorPacotesFracos.pl recebe a chave WEP como entrada e gera várias ternas de 4 bytes em notação decimal num arquivo chamado Pacotes.log, sendo que os primeiros 3 bytes representa o IV´s Fracos e o 4º byte representa o 1º byte do texto pleno(0xAA que supostamente foi gerado a partir de um pacote ARP ) criptografado com a chave WEP ;

•O Script WEPKeyRecovery.pl simplesmente pega essas ternas do Pacotes.log e deduz a chave WEP original utilizando-se das idéias aqui apresentadas.

28

Page 29: Segurança do Protocolo WEP

ConclusãoConclusão

29

• Todos os mecanismos de segurança do protocolo WEP estão comprometidos ;

• Não há como melhorá-los mantendo compatibilidade ;

• A segurança do 802.11 com WEP é falsa: ataques modernos em menos de 15 minutos ;

• Alternativas como o WPA[5] ;

• Uso de criptografia em outras camadas de comunicação.

Page 30: Segurança do Protocolo WEP

ReferênciasReferências• [1] http://en.wikipedia.org/wiki/RC4 , ultimo acesso em 1 de Agosto de 2005.

•[2] http://www.cs.ucsd.edu/users/mihir/cse107/index.html , último acesso em 1 de Agosto de 2005.

•[3] Adi Shamir , Scoot Fluhrer Itsik Mantin , Weaknesses in the key scheduling algorithm of RC4, escrito em 2001. •[4] Adam StubbleField, Joan Ionnadis e Avil de Rubin , Using the Fluhrer , Mantin and Shamir Attack to Break WEP. •[5] http://en.wikipedia.org/wiki/Wi-Fi_Protected_Access, último acesso em 1 de Agosto de 2005.

Page 31: Segurança do Protocolo WEP

PerguntasPerguntas

??