Você está na página 1de 80

NEGAÇÃO DE SERVIÇO EM REDES

802.11b/g/n ATRAVÉS DE QUADROS


DE ASSOCIAÇÃO E DE
DESAUTENTICAÇÃO

Trabalho de Conclusão de Curso

Engenharia de Telecomunicações

Henrique Luiz Holanda de Melo Junior


Orientador: Prof. Edison de Queiroz Albuquerque
Universidade de Pernambuco
Escola Politécnica de Pernambuco
Graduação em Engenharia de Telecomunicações

HENRIQUE LUIZ H. DE MELO JUNIOR

NEGAÇÃO DE SERVIÇO A REDES 802.1b/g/n


ATRAVÉS DE QUADROS DE ASSOCIAÇÃO E DE
DESAUTENTICAÇÃO

Monografia apresentada como requisito parcial para obtenção do diploma de


Bacharel em Engenharia de Telecomunicações pela Escola Politécnica de
Pernambuco – Universidade de Pernambuco.

Recife, junho de 2016.

2
3
De acordo

Recife

____/___________/_____

_____________________________________
Orientador da Monografia

(Na versão final esta página deve ser substituída pela folha de aprovação
digitalizada.)

4
“Alle ihre erinnerungen kommen auf einmal.
Alle ihre erinnerungen und alle ihre aengste”.
Dr. Kreutz - Taken - Episódio 3: High Hopes

5
Agradecimentos
Os agradecimentos constituem o elemento pelo qual o autor agradece a todos
que colaboraram com seu trabalho e é opcional.

6
Resumo
O resumo é uma apresentação do trabalho na língua original em que o
mesmo foi escrito, redigido de forma objetiva e com destaque dos principais
elementos do conteúdo pesquisado. Na confecção do resumo devem ser
observados os seguintes aspectos:

● Ressaltar os objetivos, os métodos, os resultados e as conclusões do


trabalho;

● Deve ser escrito em um único parágrafo

● Utilizar, no máximo, 250 palavras no texto do resumo.

7
Abstract
O abstract é igual ao resumo na língua vernácula, com a diferença de que
vem escrito em uma língua estrangeira. Usualmente, é feito em inglês, mas também
pode ser em espanhol ou francês. Para o modelo aqui descrito, será adotada a
língua inglesa.

8
Sumário

Colocar aqui sumário de itens, automático pelo editor de texto.

9
Índice de Figuras
Figura 1. Legenda 8

10
Índice de Tabelas
Tabela 1. Exemplo de Tabela 9

11
Tabela de Símbolos e Siglas
(Dispostos em ordem alfabética)

IEEE

WEP

WECA (Wireless Ethernet Compatibility Alliance)

DCF

PCF

12
Capítulo 1 - Introdução

Capítulo 1
Introdução
Em 19901, o IEEE designou um grupo de trabalho responsável pelo
desenvolvimento do padrão 802.11 com o objetivo de permitir a comunicação de
computadores através de uma rede sem fio (wireless).

Após anos de estudo, em 1997 é lançada2 uma versão inicial, com taxas de
transmissão de 1Mbps a 2 Mbps. O padrão surge com um protocolo de criptografia
WEP, que protege apenas os frames de dados, enquanto os frames de
gerenciamento e controle não apresentam qualquer mecanismo de proteção.

Apenas em 2009 o IEEE lança o padrão 802.11w, capaz de proteger os


frames de gerenciamento. Mas, em 2015, ainda é muito comum no mercado
brasileiro equipamentos sem suporte a este novo padrão o que expõe as redes sem
fio a ataques de negação de serviço através da injeção de quadros de
gerenciamento, que serão tratados neste trabalho.

1.1 Objetivo
Este trabalho tem o objetivo de demonstrar como quadros de gerenciamento
forjados podem ser utilizados para realizar um ataque de negação de serviço (Denial
of Service) a redes 802.11.

Serão utilizados os quadros de Desautenticação (Deauth) e os de Solicitação


de Associação (Association Request). Estes serão utilizados contra os Access
Points e aqueles contra os dispositivos móveis dos usuários.

1
http://www.devmedia.com.br/seguranca-em-redes-ieee-802-11-revista-infra-magazine-7/25680

2
http://ant.comm.ccu.edu.tw/course/92_WLAN/1_Papers/IEEE%20Std%20802.11-1997.pdf

Nome do autor 1
Capítulo 1 - Introdução

1.2 Organização do Trabalho


Esta monografia está organizada em cinco capítulos.

No capítulo 1 é feita uma rápida introdução ao tema e são apresentados


objetivo e estrutura do trabalho.

No capítulo 2 é apresentada uma visão geral sobre o padrão 802.11


focando-se nos processos de autenticação e de associação de estações móveis.

No capítulo 3 são abordadas noções de python, scapy, wireshark e linux que


são as ferramentas utilizadas para realizar o objetivo do trabalho.

No capitulo 4 são utilizadas as ferramentas do capítulo 3 para forjar quadros


de gerenciamento e injetá-los na rede sem fio. No final desse capítulo os scripts são
criados e executados.

No capitulo 5 analisa-se o comportamento das estações e de algumas marcas


de access points quando submetidos aos ataques de negação de serviço descritos
neste trabalho.

No capítulo 6, são apresentadas as conclusões onde são expostos os ganhos


ao conhecimento proporcionados por esta monografia e as considerações finais
onde são feitas propostas para trabalhos futuros.

Nome do autor 2
Capítulo 3 –Conclusões e Trabalhos Futuros

Capítulo 2
Serviços de Desautenticação e de
Associação em uma rede 802.11

2.1 Arquitetura de uma rede 802.11

Uma rede 802.11 pode ser basicamente composta por um ponto de acesso ou
access point (AP) e por estações. Quando não há access point, diz-se que a
arquitetura da rede sem fio é do tipo ad hoc ou IBSS (independent BSS). Havendo
um AP, tem-se uma rede infraestruturada. Nestre trabalho serão consideradas
apenas as redes infraestruturadas.

A área de cobertura de um sinal de um AP é chamada de célula. O conjunto


formado pelo AP e as estações conectadas a ele em um célula é chamado de BSS
(Basic Service Set). O endereço MAC do AP é chamado de BSSID (BSS Identifier) e
pode ser usado para identificar em qual BSS uma estação está conectada.

Normalmente os pontos de acessos estão conectados aos switches ethernet e


podem ser gerenciados por um controlador ou operar em modo stand alone. O
conjunto dos vários APs interligados por um Sistema de Distribuição (switches
ethernet) é chamado de ESS (Extended Service Set). Um ESS pode ser facilmente
identificado pelos usuários de uma rede sem fio através do SSID (Service Set
Identifier) que é uma sequência de até 32 caracteres ASCII.

Na Figura xy, são exibidos muitos destes conecitos apresentados nos três
últimos parágrafos.

Nome do autor 3
Capítulo 3 –Conclusões e Trabalhos Futuros

2.2 Serviços

De acordo com Tanenbaum (2003, pag. 321), o padrão 802.11 estabelece


que cada rede sem fio deve fornecer nove tipos de serviços divididos em duas
categorias: cinco serviços de distribuição e quatro serviços da estação.

Os serviços de distribuição são fornecidos pelos pontos de acesso e lidam


com a mobilidade das estações à medida que elas entram e saem das células,
conectando–se e desconectando–se dos pontos de acesso. São eles:

● Associação: verifica os recursos de uma estação antes de conecta-la ao AP;

● Desassociação: usado por uma estação quando ela vai se desligar ou sair do
AP;

● Reassociação: utilizado para mudar de ponto de acesso;

● Distribuição: determina como rotear quadros enviados ao ponto de acesso;

● Integração: cuida da conversão do formato 802.11 para o formato exigido pela


rede destino.

Nome do autor 4
Capítulo 3 –Conclusões e Trabalhos Futuros

Dentre os serviços de distribuição, apenas o de associação será abordado


neste trabalho.

Nome do autor 5
Capítulo 3 –Conclusões e Trabalhos Futuros

Os quatro serviços de estação são serviços intracélula (ou intracelulares, isto


é, se relacionam a ações dentro de uma única célula). São eles:

● Autenticação: a identidade de uma estação é testada (pelo próprio AP ou


servidor RADIUS) e se passar nos testes, a estação passará para a fase de
associação.

● Desautenticação: semelhante a Desassociação. Desconecta uma estação de


uma célula exigindo que a mesma seja submetida a um novo processo de
autenticação.

● Privacidade: este serviço administra a criptografia dos quadros de dados, para


que as informações enviadas pela rede sem fio se mantenham confidenciais;

● Entrega de Dados: transmissão efetiva de dados, modelada com base no padrão


Ethernet.

2.3 Desautenticação em uma rede 802.11

Como foi visto na seção 2.2, no serviço de desautenticação a estação é


desconectada da BSS e para que ela volte a se conectar nesta BSS, deve passar
por um novo processo de autenticação.

Para se desautenticar, uma estação envia para o AP um quadro de


gerenciamento do tipo desautenticação, assim como o AP também pode enviar para
a estação um quadro de desautenticação. O quadro de desautenticação tem o
formato exibido na figura xy:

Nome do autor 6
Capítulo 3 –Conclusões e Trabalhos Futuros

Os 2 Bytes mais significativos do quadro (ou Frame) formam um campo


chamado Frame Control. Esse campo contém um subcampo de 2 bits indicando a
versão do protocolo (até o padrão 802.11n o valor deste campo é 00), outro
subcampo de 2 bits indicando o tipo do quadro (00 = gerenciamento, 01 = controle,
10 = dados e 11 = reservado), um subcampo de 4 bits indicando o subtipo (dentre os
três conjuntos de quadros - gerenciamento, controle, dados - espefica qual o
elemento selecionado do conjunto e sua determinada função) e por fim, um
conjunto de 8 flags de informações relacionadas com a transmissão do quadro.
Estes flags são melhor detalhados a seguir:

⮚ To DS (vai para o sistema distribuição) e From DS (oriundo do sistema de

distribuição): Indica se o quadro está indo para o DS ou se é oriundo do DS. Esses


campos somente são realmente importantes em quadros do tipo dados de estações
associados ao AP.

⮚ More Fragments (mais fragmentos): indica se mais fragmentos do quadro

(dado ou gerenciamento) estão vindo.

⮚ Retry (retransmissão): indica se a informação (dado ou gerenciamento) está

ou não sendo retransmitida.

Nome do autor 7
Capítulo 3 –Conclusões e Trabalhos Futuros

⮚ Power Management (Gerencimento de Energia): indica se a estação que

transmitiu a informação está em modo ativo (active mode) ou em modo economia


de energia (power save mode).

⮚ More Data (mais dados): indica para uma estação operando em

power-save-mode que o AP tem mais quadros para enviar. Isso é também usado por
AP’s para indicar que quadros de broadcast/multicast adicionais estarão sendo
enviados.

⮚ Protected Flag (W): indica se o quadro foi criptogrado ou não. Até o 802.11n,

apenas os quadros de dados podem ser criptografados com WEP, WPA ou WPA2.

⮚ Order (ordem): indica se todos os quadros de dados recebidos devem ser

processados em ordem.

Após o campo Frame Control, há o campo Duration que tem um tamanho de 2


Bytes. Este campo é usado para indicar por quanto tempo uma estação pretende
ocupar o meio. O bit menos significativo deste campo é setado em zero e os outros
15 bits são usados para especificar o tempo de duração da transmissão em
microssegundos. Assim, este tempo pode ser de 0 até 32767 (215-1)
microssegundos.

Os campos DA (endereço de destino), SA (endereço de origem) e BSSID


(identificador da BSS) possuem um comprimento de 6 Bytes cada e contém o
endereço físico (endereço MAC) da estação de destino, da de origem e do Access
Point de uma BSS, respectivamente. O endereço físico é uma sequência de 48 bits
ou 6 algarismos hexadecimais. Os três Bytes mais significativos identificam o
fabricante e os demais Bytes, identificam o circuito da placa ou interface de rede.
Teoricamente, este endereço deve ser único, não podendo haver interfaces de rede
com o mesmo endereço físico em todo mundo.

O campo Sequence Control é utilizado para evitar a repetição de quadros ou


fragmentos de um quadro. A fragmentação é um processo em que o conteúdo de
um quadro é dividido em quadros menores, ou fragmentos. Isso facilita na hora da

Nome do autor 8
Capítulo 3 –Conclusões e Trabalhos Futuros

retransmissão de quadros com erros, pois apenas pequenos quadros corrompidos


são retransmitidos. Este campo possui um tamanho de 2 Bytes. Os 12 bits mais
significativos são um subcampo chamado Sequence Number. Quando não há
fragmentação de um quadro, o valor deste campo é incrementado até atingir 4095
(212-1) e então retorna para o valor zero novamente. Quando há fragmentação, o
valor do Sequence Number não se altera, indicando que os quadros que possuem o
mesmo valor de Sequence Number são fragmentos de um quadro. Para diferenciar
os fragmentos uns dos outros, existe um subcampo de 4 bits chamado Fragment
Number.

O penúltimo campo de um quadro é o Frame Body que no caso de um quadro


de desautenticação, contém um subcampo de 2 Bytes chamado de Reason Code
com um código que indica o motivo da desautenticação. De acordo com a tabela
8-36 da norma3 IEEE 802.11™-2012, há 66 motivos diferentes para ocorrer uma
desautenticação.

O último campo é o FCS (Frame Check Sequence), que possui 4 Bytes de


comprimento e armazena uma sequência resultante do cálculo do algoritmo CRC-32
(Cyclic Redundancy Check). O transmissor calcula o CRC-32 baseado-se nos
campos anteriores e envia o quadro com o campo FCS para o receptor. Este, por
sua vez, também calcula o CRC-32 e se o valor não for igual ao valor do FCS
contido no quadro, presume que houve erro e o quadro é descartado.

2.4 Auntenticação e Associação em uma rede 802.11

O processo para se conectar a uma rede sem fio passa por duas etapas: a
autenticação e a associação. Assim, é possivel encontrar três tipos de estações:

● Não autenticadas e não associadas;

● Autenticadas e não associadas;

● Autenticadas e associadas.
3
http://standards.ieee.org/getieee802/download/802.11-2012.pdf

Nome do autor 9
Capítulo 3 –Conclusões e Trabalhos Futuros

Nome do autor 10
Capítulo 3 –Conclusões e Trabalhos Futuros

2.4.1 Procedimento de sondagem ou scanning

Antes de ocorrer a autenticação e associação, uma estação realiza um


procedimento chamado de scanning. Basicamente, existem dois tipos de scanning: o
passivo e o scanning ativo.

No scanning passivo a estação recebe as informações do Access Point,


através de um tipo de quadro chamado Beacon, que nas traduções para o português
é chamado de quadro de baliza. Este quadro contém uma série de parâmetros que
são necessários para uma conexão com o Access Point, que serão detalhados ainda
nesta seção.

No scanning ativo a estação realiza uma sondagem enviando um pacote


chamado probe request para todos os Access Points, procurando por aquele que
oferece a SSID que a estação deseja se conectar. Nesta requisição, a estação
também informa qual as taxas que ela suporta. O Access Point responde a
solicitação probe request com um pacote chamado probe response, que é
praticamente idêntico ao quadro Beacon.

É interessante mostrar as informações de um quadro Beacon, pois serão


muito importantes para o ataque de inundação de quadros Association Request.

Nome do autor 11
Capítulo 3 –Conclusões e Trabalhos Futuros

2.4.2 O quadro de baliza ou quadro Beacon4

O formato do quadro Beacon é o mesmo de um quadro de desautenticação


abordado na seção 2.3. A diferença está no campo Frame Body, que pode ser visto
na figura xy5.

No Frame Body, os subcampos que possuem o comprimento fixo são


chamados de parâmetros fixos (Fixed Parameters).

Os subcampos que possuem comprimento variável, pois podem ser diferentes


para cada BSS, são chamados de parâmetros “tagueados6” (Tagged Parameters) ou
elementos de informação (information elements).

4
http://mrncciew.com/2014/10/08/802-11-mgmt-beacon-frame/

5
Adaptado de: https://mrncciew.files.wordpress.com/2014/10/cwap-mgmt-beacon-01.png

6
Em uma linguagem mais formal seria: parâmetros etiquetados. No jargão de técnicos no Brasil é
muito comum aportuguesar as palavras do inglês. Exemplo: “crimpar”, “resetar”, “becapear”, etc.

Nome do autor 12
Capítulo 3 –Conclusões e Trabalhos Futuros

Segundo Gast (2005)7, cada elemento de informação recebe uma tag com a
numeração que identifica o elemento (Tag Number ou Element ID) e o comprimento
do elemento em Bytes (Tag length). É possível saber a identificação de cada
elemento consultando a tabela 8-54 da norma IEEE 802.11™-2012 8.

Dentre os parâmetros fixos e os elementos de informação, serão abordados


apenas aqueles necessários no ataque de inundação de Association Request quais
sejam:

● Capability Information: é um campo de 16 bits que contém flags que indicam se


na BSS há Access Point ou é ad hoc; se o AP suporta algum tipo de criptografia
para os quadros de dados; se na camada física o preâmbulo utilado é longo ou
curto; se no caso do AP estiver utilizando 802.11b ele suporta a técnica de
transmissão por códigos convolucionais chamada de PBCC (Packet Binary
Convolutional Code); se a transmição é feita utilizando DSSS ou OFDM.

● SSID: contém o (Service Set Identifier) que identifica a ESS.

● Supported Rates: indica quais as taxas básicas de transmissão suportadas pelo


AP. São especificadas neste campo apenas as taxas dos padrões 802.11b
(1Mbps, 2Mbps, 5,5Mbps e 11Mbps) e as taxas do padrão 802.11a (9Mbps,
18Mbps, 36Mbps e 54Mbps). Cada uma dessas taxas é representada por um
Byte cujo bit mais significativo (MSB) indica se a taxa é suportada pelo padrão
802.11b (MSB=1) ou pelo padrão 802.11a (MSB=0). Os 7 outros bits
representam um número em decimal que será multiplicado por 500kbps para
indicar o valor da taxa. Exemplo: Se o Byte for igual a 100000010, o MSB=1,
então essa taxa é suportada pelo 802.11b e 0000010 é igual a 2 em decimal,
logo 2×500kbps = 1Mbps que é o valor da taxa de transmissão suportada.

7
Gast, Matthew. 802.11 Wireless Networks: The Definitive Guide. Segunda Edição, 2005. Ed. O'Reilly.
Página 84.

8
http://standards.ieee.org/getieee802/download/802.11-2012.pdf

Nome do autor 13
Capítulo 3 –Conclusões e Trabalhos Futuros

● RSN information: indica qual tipo de criptografia é utilizado (WEP-40, WEP-104,


TKIP, AES) e qual o tipo de autenticação a RSN (Robust Secure Network) utiliza
após a associação da estação a BSS (PSK ou 802.1X). Indica qual os protocolos
são utilizados para criptograr os quadros unicast (Pairwise Cipher Suite List) e os
quadros broadcast (Group Cipher Suite List). Estes protocolos são identificados
pelos os seguintes códigos em hexadecimal: 00-0F-AC-04 (AES), 00-0F-AC-02
(TKIP), 00-0F-AC-01 (WEP-40), 00-0F-AC-05 (WEP-104). Já a forma de
autenticação da RSN é identificada pelos seguintes códigos: 00-0F-AC-01 indica
que o 802.1X (EAP) é utilizado, onde a autenticação é feita por um servidor
RADIUS (em que cada usuário loga com o seu próprio login e senha) e
00-0F-AC-02 indica que a chave PSK9 (em que a autenticação é feita pelo AP) é
compartilhada entre os usuários.

● HT Capabilities: contém todas informações requeridas pelo protocolo 802.11n


(High Throughput - HT). O subcampo HT Capabilities info possui 2 Bytes e indica
se na camada física é utilizado LDPC (Low Density Parity Check), se a largura
de banda do canal é 20MHz ou 40MHz (nesse caso, se suporta ou não
transmissão em DSSS/CCK), se o intervalo de guarda entre os símbolos é curto
(400ns) ou não (800ns) entre outros parâmetros relacionados com as técnicas
de transmissão do sinal. O subcampo A-MPDU Parameters contém apenas 1
Byte e está relacionado com a agregação de vários quadros em um único
quadro (cujo tamanho máximo é informado no Maximum A-MPDU Length - 00
representa 8191 Bytes, 01 representa 16383 Bytes, 10 representa 32767 Bytes
e 11 representa 65535 Bytes), uma novidade que surgiu a partir do padrão
802.11n. O tempo mínimo necessário para o receptor processar um quadro com
agregação é informado no subcampo minimum MPDU start spacing. O
subcampo Rx Modulation and Coding Scheme é utilizado para informar as taxas
de transmissão, a modulação e a codificação que uma estação utiliza para se
comunicar. O subcampo HT Extended Capabilities indica se o AP suporta PCO
(Phased Coexistence Operation - onde o AP permite através de quadros CTS
que em um instante estações em 20MHz transmitam, e no outro instante

9
Esta senha é única e conhecida por todos os usuários que se conectam ao AP.

Nome do autor 14
Capítulo 3 –Conclusões e Trabalhos Futuros

estações em 40 MHz transmitam). O subcampo MCS Feedback indica se o


receptor possui suporte a este tipo de mecanismo no qual uma estação informa
a outra sobre a qualidade do canal. Assim, o transmissor pode alterar a
modulação a fim de se obter uma boa taxa de transmissão com a menor taxa de
erros possível. O subcampo +HTC Support indica se uma estação suporta que
no quadro 802.11 contenha o subcampo HT Control. O subcampo Rerverse
Direction Responder indica se uma estação suporta este protocolo utilizado para
dados que necessitam de uma confirmação imediata da transmissão realizada.
O subcampo Transmit BeamForming indica se o transmissor pode utilizar a
técnica de BeamForming em que o diagrama de radiação das antenas é
produzido eletronicamente para apontar apenas para as regiões onde estão
localizadas as estações10. Finalmente o subcampo Antenna Selection (ASEL)
contém os parâmetros de um protocolo que seleciona a melhor antena para
utilizar na comunicação de uma estação com as outras.

Embora não faça parte do quadro Beacon ou de quaisquer outros quadros do


padrão 802.11, há um cabeçalho chamado de Radiotap que é gerado pelo driver da
placa de rede do receptor e é justaposto ao início do quadro. Este cabeçalho contém
algumas informações da camada física, tais como a intensidade do sinal recebido
(RSSI) em dBm, a frequência do canal que está sendo utilizado pela BSS, qual o
padrão que está sendo utilizado (a, b, g, ou n), se a comunicação sem fio oferece
suporte a OFDM ou CCK (veja apêndice para maiores informações), se o preâmbulo
da camada física é longo ou curto, o nível de ruído observado pelo receptor, entre
outros detalhes detectados pela placa de rede sem fio do receptor.

De acordo com Recacha (2011, p.25)11 o comprimento do cabeçalho do


Radiotap é variável e é função do fabricante escolher os campos que considera
oportunos. Na figura xy, são mostrados dois quadros e os seus respectivos
cabeçalhos Radiotap. É possível ver que o cabeçalho Radiotap de um Access Point
d’link DIR 505 com sistema operacional Openwrt Chaos Calmer 15.05, tem um
comprimento de 36 Bytes (que vai do Byte mais significativo cuja posição é zero, até
o 35º Byte mais significativo). O Radiotap de um notebook com sistema operacional
10
http://www.eletrica.ufpr.br/anais/sbrt/SBrT22/artigos/paper159.pdf

11
http://upcommons.upc.edu/bitstream/handle/2099.1/12744/Proyecto-jsr-20110712.pdf?sequence=1

Nome do autor 15
Capítulo 3 –Conclusões e Trabalhos Futuros

Ubuntu 14.04.4 LTS e placa de rede Qualcomm Atheros AR9485, tem um


comprimento de 26 Bytes (que vai do Byte mais significativo cuja posição é zero, até
o 25º Byte mais significativo).

Nome do autor 16
Capítulo 3 –Conclusões e Trabalhos Futuros

Esta informação do comprimento do cabeçalho Radiotap é imprescidível para


realizar a leitura das informações do Beacon Frame, pois será necessário saber em
quais Bytes estão contidas as informações de cada campo do quadro. Por exemplo:
a informação do tipo do quadro está contida no Byte logo após o cabeçalho
Radiotap. Como o comprimento deste cabeçalho pode variar de acordo com o
fabricante, a informação do tipo do quadro pode estar por exemplo no 27º Byte mais
significativo em um fabricante (Qualcomm Atheros AR9485) ou no 37º Byte mais
significativo em outro fabricante (d’link DIR 505).

Nome do autor 17
Capítulo 3 –Conclusões e Trabalhos Futuros

2.4.3 Procedimento de Autenticação

No inicio do padrão 802.11 existiam basicamente duas formas de


autenticação: Autenticação através de Sistema Aberto (Open System Authentication)
e Auntenticação através de Chaves Compartilhadas (Shared Key Authentication).

Na Autenticação através de Sistema Aberto a estação envia um pacote para o


AP chamado de Authentication. O AP responde a estação com um outro pacote
Authentication. Assim, a estação está autenticada.

A Autenticação através de Sistema Aberto é largamente utilizada em redes


que utilizam WPA ou WPA2. Nesses casos, a estação apesar de autenticada e
mesmo depois de associada, só acessará a rede se passar por um outro processo
chamado: Autenticação através de 802.1X (802.1X Authentication). O padrão
802.1X, também utilizado em redes cabeadas, utiliza um protocolo chamado EAP
(Protocolo Extensivo de Autenticação) e os seus quadros são considerados quadros
de dados pelo protocolo 802.11. Como uma estação só pode transmitir e receber
quadros de dados se estiver autenticada e associada12, a Autenticação através de
Sistema Aberto é utilizada como um primeiro passo para a Autenticação através de
802.1X.

A Auntenticação através de Chaves Compartilhadas era utilizada em redes


com criptografia WEP. Nesse tipo de autenticação, a estação envia para o AP um
quadro Authentication a fim de iniciar o processo de autenticação. O AP responde
para a estação com um desafio que consiste em um texto não criptografado. A
estação utiliza a chave da criptografia WEP e envia o texto criptografado para o AP.
Este por sua usa a chave da criptografia WEP para descriptografar o texto enviado
pela estação: se for o mesmo texto enviado inicialmente no desafio, significa que a
estação conhece a chave WEP e a estação é autenticada.

Devido a várias vulnerabilidades encontradas na criptografia WEP, este tipo


de autenticação foi abandonado pelos atuais administradores de rede.

12
De Souza, Karoline; Perrone Muniz da Silva, Rafael. Segurança em Redes Wireless.

<http://www.teleco.com.br/tutoriais/tutorialsrwireless/pagina_3.asp>

Nome do autor 18
Capítulo 3 –Conclusões e Trabalhos Futuros

É importante destacar ainda nesse processo de autenticação uma


configuração chamada de filtro de MAC (MAC Filtering). Nesta configuração o AP
contém uma lista de endereços MAC das estações cadastradas que poderão ser
autenticadas e associadas. Quando uma estação envia um quadro Authentication
para o AP, este por sua vez, verifica na lista de endereços MAC cadastrados se o
MAC daquela estação está cadastrado. Se estiver, o AP autentica a estação e ela
passa para a fase de associação. Caso não esteja cadastrado, o AP responde com
um quadro Authentication, com um campo Status Code igual a 0x0001 que indica
que houve uma falha por motivo inesperado e a estação não é autenticada.

2.4.4 Procedimento de Associação

Para se associar a uma BSS, uma estação depois de autenticada, envia para
o AP um quadro chamado Association Request. Neste quadro a estação informa ao
AP a SSID a qual deseja se conectar, quais as taxas de transmissão suportadas
pela estação, informações sobre os protocolos da RSN supotados pela estação e no
caso de a estação oferecer suporte ao 802.11n, ela envia o campo HT Capabilities.
Todos estes parâmetros foram vistos na seção 2.4.2 e também estão contidos no
quadro Beacon. O único parâmetro contido na Association Request que ainda não
foi abordado é o Listen Interval, que basicamente informa ao AP quantos quadros
Beacon a estação receberá antes de sair do modo de economia de energia (power
saving mode). Durante este tempo em que a estação não recebe quadros de dados
e nem transmite, o AP que será resposável por armazenar os quadros de dados da
estação em um buffer. Se a estação ficar um longo período no modo de economia
de energia, o AP não poderá mais armazenar os dados para aquela estação que
seriam descartados. Para evitar esta situação, no momento da associação, se a
estação informar um Listen Interval que comprometa o buffer do AP, este recusará a
associação desta estação na BSS. Quando o valor do Listen Interval for igual a
0x00, significa que a estação nunca entrará em modo de economia de energia.

O Access Point ao receber um quadro Association Request, verifica se os


parâmetros informados pela estação são compatíveis com os parâmetros do AP. Se
não forem compatíveis a estação receberá um quadro Association Response com o
Nome do autor 19
Capítulo 3 –Conclusões e Trabalhos Futuros

status code igual a 0x01 indicando que houve falha na associação. Caso os
parâmetros da estação forem compatíveis, o AP envia um quadro Association
Response com o status code igual a 0x00, aceitando a estação na BSS.

O quadro Association Response contém um campo chamado Association


Identifier (AID) que contém a identificação de uma estação na BSS. Este campo
possui 2 Bytes, mas apenas os 14 bits menos significativos são utilizados para
identificar as estações. Os outros dois bits são fixados com um valor igual a 1. Os
valores do AID em decimal vão de 1 até 2007. Assim, em teoria, cada AP poderia ter
até 2007 estações associadas, mas na prática o número de estações associadas é
bem abaixo de 2007.

Nome do autor 20
Capítulo 3 –Conclusões e Trabalhos Futuros

Capítulo 3
Metodologia dos ataques de
negação de serviço através de
quadros de Desautentição e de
Associação

Os ataques de negação de serviço abordados nesse projeto, foram realizados


a partir de scripts em Python, versão 2.7.6.

Foi utilizada uma biblioteca chamada scapy, versão 2.2.0, para forjar os
quadros de gerenciamento.

A base para o desenvolvimento dos scripts se encontra no capítulo 4 de Mohit


(2015) e no capítluo 8 de Ballmann (2015).

A linguagem de programação Python foi escolhida por se tratar de uma


linguagem simples para os iniciantes e ao mesmo tempo rica em vários tutoriais
encontrados em blogs e foruns na internet.

Os scripts foram executados em um notebook e um access point, com as


seguintes características:

● Notebook Acer Aspire 4349 (HuronRiver_CRB) com 6 GB de RAM, Intel(R)


Celeron(R) CPU B815 @ 1.60GHz, placa de rede sem fio Qualcomm Atheros
AR9485 com driver ath9k versão 3.13.0-83-generic, com sistema operacional
Ubuntu 14.04.4 LTS.
● Repetidor D-Link DIR-505, com sistema Operacional Openwrt Chaos Calmer
15.05.
Nome do autor 21
Capítulo 3 –Conclusões e Trabalhos Futuros

A memória flash do DLINK DIR 505 não tem capacidade suficiente para
instalação do Python e do scapy. Assim, é necessário a utilização de uma memória
flash externa, montada automaticamente através do fstab no linux. O procedimento
para instalar o openwrt, da instalação do Python, do scapy e a montagem da
memória flash externa está descrito no apêndice.
Para realizar os ataques a partir do notebook Acer é necessário instalar a
biblioteca scapy e um pacote de ferramentas chamado Aircrack-ng, pois será
necessário o comando “airmon-ng check kill” para eliminar todos os processos que
estão utilizando a interface wlan1 do notebook, o que é imprescindível para que se
possa mudar o canal de operação dessa interface.
3.1 Inundação de quadros de desautenticação
Neste ataque, o repetidor D-Link DIR-505, com Openwrt Chaos Calmer 15.05,
é configurado com a interface wlan0 em modo monitor. Assim, é possível capturar
quadros de dados, controle e gerenciamento.
Como foi visto na seção 2.4.2, o comprimento do cabeçalho Radiotap de um
D-Link DIR-505 é de 36 Bytes. O 37º Byte mais significativo contém o inicio do
quadro 802.11 com as informações da versão do protocolo, o tipo e o subtipo do
quadro, conforme visto no inicio da seção 2.3. A versão do protocolo é 00 (em
binário); quando o quadro é do tipo gerenciamento o valor do subcampo tipo é 00 e
um quadro do tipo Beacon apresenta o valor do subtipo igual a 1000 que igual a 8
em hexadecimal. Então, o valor do primeiro Byte de um quadro Beacon é igual a
0x08 em hexadecimal. Entretanto, o valor armazenado na memória do receptor dos
quadros Beacon (DLINK DIR-505), está no formato little endian e portanto o valor do
subcampo tipo/subtipo será igual a 0x80.
Todos os quadros que possuem o 37º Byte mais significativo com um valor
igual a 0x80 são quadros tipo Beacon e deles será extraída a informação da BSSID
que emitiu este tipo de quadro. Então, uma lista de BSSIDs é criada e pacotes de
desautenticação serão enviados para todas as estações (FF:FF:FF:FF:FF:FF) de
cada uma dessas BSSID.
O processo de desautenticação foi abordado na seção 2.3. A fim de camuflar
o ataque o Reason Code utilizado no corpo do quadro de desautenticação foi o
código 0x02 que significa: “a autenticação anterior não é mais válida”. Este código

Nome do autor 22
Capítulo 3 –Conclusões e Trabalhos Futuros

aparece geralmente quando há um problema de configuração do Access Point ou


um problema de firmware deste equipamento.
A varredura em busca de quadros Beacon é feita nos canais 1, 6 e 11. Um
quadro Beacon transmitido no canal 4 pode ser detectado tanto no canal 1, quanto
no canal 6, pois os únicos canais que não interferem entre si são: 1, 6 e 11.
Entretanto, para tornar o ataque de desautenticação mais eficiente, uma lista de
canais é criada com os canais de cada BSSID e os pacotes são enviados no canal
de cada uma das BSSID.
Na figura xy há uma ilustração do ataque e nos apêndices é possível
encontrar o código em Python que é executado em um DLINK DIR-500 com sistema
operacional Openwrt para realizar este ataque.

Nome do autor 23
Capítulo 3 –Conclusões e Trabalhos Futuros

3.2 Inundação de requisições de Associação


Neste ataque, o atacante utiliza um notebook para capturar um quadro
Beacon de algum Access Point nas vizinhanças e assim extrai as informações
necessárias para forjar um quadro de Association Request, abordado na seção 2.4.
Antes de enviar quadros Association Request, o atacante envia para o DLINK
DIR-505 as informações do canal do Access Point alvo do ataque e a sua BSSID,
para que o DLINK DIR-505 também ataque o Access Point da vítima em conjunto
com o notebook do atacante. Quanto mais equipamentos de rede sem fio atacarem
o Access Point da vítima com quadros Association Request forjados, mais
rapidamente preencherá a tabela de estações associadas ao Ponto de Acesso que
pode ter no máximo 2007 estações identificadas pelo Association Identifier (AID).
Assim, nenhuma nova associação poderá ser estabelecida com o AP enquanto esta
tabela estiver lotada.
Há basicamente três campos que podem estar presentes ou não no quadro
Beacon e que são importantes na hora de forjar os quadros de requisição de
associação. Quais sejam:

● HT Capabilities, presente em Beacon de Access Point que suporta 802.11n;


● RSN information, observado em Beacon onde a BSS oferece suporte a WPA ou
WPA-2;
● Extended Supported Rates, aparece em Beacon proveniente de redes sem fio
que suportam 802.11g.

Se nenhum desses campos aparece no Beacon, significa que a rede sem fio
está operando em 802.11b com criptografia WEP ou sem criptografia nos quadros de
dados. O código do ataque de inundação de requisições de Associação (ver
apêndice) possue partes específicas para verificar se estes campos estão ou não
presentes no Beacon e a partir daí, escolhe qual deve ser o formato do quadro de
requisição de associação que será forjado.
O script em Python no DLINK DIR-505 deve ser executado antes do script do
notebook do atacante a fim de que o DLINK DIR-505 consiga receber o quadro RTS
do notebook Acer, onde há a informação do BSSID da vítima e o canal que ela está
operando.

Nome do autor 24
Capítulo 3 –Conclusões e Trabalhos Futuros

Na figura xy é possível ver uma ilustração do ataque de inundação de


requisições.

3.3 Inundações de quadros de desautenticação e de requisição de associação


Neste ataque, o notebook Acer inicialmente envia ao DLINK DIR-505 o
endereço MAC e o canal da BSS que será atacada. Então o DLINK DIR-505 inicia
um ataque de inundação de quadros de desautenticação para as estações
conectadas ao Access Point. Este por sua vez é atacado com uma inundação de
requisições de associação realizado pelo notebook Acer.
O resultado do ataque é que nenhuma estação consegue se conectar ao
Access Point. Mesmo cessando a inundação de quadros de desautenticação, as
estações não conseguem se conectar ao AP por causa do ataque de inundação de
requisições de associação.
No apêndice é possível encontrar os códigos necessários para este ataque.
Ele é ilustrado na figura xy.

Nome do autor 25
Capítulo 3 –Conclusões e Trabalhos Futuros

Nome do autor 26
Capítulo 3 –Conclusões e Trabalhos Futuros

Nome do autor 27
Capítulo 3 –Conclusões e Trabalhos Futuros

Nome do autor 28
Capítulo 3 –Conclusões e Trabalhos Futuros

Capítulo 3
Conclusão e Trabalhos Futuros
Ssdsf dfd f dfd fdf dfd fdf df df d fd d d d fd d fddffgffgfgff gf h ghghg h gh gh g
hg g hg gh ghg hg g hgh.

Neste ponto deve vir o texto do capítulo.

3.1 Título de Seção


Este é o texto da seção

aaaaaaaaaaaaaaaa

3.1.1 Título da subseção


Este é o texto da sub-seção. É bom estilo manter este nível como o último
numerado. Qualquer nível abaixo não deve receber numeração [5]

Nome do autor 29
Bibliografia

Bibliografia
(Ordenação aqui deve ser alfabética pelo sobrenome do primeiro autor)

1. ABRANSOM, N. Information Theory and Coding. McGraw-Hill Book


Company, 1963. 300 p.

2. ALEKSANDER, I. e MORTON, H. An Introduction to Neural Computing.


International Thomson Computer Press, 1995. 490 p.

3. BAIRD, H.S. Document Image Defect Models. Structured Document Image


Analysis, vol. 2, n. 3, p. 546-556, 1992.

4. UNIVERSIDADE DE SÃO PAULO. Instituto Astronômico e Geográfico.


Anuário Astronômico, São Paulo, 1988. 279 p.

Evolução das comunicações

Nome do autor 30
Apêndice A

Apêndice A
Camada Física do 802.11
A camada física define as especificações necessárias para a transmissão e
recepção de bits, que são as menores unidades de informação.

Para transmitir esses bits através de ondas eletromagnéticas recorre-se a um


processo chamado de modulação.

Segundo Gomes13 (2007), modulação é um processo que consiste em se


alterar uma característica da onda portadora - amplitude, frequência ou fase –
proporcionalmente ao sinal modulante. Este, por sua vez, nas modulações digitais, é
a sequência de bits que se deseja transmitir.

Uma singela analogia ao processo de modulação é exibida na Figura 1, onde


se quer transmitir uma caixa (sinal modulante), mas o atrito não permite. Assim,
utiliza-se do sinal da portadora (a onda eletromagnética), representado por um
carrinho de carga e dentro dele colocamos o sinal modulante e então torna-se
possível transportá-lo através da superfície do piso (meio de transmissão). No
destino final (antena do receptor), retira-se o sinal modulante de dentro do carrinho
(a portadora) e ele é entregue para um despachante (circuito da placa de rede).

13
GOMES, Alcides Tadeu. Telecomunicações: transmissão e recepção de AM-FM-sistemas pulsados.
São Paulo: Érica 21a ed., 2007, pag. 16

Nome do autor 31
Apêndice A

1. Analogia ao processo de modulação

As várias formas de ondas que se pode obter variando cada característica


do sinal da onda portadora são chamados de símbolos. Cada símbolo representa
um conjunto de bits. O conjunto de símbolos é chamado de constelação e cada tipo
de modulação gera uma constelação de símbolos diferentes.

Nome do autor 32
Apêndice A

2.1.1 Tipos de modulações digitais utilizados no 802.11


Na Figura 2 são mostradas as modulações digitais utilizadas desde a
primeira versão do 802.11 até o padrão 802.11n.

2. Tipos de modulações14 utilizadas no 802.11

2.1.1.1 Modulação BPSK


Nesse tipo de modulação, cada bit é associado a um determinado valor da fase.
Por exemplo: o bit 1 é representado pela fase 0º e o bit 0 pela fase 180º.Na Figura 3
pode-se ver a evolução temporal de um sinal BPSK.

14
http://sharkfest.wireshark.org/sharkfest.09/BU5_Leutert_Analyzing%20WLANs%20with%20Wireshar
k%20&%20AirPcap.pdf

Nome do autor 33
Apêndice A

3. Evolução temporal do BPSK

2.1.1.2 Modulação QPSK


Nesta modulação, um conjunto de dois bits (dibit) é associado a uma fase.
Utiliza-se o código Gray para codificar os sucessivos dibits da seguinte forma:

● 00 é representado com fase 45º;

● 01 é representado com fase 135º

● 11 é representado com fase 225º

● 10 é representado com fase 315º

Dessa forma, os símbolos adjacentes diferem em um único bit. Se houver algum


erro na demodulação de um símbolo, acarretará no erro de apenas um bit, já que
as fronteiras de decisão de um símbolo estão localizadas entre os seus símbolos
vizinhos. Na figura 4 pode ser vista a representação de uma constelação dos
símbolos de uma modulação QPSK, através de um plano definido por dois eixos
em quadratura entre si: a abscissa denominada I (In phase) e a ordenada
demoninada Q (in Quadrature). Ainda na Figura 4, o quadrante amarelo representa
a região de descisão do símbolo 11.

Nome do autor 34
Apêndice A

4. Diagrama de constelação de uma modulação QPSK

Estes pontos da constelação QPSK coincidem com os fasores: (E)1/2.ej7π/4,


(E)1/2.ej5π/4, (E)1/2. ej3π/4 , (E)1/2.ejπ/4.

Assim, um símbolo pode ser representado pela parte real do sinal:

S(t) = Re[ ŝ.ej2πfct] ,

onde fc é a frequência da portadora e ŝ é o fasor = Amplitude.ej(fase).

Na Figura 5 pode-se ver a evolução temporal de um sinal modulado em


QPSK:

Nome do autor 35
Apêndice A

5. Evolução temporal de um sinal modulado em QPSK

2.1.1.3 Modulação DBPSK


Para o Diferencial PSK binário, o DBPSK (Differential Binary Phase Shift
Keying), a característica que será alterada é o deslocamento da fase. Por exemplo,
se o bit 1 for transmitido, então a fase do símbolo será igual a fase do símbolo
anterior (deslocamento da fase = 0º). Se o bit zero for transmitido, então adianta-se
a fase do sinal em 180º em relação a fase do símbolo anterior (deslocamento =
180º). Na Figura 3 é possível ver a evolução temporal de um sinal DBPSK.

6. Evolução temporal de um sinal modulado em DBPSK

Nome do autor 36
Apêndice A

2.1.1.4 Modulação DQPSK


Na modulação DQPSK (Differential Quadrature Phase-Shift Keying) a informação é
transmitida através do deslocamento de fase em relação ao símbolo antecessor, de
acordo com o conjunto de dois bits (“dibit”) que será transmitido, como pode ser visto
na Figura 4. Pode-se adiantar (+) a fase do sinal em 0º, 90º, 180º ou 270º.

7. Evolução temporal de um sinal modulado em DQPSK

2.1.1.5 Modulação QAM


Nesta forma de modulação QAM (Quadrature Amplitude Modulation), variam-se
duas características da onda portadora: a amplitude e a fase. Isto implica que mais
formas de ondas diferentes podem ser geradas para representar os símbolos.

Na Figura 8 é possível ver diagrama de constelação de um sinal modulado em


QAM e na Figura 9, vê-se a evolução temporal do QAM.

Nome do autor 37
Apêndice A

8. Constelação QAM

9. Evolução Temporal de um sinal modulado em QAM. Apenas 4 dos 8 símbolos


possíveis são mostrados nesta figura.

2.1.2 Rápido comparativo entre os tipos de modulações

Nome do autor 38
Apêndice A

As modulações com maiores constelações são aquelas que mais transmitem bits
por símbolo. Assim elas apresentam maiores taxas de transmissão. Elas também
apresentam maior eficiência espectral, que é um parâmetro que informa a taxa de
transmissão máxima, em bps, a qual pode ser transmitda para cada Hz de largura
de canal (bps/Hertz).

10. Comparativo de eficiência espectral entre algumas modulações15

Entretanto, quanto mais símbolos, menor a distância euclidiana entre os que são
adjacentes e portanto, maior será a probabilidade de ocorrer erros.

15
https://www.lume.ufrgs.br/bitstream/handle/10183/3582/000390127.pdf?sequence=1

Nome do autor 39
Apêndice A

Na Figura 11 é possível ver uma estimativa, para cada modulação, da taxa de


bits errados de acordo com a relação sinal-ruído por bit.

11. Estimativa de taxa de bits errados para diferentes modulações digitais.16

Além disso, a complexidade dos circuitos demoduladores é um fator importante no


emprego inicial de algumas modulações em detrimento de outras, como por
exemplo: as primeiras modulações em DBPSK e DQPSK. Segundo
Chitode(2007)17, as modulações que utilizam detecção diferencial podem evitar a
complexidade de circuitos para manter o sincronismo entre a portadora do
transmissor e a do receptor. Em contrapartida, a probabilidade de erros na detecção
diferencial é maior, pois como a demodulação de um símbolo depende do símbolo
anterior, se o primeiro símbolo foi demodulado com erro, o segundo também será
demodulado erroneamente.

16
http://www.linuxtv.org/wiki/images/f/fa/Est_BER_vs_EbN0.png

17
Digital Communication, Chitode, 2 edição, 2009 – Editora Technical Publications Pune, pag. 3-19

Nome do autor 40
Apêndice A

2.1.3 Espalhamento espectral


De acordo com o teorema 17 proposto por Shannon (1948)18 a capacidade
máxima de transmissão de um canal (C) é dada por:

Onde W é a largura de banda em Hz e S/N é a relação sinal-ruído. Desta


fórmula, percebe-se que a capacidade do canal é diretamente proporcional a largura
de banda de frequência e apresenta uma relação logarítmica para com a relação
sinal-ruído. Assim, o aumento da largura de banda permite comunicações cuja
relação sinal-ruído normalmente é abaixo de 0 dB.

Segundo Abrantes (2005)19 o objetivo do espalhamento espectral é fazer com


que o sinal a ser transmitido "se pareça com ruído para que passe despercebido a
um receptor indesejado". Esse espalhamento é feito no transmissor através de um
"código pseudoaleatório (também chamado código PN, de 'pseudo noise') que
possui uma largura de banda muito maior que a largura de banda da mensagem".
No receptor "é usado este mesmo código para 'desespalhar' o sinal, devolvendo-o a
sua forma original".

18
Shannon C. E. A Mathematical Theory of Communication. The Bell System Technical Journal,
Volume. 27, pags. 379–423, 623–656, Julho, Outubro, 1948.

19
http://paginas.fe.up.pt/~sam/CCD/apontamentos_SS/Introdu%E7%E3o.pdf

Nome do autor 41
Apêndice A

2.1.3.1 Espalhamento espectral por sequência direta através de código de


Barker

A primeira versão do 802.11 e o 802.11b e o 802.11g (apenas os frames de


controle) utilizam a técnica de espalhamento espectral por sequência direta. Esta
técnica também é utilizada em sistemas CDMA.

Na versão de 1997, o 802.11 alcançava taxas de transmissão entre 1Mbps e


2Mbps. O código PN utilizado para o espalhamento espectral era o código de Barker
(IEEE Std 802.11-2007, pag. 567), constituído por uma sequência de 11 chips:
10110111000. De acordo com Gast (2002, p. 254)20 não há diferença matemática
entre bit e chip. Entretanto adota-se a terminologia "chips" para a sequência de
zeros e uns do código PN e "bits" para a sequencia de zeros e uns da mensagem
(dados).

Realiza-se uma operação ou-exclusivo (XOR) entre um e a sequência de


Barker e obtém-se a sequência de chips que representa o bit 0 e outra que
representa o bit 1, como pode ser visto na Figura 12. O sinal resultante do
ou-excluivo será o sinal modulante de uma modulação DBPSK ou DQPSK. Quando
se utiliza DBPSK, transmite-se a uma taxa de 1 Mbps e com a modulação DQPSK,
tramite-se a 2 Mbps.

Das aulas de eletrônica digital, sabe-se que:

(X Y) Y=X (Y Y) = X 0=X

20
802.11 Wireless Networks: The Definitive Guide.

Nome do autor 42
Apêndice A

Partindo desse princípio, no receptor, após extrair o sinal modulante, este é


submetido novamente a uma operação ou-exclusivo (XOR) com a sequência do
código de Barker, obtendo-se assim os bits da mensagem transmitida.

Quando se utiliza modulação BPSK para transmitir

2.1.3.2 Espalhamento espectral por sequência direta através de códigos


complementares

No 802.11b utilizam-se sequências ou códigos polifásicos complementares


para realizar o espalhamento do sinal. Estas sequências complementares são
compostas por elementos que podem assumir os seguintes valores: -1, +1, -j e +j.

O espalhamento por códigos complementares utiliza a chamada modulação


CCK (Complementary Code Keying) cujo sinal modulante é composto por 8 bits (d7,
d6, d5, d4, d3, d2, d1, d0). Os 6 bits mais significativos (d7 até d2) são usados para
gerar o código de 8 chips: [e(φ4+φ3+φ2), e(φ4+φ3), e(φ4+φ2), e(φ4), e(φ3+φ2), e(φ3), e(φ2), 1]. Onde: φ4 é
função dos bits d7, d6; φ3 é função dos bits d5, d4; φ2 é função dos bits d3, d2. O
resultado de cada exponenciação de base "e", pertence ao conjunto {-1, +1, -j e +j}.
Com 6 bits é possível formar 64 sequências de chips distintos, em contraste com o
código de Barker que tem sempre a mesma sequência. Os últimos dois bits d1 e d0,
são usados para definir o ângulo φ1, que tem a capacidade de alterar a fase de cada
um dos 8 chips (o termo e(φ1) é multiplicado a cada um dos 8 chips), ou seja, ele é
capaz de rotacionar toda sequência de 8 chips. Esse processo é ilustrado na figura
abaixo.

Nome do autor 43
Apêndice A

https://www.okob.net/texts/mydocuments/80211physlayer/

Se o valor de um dibit (di+1, di) for igual a (0,0), então a fase que esta
relacionada com esse dibit será igual a 0. Se (di+1, di) = (0,1) então o valor da fase
determinada por esse dibit, será igual a π e assim sucessivamente de acordo com a
Tabela 1.

Bob Pearson (2000, pag. 4-3), na nota Application Note 9850 da Intersil, dá
um ótimo exemplo da obtenção de uma palavra-código de 8 chips, que será
mostrado a seguir.

Seja uma mensagem de 8 bits:

d7 = 1, d6 = 0, d5 = 1, d4 = 1, d3 = 0, d2 = 1, d1 = 0, d0 = 1

Da Tabela 1, determina-se o valor das fases φ1, φ2, φ3 e φ4:

Nome do autor 44
Apêndice A

● Fase φ1: o dibit (d1, d0) = (0, 1). Então, de acordo com a Tabela 1, um dibit
que assume o valor (0, 1) tem sua fase igual a π. Logo, φ1 = π.

● Fase φ2: o dibit (d3, d2) = (0, 1). Logo, φ2 também será igual a π.

● Fase φ3: o dibit (d5, d4) = (1,1). Logo, φ3 = -π/2.

● Fase φ4: o dibit (d7, d6) = (1,0). Logo, φ4 = +π/2.

Tendo em mãos o valor das fases, φ1, φ2, φ3 e φ4, é possível determinar a
palavra-código "c":

Substituindo os valores das fases, vem:

Ou seja:

Escrevendo os números complexos na forma trigonométrica, vem:

Substituindo o valor dos senos e cossenos, resulta em:

Nome do autor 45
Apêndice A

Essa sequência de chips é então transmitida através da modulação DQPSK.

O receptor detecta as diferenças de fases e determina o ângulo φ1,


determinando também os bits d1 e d0. Após extrair φ1, multiplica-se a sequência de
oito chips por e(-φ1), resultando na sequência: [e(φ4+φ3+φ2), e(φ4+φ3), e(φ4+φ2), e(φ4), e(φ3+φ2), e(φ3),
e(φ2), 1]. Com a determinação dos ângulos φ2, φ3 e φ4 é possível determinar a
sequência de bits d2, d3, d4, d5, d6 e d7.

Quando se utiliza uma sequência de 8 bits para ser representada por 8 chips,
como no exemplo acima, transmite-se a uma taxa de 11 Mbps.

Mas se apenas 4 bits forem representados por 8 chips, a taxa de transmissão


será de 5,5 Mbps.

Nome do autor 46
Apêndice A

2.1.4 OFDM (Multiplexação por Divisão de Frequências Ortogonais)

Os padrões 802.11a e 802.11g utilizam a técnica de Multiplexação por Divisão


de Frequências Ortogonais, que divide a banda de 20 MHz em 52 sub-portadoras,
cada uma delas transmitindo em BPSK, QPSK ou QAM. Dessas sub-portadoras 4
são utilizadas como "portadoras-piloto, isto é, portadoras que possuem frequência,
amplitude e fase conhecidas. Dessa forma, o receptor compara amplitude e fase da
portadora recebida com os parâmetros que ela realmente deveria ter. E, portanto,
ele consegue estimar qual a distorção apresentada pelo canal para aquela
frequência determinada"21.

Cada símbolo de uma das modulações BPSK, QPSK ou QAM é uma função
seno ou cosseno, cada uma delas com amplitude e fase diferentes e de mesma
frequência.

Para transladar sinais de tempo contínuo, como uma função sinc, para
frequências maiores, basta multiplicar cada símbolo no domínio do tempo por ejωt,
onde ωk = 2πfkt é um múltiplo da frequência fundamental.

Para os sinais de tempo discreto que estão definidos para n intervalos de


tempo (onde n pertence ao conjunto dos números naturais e varia de 0 até N-1) as
frequências serão múltiplos de k/N, onde k é o número de portadoras e varia de 0
até N-1; N é o número de amostras durante o intervalo de duração de um símbolo.
Logo, para transladar os sinais para estas frequências múltiplas de k/N, basta
multiplicá-los por ej2πk/N.

A multiplicação de um sinal de tempo contínuo por um sinal de tempo discreto


resultará em um sinal de tempo discreto. Isso pode ser visto na figura xy, onde cada
X1, X2,..., Xk é um fasor do tipo ŝ = Amplitude.ej(fase) é multiplicado por ej2πk/N resultando
em um conjunto de amostras que formam senóides discretas cujas frequências são
múltiplas de k/N e as amplitude e fase são dadas pelo fasor Xk.

Ainda na figura xy, após a geração das amostras das senóides, estas
amostras são somadas para formar o simbolo OFDM. As primeiras amostras de
cada senóide são somadas resultando na primeira amostra do símbolo OFDM. A

21
<http://www.sabereletronica.com.br/artigos/2861-tcnica-de-modulao-multiportadora-uma-anlise-de-pr
oblema-de-multipercurso-na-transmisso-terrestre>

Nome do autor 47
Apêndice A

soma das segundas amostras de cada senóide resulta na segunda amostra do


símbolo OFDM e assim sucessivamente. É importante destacar que o número de
amostras de cada senóide é o mesmo (igual a N), independente da frequência.

Este processo para gerar o símbolo OFDM é bastante semelhante ao


algoritmo da Transformada Discreta Inversa de Fourier (IDFT), dada pela expressão:

---I> x[n] = (1/N)1/2 × Σ X[n]ej2πk/N <I---

A única diferença entre o processo de geração de um símbolo OFDM e a


IDFT é o fator (1/N)1/2 que é uma constante e pode ser facilmente eliminado por uma
multiplicação por (N)1/2.

Na figura xy é possível observar a geração de um símbolo OFDM a partir de


uma operação IDFT. A saída do bloco IDFT é paralela, mas pode ser facilmente
convertida para serial através de um conversor paralelo/serial.

Nome do autor 48
Apêndice A

Após passar por um conversor paralelo/serial o sinal discreto no tempo é


submetido a um conversor digital/analógico e então, transmitido.

No receptor, o sinal recebido passa por um conversor analógico/digital e por


um conversor serial/paralelo. Depois ele é submetido a uma operação de
transformada discreta de Fourier (DFT).

Um ótimo exemplo, de como uma operação DFT pode separar um sinal


composto em várias outras senóides, pode ser encontrado no livro Understanding
Digital Signal Processing, terceira edição: 3.1.1 DFT Example 1, na página 55. Neste
exemplo, um sinal é decomposto em duas senóides com amplitude e frequências
iguais, mas defasadas em 90º graus, como mostrado na figura xy: o sinal a ser
decomposto esta em vermelho e as duas senóides estão tracejadas.

Nome do autor 49
Apêndice A

Com a obtenção das senóides, a informação contida na fase e amplitude de


cada uma delas é utilizada para mapear a sequência de bits através de um processo
de demodulação digital.

Duas observações importantes devem ser feitas a respeito da técnica OFDM:


a primeira é que existe um algoritmo capaz de calcular mais rapidamente a
Transformada Discreta de Fourier, chamado de Transformada Rápida de Fourier
(FFT), que de fato é utilizado para implementar o OFDM; a segunda é que para
minimizar a interferência na transmissão de cada símbolo OFDM, utiliza-se um
prefixo cíclico que consiste na cópia da parte final de um símbolo OFDM que é
concatenada a este, antes do símbolo ser transmitido.

2.2 Camada de Enlace

Todas as técnicas de transmissão que foram vistas na seção 2.1 são


utilizadas pela camada física para transmitir os bits para o receptor. Esses bits são
agrupados em um conjunto chamado PPDU (PLCP Protocol Data Unit) ainda na
camada física, numa subcamada chamada PLCP (Physical Layer Convergence
Procedure).

A camada de enlace extrai da PPDU um conjunto de bits chamado de quadro


ou frame. Existem três tipos de quadros: os de Gerenciamento, os de Controle e os
quadros de Dados.

Nome do autor 50
Apêndice A

Apêndice B
Códigos utilizados nos Ataques

Código utilizado no DLINK DIR-505 no ataque de Desautenticação

Nome do autor 51
Apêndice A

Nome do autor 52
Apêndice A

Código utilizado no DLINK DIR-505 no ataque de inundação de requisições de


Associação

Nome do autor 53
Apêndice A

Continuação do código:

Nome do autor 54
Apêndice A

Continuação do código:

Nome do autor 55
Apêndice A

Continuação do código:

Nome do autor 56
Apêndice A

Nome do autor 57
Apêndice A

Código de Desautenticação no DLINK DIR-505 que será utilizado no ataque que


combina inundações de desautenticação e de associação.

Nome do autor 58
Apêndice A

Continuação do código:

Nome do autor 59
Apêndice A

Código utilizado no notebook Acer Aspire 4349 no ataque de inundação de


requisições de Associação

Nome do autor 60
Apêndice A

Nome do autor 61
Apêndice A

Nome do autor 62
Apêndice A

Nome do autor 63
Apêndice A

Nome do autor 64
Apêndice A

Nome do autor 65
Apêndice A

Montando o diretório /overlay em uma partição externa

O diretório /overlay é reservado para quaisquer alterações feitas nas


configurações do Openwrt. Na prática, ele é um espaço livre disponível, para por
exemplo, instalar novos pacotes no sistema.

Como a capacidade da memória flash de um Access Point é da ordem de


poucos MegaBytes, não é possível, por exemplo, instalar os pacotes do Python e
nem os do scapy.

Para montar o diretório /overlay em uma memória flash externa como um


pendrive, previamente formatado no formato ext4, seguiu-se o seguinte
procedimento:

● Instalação de pacotes:

opkg update

opkg install kmod-usb-core kmod-usb-ohci kmod-usb-uhci block-mount


kmod-usb-storage kmod-fs-ext4

● Montagem do pendrive:

mount /dev/sda1 /mnt

● Cópia do conteúdo da antiga pasta /overlay para a nova partição:

tar -C /overlay -cvf - . | tar -C /mnt -xf -

● Desmontar a nova partição e gerar o arquivo de configuração fstab:

umount /mnt

block detect > /etc/config/fstab

● Fazer backup do arquivo fstab

cd /etc/config

cp fstab fstab_backup

Nome do autor 66
Apêndice A

● Editar o fstab com as seguintes configurações:

vi /etc/config/fstab

config 'global'

option anon_swap '0'

option anon_mount '0'

option auto_swap '1'

option auto_mount '1'

option delay_root '5'

option check_fs '0'

config 'mount'

option target '/overlay'

option uuid 'd9923ffc-ce6d-4c9b-9757-b6471e456f0d'

option enabled '1'

#(pressione ESC e depois digite dois pontos e a letra x, ou seja, :x , para


salvar e sair do arquivo).

Reiniciar o Openwrt:

● reboot

Nome do autor 67
Apêndice A

Instalando Python e Scapy

cd

opkg update

opkg install python-light

opkg install python

opkg install unzip

wget www.secdev.org/projects/scapy/files/scapy-2.2.0.zip

unzip scapy-2.2.0.zip

cd scapy-2.2.0

python setup.py install

Nome do autor 68

Você também pode gostar