UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO GRADUAÇÃO EM ENGENHARIA DE COMPUTAÇÃO SEGURANÇA EM REDES 802.11 COM ÊNFASE NO PADRÃO IEEE 802.1x LARISSA SVETLANNE SOARES DE OLIVEIRA MAURÍLIO HUMBERTO RODRIGUES MIRANDA OUTUBRO 2007 ii UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO GRADUAÇÃO EM ENGENHARIA DE COMPUTAÇÃO SEGURANÇA EM REDES 802.11 COM ÊNFASE NO PADRÃO IEEE 802.1x Trabalho de Projeto Final de Curso apresentado por Larissa Svetlanne Soares de Oliveira e Maurílio Humberto Rodrigues Miranda ao Departamento de Computação da Universidade Católica de Goiás, como requisito parcial para obtenção do título de Bacharel em Engenharia de Computação aprovado em 23/11/2007 pela Banca Examinadora: Professor Rodrigo Pinto Lemos, Dr. UCG – Orientador Professor Wilmar Oliveira de Queiroz, MsC. UCG Professor Ulisses Rodrigues Afonseca, MsC. UCG iii SEGURANÇA EM REDES 802.11 COM ÊNFASE NO PADRÃO IEEE 802.1x LARISSA SVETLANNE SOARES DE OLIVEIRA MAURÍLIO HUMBERTO RODRIGUES MIRANDA Trabalho de Projeto Final de Curso apresentado por Larissa Svetlanne Soares de Oliveira e Maurílio Humberto Rodrigues Miranda ao Departamento de Computação da Universidade Católica de Goiás, como parte dos requisitos para obtenção do título de Bacharel em Engenharia de Computação. __________________________ _________________________________ Professor Rodrigo Pinto Lemos, Dr Professor Jeová Martins Riberio, Esp. Orientador Coordenador de Projeto Final de Curso iv (DEDICATÓRIA) - EPÍGRAFE à Deus pela minha vida e oportunidades. Aos meus pais pela luta, dedicação, apoio e confiança durante estes anos de faculdade. Ao Rogério pela paciência nos dias mais difíceis no decorrer desse projeto. à Deus pela minha vida e oportunidades. Aos meus familiares. À minha mãe Maria de Lourdes, futura esposa Karolyna e minha filha Ana Carolina, pelo apoio, afago e diversão. “Seria mais fácil fazer como todo mundo faz; o milésimo gol sentado na mesa de um bar. Mas nós vibramos em outras freqüências, sabemos que não é bem assim. Se fosse fácil andar nos caminhos das pedras, tantas pedras no caminho não seria ruim.” Humberto Gessinger v AGRADECIMENTOS Ao Professor Rodrigo Lemos, orientador acadêmico, pelo apoio e confiança depositada. Aos professores Wilmar e Ulisses, por aceitarem participar de nossa banca examinadora. Aos amigos Régis Conde e Renan Além, pelas discussões técnicas e inestimáveis sugestões. E, finalmente, ao colega Rodrigo Braga, autor do projeto que inspirou-nos no Estudo de Caso. vi OBJETIVO Este trabalho tem o objetivo de tratar as várias formas de se proporcionar mecanismos seguros a uma rede 802.11, abordando principalmente do padrão 802.1x e formalizar que, analisando a aplicabilidade desses mecanismos, é possível desenvolver ambientes sem fio seguros. vii JUSTIFICATIVA Existe, atualmente, uma grande demanda e interesses nas implementações de redes sem fio. Porém, poucos serviços visam garantir a segurança dessas informações, principalmente o controle de acesso. Grandes empresas já tiveram problemas com servidores de autenticação. Portanto, há uma necessidade no mercado de se aperfeiçoar as maneiras de se oferecer segurança em redes 802.11. viii RESUMO Baseado no padrão IEEE 802.11i, o trabalho propõe uma solução adequada às redes IEEE 802.11, mais popularmente conhecidas como redes sem fio. Esta tecnologia vem trazendo vários benefícios como praticidade e baixo custo a usuários residenciais, comerciais e industriais. Entretanto, o ar, que é o meio de transmissão das redes sem fio, é bastante vulnerável a ataques e invasões. Hoje, muitas implementações já estão configurando mecanismos de criptografia, objetivando a confidencialidade dos dados. Porém, estas abordagens são ausentes do controle de acesso e, consequentemente, autenticação. Assim este trabalho objetiva demonstrar, através do IEEE 802.1x em conjunto com o RADIUS, ser possível que uma rede 802.11 obtenha soluções eficientes de segurança. Palavras-Chave: segurança, redes sem fio, IEEE 802.11, IEEE 802.1x, RADIUS. ix ABSTRACT Based on the IEEE 802.11i standard, this work suggests an appropriate solution to networks IEEE 802.11, more popularly known as wireless networks. This technology is bringing many benefits as practicality and low cost to users residential, commercial and industrial. However, the air, which is the means of transmission of wireless networks, it is very vulnerable to attacks and intrusions. Today, many implementations are already setting mechanisms of encryption, aiming the confidentiality of the data. But these approaches are absent from the control of access and therefore authentication. Thus this work aims to demonstrate, through the IEEE 802.1x in conjunction with RADIUS, be possible for a network 802.11 obtain effective solutions security. Key Words: security, wireless network, IEEE 802.11, IEEE 802.1x, RADIUS. x SEGURANÇA EM REDES 802.11 COM ÊNFASE NO PADRÃO IEEE 802.1x SUMÁRIO LISTA DE FIGURAS ......................................................................................................................................XIII LISTA DE TABELAS......................................................................................................................................XIV LISTA DE ABREVIATURAS E SIGLAS ...................................................................................................... XV 1. INTRODUÇÃO ............................................................................................................................................... 17 2. SEGURANÇA DE REDES ............................................................................................................................. 18 2.1. PRINCÍPIOS DE SEGURANÇA ........................................................................................................................ 19 2.1.1. Autenticação ...................................................................................................................................... 19 2.1.2. Disponibilidade e Controle de Acesso ............................................................................................... 19 2.1.3. Integridade e Não Repúdio ................................................................................................................ 20 2.1.4. Confidencialidade .............................................................................................................................. 20 2.2. MECANISMOS DE ATAQUE........................................................................................................................... 20 2.2.1. Interrupção ........................................................................................................................................ 21 2.2.2. Interceptação ..................................................................................................................................... 21 2.2.3. Modificação ....................................................................................................................................... 22 2.2.4. Mascaramento.................................................................................................................................... 23 2.3. MECANISMOS DE DEFESA............................................................................................................................ 23 2.3.1 Criptografia ........................................................................................................................................ 24 2.3.1.1. Criptografia Simétrica..................................................................................................................................24 2.3.1.2. Criptografia Assimétrica ..............................................................................................................................25 2.3.2. Autenticação ...................................................................................................................................... 25 2.3.2.1. Autenticação versus Autorização .................................................................................................................26 2.3.2.2. Tipos de Autenticação ..................................................................................................................................27 2.3.2. Firewall.............................................................................................................................................. 28 3. REDES SEM FIO IEEE 802.11...................................................................................................................... 30 3.1. FUNDAMENTOS E ARQUITETURA ................................................................................................................ 30 3.1.1. Equipamentos..................................................................................................................................... 30 3.1.1.1. Estação-base ................................................................................................................................................31 3.1.1.2. Meio sem fio .................................................................................................................................................31 3.1.1.3. Estações........................................................................................................................................................31 3.1.2. Canais e associação........................................................................................................................... 32 3.1.3. Tipos de redes .................................................................................................................................... 33 3.1.3.1. BSS Independentes .......................................................................................................................................33 3.1.3.2. BSS Infra-estruturados .................................................................................................................................34 3.1.3.3. BSS Estendido ..............................................................................................................................................34 3.2. 802.11 VERSUS ETHERNET.......................................................................................................................... 35 3.2.1 Camada Física .................................................................................................................................... 38 3.2.1.1. Infravermelho ...............................................................................................................................................39 3.2.1.2. FHSS ............................................................................................................................................................39 3.2.1.3. DSSS.............................................................................................................................................................40 3.2.1.4. OFDM ..........................................................................................................................................................40 3.2.2. Sub-camada MAC .............................................................................................................................. 40 3.3. EXTENSÕES................................................................................................................................................. 41 3.3.1. 802.11a .............................................................................................................................................. 41 3.3.2. 802.11b .............................................................................................................................................. 41 3.3.3. 802.11g .............................................................................................................................................. 42 3.3.4. 802.11i ............................................................................................................................................... 42 4. VULNERABILIDADES DAS REDES 802.11 .............................................................................................. 43 xi 4.1. ANÁLISE DAS VULNERABILIDADES 802.11 ................................................................................................. 43 4.1.1. Riscos Internos................................................................................................................................... 43 4.1.1.1. WLANs Grampeáveis..................................................................................................................................44 4.1.1.2. Configurações Inseguras..............................................................................................................................44 4.1.1.3. Associação Acidental ...................................................................................................................................44 4.1.2. Riscos Externos.................................................................................................................................. 44 4.1.2.1. Espionagem ..................................................................................................................................................45 4.1.2.2. Roubo de Identidade.....................................................................................................................................45 4.2. VULNERABILIDADES DO WEP .................................................................................................................... 45 4.3. VULNERABILIDADES DE AUTENTICAÇÃO.................................................................................................... 46 4.3.1. Vulnerabilidades da Autenticação de Sistema Aberto ....................................................................... 46 4.3.2. Vulnerabilidades na Autenticação por SSID ..................................................................................... 46 4.3.3. Vulnerabilidades por MAC ................................................................................................................ 47 4.3.4. Vulnerabilidades do RADIUS ............................................................................................................ 47 4.4. ATAQUES WIRELESS ................................................................................................................................... 48 4.4.1. Ataques de Força Bruta ..................................................................................................................... 49 4.4.2. Ataques de Dicionário ....................................................................................................................... 49 5. CRIPTOGRAFIA............................................................................................................................................ 50 5.1. WEP (WIRED EQUIVALENT PRIVACY)........................................................................................................ 50 5.1.1. Chaves WEP ...................................................................................................................................... 51 5.1.1.1. Chaves padrão..............................................................................................................................................51 5.1.1.2. Chaves mapeando chaves.............................................................................................................................52 5.1.2. Funcionamento .................................................................................................................................. 53 5.1.2.1. RC4...............................................................................................................................................................54 5.1.2.2. Vetor de Inicialização - IV ...........................................................................................................................55 5.1.3. Mecanismos do WEP ......................................................................................................................... 56 5.1.3.1. Transmissão do quadro ................................................................................................................................57 5.2. WPA (WI-FI PROTECTED ACCESS)............................................................................................................. 58 5.2.1. Hierarquia de chaves WPA................................................................................................................ 58 5.2.1.1. Hierarquia Pairwise Key..............................................................................................................................60 5.2.1.2. Hierarquia Group Key .................................................................................................................................62 5.2.1.3. Protocolo TKIP ............................................................................................................................................63 5.3. WPA2 ........................................................................................................................................................ 66 5.3.1. AES .................................................................................................................................................... 66 5.3.2. CCMP ................................................................................................................................................ 67 6. AUTENTICAÇÃO .......................................................................................................................................... 68 6.1. MECANISMOS DE AUTENTICAÇÃO .............................................................................................................. 68 6.1.1. PPP .................................................................................................................................................... 68 6.1.1.1. PAP e CHAP ................................................................................................................................................69 6.1.1.2. Desvantagens do PPP ..................................................................................................................................70 6.1.2. EAP .................................................................................................................................................... 70 6.2. AUTENTICAÇÃO DOS DISPOSITIVOS ............................................................................................................ 71 6.2.1. Autenticação por Chave Pública ....................................................................................................... 71 6.2.2. Autenticação por Certificado............................................................................................................. 71 6.3. MENSAGENS DE AUTENTICAÇÃO ................................................................................................................ 72 6.4. CLASSES DOS MECANISMOS DE AUTENTICAÇÃO ........................................................................................ 72 6.4.1. Senhas livres no espaço ..................................................................................................................... 73 6.4.2. Senhas Únicas.................................................................................................................................... 73 6.4.3. Desafio/Resposta................................................................................................................................ 73 6.4.4. Troca de chave anônima .................................................................................................................... 74 6.4.5. Prova do conhecimento da senha zero............................................................................................... 74 6.4.6. Certificados do servidor com autenticação do cliente....................................................................... 74 6.4.7. Autenticação mútua da chave pública ............................................................................................... 75 6.5. AUTORIZAÇÃO E CONTABILIDADE .............................................................................................................. 75 6.5.1. Autorização........................................................................................................................................ 76 6.5.1.1. Diferenças entre Autenticação e Autorização ..............................................................................................76 6.5.1.2. Padrão e Procedimentos de Autorização .....................................................................................................76 6.5.1.3. Estrutura de Políticas e Autorização............................................................................................................77 6.5.2. Contabilidade..................................................................................................................................... 77 xii 6.5.2.1. Arquitetura de Gerência...............................................................................................................................78 6.5.2.2. Segurança.....................................................................................................................................................78 6.5.2.3. Confiabilidade..............................................................................................................................................79 6.5.3. Autorização em conjunto com a Contabilidade ................................................................................. 80 7. EAP – EXTENSIBLE AUTHENTICATION PROTOCOL........................................................................ 81 7.1. PRINCÍPIOS EAP ......................................................................................................................................... 81 7.2. FORMATO DA MENSAGEM EAP................................................................................................................... 82 7.3. EAPOL ...................................................................................................................................................... 83 7.4. PROCESSO DE AUTENTICAÇÃO COM EAP.................................................................................................... 84 7.5. EAP-TLS ................................................................................................................................................... 85 7.6 EAP-TTLS .................................................................................................................................................. 86 8. IEEE 802.1X – RADIUS ................................................................................................................................. 87 8.1. IEEE 802.1X............................................................................................................................................... 87 8.1.1. Fundamentos...................................................................................................................................... 87 8.2. REMOTE AUTHENTICATION DIAL IN USER SERVICE (RADIUS) ............................................................... 89 8.2.1. Mensagens ......................................................................................................................................... 90 8.2.1.1. Formato da mensagem .................................................................................................................................91 8.2.2. Confiabilidade no transporte ............................................................................................................. 92 8.2.3. RADIUS e segurança ......................................................................................................................... 92 8.2.3.1. Proteção de Integridade nas Mensagens......................................................................................................92 8.2.3.1.1. Autenticador solicitante........................................................................................................................93 8.2.3.1.2. Autenticador Resposta..........................................................................................................................93 8.2.4. Exemplos de Operações ..................................................................................................................... 94 8.2.4.1. PAP ..............................................................................................................................................................94 8.2.4.2. CHAP ...........................................................................................................................................................95 8.2.4.3. RADIUS com EAP ........................................................................................................................................96 8.2.5. Contabilidade..................................................................................................................................... 97 8.2.5.1. Segurança e Confiabilidade .........................................................................................................................99 8.3. DIAMETER ................................................................................................................................................ 100 8.3.1. Fail-Over ......................................................................................................................................... 100 8.3.2. Mensagens iniciadas em Servidor.................................................................................................... 101 8.3.3. Transporte Confiável ....................................................................................................................... 101 8.3.4. Capacidade de Negociação ............................................................................................................. 101 8.3.5. Questões de Segurança .................................................................................................................... 101 8.3.6. Descoberta e Configuração do Par ................................................................................................. 102 8.3.7. Compatibilidade inversa com o RADIUS......................................................................................... 102 9. ESTUDO DE CASO: IMPLEMENTAÇÃO DE UMA REDE SEM FIO NO PARQUE TECNOLÓGICO DE ITAIPU ......................................................................................................................... 103 9.1. AMBIENTE DE PREPARAÇÃO ..................................................................................................................... 103 9.1.1. Mecanismos Utilizados .................................................................................................................... 104 9.1.2. Estrutura Física ............................................................................................................................... 104 9.2. AMBIENTE DE TESTES ............................................................................................................................... 106 9.2.1. Ferramentas Utilizadas.................................................................................................................... 106 9.2.1.1. Wireless-tools .............................................................................................................................................106 9.2.1.2. Aircrack-ng.................................................................................................................................................107 9.2.2. Abordagens de Segurança ............................................................................................................... 107 9.2.2.1. Autenticação por endereço MAC e SSID....................................................................................................107 9.2.2.2. Criptografia WEP.......................................................................................................................................108 9.2.2.3. Criptografia WPA2 com Servidor RADIUS................................................................................................109 10. CONCLUSÕES E TRABALHOS FUTUROS .......................................................................................... 110 REFERÊNCIAS BIBLIOGRÁFICAS............................................................................................................. 112 xiii LISTA DE FIGURAS Figura 1 – Ataque por Interrupção [11] ..................................................................................21 Figura 2 – Ataque por Interceptação [11] ...............................................................................22 Figura 3 – Ataque por Modificação [11] .................................................................................22 Figura 4 – Ataque por Mascaramento [11] .............................................................................23 Figura 5 – Processo de cifragem e decifragem [11]................................................................24 Figura 6 – Criptografia Simétrica [11] ...................................................................................25 Figura 7 – Criptografia Assimétrica [11]................................................................................25 Figura 8 – Exemplo de um Firewall [11] ................................................................................29 Figura 9 – Componentes de um rede sem fio [1] .....................................................................31 Figura 10 – BSS Independente e Infra-estruturados, respectivamente [4]..............................34 Figura 11 – BSS Estendido [4] ................................................................................................35 Figura 12 – Ethernet versus 802.11 a nível de camadas [1] ...................................................36 Figura 13 – Parte da pilha de protocolos do 802.11 [8] .........................................................37 Figura 14 – Problema do Terminal Oculto [5]........................................................................38 Figura 15 – Chave Padrão.......................................................................................................52 Figura 16 – Chaves Mapeando Chaves ...................................................................................53 Figura 17 – Operação do WEP [3]..........................................................................................54 Figura 18 – Uso do Vetor de Inicialização ..............................................................................55 Figura 19 – Adição do ICV ......................................................................................................57 Figura 20 – Adição do IV e ID da chave..................................................................................57 Figura 21 – Pairwise Key e Group Key do WPA [3]...............................................................59 Figura 22 – Cálculo da Chave de Transição [3] .....................................................................61 Figura 23 – Autenticação mútua de duas chaves baseada em certificados [6].......................72 Figura 24 – Modelo de Serviço de Autorização [6].................................................................77 Figura 25 – Formato da Mensagem EAP [3] ..........................................................................82 Figura 26 – Mensagem EAP-Request / EAP-Response [3] .....................................................83 Figura 27 – Formato do quadro EAPOL [3] ...........................................................................84 Figura 28 – Modelo comparativo entre 802.1x e um Switch [3] .............................................88 Figura 29 – Funcionamento do NAS [1]..................................................................................90 Figura 30 – Operação PAP [3]................................................................................................95 Figura 31 – Operação CHAP [3].............................................................................................96 Figura 32 – Inserindo mensagens EAP no RADIUS [6]..........................................................97 Figura 33 – Mensagens de contabilidade no RADIUS [6] ......................................................98 Figura 34 – Troca de Mensagens da Contabilidade [6]..........................................................99 Figura 35 – Arquitetura da rede antes da implementação [1] ..............................................104 Figura 36 – Representação do prédio do PTI e a distribuição dos AP’s [1] ........................105 Figura 37 – Proposta de implantação de rede sem fio segura no PTI [1] ............................105 Figura 38 – Ambiente de Testes[1] ........................................................................................106 xiv LISTA DE TABELAS Tabela 1 – Mudança do WEP para TKIP [3] ..........................................................................64 Tabela 2 – Formato do pacote PPP [6] ...................................................................................69 Tabela 3 – Formato dos atributos do RADIUS [6] ..................................................................91 Tabela 4 – Formato do pacote RADIUS [6] ............................................................................91 Tabela 5 – Atributos da mensagem de requisição de acesso usando PAP [6] ........................94 Tabela 6 – Atributos enviados na Requisição de acesso para autenticação CHAP [6] ..........96 xv LISTA DE ABREVIATURAS E SIGLAS AAA Authentication, Authorization and Accounting AC Autoridade Certificadora AES Advanced Encryption Standard ADSL Asymmetric Digital Subscriber Line AP Access Point AS Authentication Server BSA Basic Service Area BSS Basic Service Set CHAP Challenge Handshake Protocol CRC Código de Redundância Cíclica CSMA/CA Carrier Sense Multiple Access with Collision Avoidance CSMA/CD Carrier Sense Multiple Access with Collision Detection CCMP Counter Mode with Cipher Block Chaining MAC Protocol DHCP Dynamic Host Configuration Protocol DOS Denial of Service DSSS Direct Sequence Spread Spectrum EAP Extensible Authentication Protocol ESS Extended Service Set FHSS Frequency Hopping Spread Spectrum GTK Group Transient Key HR-DSSS High Rate / Direct Sequence Spread Spectrum IBSS Independents BSS ICV Valor de Checagem de Integridade ID Identificador IEEE Institute of Eletrical and Eletronics Engineers IETF Internet Engineering task force IP Internet Protocol IV Vetor de inicialização LAN Local Area Network LCP Link Control Protocol LLC Logical Link Control xvi MAC Medium Access Control MIC Message integrity code MPDU Unidade de Dados do Protocolo MAC MSDU Unidade de Dados do Serviço MAC NAS Servidor de Acesso a Rede NCP Network Control Protocol NIST National Institute of Standars and Technology OFDM Orthogonal Frequency Division Multplexing PAP Password Authentication Protocol PMK Pairwise Master Key PPP Point-to-point Protocol PTI Parque Tecnológico de Itaipu PTK Pairwise Transient Key RA Requisição de Autenticação RADIUS Remote Authentication Dial In User Service RC4 Algoritmo de Encriptação de Dados RSN Robust Security Network SSID Service Set Identifier TCP Transmission Control Protocol TKIP Temporal Key Integrity Protocol TLS Transport Layer Security TSN Transitional Security Network UDP User Datagram Protocol WEP Wired Equivalent Protocol WLAN Wireless Local Area Network WPA Wi-Fi Protect Access 1. Introdução O conteúdo das informações eletrônicas, atualmente, tem sido alvo fácil de hackers e indivíduos mal intencionados. Fatores atraentes como praticidade, comodidade, agilidade, entre outros, atraem, a cada dia, inúmeras pessoas que necessitam de todas essas vantagens. Paradoxalmente, esse interesse não faz com que os usuários do universo da Tecnologia da Informação tenham o mínimo de malícia, ou melhor, maturidade e discernimento para saber que o maravilhoso mundo no qual as Redes de Computadores e a Internet nos proporciona contém ameaças, riscos e perigos. O problema é que a maioria das pessoas que utilizam uma rede sem fio, não têm noção dos perigos que estão expostos. Vários crimes estão sendo praticados diariamente pelas redes, principalmente a Internet, e a maioria dos usuários ignoram os fatos. Senhas bancárias de usuários residenciais são roubadas, usuários comerciais e industriais têm seus planos descobertos por concorrentes, corporações que fornecem o serviço pela rede se vêem de mãos atadas quando seus servidores estão redirecionados apenas a um usuário. Isso tudo ocorre em estruturas cabeadas, ou seja, possuem pelo menos a proteção física. E as redes sem fio, nas quais também há uma crescente popularização? E pior ainda, em relação à proteção física dos dados no momento da transmissão: nenhuma. Entretanto sua praticidade é maior ainda do que qualquer outro tipo de rede. É este o desafio deste trabalho: encontrar a melhor forma de se oferecer segurança às redes sem fio. Para que este objetivo seja alcançado, o trabalho está dividido em quatro partes. Na primeira, representada pelos capítulos 2 e 3, serão abordados tópicos fundamentais sobre seguranças de redes e redes 802.11, respectivamente, visando proporcionar uma base para o desenvolvimento e conclusão do trabalho. No capítulo 4, serão mostrados os problemas das redes sem fio. Isso para que nos capítulos de 5 a 8 sejam fornecidos os mais diversos métodos de defesa. Finalmente, o capítulo 9 relatará um estudo de caso com o objetivo de analisar uma boa arquitetura capaz de fornecer a segurança necessária às redes sem fio, embora haja alguns problemas pelos quais serão discorridos nos capítulos 4 e 8. 2. Segurança de Redes Diariamente são noticiados nos mais diversos meios de comunicação fatos divulgando ataques a sistemas de segurança. Essa rotina mostra a eficiência de técnicas utilizadas para cometer crimes virtuais e quão vulneráveis os usuários dependentes da tecnologia se encontram. Entretanto, a segurança pode combater os ataques na grande maioria dos ambientes. Para que isso ocorra, deve-se tomar cuidados, tais como: não estabelecer conexão com quem não se conhece, não aceitar nada sem garantia, não confiar em ninguém até se ter certeza de que o mesmo é confiável, usar soluções consolidadas, não confiar naqueles com quem foi estabelecida conexão a muito tempo. É válido ressaltar que não existe sistema completamente seguro. Sempre haverá falhas ou brechas de segurança. Quanto menor o número de brechas ou falhas, mais confiável será o ambiente [3]. Muitas vezes, ocorrem ataques que não são notáveis, como os spywares. Há também, vírus que causam danos em menores proporções, um exemplo disso é um arquivo de texto corrompido. Porém, a grande preocupação é combater ataques de grandes dimensões, tais como inutilizar uma rede, corromper arquivos de um banco de dados, ou ainda, para o funcionamento de um servidor. Outra abordagem importante em relação à segurança é o perigo de focalizá-la em apenas um mecanismo como, por exemplo, autenticação ou criptografia, apenas um não é suficiente e a junção dos mesmos trará melhores resultados. Princípios de segurança são utilizados para proteção das redes, como conhecer a origem/destino do tráfego de dados ou não começar uma transmissão sem ter certeza de que se está conectado com o equipamento correto. Por exemplo, quando uma compra pela Internet é realizada pode ocorrer de o comprador pagar pelo produto e não recebê-lo, ou ainda não receber o produto correto. É necessário que o site fornecedor do serviço tenha credibilidade no mercado que seja suficiente para que o cliente sinta-se seguro e realize a compra. O mesmo ocorre em uma rede local, um dispositivo precisa conhecer e confiar no outro para começar uma transação de dados. Portanto, em qualquer comunicação virtual sempre se deve ter 19 certeza de quem é o receptor. Com os novos estudos em segurança e análise das vulnerabilidades é possível evitar ataques e fazer com que a rede seja mais confiável. 2.1. Princípios de segurança Por serem alvos de inúmeros ataques, os usuários precisam proteger cada vez mais os seus dados sigilosos, com isso fazem uso dos princípios de segurança; sendo definidos e caracterizados como propriedades desejáveis para que se ocorra uma comunicação segura [5]. Embora seja recomendado o uso dos princípios de segurança descritos acima, algumas redes fazem uso apenas de alguns deles, pois uma implementação rígida pode limitar a utilização da rede a um ponto em que os usuários, clientes e, até mesmo, os administradores não consigam acessar seus próprios recursos. 2.1.1. Autenticação Verifica se o destino no qual está se trocando informações é realmente quem deveria ser. No cotidiano as pessoas sempre usam diversos meios para se autenticarem. O contato visual, por exemplo, é o principal meio que fornece a autenticidade ao ser humano. Entretanto, sem o contato visual, torna mais difícil saber se uma ligação telefônica solicitando a senha do banco, realmente foi originada pelo bancário. Este caso, entre outros, há de se confirmar que a outra parte da relação realmente é quem alega ser. 2.1.2. Disponibilidade e Controle de Acesso Quando um recurso é solicitado este deve ser obtido sem dificuldades objetivando, também, prevenir que recursos fiquem indisponíveis. Portanto, um requisito fundamental para ocorrer uma comunicação segura é que ela possa ocorrer normalmente e, ao mesmo tempo, impedindo que intrusos usufruam do recurso dessa comunicação. O fator controle de acesso também revela extrema necessidade, pois garante que usuários tenham permissão apenas onde lhes foi concedida à permissão, obtendo-se acessos bem definidos. 20 2.1.3. Integridade e Não Repúdio Visa manter os dados sem adulteração, ou seja, da mesma forma que os dados foram enviados, devem ser recebidos. Portanto, a integridade pode ser oferecida através de somas de verificação nos protocolos das camadas de transporte e enlace. Da mesma forma que a confidencialidade, como será abordado posteriormente, a integridade também depende do nível de segurança que o algoritmo de criptografia oferece. 2.1.4. Confidencialidade Faz uso de técnicas para que o conteúdo da informação não seja acessado por terceiros. Aparentemente é a resposta mais solicitada para uma comunicação segura. Entretanto não é a única solução. Inúmeras empresas, instituições e, até mesmo, usuários almejam que suas informações sejam confidenciais. Para isso, o texto deve ser cifrado de tal forma que curiosos não consigam decifrar as mensagens. 2.2. Mecanismos de ataque A princípio este poderia ser um tópico irrelevante, mas é plausível e correto conhecer os mais diversos tipos de ataques, fazendo com que seja obtida maior eficiência ao combatêlos. Têm-se vários tipos de hackers, há aqueles que invadem apenas por diversão ou ainda, para se apropriarem de dados que não lhe pertencem [3]. Fazendo uma analogia com uma pirâmide, têm-se três camadas, onde o cume é a primeira camada e a base é a terceira camada. Na base os atacantes não fazem uso de ferramentas sofisticadas, atacam redes sem nenhuma proteção e por não haver proteção, geralmente, não há dados confidenciais para se apropriarem, a não ser o link de acesso à Internet para propósitos ilegais. Na segunda camada de ataques, visa-se o lucro ou vingança. Quando o objetivo do ataque é o lucro, há a apropriação indevida de senhas ou qualquer outra informação que pode ser vendida ou utilizada de forma a gerar retorno financeiro, como por exemplo, senhas bancárias ou ainda, softwares exclusivos. Ataque por motivo de vingança ocorre com o objetivo de danificar a rede ou sistema, são então, os ditos ativos, que comprometem o funcionamento. A primeira 21 camada se destaca por ser aquela onde estão os hackers mais sofisticados, que fazem uso de ferramentas poderosas. O intuito dessas pessoas não é invadir instituições e, sim descobrir quais as falhas dos mecanismos de segurança para que sejam divulgados e, assim gerar métodos mais eficazes. Existem dois grandes grupos que caracterizam o ataque: ativos e passivos. Os ataques ativos são aqueles que interferem diretamente na rede em questão, deixando as conseqüências do ataque. Já os ataques passivos passam despercebidos, geralmente, possuem objetivos de obtenção de informações. Há vários tipos de ataques, mas todos eles são originados dos quatro listados a seguir. 2.2.1. Interrupção Impede que os dados cheguem ao destino, gerando obstruções de acesso, desta forma ataca a disponibilidade do sistema. É classificado como ataque ativo, pois há interferência direta na rede. Figura 1 – Ataque por Interrupção [11] Um exemplo é o Denial of Service (DoS), que visa impedir a operação da rede, deixando-a indisponível. Pode ser realizado contra um equipamento específico, fazendo com que este seja impossibilitado de comunicar-se com os demais integrantes da rede. O ataque também pode ser realizado contra toda a rede, fazendo-a parar de funcionar [1]. 2.2.2. Interceptação Realiza apenas a captação dos dados que trafegam na rede, atacando assim, a confidencialidade da informação. É um ataque passivo, porque só terão acessado os dados confidenciais sem que seja notado. 22 Um exemplo é a espionagem. O objetivo da espionagem varia bastante de acordo com o espião, por exemplo, ele pode invadir uma máquina de um determinado usuário para roubar a senha bancária do mesmo e depois realizar saques, transferências e outras transações bancárias, ou ainda, invadir a rede de uma empresa para descobrir informações confidenciais e depois vendê-la para a empresa concorrente [3]. Interceptador Figura 2 – Ataque por Interceptação [11] 2.2.3. Modificação Altera as informações em trânsito sem detecção, atacando assim, a integridade. Tipo de ataque ativo por interferir no funcionamento da rede. Um exemplo é o Man-in-the-middle. Esse tipo de ataque é usado para modificar mensagens em trânsito sem detecção. Quando há dois dispositivos trocando mensagens, o atacante se passa por aquele que irá responder, modifica a mensagem e envia para o receptor. Ou seja, se existem dois dispositivos, A e B, trocando mensagens entre si, onde A envia uma mensagem para B e aguarda a resposta, o atacante C intercepta esta comunicação, finge ser B e responde para A com uma mensagem adulterada. B A C Figura 3 – Ataque por Modificação [11] Desta forma a troca de informação continua, porém A não percebe que é um atacante 23 estabelecendo uma comunicação [3]. 2.2.4. Mascaramento Na comunicação entre dois dispositivos, A e B, um atacante C se passa por um dos dois dispositivos, sendo que o outro não percebe a diferença. Mesmo que o gerente da rede faça uma varredura buscando usuários não autorizados, o atacante não será identificado, pois está ser passando por um usuário autorizado. Desta forma, o ataque é feito à autenticidade e é um ataque passivo. Figura 4 – Ataque por Mascaramento [11] Exemplo desse tipo de ataque é o MAC Spoofing. O invasor consegue capturar o endereço MAC válido e troca seu endereço MAC por este que foi capturado. Desta forma, o atacante acessa a rede passando-se por uma pessoa autorizada [1]. 2.3. Mecanismos de defesa A partir do momento que os métodos de ataques estão bem fundamentados e entendidos, torna-se mais fácil discorrer sobre os métodos de defesa, pois como dito anteriormente, para saber defender é preciso saber como o ataque é executado. Existem vários métodos de defesa, mas não é recomendado o uso de apenas um, em função de que um método de defesa não protege de todos os tipos de ataques. Em função dos objetivos propostos por este trabalho os métodos abordados serão criptografia e autenticação e firewall. Embora sejam apenas três, essas ferramentas são suficientes para garantir os princípios de segurança se forem bem implementados. 24 2.3.1 Criptografia Segundo o dicionário Aurélio, criptografia é a arte de escrever em cifra ou em código (1986). É geralmente entendida como sendo o estudo dos princípios e técnicas pela qual a informação pode ser transformada de sua forma original para outra ilegível. O objetivo principal é garantir a segurança dos dados que trafegam pela rede, impedindo que pessoas não autorizadas leiam as mensagens transmitidas. Essa proteção garante a confidencialidade, autenticidade e integridade. No processo de criptografia um emissor gera um texto original, utiliza-se então, uma chave e um algoritmo de cifragem, gerando um texto cifrado [11]. O texto cifrado é compreensível apenas àqueles que possuem permissão para lê-lo, como observado na Figura 5. Texto Plano Processo de Cifragem Processo de Decifragem Texto Plano Texto Cifrado Figura 5 – Processo de cifragem e decifragem [11] As chaves criptográficas são conjuntos de bits combinados e, quanto maior for essa combinação, maior a segurança. Há dois tipos de criptografia que dependem dos tipos de chaves utilizadas, são elas: criptografia simétrica e criptografia assimétrica. 2.3.1.1. Criptografia Simétrica Também chamada de criptografia de chave única ou ainda, criptografia de chave secreta tem como base o uso da mesma chave para os interlocutores. A chave utilizada entre as partes é chamada de chave privada, esta deve trafegar em um canal seguro, como ilustrado na Figura 6. Uma desvantagem desse tipo de criptografia é o uso de apenas uma chave para os envolvidos, caso haja um número muito grande de pessoas querendo se comunicar, serão necessárias inúmeras chaves, dificultando assim, a gerência das mesmas. 25 Chave Compartilhada Chave Compartilhada Texto Plano Texto Plano Texto Cifrado Decifragem Cifragem Figura 6 – Criptografia Simétrica [11] 2.3.1.2. Criptografia Assimétrica A criptografia de assimétrica ou criptografia de chave pública, ilustrado na Figura 7, é um método de criptografia que utiliza um par de chaves: uma chave pública e outra chave privada. A chave pública é conhecida por todos, enquanto a chave privada deve ser conhecida apenas pelo seu dono. Uma mensagem cifrada com a chave pública pode somente ser decifrada pela sua chave privada correspondente. Se um emissor fizer uso de uma chave privada para cifrar a mensagem, qualquer um que conhecer a chave pública poderá decifrá-la. Chave Privada Chave Pública do Receptor Texto Plano Texto Plano Texto Cifrado Cifragem Decifragem Figura 7 – Criptografia Assimétrica [11] 2.3.2. Autenticação Autenticação, também, é outro método de defesa usado freqüentemente, pois tem a 26 finalidade de garantir a autenticidade na transação das informações, ou seja, quando há um diálogo, seja ele qual for, ambas as partes devem ter certeza da veracidade uma da outra [5]. Assim, a autenticação pode ser entendida como uma ação que estabelece ou confirma algo (ou alguém) como autêntico. Para que ocorra autenticação, o processo deve ter o auxílio de um protocolo de autenticação, responsável pela troca das mensagens e dos dados. Esse protocolo geralmente é executado anteriormente a qualquer outro protocolo. Portanto ele estabelece às partes suas identidades na forma mais confiável possível. Somente depois que o processo de autenticação está concluído que os autenticados darão início às outras transações. Um dos protocolos mais utilizado para executar esse método de defesa é o RADIUS, no qual será tratado com detalhes no capítulo 8. Como ocorre na maioria dos métodos de defesa, a autenticação tem suas desvantagens. O principal transtorno dessa abordagem é que ela oferece apenas autenticidade, tornando uma implementação de segurança completamente vulnerável a ataques de interrupção, interceptação e modificação. Dessa forma, é necessário que o mecanismo de autenticação seja implementado junto a outros métodos como a criptografia. 2.3.2.1. Autenticação versus Autorização Algumas pessoas confundem autenticação com autorização. A autenticação determina se o indivíduo está ou não se comunicando com uma aplicação específica. A autorização se preocupa com o que essa aplicação ou usuário tem permissão de fazer [8]. Um exemplo de aplicação de autenticação e autorização está nas redes sem fio. Quando o dispositivo de um usuário se identifica, o servidor de autenticação procede da seguinte forma: 1. Essa identificação realmente é usada para pessoa quem aparenta ser? 2. Caso realmente seja, tem permissão para acessar a WLAN? Estas perguntas tratam da autenticação e autorização, respectivamente. Assim que as perguntas são respondidas, é que a ação solicitada poderá ser executada. Deve-se observar que a primeira pergunta é mais importante, pois, a partir do momento que se tem posse da identificação, a autorização torna-se uma tarefa mais simples. Por essa razão, a autenticação terá mais relevância neste trabalho. Mais detalhes sobre esse assunto serão abordados no 27 capítulo 6. 2.3.2.2. Tipos de Autenticação A forma mais comum de promover a segurança da rede é utilizar autenticação do usuário e/ou do equipamento que deseja usufruir os recursos oferecidos [7]. Dessa forma, a maioria dos métodos de autenticação se baseia em senhas fixas, mas existem outras opções como senhas dinâmicas, associação dos endereços MAC dos equipamentos e certificados digitais; cada um deles com suas vantagens e desvantagens. No capítulo 6 também serão tratados tipos de autenticação, entretanto serão técnicas voltadas às redes sem fio. • Senhas fixas São as mais utilizadas por serem de implementação simples, além de ser um mecanismo que o usuário está mais adaptado devido à grande utilização como, por exemplo, autenticação de usuários em serviços comerciais de acesso à Internet e também em redes locais. A desvantagem mais relevante nesse tipo de autenticação é o fato de ser susceptível à interceptação, principalmente nas redes sem fio, onde as informações, simplesmente, trafegam pelo ar, podendo ser capturadas e utilizadas por um atacante. • Senhas dinâmicas (one time password) Em decorrência dos grandes problemas ocorridos com as senhas fixas, surgem as dinâmicas. Com uma abordagem semelhante ao método anterior, as senhas dinâmicas se caracterizam pelo fato de serem trocadas em um tempo pré-determinado. Por exemplo, de cinco em cinco minutos a senha será renovada. Esse processo dificulta a ação do intruso; de forma que, quando ele decifrar, a senha já terá mudado. • Associação por endereço MAC Toda interface de rede tem um código (endereço MAC) exclusivo, registrado no IEEE e tem como objetivo identificar o dispositivo, já que é único [1]. Com o endereço MAC é possível fazer a identificação do dispositivo na rede de forma eficiente, independente do modelo ou fabricante. Dessa forma, apenas os endereços MAC registrados na rede, poderão ser autenticados. A desvantagem desse método é que o atacante pode utilizar ferramentas que 28 capturam o endereço MAC registrado e se identificar com esse endereço capturado. • Certificado digital É um arquivo assinado eletronicamente por uma entidade confiável, chamada Autoridade Certificadora (AC) [11] e tem como objetivo associar a chave pública a uma pessoa ou entidade, servindo, assim, como um mecanismo para a divulgação da chave única. Qualquer entidade que conheça a chave pública da AC pode examinar o conteúdo e confirmar sua autenticidade de um certificado emitido por essa autoridade, uma vez que a AC assina os certificados com a sua chave privada. 2.3.2. Firewall Em uma Rede de Computadores, quando o tráfego entra ou sai de uma rede, ele passa por uma verificação de segurança; podendo ser aceitado, rejeitado e/ou transmitido [5]. A entidade que faz isso é um dispositivo conhecido como firewall. Sua tradução literal já caracteriza bem essa abordagem: Parede a Prova de Fogo. Este nome imponente esclarece sobre um dos mecanismos mais utilizados no que diz respeito à segurança de redes. Fornecendo o controle de acesso necessário a determinado ambiente, a principal finalidade do firewall é fazer uma espécie de “cerca virtual” à rede fazendo com que os pacotes, dados e informações da rede entrem e saem, se autorizados, apenas quando o firewall permitir. Assim, essa ferramenta filtra quem pode entrar e quem pode sair da rede. Com a possibilidade de ser configurado em uma máquina específica como um servidor ou, até mesmo, roteador, o firewall geralmente é localizado na extremidade da rede, de acordo com a figura abaixo. 29 Rede Interna Firewall Internet Figura 8 – Exemplo de um Firewall [11] Um firewall é, na realidade, uma poderosa ferramenta integrada ao roteador interligando duas redes e opera analisando cabeçalhos IP que passam por ele [10]. Ao analisar os pacotes o firewall fica conhecendo os protocolos usados e as portas TCP e UDP do pacote, possibilitando a análise do cabeçalho IP/TPC/UDP em questão. Na seqüência, compara o pacote a uma tabela de regras, configurada pelo administrador, analisando se o pacote pode prosseguir ou não. Se o pacote tiver permissão, o firewall permite o roteamento; caso contrário, ou seja, se o pacote não for adaptado a nenhuma regra presente na tabela, ele poderá ser recusado ou descartado. A diferença entre essas duas possibilidades é que na primeira, o firewall comunica ao remetente que a comunicação foi bloqueada. No segundo caso, essa comunicação não existe; o pacote é ignorado pelo firewall e, em conseqüência disso, perdido. Todas essas configurações são determinadas pelo administrador da rede. Ainda que o firewall esteja perfeitamente configurado, existem várias brechas em sua segurança [8]. Se um firewall estiver configurado para permitir apenas a entrada de pacotes de redes específicas, um intruso de fora pode inserir falsos endereços de origem para ultrapassar essa verificação. Se o usuário quer mandar arquivos não permitidos de dentro para fora da rede, ou seja, enganar o firewall, basta scanear ou tirar fotos dos arquivos e salvá-los com extensão JPEG. Esse é um dos principais tipos de ataques contra firewalls: de dentro pra fora da rede, executado por funcionários insatisfeitos. 3. Redes sem fio IEEE 802.11 Cada vez mais as redes sem fio estão se tornado uma ferramenta prática e essencial no cotidiano das pessoas. A praticidade de se locomover, acessar Internet e não precisar estar conectado por um meio físico ao mesmo tempo, tem atraído muitas pessoas para essa nova tecnologia. Wi-Fi LANs (Wireless Local Area Network) já é uma alternativa para muitas instituições que possuem suas sedes em prédios, restaurantes, escolas, aeroportos e várias outras localidades, pois sem a necessidade de obras para instalação de cabos e remanejamento do ponto de acesso quando necessário, as redes sem fio ganham espaço no mercado e passam a ser uma ótima alternativa para aqueles que buscam praticidade e eficiência na comunicação. Hoje, quando se fala em redes sem fio, é equivalente dizer padrão IEEE 802.11. Esse fato ocorreu pois no início dessa tecnologia, nada era padronizado, gerando incompatibilidade entre os produtos [8]. Com isso, um dispositivo de determinado fabricante não era reconhecido pelo dispositivo de outro fabricante. Para que houvesse a compatibilidade entre os equipamentos de diferentes indústrias foi necessário criar um padrão. Assim o IEEE – Institute of Eletrical and Eletronics Engineers instituiu o novo padrão do mercado: IEEE 802.11. 3.1. Fundamentos e Arquitetura Para entendimento das redes sem fio, é necessário conhecer seus componentes básicos, funcionamento e estrutura. Os componentes básicos que serão abordados nesse trabalho são pontos de acesso, sistemas de distribuição, meios sem fio e estações. 3.1.1. Equipamentos A Figura 9 ilustra a estrutura de uma WLAN com os seus componentes básicos, sendo que 31 estes serão descritos a seguir. Sistema de Distribuição Meio sem Fio Ponto de Acesso Estação Figura 9 – Componentes de um rede sem fio [1] 3.1.1.1. Estação-base Nas LANs padrão IEEE 802.11 as estações-base são representadas pelo Access Point (AP); dispositivos que possuem o objetivo de gerenciar a rede sem fio, onde os dados são convertidos de um meio não guiado para meio guiado e é responsável pela coordenação da transmissão dos dispositivos localizados em sua área de abrangência. Neste caso, pode-se concluir que o dispositivo está associado à estação-base e a utiliza para fazer comunicação com a rede na qual o AP está associado [5]. 3.1.1.2. Meio sem fio Uma estação sem fio se comunica com a estação-base ou com outra estação através do meio, que pode ser o infravermelho, o microondas e rádio. Essas tecnologias que promovem a comunicação em um meio sem fio transmitem os dados em taxas e distâncias distintas. Os meios sem fio são utilizados para realizar a comunicação entre redes distintas, mas também são usadas para interligar dentro de uma mesma rede, roteadores, comutadores e outros dispositivos de uma rede. [5] 3.1.1.3. Estações São equipamentos que utilizam a rede para comunicação. Essas estações, em um 32 ambiente de redes sem fio, geralmente, são equipamentos que possuem mobilidade, tais como notebooks e palmtops, porém podem ser computadores pessoais, que fazem parte de uma rede sem fio, simplesmente, pela facilidade do não uso de uma estrutura cabeada. 3.1.2. Canais e associação Antes de começar a troca de informações entre a estação sem fio e a estação-base, é necessário que estes se associem. Para isto, o administrador da rede ao instalar o AP, precisa designar o Identificador de Conjunto de Serviços (Service Set Identifier - SSID) e também o número do canal. O SSID permite que os administradores designem um identificador para o conjunto de serviço, esta string é a mesma para todas as áreas de serviço básico - BSA- que compõem uma área de serviço estendido, também conhecido por ser o nome da rede. O comprimento do SSID pode variar entre 0 e 32 bytes. Um caso especial é quando o tamanho da string é zero, sendo denominado de broadcast SSID, e é utilizado somente para quadros de solicitação de sondagem quando uma estação tenta descobrir todas as redes 802.11 em sua área de abrangência [4]. Todos os padrões 802.11 fazem associação, porém para o esclarecimento de como ocorre esta associação, será utilizado o padrão 802.11b. Neste padrão a faixa de freqüência varia entre 2,4GHz e 2,485GHz. Tem-se uma variação de 85MHz entre a mínima e a máxima freqüência, esta variação permite a utilização de 11 canais que se sobrepõem parcialmente. Porém não se utiliza canais que se sobrepõem, os únicos casos em que isto não ocorre é nos canais 1, 6 e 11, pois não há sobreposição quando os canais estão separados por outros quatro ou mais canais. Isso significa que o administrador pode criar uma WLAN com taxa de transmissão de 33Mbps instalando três APs do padrão 802.11b na mesma localização física, designando os canais citados anteriormente para os APs e interconectando cada um desses APs com um comutador [5]. Designado o SSID e o canal para transmissão de dados é preciso que o AP se associe a uma estação sem fio para que a comunicação seja realizada. Quando o AP deseja se associar, este envia quadros de sinalização que possuem seu SSID e endereço MAC. A estação sem fio sabendo que o AP deseja se associar, faz uma varredura dos 11 canais em busca dos quadros de sinalização dos APs que estiverem em sua área de abrangência. Por meio destes 33 quadros de sinalização enviados pelo AP, a estação seleciona um destes pontos de acesso para se associar. Após a estação sem fio ter escolhido qual AP deseja associar-se, estes se comunicam usando o protocolo de associação 802.11 e, se o resultado deste diálogo for eficiente, a estação sem fio se associa ao AP selecionado. Quando se fala que uma estação se associou, significa que esta faz parte da sub-rede à qual pertence o ponto de acesso selecionado. Concluída esta etapa de associação, a estação sem fio envia uma mensagem de descoberta para a sub-rede através do AP, para que se obtenha o endereço IP da sub-rede ao qual a estação pertence. Possivelmente, depois de realizada a associação, a estação sem fio terá que se autenticar diante do AP. Há varias formas de autenticação, as abordagens utilizadas é a autenticação baseada no endereço MAC ou ainda o uso de usuário e senha. Normalmente o ponto de acesso se comunica com o servidor de autenticação através de protocolos, como por exemplo, o Radius, que será abordado neste trabalho posteriormente [5]. 3.1.3. Tipos de redes A comunicação entre duas ou mais estações de trabalho, as chamadas redes, pode ocorrer com a comunicação entre as estações sem que haja nenhum elemento que gerencie essa troca de informação, ou ainda, haver esse elemento que gerencie a comunicação dessa rede. Esse grupo de estações que se comunicam, são chamados de Conjunto de Serviço Básico (BSS – Basic Service Set), e essa comunicação é realizada dentro de uma Área de Serviço Básico (BSA – Basic Service Area). Os tipos de redes sem fio que existem são BSS Independentes e BSS Infra - Estruturados, mas há ainda a junção de várias redes, que será abordado logo a seguir. 3.1.3.1. BSS Independentes Também chamadas de redes IBSS (Independent BSS) ou simplesmente Ad-hoc, nessas redes as estações se comunicam diretamente entre si com nenhum controle central. Geralmente, um BSS independente é composto por uma quantidade pequena de estações e é necessário que os equipamentos estejam próximos uns dos outros, pois se trata de uma abordagem de pequeno alcance e sem infra-estrutura a fim de concretizar a comunicação [5]. 34 Devido a esses fatores, são estruturas utilizadas freqüentemente. Entretanto, justamente pelo fato da ausência de um concentrador, problemas como segurança e administração da rede ficam comprometidos [7]. 3.1.3.2. BSS Infra-estruturados Ao contrário do BSS Independente, esta abordagem é caracterizada pela presença de um concentrador, geralmente um (AP), já que se trata de um ambiente com maior área de abrangência. Portanto, BSS Infra-Estruturados são ideais para redes de grandes corporações, pois os dados tornam-se altamente gerenciáveis, facilitando a configuração e administração da rede. Em conseqüência dos fatores descritos anteriormente, esta abordagem possui técnicas proporcionando configurações de segurança; ou seja; autorização, criptografia e autenticação são características implementáveis nos BSS Infra-estruturados [7]. A Figura 10 ilustra BSS Independente e BSS Infra-estruturado. Figura 10 – BSS Independente e Infra-estruturados, respectivamente [4] 3.1.3.3. BSS Estendido É um conjunto de vários BSS Infra-Estruturados também conhecido por ESS. Esse tipo de rede caracteriza-se pela associação de vários APs, intencional ou acidentalmente. Quando se trata de uma associação intencional, os APs das várias redes envolvidas estão interligados entre si por uma meio cabeado, a fim de redirecionar todo tráfego para um backbone [4]. Já uma associação acidental, o AP de uma determinada rede recebe sinal de outra que está localizada nas proximidades [5]. 35 Figura 11 – BSS Estendido [4] A finalidade da implementação de um ESS é fazer com que o alcance da rede sem fio atinja maiores extensões, já que área de abrangência de um AP unido com a de outros, aumenta a área de abrangência. 3.2. 802.11 versus Ethernet Neste capítulo, até o momento, foram demonstrados os principais conceitos e fundamentos básicos do IEEE 802.11, que são primordiais para o entendimento do padrão como um todo. Para facilitar e aprofundar o entendimento das redes sem fio é de fundamental importância demonstrar as diferenças entre os padrões 802.11 e Ethernet, já que são padrões semelhantes. Algumas características das redes sem fio são comuns às das redes cabeadas, as diferenças entre estas serão analisadas e discutidas em seguida. Mais a diante, baseado nessas diferenças, o padrão IEEE 802.11 será detalhado de maneira específica em suas camadas diferenciais. Pelo nome das tecnologias, é intuitivo dar início ao tratamento de diferenças entre as redes cabeadas e sem fio: o meio de comunicação, ou seja, a camada física. O padrão Ethernet utiliza os tradicionais cabos metálicos, já o 802.11 não. Ao considerar uma LAN cabeada 36 convencional, substituir as placas Ethernet por placas com antenas sem fio e o switch (ou hub) por um ponto de acesso é o suficiente para notar que, da camada de rede até a camada de aplicação, praticamente nada irá mudar de uma rede cabeada para não cabeada [5]. Portanto, o que realmente diferencia o padrão Ethernet do IEEE 802.11 é a camada física e de enlace, tornando sugestiva uma ênfase no estudo destas camadas. A Figura 12 ilustra as diferenças em nível de camadas. Figura 12 – Ethernet versus 802.11 a nível de camadas [1] Em relação à pilha de protocolos, toda a família 802 tem características em comum, inclusive 802.11 e Ethernet [8]. O que determina a distinção do 802.11 é a camada de enlace, que é subdividida em subcamada MAC (Medium Access Control – Controle de Acesso ao Meio) e, logo acima, subcamada LLC (Logical Link Control – Controle de Enlace Lógico). Já na camada física, o padrão 802.11 especifica seis técnicas de transmissão ilustradas na Figura 13, nos quais serão explicados no tópico 3.2.1. Apesar das grandes distinções nas camadas de níveis mais baixas, os principais problemas (e diferenças também) do 802.11 estão concentrados no nível de enlace. Várias diferenças importantes existem entre um enlace com fio e um enlace sem fio como atenuação do sinal [5], no qual ondas eletromagnéticas tornam-se dispersas à medida que se afastam da fonte geradora, ou seja, quanto mais distante da origem, mais atenuação a onda sofrerá. O próprio ar é causador de atenuações, dependendo de sua umidade, por 37 exemplo, mas, quando essas ondas precisam atravessar paredes e divisórias, a perda de potência do sinal pode ser significativa. Camadas superiores Controle de Enlace Lógico Camada de enlace de dados Subcamada MAC 802.11 Infra vermelho 802.11 FHSS 802.11 DSSS 802.11 OFDM 802.11 HRDSSS 802.11 OFDM Camada fícica Figura 13 – Parte da pilha de protocolos do 802.11 [8] Além da atenuação de sinal, há interferência de outras fontes onde equipamentos eletro-eletrônicos que emitem ondas eletromagnéticas na faixa de 2,4 GHz como telefone sem fio, forno de microondas e equipamentos hospitalares, podem causar danos nos sinais emitidos, já que alguns dispositivos 802.11 atuam nessa faixa de freqüência. Dispositivos ao alcance dessas irradiações mútuas não operarão corretamente; nem o telefone sem fio nem a estação base. Portanto, qualquer ruído eletromagnético localizado no ambiente, pode causar interferência. Por fim, tem-se a propagação em percursos múltiplos. Freqüentemente as ondas transmitidas podem sofrer desvios, em obstáculos ou no solo, que causam seu espalhamento. Isto torna a transmissão menos eficiente, promovendo a chegada das reflexões ao receptor de forma desordenada, com diferentes atrasos conforme o comprimento do caminho percorrido. Caso os obstáculos estejam em movimento, os caminhos das ondas refletidas variam no tempo, prejudicando ainda mais o desempenho. Portanto, quanto mais obstáculos o ambiente possuir, maior será a degradação do sinal, menor será o alcance atingido pelo mesmo e maior deverá ser a potência de sinal originado na estação-base. Todos esses fatores discutidos anteriormente evidenciam que erros de transmissões nos enlaces sem fio são muito mais freqüentes do que nos enlaces com fio. Em função disso, os protocolos do padrão 802.11 são projetados a tratar correção de erros 38 com maior eficiência; além da detecção do erro eles deverão ser capazes de retransmitir quadros corrompidos [5]. Outro fator relevante nas redes sem fio são as mensagens de broadcast. Apesar de ser um processo comum e simples nas redes cabeadas, não pode ser considerado da mesma forma nas redes 802.11. Problemas tais como terminal oculto e desvanecimento causam transtornos e estão presentes na maioria das redes sem fio. O terminal oculto é caracterizado quando, em determinado ambiente, entre três equipamentos A, B e C; A e C não se “enxergam” enquanto B pode se comunicar tanto A como C. A Figura 14 ilustra o problema do terminal oculto. Adicionalmente, o desvanecimento do sinal de interesse favorece a recepção de sinais interferentes e, possivelmente, colisão. Esses problemas de terminal oculto e de desvanecimento tornam o acesso múltiplo em redes sem fio bem mais complexo que em redes cabeadas. Figura 14 – Problema do Terminal Oculto [5] 3.2.1 Camada Física Em 1997, o padrão 802.11 especificou três técnicas de transmissão para a camada física. Uma delas é o infravermelho, semelhante à tecnologia utilizada nos controles remotos de televisores. As outras duas tecnologias, FHSS e DSSS, utilizam ondas de rádio a 2,4 GHz, freqüência que não exige licenciamento para ser implantada. Equipamentos eletrônicos domésticos como telefone sem fio, microondas e controle remoto de portão também atuam nessa faixa de freqüência, podendo gerar conflitos quando for utilizada alta potência. Em 1999, a fim de alcançar maior largura de banda, foram criadas outras duas técnicas: OFDM, HR-DSSS [9]. Cada uma dessas técnicas se difere na tecnologia utilizada e nas taxas de transmissão 39 que podem ser alcançadas; porém todas elas têm o objetivo de fornecer à subcamada MAC os quadros de uma estação para outra. A seguir será descrita, de maneira geral, cada uma dessas técnicas. 3.2.1.1. Infravermelho Como dito anteriormente, o infravermelho é uma técnica de transmissão entre equipamentos sem fio no qual é utilizada uma tecnologia semelhante aos controles remotos de TV. Portanto, da mesma forma que estes controles, os sinais de infravermelho não atravessam paredes permitindo com que, em ambientes que necessitam de dispositivos separados por paredes, não haja presença de conflitos. O infravermelho opera com taxas de 1 Mbps e 2 Mbps; os sinais recebidos são facilmente distorcidos pela luz solar. Esses, especialmente as baixas taxas, são os principais fatores que fizeram com que o infravermelho caísse em desuso [9]. 3.2.1.2. FHSS Diferentemente do Infravermelho, o FHSS (Frequency Hopping Spread Spectrum Espectro de Dispersão de Saltos de Freqüência) utiliza transmissões por rádio ocupando a faixa de freqüência de 2,4 GHz que é dividida em 79 canais, cada um com 1 MHz de largura. A principal característica do FHSS é o gerador de números aleatórios usado para produzir uma seqüência de saltos entre os canais, ou seja, de maneira aleatória, o canal usado é alterado automaticamente por todos os dispositivos presentes na rede [9]. Essas mudanças são ajustadas para ocorrerem a cada 100 ou 400 ms. Operando dessa forma, esta técnica possui vantagens como oferecer relativa segurança, pois, o atacante não entrará no sistema se não souber a seqüência na qual são transmitidos os canais. Outra vantagem é a não interferência de ondas em duas redes distintas com a mesma área de abrangência; os mesmos canais terão uma possibilidade extremamente pequena de serem gerados no mesmo instante e, caso afirmativo, ocorrerá interferência apenas durante os 100 ou 400 ms configurados [10]. Isso a torna bastante popular na interligação entre edifícios. E em decorrência da freqüente alternância de canais, a principal desvantagem do FHSS é a baixa velocidade; em torno de 1 ou 2 Mbps. 40 3.2.1.3. DSSS O DSSS (Direct Sequence Spread Spectrum – Espalhamento Espectral de Seqüência Direta) trabalha com um padrão denominado chip ou código de chip, que funciona gerando uma seqüência de bits redundantes, para cada bit transmitido, permitindo aos receptores a filtragem de sinais não padronizados, como ruídos e interferências [1]. Esta técnica é incompatível com a FHSS, uma antena FHSS não se comunicará com uma antena DSSS. Devido à troca de canais ser feita de forma seqüencial, a grande vantagem do DSSS em relação ao FHSS é a velocidade; geralmente de 5,5 a 11 Mbps. A forma seqüencial de trocar os canais dá origem à desvantagem do DSSS: a segurança; afinal, não há grandes dificuldades em capturar os dados conhecendo a seqüência dos canais [10]. 3.2.1.4. OFDM Sendo, de fato, a primeira técnica de alta velocidade, a técnica OFDM (Orthogonal Frequency Division Multplexing – Multiplexação Ortogonal por Divisão de Freqüência) pode alcançar até 54 Mbps na freqüência de 5 GHz, sendo dividida em 52 faixas: 48 para dados e 4 para sincronismo, semelhante ao ADSL. Apesar de ser uma forma de espectro de dispersão, é considerada diferente do FHSS e DSSS, já que as transmissões estão presentes em várias freqüências ao mesmo tempo. 3.2.2. Sub-camada MAC Este é um dos principais tópicos do capítulo pois é na subcamada MAC da Camada de Enlace que se encontra a principal distinção entre redes cabeadas e sem fio: o acesso ao meio. A partir do momento em que um dispositivo está associado a determinado AP, certamente um processo de envio e recebimento de quadros de dados irá ocorrer. Como já foi discutido no tópico 3.2, várias estações irão, no mínimo, tentar enviar estes quadros no mesmo instante gerando; conseqüentemente; conflitos, colisões e perdas dos quadros. Baseado no Ethernet, os projetistas do 802.11 padronizaram um protocolo de acesso aleatório para as redes sem fio. Daí surgiu o CSMA/CA - Acesso Múltiplo por Detecção de Portadora com Prevenção de Colisão. Do mesmo modo que o CSMA/CD do Ethernet, o 41 CSMA/CA também usa o acesso aleatório por detecção de portadora, ou seja, antes de transmitir, o dispositivo verifica se o canal está livre. Caso o canal esteja ocupado, o dispositivo não transmite. Entretanto, diferenças entre CSMA/CD e CSMA/CA existem e são evidenciadas devido à incapacidade do 802.11 de detectar colisões. Para que ocorra detecção de colisão, o próprio sinal da estação deve ser capaz de transmitir e receber dados ao mesmo tempo. Essa capacidade, a princípio, não é possível em dispositivos sem fio devido à perda do sinal. Para reduzir essa perda, grandes investimentos deveriam ser aplicados aos equipamentos sem fio, tornando-os economicamente inviáveis. Mesmo que não ocorra a redução da perda do sinal, o problema do terminal escondido e o desvanecimento impossibilitariam a detecção de todas as colisões [5]. Todos esses fatores foram cruciais para que o protocolo MAC 802.11 (CSMA/CA), ao invés de detecção de colisão, usasse técnicas de prevenção de colisão. 3.3. Extensões O 802.11 foi o primeiro padrão desenvolvido para redes sem fio, especificamente em 1997. Esse tipo de rede, até então, trabalhavam com freqüência de banda de 2GHz e taxas de transmissão de 1Mbps a 2Mbps. Posteriormente, foram criados ramificações deste padrão, são eles: 802.11a, 802.11b, 802.11g e 802.11i [4]. 3.3.1. 802.11a Foi o segundo padrão desenvolvido (1999) , possibilitando um aumento da taxa de transmissão para até 54Mbps. Esta rede opera na freqüência de 5 GHz e inicialmente suporta 64 utilizadores por ponto de acesso. Utiliza como mecanismo de modulação o OFDM [4]. 3.3.2. 802.11b Terceiro padrão criado, este alcança taxas de transmissão entre 5.5Mbps até 11 Mbps e opera na freqüência de 2.4 GHz. Inicialmente suporta 32 utilizadores por ponto de acesso. Um ponto negativo neste padrão é que pode haver interferência tanto na transmissão como na recepção de sinais, pois a frequencia em que funciona é equivalentes aos telefones móveis, fornos microondas e dispositivos Bluetooth. O aspecto positivo é o baixo preço dos seus 42 dispositivos, fazendo com que seja amplamente utilizado por provedores de Internet sem fio. Utiliza o como método de modulação o DSSS. 3.3.3. 802.11g Oferece uma velocidade de 54 Mbps e opera dentro da frequência de 2,4 GHz. Este padrão é mais utilizado atualmente por fabricantes de equipamentos para redes sem fio. Uma desvantagem é o fato de que pode haver incompatibilidade entre dispositivos de diferentes fabricantes. A vantagem é a taxa de transmissão maior do que o padrão 802.11b . O mecanismo de modulação é o OFDM. 3.3.4. 802.11i Criado para aperfeiçoar as funções de segurança do protocolo 802.11 seus estudos visam avaliar, principalmente, os seguintes protocolos de segurança: WEP (Wired Equivalent Protocol ), TKIP (Temporal Key Integrity Protocol ), AES (Advanced Encryption Standard ) e IEEE 802.1x para autenticação e segurança. O principal benefício do projeto do padrão 802.11i é sua extensibilidade permitida, porque se uma falha é descoberta numa técnica de criptografia usada, o padrão permite facilmente a adição de uma nova técnica sem a substituição do hardware. 4. Vulnerabilidades das Redes 802.11 Mesmo com toda praticidade, as redes sem fio podem se tornar em um dos maiores vilões no universo da Tecnologia da Informação. Caso o administrador não esteja ciente das vulnerabilidades das redes sem fio, certamente estará fadado a um ambiente completamente inseguro e propício a invasões. Como foi descrito nos capítulos anteriores, as redes sem fio são bem mais propícias a ataques quando comparadas às cabeadas e, a fim de conter essa desvantagem, é de suma importância conhecer detalhadamente as Vulnerabilidades das Redes sem Fio. Portanto, este capítulo tem como finalidade, estruturar os principais riscos do padrão IEEE 802.11; interligando introdução (capítulos 1, 2 e 3) ao desenvolvimento (capítulos 4 em diante) do trabalho. 4.1. Análise das Vulnerabilidades 802.11 Também conhecidas como riscos [2], as vulnerabilidades das redes 802.11 podem ser tratadas de maneiras diversificadas. Algumas delas se devem a mecanismos de defesa (nos quais serão tratados nos próximos capítulos) ineficientes ou padrões de segurança implementados erroneamente. Entretanto, a maioria das abordagens wireless são frágeis em decorrência da configuração inadequada dos equipamentos utilizados. Para que seja feito um estudo da análise das vulnerabilidades do 802.11 é necessário conhecer os riscos nos quais determinada implementação está sujeita. Esses riscos são classificados como internos e externos. 4.1.1. Riscos Internos Não sendo necessária a ação direta de um atacante para expor a vulnerabilidade, os riscos internos são efetivados, principalmente, por dispositivos mal configurados. A seguir 44 serão descritos alguns dos riscos internos. 4.1.1.1. WLANs Grampeáveis São as implementações ausentes de configurações seguras, fazendo com que o SSID seja enviado abertamente. Geralmente, esse tipo de implementação é efetuadas por leigos, sem capacidade técnica que, motivados pela praticidade, se vêem aptos a efetivar a instalação dos dispositivos. Nesse caso, todo e qualquer equipamento que, porventura, esteja na área de cobertura, terá acesso à informações de rede. 4.1.1.2. Configurações Inseguras Na maioria dos casos o administrador utiliza meios ineficientes e/ou incapazes de proporcionar a devida segurança. Desta forma, implementações de segurança que, para o administrador, aparentemente robustas e suficientes, na verdade não são. Seria como ter um serviço de autenticação eficaz e bem implementado e, entretanto, não possuir a criptografia adequada. 4.1.1.3. Associação Acidental Por se tratar de dispositivos facilmente configuráveis e de difícil controle da área de cobertura das redes, existe grande possibilidade de sinais pertencentes a dois ou mais pontos de acesso, acidentalmente, efetuar intersecção entre si. Portanto, dispositivos são conectados em redes desconhecidas sem o usuário perceber. O principal fator que propicia o intercalamento das redes é o SSID, pois, em muitos casos, a configuração padrão de fábrica (default) não é alterada pelo usuário. Isso tudo faz com que o trabalho do invasor seja reduzido drasticamente. 4.1.2. Riscos Externos Neste tipo de risco, existem ações diretas do atacante, ou seja, há a intenção de 45 provocar o ataque. O hacker procura os pontos vulneráveis da rede e se aproveita das mesmas para efetivar a invasão. 4.1.2.1. Espionagem Também chamado de Eavesdropping, esta vulnerabilidade é a porta de entrada para diversos tipos de ataque, pois, a partir da análise e captura do tráfego da rede, o intruso prepara-se para ataques mais sofisticados. Em redes sem fio, esse risco torna-se ainda maior comparada às redes cabeadas, devido ao meio de transmissão ser mais propício e, também, pelo fato de não ser necessário estar conectado fisicamente à WLAN. 4.1.2.2. Roubo de Identidade Caracterizado como uma das principais conseqüências da espionagem, no roubo de identidade o hacker possui acesso às informações que trafegam pela rede e, a partir disto é possível ter acesso à login e senhas para se passar por um usuário válido na rede. 4.2. Vulnerabilidades do WEP WEP é um mecanismo de defesa responsável por criptografar as informações. Os detalhes sobre WEP serão tratados no próximo capítulo. Um dos problemas relacionados a este mecanismo, é o fato dele usar uma chave única chave estática, compartilhada entre todos os dispositivos da rede e o Access point. Outra questão está no fato da distribuição destas chaves serem feitas manualmente, tornando assim, inviável seu uso em redes de grande porte. Porém, a maior vulnerabilidade do WEP está na utilização do algoritmo de encriptação (RC4) e o vetor de inicialização (IV). O RC4 recebe os dados e, a partir deste, gera um outro dado criptografado bem diferente do original, mas com o mesmo tamanho facilitando, desta forma, o ataque, pois, o atacante saberá previamente o comprimento do dado original. O IV é um valor aleatório que possui 24 bits e é alterado a cada pacote enviado pelo access point. Se a cada pacote enviado, um novo valor do IV for utilizado, é possível ter 17 46 milhões de valores distintos. Supondo um access point de 11Mbps, seria possível enviar até 700 pacotes por segundo; desta forma, em menos de 5 horas todas as possibilidades do IV se esgotariam. Além disso, muitos sistemas após reiniciarem, usam o mesmo valor do IV, então este continua a mesma seqüência para cada pacote, utilizada antes de reiniciar o sistema. Se vinte dispositivos iniciarem seus sistemas ao mesmo tempo, todos começarão com o mesmo valor do IV e permanecerão com a mesma seqüência. [3]. Desta forma o hacker pode realizar ataques do tipo força bruta ou ataque de dicionário e descobrir a informação original. 4.3. Vulnerabilidades de Autenticação A autenticação tem o auxílio de um protocolo de autenticação, que é responsável pela troca das mensagens e dos dados entre dispositivos móveis e o ponto de acesso. Porém, assim como outros métodos de defesa, este mecanismo possui pontos frágeis que devem ser analisados para que não haja o comprometimento da segurança nas redes sem fio. 4.3.1. Vulnerabilidades da Autenticação de Sistema Aberto Inicialmente, antes de qualquer configuração por parte do administrador, o AP opera em modo aberto, ou seja, é permitida a entrada de qualquer usuário na rede sem a devida verificação da identificação das estações [1]. As estações que desejam ser autenticadas na rede precisam enviar o pedido de autenticação ao AP e este responde autorizando sua entrada. Sendo assim, o AP não verifica a identidade do cliente e qualquer indivíduo pode associar-se à rede. Geralmente, esse método, que será tratado com mais detalhes no capítulo 6, pode ser utilizado em pequenas redes domésticas nas quais não existam dados secretos como senhas de banco sendo trafegados. Na verdade, essa abordagem é ausente de segurança não sendo recomendada na maioria das implementações wireless. 4.3.2. Vulnerabilidades na Autenticação por SSID Como visto na Seção 3.1.2, o SSID é o nome da rede ao qual pertence o AP. Nesse tipo de autenticação, o SSID não fica disponível a todos os usuários que estejam na área de 47 cobertura da rede. Para que alguma estação se associe, é necessário conhecê-lo previamente. Apesar de o usuário ter que conhecer SSID antecipadamente, não é prudente utilizálo sozinho, pois este não garante a segurança da rede em questão. Quando o usuário solicita a autenticação, o pedido é enviado ao AP sem nenhuma proteção. Desta forma, um invasor que estiver analisando o tráfego da rede, consegue obter o SSID válido e ter o acesso. Entretanto, existe uma configuração no roteador wireless que pode ser feita a fim de impedir o SSID de ser enviado livremente. Dessa forma, para se conectar na rede, apenas os usuários que souberem o SSID terão acesso. 4.3.3. Vulnerabilidades por MAC Nesse tipo de autenticação, o ponto de acesso possui uma lista de endereços MAC e, terão acesso à rede apenas os dispositivos com o endereço MAC cadastrados no access point. A princípio, esta forma de autenticação seria eficiente. Porém, o endereço MAC é enviado do dispositivo para o ponto de acesso sem nenhuma proteção. Assim, o invasor utilizará do mecanismo de mascaramento [1]. Como visto na Seção 2.2.4, no mascaramento o atacante obtém algum endereço MAC válido, fará o uso deste endereço em seu dispositivo e obterá acesso à rede facilmente. Modelos de autenticação mais eficientes serão tratados a partir do capítulo 6. 4.3.4. Vulnerabilidades do RADIUS O uso dos compartilhamentos secretos para prover funções de segurança básicas com Radius têm causado muitas vulnerabilidades e, nesta sessão serão descritos o que causam as fragilidades. Um dos primeiros problemas envolve os compartilhamentos secretos précompartilhados, pois estes são configurados manualmente no NAS e, como estes equipamentos existem em grandes quantidades nas várias redes, os técnicos, muitas vezes, os configuram com o mesmo compartilhamento secreto para evitar o trabalho de configurar cada NAS com um compartilhamento secreto diferente [6]. Outra situação que expõe as falhas do Radius é a consulta dos compartilhamentos secretos, onde o servidor Radius a fim de prevenir spoofing, usa o endereço IP de origem no pacote UDP do Radius (ao invés do endereço IP NAS ou ID do atributo) para consultar os 48 compartilhamentos secretos. Isso acontece porque o ID do NAS é adicionado apenas como atributo para solicitação de acesso e, isso pode causar problemas no caso do IP do NAS ser alterado. Contudo, o NAS pode precisar obter seu endereço IP dinamicamente através do DHCP e, isso ocorre em muitos pontos da WLAN. Porém, gerenciar pontos de uma rede sem fio com grande quantidade de pontos de acesso sem DHCP causará problemas administrativos. Em relação ao atributo oculto, que prevê seletiva proteção à camada de aplicação, na verdade não fornece qualquer proteção de segurança (autenticação ou encriptação) para as mensagens RADIUS ou para os protocolos das camadas (UDP, IP), onde estas se encontram. Isso significa que o endereço IP pode ser facilmente falsificado ou outros atributos poderiam ser alterados [6]. 4.4. Ataques Wireless As redes sem fio necessitam de maior atenção em relação à segurança, pois o meio em que os dados trafegam é aberto e qualquer indivíduo pode ter acesso. A maioria das formas de ataques descritas no capítulo 2 são equivalentes tanto para arquiteturas 802.11 quanto para arquiteturas cabeadas, o que altera, geralmente, é a forma como a defesa será realizada [3]. Um problema que o invasor terá que enfrentar caso queira atacar uma rede onde foi implementada segurança são os dados criptografados e suas respectivas chaves. O atacante precisa saber qual o algoritmo utilizado na criptografia dos dados, pois a partir dessa informação é que o indivíduo irá buscar as falhas do algoritmo e decifrar o dado original anterior à cifragem. Essa etapa é bastante pertinente, pois se as chaves não são conhecidas, será impossível (ou pelo menos quase) ter acesso ao conteúdo original. Uma maneira utilizada para atacar as chaves é baseada no cabeçalho dos protocolos presentes no datagrama. O cabeçalho 802.11, por exemplo, não é cifrado, entretanto os dados desse datagrama, que são os almejados pelo atacante, são criptografados. Considerando que, grande parte do conteúdo do datagrama 802.11 é baseada no TCP/IP, o invasor poderá deduzir alguns campos do datagrama e, consequentemente, obter a chave. Portanto, na prática, os ataques às redes wireless se resumem em ataques de força bruta ou de dicionário [3]. 49 4.4.1. Ataques de Força Bruta Apesar de ser a forma mais utilizada pelos hackers, os ataques de força bruta são os mais difíceis para obter as chaves, dependendo do tamanho das mesmas. Seu funcionamento é relativamente simples: todas as possibilidades de chaves existentes são testadas [3]. No WEP, por exemplo, é usado chaves de 40 bits, o que representa 550 bilhões de possibilidades distintas de chaves. Supondo que um computador comum seja capaz de processar 100 operações (100 possibilidades de chaves) a cada 1µs, desta maneira, um invasor é capaz de quebrar esta chave em, aproximadamente, uma hora e meia. 4.4.2. Ataques de Dicionário São semelhantes ao anterior, todavia é mais eficiente, pois uma parte da chave já é supostamente conhecida pelo atacante. Esse trabalho é feito eliminando, com auxílio de um banco de dados, criado pelo próprio invasor, com as possibilidades menos prováveis. Uma chave de 104 bits pode ser reduzida a 72, pois o atacante já conhece 32 bits. Entretanto, em função de novos protocolos de segurança do IEEE 802.11, a maioria dos sistemas modernos de segurança não é suscetível ao ataque de dicionário [3]. 50 5. Criptografia A partir desse capítulo, será iniciada uma nova e principal etapa do trabalho: Segurança em Redes wireless. Portanto, serão tratados, neste capítulo, os principais mecanismos de criptografia das redes 802.11: WEP (Wired Equivalent Privacy), WPA (Wi-Fi Protect Access) e WPA2 (nova versão do WPA). Uma forma de tratar as Vulnerabilidades das Redes sem fio é adaptá-las aos tipos de ataques que existem atualmente [3]. No início da era das Redes de Computadores, a preocupação estava na segurança física das redes. Abordagens recentes como o 802.11, estão muito além de segurança física; sem desmerecê-la. Segurança hoje, especificamente em meios sem fio, está intimamente relacionada com a facilidade de capturar ondas eletromagnéticas e inimigos invisíveis. Embora, a ênfase deste trabalho seja o 802.1x (que será tratado no capítulo 8), é de fundamental importância que a criptografia seja abordada, já que é a principal forma de tornar os mecanismos de autenticação mais robustos. 5.1. WEP (Wired Equivalent Privacy) Primeiro método de segurança definido pelo padrão IEEE 802.11, este mecanismo é utilizado a fim de propor a criptografia e autenticação dos dados que transitam pela rede. Em seu projeto, o WEP baseou-se em alguns princípios relevantes para seu desenvolvimento, tais como algoritmo adequado ao usuário, reconhecimento automático dos dispositivos na área de cobertura do ponto de acesso, implementação em equipamentos comuns (computadores pessoais) e de uso móvel [7]. No WEP é utilizado o algoritmo simétrico RC4, no qual será tratado com detalhes brevemente, no qual utiliza duas chaves: uma dinâmica e outra estática, podendo ser de 40 ou 51 104 bits; além de uma chave dinâmica denominada Vetor de Inicialização (IV) possuindo 24 bits. Portanto, o WEP pode ter chaves de 64 a 128 bits nas quais são compartilhadas entre os dispositivos e o ponto de acesso, sendo configuradas manualmente em cada um dos equipamentos. Outra característica relevante do WEP se dá ao fato de que todo pacote é tratado como novo; ou seja, a criptografia desse mecanismo ocorre em todos os pacotes [3]. Com esta funcionalidade, todos os pacotes serão criptografados, mesmo em caso de perda. 5.1.1. Chaves WEP Há dois tipos de chaves no padrão WEP, as chaves padrão e as chaves que mapeiam chaves. Estas chaves possuem comprimento fixo de 40 ou 104 bits; são estáticas, ou seja, não há mudança em seu valor a não ser que haja uma reconfiguração; são chaves compartilhadas, o AP e o dispositivo móvel possuem uma cópia desta mesma chave; e são simétricas, a mesma chave usada para criptografar os dados, também é utilizada para decriptálos. Estes dois tipos de chaves existentes no padrão WEP, possuem abordagens distintas. A primeira delas está relacionada ao fato de que todos os dispositivos móveis e o AP terão a mesma chave, chamados de chave padrão, vide Figura 15. Outra abordagem possível é cada dispositivo móvel e o AP terem uma chave específica para cada conexão, estas são as chaves mapeando chaves; ilustradas na Figura 16. 5.1.1.1. Chaves padrão São mais utilizadas em redes domésticas ou em redes corporativas de pequeno e médio porte, isto ocorre porque, nesse tipo de abordagem, as chaves devem ser configuradas manualmente pelo administrador da rede e, se esta for muito grande, fica inviável e dificulta a manutenção das chaves padrão. Existem quatro tipos de chaves padrão para cada dispositivo, mas apenas uma destas é realmente necessária para a segurança. Quando a rede sem fio é instalada, o administrador escolhe uma destas chaves para configurar o AP, e esta mesma chave será configurada em todos os dispositivos móveis pertencentes à rede. A decisão de trocar a chave cabe ao gerente, 52 pois é este quem define qual melhor tempo para tal circunstância. Pode-se também, usar duas chaves padrão simultaneamente. Desta forma, a chave usada para criptografar os dados é definida, chamada de chave ativa, já a chave de decriptação dos pacotes, pode ser qualquer uma das duas chaves. Mas não é apenas assim que chaves padrão podem ser utilizadas, pois, existem quatro chaves, e até agora só foram utilizadas duas. É possível a utilização de múltiplas chaves, onde duas delas serão usadas no AP e as restantes pelos dispositivos móveis. É importante ressaltar que, não é obrigatório o uso das quatro chaves, pois como dito anteriormente, o padrão pode operar bem com o uso de apenas duas delas [3]. Figura 15 – Chave Padrão 5.1.1.2. Chaves mapeando chaves É de fácil uso em grandes corporações, pois neste caso, cada dispositivo móvel possui sua própria chave, não tendo o administrador da rede que configurar cada máquina individualmente. Existem três tipos de mensagens que trafegam pela rede: unicast, multicast e broadcast. As mensagens unicast são aquelas enviadas a um único destinatário; mensagens multicast são enviadas a vários destinatários e, por fim, broadcast são as mensagens enviadas a todos os componentes da rede. As chaves mapeando chaves só utilizam as mensagens unicast, pois seu objetivo é fazer com que o AP envie a chave apenas para um destinatário e, sendo assim, não poderia utilizar nenhum dos outros tipos de mensagens, já que as demais são de envio de informações 53 para mais de um componente da rede. Assim como as chaves padrão, esse tipo de chave também utiliza pelo menos duas chaves em cada dispositivo e possui uma chave ativa. Só que neste caso, é mais complicado do que o anterior, pois o AP precisa saber qual chave ativa os equipamentos ligados a ele. Quando recebe um pacote, o AP precisa distinguir os remetentes dos endereços MAC e utilizar um indexador para encontrar a chave certa para desencriptação. E, antes de transmitir, precisa saber qual a chave certa do endereço de destino. Figura 16 – Chaves Mapeando Chaves Outra dificuldade desse tipo de chave é que a lista de chaves restringe o tamanho da memória e, se houver vários pontos de acesso, todos eles precisam ter uma cópia para usá-la. Isso torna a administração da rede mais complicada e mais propensa a erros. 5.1.2. Funcionamento Quando o WEP é utilizado, tenta-se fazer com que os dados sejam criptografados de tal forma que um atacante não consiga compreender o referente conteúdo. Para decifrar determinada criptografia WEP, o IEEE 802.11 estipulou que é necessário primeiramente burlar a autenticação do WEP e, em seguida, a criptografia. O WEP opera, como ilustrado na Figura 17, já foi dito, baseado em uma chave estática e outra dinâmica. Estas chaves são concatenadas e, em seguida, aplica-se o algoritmo RC4 no resultado das chaves. Desta forma é gerada a key stream, uma chave definitiva. Após a conexão da chave estática, serão geradas outras quatros chaves, onde apenas de uma delas 54 será a escolhida para criptografar os dados e só será trocada quando a chave estática original também sofrer alteração. Para dificultar a ação de ataques de força bruta ou de dicionário é adicionado, a esta chave, o Vetor de Inicialização. Figura 17 – Operação do WEP [3] 5.1.2.1. RC4 O padrão IEEE 802.11, define duas fases para uma segurança mais adequada da rede, sendo que a primeira é que a autenticação e, em seqüência, a criptografia dos dados. Sistemas seguros baseiam-se em duas premissas: o fluxo cifrado e o bloco cifrado. O fluxo cifrado pega uma seqüência de dados comuns (plaintext) e a transforma em dados criptografados (ciphertext). Já no bloco cifrado, ao invés de se pegar bytes individuais, pega-se blocos de dados, sendo que neste caso é suportado apenas um bloco a cada período de tempo. Cada bloco possui um comprimento fixo e, geralmente são formados de 8, 16 ou 32 bytes. A diferença entre estes dois tipos é que o fluxo cifrado atualiza seu estado assim que o 55 dado é processado, enquanto no bloco cifrado, seu estado é resetado para cada bloco antes que seja feito seu processamento [3]. O WEP utiliza o fluxo cifrado, chamado de RC4. É exatamente na criptografia que o RC4 desempenhará sua função de cifrar. Ou seja, cada informação que passar pelo RC4 sairá completamente diferente do texto original, tornando-se ilegível, porém com o mesmo comprimento. Desta forma, o conteúdo trafega pelo meio e, chegando ao destino, o processo de decriptografia é realizado objetivando a legibilidade do pacote. Cada pacote é tratado como um fluxo de dados, se algum deles se perder, os que virão em seqüência ainda podem ser decriptados. A vantagem do RC4 está na sua facilidade de execução, devido à ausência de cálculos complicados. 5.1.2.2. Vetor de Inicialização - IV Existe um problema em relação ao uso de chaves com tamanho fixo, pois pode acontecer do algoritmo de criptografia fixar os bytes criptografados em uma determinada posição, desta forma, sabe-se que os plaintext original está sendo repetido. O endereço IP, sempre permanece na mesma posição no pacote, então se já é conhecido o local onde os bytes encriptados estão localizados, sabe-se também que a mensagem é pertencente ao mesmo endereço IP. Este tipo de situação facilita para o atacante obter dados vitais da rede [3]. A solução para este problema é o Vetor de Inicialização (IV); composto por 24 bits aleatórios nos quais são combinados à chave resultante que será e emitida ao RC4, vide Figura 18. Dessa forma, mesmo que os dados originais sejam idênticos, eles terão aparência completamente diferente após a criptografia. Figura 18 – Uso do Vetor de Inicialização 56 Embora esta abordagem adote chaves com o mesmo valor para cifrar com relativa freqüência, há um grande problema em usar troca de chaves para cifrar todos os pacotes: o invasor irá saber, em tempo relativamente curto, o método de cifragem. Mesmo sendo emitido à rede abertamente, ou seja, livre de criptografia, o IV é teoricamente sem utilidade para o atacante; já que, além do vetor, deve-se conhecer a chave secreta, fazer a combinação e, ainda, passar o resultado pelo RC4. Além disso, o IV é dinâmico, sendo mudado constantemente, incrementando um grau de dificuldade para o invasor. 5.1.3. Mecanismos do WEP A comunicação realizada entre as redes sem fio e os dados do sistema, precisam passar pela camada de serviço MAC do padrão IEEE 802.11. Os pacotes de dados que trafegam pelas redes sem fio são chamados de MSDU – Unidade de dados do serviço MAC. Normalmente, o MSDU sai da camada de serviço MAC no dispositivo de destino, é passado para o sistema operacional, ou então, é entregue para a aplicação alvo. Porém, antes de chegar à transmissão via rádio, esse MSDU pode fragmentar-se, tem-se então um processo de fragmentação. Cada fragmento é processado durante a criptografia WEP e, a ele, será adicionado um cabeçalho MAC na parte frontal e, em seu fim, será adicionado um verificador de palavras. Este MSDU, agora com mais bytes adicionados ao seu corpo, passa a se chamar MPDU – Unidade de dados do protocolo MAC que possui tamanho variando entre 10 e 1500 bytes, dependendo do conteúdo do MPDU. Outra fase importante da criptografia é a adição de mais bytes a esse conjunto, os valores de checagem de integridade (ICV). Como o próprio nome sugere, o ICV busca garantir a integridade dos dados, para encriptação e decriptação. Possui 4 bytes de checagem de palavra, que são calculados a partir da combinação de todos os bytes de dados, é adicionado ao final do quadro para, em seguida, tanto os dados quanto o ICV, sejam criptografados, de acordo com a Figura 19. Desta forma, a nova combinação estará pronta para a transmissão pode ser processada. 57 Figura 19 – Adição do ICV 5.1.3.1. Transmissão do quadro Após a etapa descrita anteriormente, o quadro está pronto para ser criptografado. Na fase seguinte, o sistema escolhe o IV e o anexa à chave secreta WEP (seleção da chave ativa), com isso é iniciada a criptografia através do algoritmo RC4. O bloco de dados e ICV são criptografados, o resultado desta combinação chama-se stream cipher, ou fluxo de cifras. Porém, para decifrar a mensagem, são necessários quatro bytes adicionais no início da mesma, ou seja, o receptor precisa conhecer o ID da chave e o valor do IV, como mostra a Figura 20. Os primeiros três bytes são reservados para o IV, enquanto o último byte é reservado para o ID da chave, que pode ser 0, 1, 2 ou 3. A partir dessa fase, o quadro pode ser enviado. O processo de recebimento é lógico, pois o bit WEP é setado e o receptor pode ler e armazenar o valor do IV, assim como, realizar a mesma operação em relação ao ID da chave. Desta forma o receptor pode selecionar a chave WEP correta, anexar o IV e, realizar o processo de desencriptação. O RC4 não faz distinção entre encriptar e decriptar, desta forma, se for feito o processo de criptografia duas vezes no mesmo dado, consegue-se o dado original. O passo final é calcular o ICV e verificar se este combina com o da mensagem recebida. Figura 20 – Adição do IV e ID da chave 58 5.2. WPA (Wi-Fi Protected Access) Com o intuído de suprir as falhas de segurança em redes wireless nas qual o WEP atuava, o IEEE padronizou uma nova abordagem de segurança que, além de corresponder às expectativas de segurança, é compatível com implementações WEP. A essa abordagem deu-se o nome de IEEE 802.11i, padrão responsável por estipular uma série de novos mecanismos de segurança, objetivando concretizar o que é denominado de RSN (Robust Security Network – Rede de Segurança Robusta). Para que a RSN seja obtida, é necessária uma etapa de adaptação denominada TSN (Transitional Security Network – Rede de Segurança Transitória), na qual podem operar em paralelo o RSN e o WEP [3]. Baseando-se em todos esses mecanismos, o WPA foi criado e, da mesma forma que o WEP, também é um protocolo de encriptação de dados para redes sem fio. Além disso, o WPA também oferece dois novos mecanismos de segurança: hierarquia de chaves e o protocolo TKIP. 5.2.1. Hierarquia de chaves WPA A hierarquia de chaves WPA foi desenvolvida com o intuito de gerenciar os dois tipos de chaves existentes nesse protocolo, pairwise e group key, ilustradas na Figura 21. 59 Figura 21 – Pairwise Key e Group Key do WPA [3] Pairwise Key Utilizada em comunicação unicast por se tratar de uma comunicação privada entre duas partes, esta chave protege a comunicação entre o dispositivo móvel e o AP, sendo que o primeiro precisa armazenar uma pairwise key, enquanto o segundo precisa armazenar um conjunto de pairwise key (uma para cada dispositivo móvel a ele associado). Group Key Utilizada em comunicação broadcast (ou multicast), por se tratar de uma comunicação onde os dados são enviados para todos ou para muitos dispositivos móveis, formando assim, um grupo de confiança. Portanto, esta chave deve ser compartilhada entre todos os membros do grupo de dispositivos confiáveis e, cada equipamento móvel confiável e o AP possuem uma group key. 60 5.2.1.1. Hierarquia Pairwise Key A hierarquia começa com uma chave mestra chamada PMK (Pairwise Master Key). Existe uma PMK para cada dispositivo móvel e, é a partir desta chave que todas as pairwise key são geradas. Existem duas formas, através do qual, a PMK pode ser gerada. A primeira delas é através do servidor de autenticação, no qual se gera a PMK. Porém esta chave só é repassada à estação e ao AP depois de concluído o processo de autenticação que utiliza o protocolo EAP, no qual será abordado em maiores detalhes no capítulo 7; a segunda possibilidade seria através de chave pré-compartilhada, neste caso, a PMK é configurada no dispositivo móvel e no AP. A PMK não foi criada com o intuído de realizar a proteção. Ela, na verdade, tem como objetivo criar um conjunto de quatro chaves, chamada PTK (Pairwise Transient Key), para proteger a comunicação entre os dispositivos. Esse conjunto é formado pelas seguintes chaves: • Chave de encriptação de dados • Chave de integridade de dados • EAPOL-Key Encryption Key • EAPOL-Key Integrity Key Cada uma destas chaves possui 128 bits, sendo assim, a PTK possui comprimento total de 512 bits. Cada vez que uma nova estação se associa ao AP, uma nova PTK é gerada. Para garantir que a mesma chave não seja utilizada por um longo período de tempo, é adicionada a ela o chamado liveness, que é conseguido através de um valor adicionado no cálculo, chamado Nonce. O valor Nonce é um valor aleatório, e cada dispositivo gera o seu próprio Nonce. É importante que cada componente passe seu Nonce para o outro a fim de gerar a PTK. Além desses valores, também é necessário incluir o endereço MAC de cada um dos componentes, e da mesma forma que ocorre com o valor Nonce, estes devem ser passados da estação para o AP, e vice-versa, para a geração da PTK. A Figura 22 ilustra o cálculo da chave de transição, onde há as entradas descritas e as quatro chaves geradas na saída. 61 Figura 22 – Cálculo da Chave de Transição [3] A duas primeiras chaves são utilizadas para criptografia e verificação da integridade dos dados, respectivamente. As duas últimas são usadas para proteger a comunicação entre o AP e o dispositivo móvel durante o início do handshake. Esse processo é a troca de valores Nonces entre o AP e a estação, para garantir que ambos possuem a PMK. Todo processo de handshake é feito utilizando a mensagem do protocolo EAPOL chamado EAPOL-key e é iniciado com a criação do valor Nonce de cada componente. O Nonce gerado pela estação (suplicante) é chamado de SNonce, já o gerado pelo AP (autenticador) é o ANonce. Depois desta etapa, existe a troca desses valores, feito por troca de mensagens em quatro fases (A, B, C e D). • Mensagem (A): Autenticador para Suplicante Esta é a primeira mensagem EAPOL- key, enviada do autenticador para o suplicante. Esta mensagem não possui nenhum tipo de criptografia ou proteção contra adulteração, mas qualquer tipo de modificação, por mais simples que seja, faz o handshake falhar. É nesta mensagem que o suplicante recebe o valor do ANonce. Na verdade, com essa mensagem, o suplicante já possui todas as informações necessárias para a geração da PTK, já possui o ANonce e o endereço MAC do autenticador, conhece seu próprio SNonce e seu endereço MAC, e conhece também a PMK. • Mensagem (B): Suplicante para Autenticador Agora o suplicante enviou ao autenticador o valor do SNonce. A mensagem continua sem nenhum tipo de criptografia, porém, desta vez, possui um valor de verificação de integridade (MIC) para prevenir qualquer tipo de adulteração do conteúdo, sendo a primeira 62 vez que a mensagem de integridade do EAPOL-key foi utilizada; o mais importante é saber se o suplicante realmente conhece o PMK. Haverá uma comparação entre as PMKs, se a chave do suplicante não for igual ao do autenticador haverá falha na verificação da mensagem. Como a mensagem não está criptografada, é possível extrair o SNonce da mensagem, gerar o PTK e então fazer a verificação da mensagem. • Mensagem (C): Autenticador para Suplicante Esta mensagem é enviada ao suplicante para informar que o autenticador está pronto para iniciar a encriptação dos dados. É importante que haja sincronização, pois se algum dos dispositivos iniciarem a encriptação antes que o outro gere a PTK, a conexão falhará. • Mensagem (D): Suplicante para Autenticador Esta última mensagem completa as fases do handshake e indica que o suplicante instalará as chaves e começará a encriptação. Ao receber esta mensagem, o autenticador também instala suas chaves e a partir de então, todas as mensagens subseqüentes serão criptografadas. Para isso, foram realizados os seguintes passos: 1. Troca de ANonce e SNonce. 2. Chaves temporárias calculadas. 3. Suplicante prova conhecer PMK. 4. Autenticador prova conhecer PMK. 5. Ambos os dispositivos são sincronizados e iniciam o processo de encriptação dos dados. 5.2.1.2. Hierarquia Group Key Diferentemente da pairwise key, para comunicação em broadcast ou multicast, utiliza-se as group key. Como dito anteriormente, todos os dispositivos móveis e o AP compartilham um único conjunto de group key. A chave é gerada pelo access point, e apenas este pode enviar mensagens em broadcast ou multicast, porém quem inicia a comunicação é a estação a ele associado. 63 Na distribuição da group key é usada a mensagem EAPOL-key, assim como nas pairwise key, porém, ao invés de quatro chaves, são distribuídas apenas duas. O AP gera uma chave máster, chamada GMK, com comprimento de 256 bits. É a partir desta, que a GTK (Group Transient Key) é criada, para desta forma, gerar as duas chaves de encriptação e integridade dos dados, que são: • Group Encryption Key (128 bits). • Group Integrity Key (128 bits). A comunicação da pairwise key inicia-se em uma conexão insegura e corre o risco de sofrer com ataques de espionagem. Depois dessa fase inicial, as mensagens que se seguem passam a trafegar com um canal seguro. A group key, pode aproveitar-se desse canal seguro logo após a pairwise key estabilizarem a comunicação, e desta maneira, utilizar um meio mais seguro para enviar o valor da group key. E por fim, o AP calcula a group key e realiza a distribuição. 5.2.1.3. Protocolo TKIP É um protocolo de segurança melhor que o WEP e pode ser operado nos mesmos sistemas e hardwares que o anterior atuava por meio de atualizações. O TKIP acrescenta algumas melhorias para corrigir as falhas existentes do WEP. Mas antes de descrever as melhorias, serão apresentadas as deficiências, são elas: 1. Valor do IV muito pequeno e não é protegido de reutilização; 2. As chaves construídas a partir do IV possuem as mesmas fraquezas do seu gerador; 3. Não há proteção efetiva contra adulteração de mensagens; 4. Utiliza a chave mestre diretamente e não foi construído dentro do WEP nenhum mecanismo que cuide das chaves durante a atualização; 5. Não existe proteção contra chaves replicadas. Agora que as falhas já são conhecidas, as soluções para elas já podem ser apresentadas, como mostra a tabela 1. 64 Tabela 1 – Mudança do WEP para TKIP [3] Mensagem de integridade Para verificar se não há adulteração das mensagens, o TKIP acrescentou uma mensagem de integridade de dados com o auxílio do algoritmo Michael. Este algoritmo calcula um valor de checagem de 8 bytes chamado MIC (Message integrity code) e este é anexado ao MSDU antes da transmissão. A vantagem do Michael é que ele utiliza sua própria chave de integridade, que é diferente da chave de encriptação. Sendo assim, apenas quem possui a chave de integridade pode realizar alguma modificação na mensagem. A chave reservada para este fim no WPA é o Data Integrity Key. Seleção do IV No WEP o valor do IV era escolhido randomicamente para cada pacote enviado. No WPA as regras em relação a como escolher esse valor mudam. O IV passa a ter valor inicial zero e a cada pacote enviado, este valor é incrementado em uma unidade. Comprimento do IV O grupo IEEE 802.11 decidiu aumentar o tamanho do IV para evitar seu reuso. Resolveu-se então, que seriam acrescidos 32 bits, totalizando 56 bits, porém apenas 48 bits 65 são utilizados na prática. Considerando um dispositivo que envie 10 mil pacotes por segundo (pacotes de 64 bytes a 11Mbps), com um IV de 24 bits este seria gerado novamente em pouco menos de uma hora e meia, mas com o novo comprimento de 48 bits, isto só ocorreria em torno de 900 anos. Desta maneira, o IV passa a ter como objetivo ser contador de seqüência, já que a cada pacote enviado o próximo valor é previsível. Chave por pacote O TKIP oferece um mecanismo novo em relação a encriptação, que é o fato de cada pacote enviado utilizar uma chave diferente. A chave de encriptação – Data Encryption Key – não é o único elemento utilizado para este fim, além desta chave, há também o IV e o endereço MAC do transmissor, sendo todos utilizados no algoritmo RC4. O processo de geração da chave para criptografia dos dados por pacote é dividido em duas etapas. A primeira delas envolve todos os dados estáticos, como: chave de encriptação de dados, 32 bits da mais alta ordem do IV e endereço MAC. A segunda etapa é um cálculo rápido, que inclui o único elemento dinâmico do pacote, os 16 bits de mais baixa ordem do IV. • Dados utilizados: IV = 48 bits, onde: HIV = 32 bits de mais alta ordem; LIV = 16 bits de mais baixa ordem. MAC = endereço MAC do transmissor (48 bits); KEY = chave de encriptação de dados (128 bits); P1K = resultado da primeira etapa (80 bits); P2K = resultado da segunda etapa (128 bits). • Cálculo utilizado: P1K etapa1 (MAC, HIV, KEY); P2K etapa2 (P1K, LIV, KEY); O valor de IV é resetado para 0 toda vez que o sistema inicia ou quando ocorre mudança na chave. O sistema calcula o P1K e o armazena para gera o P2K. O resultado da primeira etapa precisa ser calculado apenas quando há mudança no valor do HIV, isso ocorre 66 a cada 65.536 pacotes enviados. Após a mudança do HIV, o P1K já pode calcular novamente seu valor, pois assim, quando todos os pacotes tiverem sido enviados, este valor já estará pronto e o P2K já será calculado imediatamente, evitando atrasos. 5.3. WPA2 O WPA é um mecanismo de segurança das redes sem fio e, assim como descrito na Sessão 5.2, foi seguiu as especificações do padrão IEEE 802.11i. Porém, como o WPA antecede a conclusão deste padrão, ele não implementou todas as especificações. Sendo assim, foi criada uma segunda versão deste mecanismo, chamado WPA2, que implementou todos os mecanismos de segurança introduzidos pelo IEEE 802.11i. No WPA2, um novo protocolo de segurança é criado, chamado CCMP (Counter Mode with Cipher Block Chaining MAC Protocol), introduzindo um novo algoritmo para encriptação de dados chamados AES (Advanced Encryption Standard). A hierarquia de chaves, visto na Sessão 5.2.1, continua a mesma utilizada pelo WPA, diferenciando pelo fato de haver uma única chave para encriptação e integridade dos dados. Desta forma, a hierarquia de chaves do WPA2, se estabelece da seguinte forma: • Hierarquia do Pairwise Key, o PTK subdivide-se em: Data Encryption/Integrity Key (128 bits); EAPOL-Key Encryption Key (128 bits); EAPOL-Key Integrity Key (128 bits). • Hierarquia do Group Key, o GTK subdivide-se em Group Encryption/Integrity Key (128 bits). 5.3.1. AES O AES não é um protocolo de segurança, é um algoritmo de encriptação de bloco de dados. Esse método combina uma chave (Data Encryption/Integrity Key) e um bloco de dados de 128 bits (não criptografados), produzindo um outro bloco de dados diferente 67 (criptografado). O processo utilizado para encriptação é o mesmo para desencriptação dos dados, desta forma facilitando para os fabricantes, pois estes não precisam implementar processo decriptação, sendo que apenas o de encriptação já é o suficiente. 5.3.2. CCMP É o protocolo de segurança do WPA2. Por utilizar o AES, este protocolo é responsável por dividir os quadros em blocos de tamanhos iguais de 128 bits, pois o algoritmo AES só realiza a encriptação do bloco se estes possuírem tamanho fixo. O CCMP também é responsável por incluir um total de verificação no dado a ser enviado, possibilitando a verificação de possíveis erros durante a transmissão. Esse total de verificação é calculado pegando o primeiro bloco de 128 bits da mensagem e o encripta utilizando o AES. Faz-se uma operação XOR entre o resultado anterior e o próximo bloco, e o resultado deste é encriptado novamente. E por fim, faz-se outra operação XOR entre o resultado anterior com o próximo bloco, e assim sucessivamente, até findar os blocos. O resultado desse total de verificação é um bloco de 128 bits com a combinação de todos os blocos, sendo que qualquer alteração realizada em um dos blocos, o resultado final também será alterado. 6. Autenticação O conceito de autenticação é algo de fácil entendimento, entretanto, existem problemas de autenticação como seus mais variados métodos de implementação e solução ideal e completa com difícil obtenção, já que requisita um profundo conhecimento de todos os problemas que a autenticação envolve [6]. A autenticação é responsável pelo controle de acesso da rede, ou seja, define quem irá (ou não) usufruir os recursos do ambiente em questão. Dessa forma, a definição e implementação de um mecanismo de autenticação torna-se uma das formas mais importantes para a obtenção de uma rede wireless confiável. Afinal, é muito tranqüilizador o fato de se ter certeza que a pessoa realmente seja quem diz ser. A seguir serão vistos alguns mecanismos de autenticação, alguns mais simples e, portanto, vulneráveis; outros mais sofisticados e complexos. Estes últimos são os ideais a fim de fornecer uma autenticação robusta. 6.1. Mecanismos de Autenticação Vários mecanismos de autenticação foram desenvolvidos para oferecer um serviço dial-up para os usuários. Dentre estes mecanismos, o que mais se destaca é o Protocolo ponto a ponto (Point-to-point Protocol – PPP); desenvolvido com o objetivo de facilitar a forma com que o usuário faz a autenticação e, ao mesmo tempo, armazenando seus dados [6]. 6.1.1. PPP Entre outros serviços oferecidos, o PPP fornece encapsulamento dos dados entre o cabeçalho PPP e a redundância cíclica (CRC), propiciando resistência a erros de canais aleatórios; porém não há proteção contra ataques intencionais. Para isso, são realizadas três 69 fases. Primeiramente, o usuário e a rede negociam parâmetros da conexão como o tamanho do quadro, por exemplo. A esta fase, é dado o nome de LCP (Link Control Protocol – Ligação de Controle do Protocolo). Em seguida ocorrerá a fase de autenticação, onde assegura que a autenticação ocorra da forma com que a fase de negociação estipulou. Originalmente, o PPP suporta o PAP (Password Authentication Protocol – Protocolo de Autenticação de Senha) e o CHAP (Challenge Handshake Protocol – Protocolo com Desafio Handshake) como métodos de autenticação. A definição entre a escolha destes protocolos é explicitada no campo protocolo do cabeçalho PPP. E, finalmente, na fase NCP (Network Control Protocol – Protocolo de controle de Rede) serão negociados os protocolos da camada de rede, como o IP. O formato do PPP está ilustrado na tabela 2. Tabela 2 – Formato do pacote PPP [6] Nome do campo Cabeçalho PPP Sub-campo Endereço Controle Protocolo Código da mensagem Dados Mensagem ID Tamanho da Mensagem CRC Descrição Para distinguir erros e mensagens de controle ID para protocolo, para os dados tanto encapsulados em pacotes PPP quanto para dados PPP (0021 para IP, C023 para PAP, C223 para CHAP) 01 para configurar requisição, 02 e 03 para configurar ack e Nack 04 para configurar rejeição Ativa uma seqüência de números para averiguar requisições e respostas. Tamanho da mensagem Verifica dados originais 6.1.1.1. PAP e CHAP O PAP é o protocolo de autenticação utilizado pelo PPP mais primitivo, no qual consiste em um fornecimento de senha ao usuário. Portanto, apenas usuários com senhas fornecidas corretamente ao autenticador serão autenticados. Quando um usuário informa sua senha, o autenticador produz um pedido de autenticação PPP encapsulando as credenciais deste usuário interno a um quadro PPP. A partir do momento que estas ações são trafegadas ausentes de proteção, o uso do PAP através do PPP é considerado bastante inseguro [6]. Com o intuito de corrigir os problemas do PAP, foi desenvolvido o CHAP, no qual propõe um desafio ao usuário. Este desafio é representado por uma pergunta que é enviada pelo servidor ao suplicante e, este último, por sua vez, responderá a pergunta fornecendo-a 70 juntamente com um algoritmo denominado MD5. O servidor, ao obter essa resposta, usará o mesmo MD5 a fim de certificar se o suplicante será autenticado. Vários algoritmos podem ser utilizados no CHAP. Contudo, o MD5 é o único especificado na RFC 1994, na qual o CHAP é tratado. Para melhorar a segurança do CHAP, o servidor pode fazer com que o desafio seja alterado frequentemente, assim ficará mais difícil para algum atacante capturar a resposta correta. De maneira similar ao PAP, quando o CHAP é utilizado como mecanismo de autenticação sobre PPP, os próprios pacotes do CHAP são inseridos em quadros PPP como dados PPP. Apesar de a senha do usuário não ser transmitida livremente, seu armazenamento pode ser comprometedor; o que torna o CHAP sujeito à insegurança. O PAP impede esse armazenamento de valores de senhas em tabelas hash, mas essa operação não é possível no CHAP. O inconveniente é que o desafio e os valores em hash são enviados ao longo da mensagem, estando sujeito a ataques de dicionário e de força bruta. 6.1.1.2. Desvantagens do PPP Quando o PPP é utilizado, um outro protocolo deve auxiliar a proteção desses dados desde a extremidade PPP do usuário até o servidor de autenticação de forma segura. Mais adiante será tratada essa abordagem focando a segurança do acesso fornecido pelo PPP. Em relação ao PAP e CHAP, são apenas protocolos de autenticação; não de criptografia. Assim, dados que transitam utilizando PPP não têm a confidencialidade, estando completamente desprotegidos. Isso se deve ao fato de que o PPP foi desenvolvido para ser utilizado em linhas telefônicas, nas quais dificilmente são atacadas [6]. Por estas razões o PPP é completamente inadequado para autenticação em redes 802.11, fazendo com que sejam criados mecanismos de autenticação específicos. 6.1.2. EAP As desvantagens do PPP fizeram originar o EAP (Extensible Authentication Protocol – Protocolo de Autenticação Extensível) com o objetivo de complementar os mecanismos de autenticação antecessores. Este novo protocolo pode ser considerado como um substituto do PAP e CHAP. A grande diferença entre o EAP e os outros é que sua autenticação de 71 parâmetros ocorre na fase de autenticação, enquanto PAP e CHAP ocorrem durante a fase LCP; ou seja, uma fase antes. Atualmente, o EAP é considerado um método que suporta vários mecanismos de autenticação. Mais detalhes sobre o EAP será tratado posteriormente. 6.2. Autenticação dos Dispositivos A maneira ideal de se fazer autenticação de um dispositivo é através de certificados e do fornecimento de uma autenticação baseada neste certificado. Para isso, é necessário que o dispositivo seja autenticado anteriormente ao usuário. Caso contrário, um usuário mal intencionado, como um intruso, poderá facilmente adentrar na rede. Com o intuito de facilitar o entendimento, será considerada, neste próximo tópico, que as duas extremidades possuem, cada, uma chave privada e outra pública. 6.2.1. Autenticação por Chave Pública Nesta abordagem o suplicante usa sua chave privada para se autenticar. Já o autenticador fará a verificação usando chave pública. Considerando a exclusividade de conhecimento da chave privada, o suplicante torna-se, também, o único capaz de decifrar a mensagem do suplicante. 6.2.2. Autenticação por Certificado Este mecanismo, segundo NIST (National Institute of Standars and Technology – Instituto Nacional de Padrões e Tecnologia dos Estados Unidos), é ausente de definições e regras a serem consideradas, tais como desafios e certificados. Entretanto há uma seqüência de passos que devem ser seguidos, como mostra a Figura 23. Opcionalmente, o suplicante emite um pedido para ser autenticado. Nesta etapa, não há definições concisas, possibilitando a escolha de um protocolo específico, sendo variado de acordo com a implementação. O autenticador, por sua vez, aleatoriamente gera e envia um número com o desafio. Ao receber este desafio, o suplicante calcula a resposta, incluindo um certificado de chave pública, a fim de que o autenticador analise a assinatura. A partir desta 72 análise, o autenticador certifica a assinatura. Caso essa verificação seja efetivada positivamente, o suplicante será autenticado. Figura 23 – Autenticação mútua de duas chaves baseada em certificados [6] 6.3. Mensagens de Autenticação Visando fornecer integridade, as informações trafegadas por determinado meio de transmissão são de responsabilidade dos mecanismos de mensagens da autenticação [6]. Para que este embasamento tenha eficácia, o remetente precisa fornecer uma autenticidade à mensagem, ou seja, provar quem ele é. Este procedimento não é complexo, basta que o remetente faça, na mensagem, uma espécie de assinatura digital exclusiva na qual é conhecida pelas partes envolvidas na comunicação. Com maior eficiência, estas assinaturas têm bases no índice das mensagens, nos quais são substituídos frequentemente. Uma tentativa de ataque do tipo main-the-midde certamente será em vão. Na tentativa de se passar por outra pessoa ou dispositivo, o atacante não terá bons resultados, já que a assinatura é exclusiva e ele não tem conhecimento da mesma. A produção da assinatura digital exige que a mensagem do remetente passe por um algoritmo do tipo hash, gerando uma chave denominada código de autenticação de mensagem na qual é encaminhada ao receptor para verificação. O principal algoritmo utilizado com o intuito de realizar esse trabalho descrito acima é o MD5. Seu funcionamento detalhado vai além do escopo deste trabalho e, portanto, não será abordado. 6.4. Classes dos Mecanismos de Autenticação Como a quantidade de mecanismos de autenticação é bastante vasta, uma 73 padronização dos mesmos tornou-se necessária. A fim de auxiliar essa classificação, alguns critérios foram utilizados. Neles, a autenticação é considerada um mecanismo em que as entidades a serem autenticadas devem: ter uma prova física, conhecer uma senha e ser conectada [6]. 6.4.1. Senhas livres no espaço Entre os métodos de autenticação, este é o mais tradicional e simples. Nele, o usuário encaminha, juntamente com o pedido de autenticação, seu login e senha. O pedido é verificado por um servidor no qual compara, com o auxílio de um algoritmo, a senha fornecida; visando diferenciar este usuário de prováveis intrusos. Este método está sujeito a vários problemas como ataques de Sniffing, Denial of Service e de Dicionário, conforme capítulos anteriores. 6.4.2. Senhas Únicas Esta abordagem trata de senhas que serão utilizadas apenas uma vez. Sem grandes mudanças nos sistemas, corrige a maioria dos problemas encontrados na classe anterior e, portanto, o protocolo de comunicação é praticamente o mesmo. Dessa forma, uma lista de senhas diferentes é repassada ao usuário, porém, elas devem ser usadas apenas uma vez, como dito anteriormente. A partir do momento em que o objetivo dessa classe é alcançado, a senha pode trafegar livremente, como na classe anterior. 6.4.3. Desafio/Resposta Semelhante ao CHAP, tratado na sessão 6.1.1.1, nesta classe o autenticador (ou servidor) encaminha uma pergunta em forma de desafio: caso a resposta do suplicante esteja correta, ele será autenticado. Caso contrário terá o acesso negado. As principais finalidades do Desafio/Resposta são de evitar emissão de senha através do meio (no casso do 802.11, o ar) e, consequentemente, evitando ataques do tipo Sniffing. Em situações de projetos inadequados, essa classe pode se tornar menos eficiente que o sistema de senhas. Quando o servidor deixa uma senha do usuário livre enquanto analisa a 74 resposta, adquirir as senhas torna-se uma tarefa bem simples aos atacantes. A solução deste problema é utilizar o MD5 de dois estágios. Nele, o servidor calcula a senha usando uma falsificação e um armazenamento. Quando o servidor envia o desafio e a falsificação para o usuário, enquanto espera a resposta, é realizado o MD5 de dois estágios. Nesse momento, a senha armazenada é ao usuário juntamente com a falsificação. Em seguida, quando o usuário responder normalmente ao desafio, essa resposta estará junta com a falsificação e, quando chegar ao servidor, este saberá que, juntamente à resposta, há uma falsificação. 6.4.4. Troca de chave anônima De forma sucinta, trata-se de chaves públicas compartilhadas que dão origem às chaves privadas. Deve-se ressaltar que chaves públicas e métodos de criptografia são solicitados apenas para trocar as chaves iniciais e não para a autenticação propriamente dita. A principal desvantagem é que o cliente deve saber tratar criptografia de chave pública. Alem disso, se os pares não fornecem prova de identidade, a troca de chaves será considerada anônima. Uma solução para este problema é fazer com que cada parte tenha uma certificação confiável. Assim, será incluída no certificado de chave pública, a própria chave pública e a assinatura de certificado confiável. 6.4.5. Prova do conhecimento da senha zero Esse método foi muito bem desenvolvido, evitando problemas nos mecanismos de autenticação que requer chaves pré-compartilhadas ou senhas que podem sofrer ataques de Snifing ou man-in-the-middle. Entretanto trata-se de um método proprietário, tornando-se bastante rejeitado e inacessível quanto seu funcionamento. 6.4.6. Certificados do servidor com autenticação do cliente Essa classe baseia-se na premissa de que um canal de comunicação seguro baseado na autenticação unidirecional foi estabelecido entre cliente e servidor. Após essa etapa a autenticação torna-se bidirecional com um dos métodos descritos anteriormente. Entretanto, mesclar classes pode não ser muito seguro, reduzindo drasticamente a confiabilidade do 75 método mais robusto. De certa forma, é mais prático fornecer senhas apenas aos servidores, onde normalmente são em menor número que os clientes. Assim, depois de estabelecida a conexão segura, o servidor certifica os usuários com sua própria senha. Essa prática tornou-se bastante popular em negócios pela Internet (e-comerce e e-business). 6.4.7. Autenticação mútua da chave pública Este é o método mais robusto e seguro no qual tanto servidor quanto cliente possui um certificado de chave pública, visando a autenticação. A robustez se deve ao fato de que nenhuma comunicação é concretizada antes de se ter certeza que ambas as partes são elas mesmas. Já a segurança é considerada confiável, pois, nenhum intermediário à mensagem irá romper o certificado que as partes encaminham. O problema é que trabalhar com certificados requer conhecimentos avançados. Portanto, uma chave que foi perdida, por exemplo, compromete toda a segurança. Por exemplo, manter as chaves dos clientes confidenciais é frequentemente mais difícil, sendo considerado o principal problema dessa classe. A conscientização do cliente a fim de manter o dispositivo e a senha sempre seguros torna-se um grande aliado em prol da segurança, principalmente se a senha for memorizada. 6.5. Autorização e Contabilidade Existe uma abordagem na qual tem o objetivo de trabalhar em conjunto com a Autenticação, melhorando e complementando seu desempenho. Essa abordagem é um conjunto de serviços denominado de AAA (Authentication, Authorization and Accounting – Autenticação, Autorização e Contabilidade). O conjunto AAA, na verdade, preconiza que estes três serviços sejam oferecidos por um servidor apenas: o servidor AAA. Porém, esse servidor pode ser implementado separadamente. Dependendo da aplicação, em muitas redes, a autenticação está em conjunto com a autorização. Esse é o exemplo do funcionário que deseja conectar-se à rede de sua empresa. Em outros casos a autorização está acoplada na contabilidade, como nas redes pagas. Apesar de várias aplicações, como na telefonia, um servidor AAA tem papel fundamental nas implementações 802.11, pois fornece elevado grau de segurança. Portanto, 76 além da autorização, é de grande valia tratar também da autorização e contabilidade. 6.5.1. Autorização Autorização é definida como o ato de determinar se um privilégio pode ser concedido a um dispositivo ou usuário em particular [6]. Esse privilégio pode ser, por exemplo, uma permissão de acesso à Internet ou qualquer outro tipo de recurso que é oferecido pela rede. 6.5.1.1. Diferenças entre Autenticação e Autorização Dependendo das regras estipuladas pelo administrador da rede, uma identificação do usuário, ou seja, a autenticação em alguns casos não é o suficiente para conceder serviços ao usuário. A rede deve proporcionar alguma forma de definir os tipos de usuários e decidir se autoriza ou não determinado recurso. Em termos práticos, usuários são divididos por grupos; uns com mais privilégios outros com menos. Por exemplo, uma rede pode dividir seus usuários em três grupos: no primeiro, os usuários teriam acesso ilimitado à Internet; no segundo, acesso à Internet, mas sem fazer downloads e no último, os usuários teriam acesso apenas à Intranet. Já em redes pagas como wi-fi em aeroportos e shoppings, o dispositivo só será autorizado se, após a autenticação, for confirmado que o pagamento do usuário está em dia. Outro exemplo está nas empresas onde o funcionário será autorizado apenas quando provar sua filiação à empresa. Em suma, pode-se concluir que um usuário (ou dispositivo) autenticado não significa que ele está autorizado. Para se obter autorização é necessária a autenticação. Na rede tudo que está autorizado está autenticado, mas nem tudo que é autenticado será autorizado. 6.5.1.2. Padrão e Procedimentos de Autorização Uma arquitetura simplificada em sistemas que executam mecanismos de autorização é ilustrada na Figura 24. Quando o usuário emite um pedido de recurso ou serviço, ou seja, uma autorização, a Rede Provedora de Serviços consulta primeiro um servidor de autorização (servidor AAA) que contenha os perfis do usuário para, então, determinar se o usuário será autorizado ou não. Esse procedimento ocorre apenas para usuários autenticados. 77 A figura inclui também o Equipamento de Serviço, definido como uma entidade que fornece o serviço propriamente dito; que pode ser caracterizado como uma funcionalidade da rede. Entretanto, os tipos de funcionalidades fornecidas pela rede, geralmente são transparentes para os usuários. Figura 24 – Modelo de Serviço de Autorização [6] 6.5.1.3. Estrutura de Políticas e Autorização A fim de manter o processo de autorização consistente, a decisão do ato de autorizar é frequentemente feita com a ajuda de políticas pré-definidas, principalmente quando há mesclagem entre políticas de segurança e de afiliação. O conjunto de políticas a serem adotadas deve incluir algumas informações tais como: os serviços disponíveis, decisões para cada um dos recursos e o controle de cada uma das autorizações efetivadas. A estrutura das políticas também deve ter compatibilidade com as outras entidades da rede. É importante saber que o servidor AAA pode necessitar de interações com as entidades pois reforça a política durante o processo de autorização. 6.5.2. Contabilidade Muitos acreditam que contabilidade trata apenas de faturamento. Entretanto, vai muito além disso. No geral, contabilidade é definida como a coleção de informação de 78 consumo do recurso em partes ou em toda a rede [6]. Essa informação geralmente é consultada como dado de contabilidade. O dispositivo da rede que fornece serviços ao usuário (em redes 802.11, é representado pelo Access Point), coleta a informação sobre a quantia de recurso que este usuário consumiu de acordo com as necessidades da contabilidade. Em seguida, os dados coletados são transportados pelos protocolos de contabilidade gerenciados por cada aplicação da contabilidade. As aplicações variam de acordo com a política de segurança adotada na rede e com o nível de segurança proporcionado por esses protocolos. Portanto, não é fácil definir um protocolo de contabilidade para cada aplicação. A solução desse problema está na gerência da contabilidade, com o objetivo de fornecer um conjunto de ferramentas que podem ser combinadas com as exigências de cada aplicação. 6.5.2.1. Arquitetura de Gerência A arquitetura da gerência de contabilidade especifica interações entre dispositivos da rede e usuários da contabilidade, definindo também procedimentos para coletar dados utilizados. Alguns termos também são utilizados para auxiliar a gerência da contabilidade, tais como: • Métrica da contabilidade: os dados coletados são transferidos através do protocolo de contabilidade; • Servidor de Contabilidade: responsável por processar os dados oriundos do dispositivo da rede, evitando dados duplicados. No final de todo o processamento será gerado o faturamento; • Faturamento: é responsável por contabilizar quanto o usuário deverá pagar pelo uso da rede. 6.5.2.2. Segurança Em uma estrutura de contabilidade, dois tipos de transmissões de dados são necessários: troca de políticas e armazenamento dos registros de contabilidade. Ambas as comunicações introduzem perigos potenciais à segurança. Assim, as aplicações diferentes da contabilidade podem impor exigências diferentes na segurança do protocolo da contabilidade, 79 tais como: • Entidades não autorizadas não podem ler ou mudar políticas ou registros de contabilidade mantendo-os, portanto, em segredo. • A autenticação deve assegurar que os dados são originados de fontes seguras. Isso pode ser feito através de assinaturas digitais. • Os dados também não podem ser alterados durante o trajeto. Assinaturas digitais também evitam esse transtorno. A exatidão dos dados de contabilidade gerados por um fornecedor de serviço deve ser assegurada. Um fornecedor pode gerar registros de contabilidade incorretos deliberadamente ou involuntàriamente com alguma configuração defeituosa. Em conseqüência, contas incorretas podem ser efetivadas. Os clientes podem verificar a exatidão dos dados de contabilidade com os dados coletados por um terceiro partido confiado, podendo ser um fornecedor de serviço independente da contabilidade ou uma entidade mais geral que fornece um serviço específico. 6.5.2.3. Confiabilidade Tipicamente, as falhas na contabilidade incluem perda de pacote, falhas do servidor de contabilidade, falhas de rede, e reboots do usuário. Torna-se, então, de grande importância a escalabilidade e confiabilidade dos sistemas de gerenciamento da contabilidade. Entretanto, como descrito anteriormente, diferentes aplicações de contabilidade exigem diferentes protocolos. Em aplicações como faturamento, a perda de dados de contabilidade pode resultar em prejuízos financeiros. Contabilidade Temporária Aplicações de faturamento exigem que o NAS emita mensagens ao servidor AAA, indicando o início e o término das sessões para que a contabilidade seja processada. Entretanto, a quantia de informação necessária para o processo de faturamento, tal como o tempo da sessão, número de bytes transferidos, está disponível somente nas mensagens que são emitidas no fim da sessão [6]. Caso o NAS tenha algum problema como reboot, falha de inicialização ou problema na rede, as informações estarão indisponíveis tornando a contabilidade completamente ineficaz. 80 Um procedimento denominado de contabilidade temporária soluciona este tipo de problema, pois, ela faz com que o NAS envie atualizações periódicas ao servidor AAA contendo as informações das sessões dos usuários. Caso ocorra algum dos danos citados anteriormente, pouca informação será perdida. Entretanto, a aplicabilidade da contabilidade temporária pode causar transtornos maiores caso o problema na rede seja congestionamento. Nesse caso, o envio de atualizações aumentaria a taxa de ocupação do canal oferecido. Assim, o uso de contabilidade temporária é recomendado apenas para dados extremamente importantes. Isso assegura que a maioria das sessões não gere procedimentos de contabilidade temporária, fazendo com que a largura de banda bem como a memória disponível a esse mecanismo seja limitado. Protocolos de Transporte Os protocolos responsáveis pelos dados da sessão não precisam garantir o envio de pacotes, uma vez que estes passam frequentemente através de vários pontos de acesso de rede (NAS). Portanto, o protocolo mais comum para realizar o transporte das sessões é o UDP. Quando implementado nesta abordagem de contabilidade, devem-se levantar várias questões em relação ao UDP, tais como o comportamento da retransmissão, devendo esperar um tempo suficiente da primeira tentativa transmissão. 6.5.3. Autorização em conjunto com a Contabilidade Um dos principais exemplos onde a autorização está em perfeita sintonia com a contabilidade é o serviço de telefones celulares pré-pagos. Neste tipo de serviço, o usuário será autorizado a fazer ligações apenas quando efetivar a inserção de créditos em seu dispositivo. A partir daí entra a contabilidade, diminuindo a quantia desses créditos à medida que são feitas ligações. Essa abordagem é tratada na mesma metodologia em redes wireless. O usuário paga a determinada empresa uma quantia e, ao chegar com seu dispositivo em áreas de cobertura de uma rede 802.11, terá seu acesso permitido de acordo com o pacote fechado com a fornecedora do serviço. 81 7. EAP – Extensible Authentication Protocol Em um ambiente cuja transmissão é realizada pelo ar, é muito mais fácil para um atacante observar os dados que trafegam pela rede. Para que haja um meio mais seguro para troca de informações, não basta projetar um método de controle de acesso onde apenas requer que o usuário se autentique na rede. É preciso que a identidade do usuário esteja protegida dos diversos tipos de ataques. Como dito anteriormente, no PAP o usuário passa suas credenciais em ambiente sem nenhum tipo de proteção, facilitando assim, ataques de captura de tráfego. O atacante, através dessa técnica, captura a identidade e a senha do usuário e, pode imitar tal indivíduo na rede sem nenhuma dificuldade. Porém, o PAP não é o único mecanismo de autenticação vulnerável, o método de resposta desafio também possui suas fraquezas. Através da espionagem, o atacante pode gravar a pergunta desafio enviada pela rede e capturar a resposta desafio enviada pelo usuário. Feito isso, um ataque de dicionário é lançado e, será testada uma grande quantidade de conjunto de chaves, chegando às respostas originadas do desafio, desta forma, adivinha-se a senha. A melhor maneira de proteger a identidade do usuário seria o anonimato do mesmo, mantendo também em sigilo a localização durante o processo de autenticação. Para que essa solução fosse possível, seria necessário projetar mecanismos de segurança mais flexíveis. Pensando desta maneira, surgiu o EAP (Extensible Authentication Protocol) [6]. E, é neste capítulo, que será visto seu funcionamento e, como tal mecanismo auxilia no controle de acesso mais eficaz. 7.1. Princípios EAP Como foi visto no capítulo 6, existe a troca de mensagens entre o suplicante e o autenticador, para que o primeiro seja reconhecido como elemento válido na rede. É neste instante que o EAP participa do processo de autenticação, promovendo um ambiente mais seguro, possuindo um conjunto de mensagens que são utilizadas no início e no fim do acordo 82 entre os dispositivos envolvidos no processo de autenticação. Assim, foram definidos quatro tipos de mensagens a serem enviadas: • Solicitação: usada para enviar mensagem do autenticador para o suplicante; • Resposta: usada para enviar mensagem do suplicante para o autenticador; • Sucesso: enviada do autenticador para indicar o sucesso do processo; • Falha: enviada do autenticador para indicar a falha do processo. É importante ressaltar que, em um ambiente onde não há apenas o autenticador, mas também um servidor de autenticação é este último que gera as mensagens de solicitação, sucesso ou falha, cabendo ao autenticador intermediar esse processo [3]. 7.2. Formato da mensagem EAP Todas as mensagens EAP possuem basicamente o mesmo formato, como mostra a Figura 25 abaixo. Figura 25 – Formato da Mensagem EAP [3] O campo código é utilizado para indicar o tipo de mensagem que está sendo transmitida. Possui apenas um byte onde: solicitação (01), resposta (02), sucesso (03) e falha (04). O identificador é um valor entre 0 e 255 e é incrementado a cada mensagem enviada. Este valor permanece o mesmo tanto para solicitação quanto para resposta. É usado para ajudar a corresponder a solicitação a sua respectiva resposta. Comprimento, como o próprio nome sugere, é o tamanho total de bytes da mensagem EAP e possui 16 bits. Dados é a solicitação ou resposta atual que está sendo enviada. Os pacotes contendo sucesso ou falha não possuem dados e, apenas uma destas pode ser utilizada ao término do processo de autenticação para indicar o resultado. Já os detalhes de como se procede à autenticação estão contidos em um campo chamado Tipo, que se encontra nas mensagens de solicitação e resposta. A mensagem EAP de solicitação é chamada de EAP-Request, enquanto a de resposta 83 é chamada de EAP-Response. O formato desta mensagem é mostrado na Figura 26. Figura 26 – Mensagem EAP-Request / EAP-Response [3] O campo Tipo indica que tipo de informação está sendo transportado na mensagem EAP. Esse campo possui vários subtipos, sendo que as seis primeiras são definidas no padrão e, as seguintes são reservadas para métodos de autenticação específica. O mais importante destes é o subtipo Identidade (valor 1). É tipicamente utilizado na fase inicial da autenticação. Uma mensagem EAP-Request/Identity é enviada pelo autenticador ao novo suplicante. Em resposta, o suplicante envia uma mensagem EAP-Response/Identity, contendo seu nome de usuário ou alguma outra informação que será compreendida pelo servidor de autenticação [3]. As mensagens identidades do EAP são: • EAP-Identity request; • EAP-Identity response; • EAP-Success ou EAP-Failure. 7.3. EAPOL O EAP não é utilizado em qualquer tipo de LAN, é designado para autenticação dialup via modem. O comitê IEEE 802.1x definiu um protocolo com o intuito de passar o EAP por uma LAN, chamado EAPOL (EAP over LAN). Mas para que esse processo ocorra, o EAP deve ser encapsulado dentro de quadros EAPOL [3]. O EAPOL definiu quatro tipos de mensagens: • EAPOL-Start: esta mensagem é enviada pelo suplicante quando este deseja conectarse à LAN. O envio desta mensagem acontece porque, inicialmente, o suplicante não conhece o endereço MAC do autenticador. Sendo assim, o EAPOL-Start é enviado a um grupo multicast, contendo o endereço MAC reservado para o autenticador IEEE 802.1x, deixando explícito que o suplicante requer acesso [6]. 84 • EAPOL-Key: foi designada inicialmente para suportar autenticação e distribuição de chaves, permitindo que esta última fosse realizada do autenticador para o suplicante. Porém, a especificação 802.1x não esclareceu como estas chaves seriam protegidas durante a transferência [6]. Sendo assim, esta mensagem não é muito utilizada por comprometer a segurança. • EAPOL-Packet: esta é a mensagem que carrega as mensagens EAP. Como mostra a Figura 27, o pacote EAPOL é composto por um cabeçalho MAC Ethernet (para identificar o tipo de mensagem EAPOL), e o corpo do pacote, onde a mensagem EAP é carregada [6]. • EAPOL-Logoff: é utilizada para indicar o desejo de se desconectar do suplicante. Figura 27 – Formato do quadro EAPOL [3] 7.4. Processo de autenticação com EAP Em redes cabeadas é fácil perceber quando um novo dispositivo deseja integrar-se à rede, basta conectar o cabo de rede a um hub ou switch. Mas quando se trata de redes sem fio, este processo é realizado de maneira diferente. Primeiramente, o dispositivo que deseja conectar-se à rede, envia uma mensagem EAPOL-Start no ambiente em que se encontra para descobrir se há algum autenticador disponível. Se houver um, este envia uma mensagem EAP-Request/Identity para saber se o dispositivo móvel é conhecido. Em seguida, o suplicante responde com uma mensagem EAPResponse/Identity. Agora com a identidade do suplicante, o autenticador se comunica com o servidor de autenticação para saber se aquele suplicante terá sua entrada permitida na rede [3]. Quando o servidor de autenticação analisar os dados enviados pelo suplicante, ele pode então, enviar ao autenticador se o suplicante foi aceito ou negado e, este por sua vez, envia a decisão ao suplicante, cumprindo seu papel de intermediário. 85 7.5. EAP-TLS O EAP foi projetado, a princípio, como uma extensão do protocolo PPP (Point-topoint) para dar ênfase à autenticação sobre conexões PPP. Observou-se que apesar dos diversos métodos de autenticação existentes, vários deles não realizavam autenticação mútua, encriptação ou serviço de gerência de chaves. Foi a partir de então que se iniciaram os trabalhos para que houvesse autenticação mútua e gerência de chaves sobre conexões PPP, surgindo assim, o chamado EAP-TLS [6]. A autenticação no modelo TLS (Transport layer security) é realizada através da troca de certificados digitais entre o cliente e o servidor RADIUS com o intermédio do AP. A autenticação mútua baseia-se na comprovação da autenticidade, ou seja, os certificados do cliente e do servidor RADIUS foram assinados pela mesma AC [7]. O TLS possui duas camadas: handshake e de registro. A camada handshake é responsável pela execução do processo de autenticação, negociação do código e troca de chave. Já a camada de transporte de registro é responsável pela segurança da camada de transporte de uma ponta a outra. O TLS foi projetado para ser carregado sobre um protocolo de transporte e todos os dados TLS também. É encapsulado dentro de pacotes EAP e, assim, serão carregados sobre a conexão PPP ou LAN. Com isso, a estrutura EAP pode acomodar o método de autenticação TLS e também o método de gerência de chaves [6]. Como dito na Sessão 7.2, as mensagens EAP-Request e EAP-Response possuem um campo Tipo, no qual valores iguais ou maiores a 4 lhe são atribuídos e são designados para métodos de autenticação específica. Quando esse valor é igual a 13, significa que está sendo utilizado o método de autenticação EAP-TLS. As mensagens TLS enviadas do servidor para o cliente são encapsuladas nas mensagens EAP-Request, enquanto as mensagens TLS enviadas do cliente para o servidor são encapsuladas nas mensagens EAP-Response [6]. Contudo o EAP-TLS possui algumas desvantagens que são relevantes para a segurança dos sistemas que fazem uso desse método, algumas delas estão descritas abaixo: • Necessidade de certificação digital: o EAP-TLS é recomendado apenas para ambientes que necessitam da autenticação mútua entre servidor e cliente, pois em cenário onde não é necessário esse tipo de ação, como por exemplo, autenticação simétrica, o EAP- 86 TLS tem pouca aplicabilidade. Exigir certificados digitais dos usuários pode ser bastante trabalhoso. • Identidade do usuário: o EAP-TLS não protege a identidade do usuário • Eficácia do protocolo: o certificado EAP requer longas trocas de protocolo, e isso não é recomendado para usuários móveis que necessitam se re-autenticar depois de um handover. Como ocorre na autenticação por validação através de usuário/senha, no EAP-TLS não há nenhuma criptografia para proteção do tráfego de informações. Para minimizar esse risco, foi desenvolvido um outro mecanismo semelhante ao EAP-TLS, porém criando um túnel criptográfico para que as autenticações transitassem com maior segurança, desta forma, surgiu o EAP-TTLS. 7.6 EAP-TTLS Esse método não substitui o uso de um mecanismo de autenticação, pois ele apenas cria um túnel criptográfico a fim de proteger o tráfego que transita pela rede. O EAP-TTLS é semelhante ao EAP-TLS, diferindo apenas pelo fato do cliente não necessitar de certificado digital para estabelecer a conexão e fechamento do túnel [7]. 8. IEEE 802.1x – RADIUS Agora, será iniciado o protocolo IEEE 802.1x. Com o objetivo de fornecer autenticidade à rede, esse mecanismo traz consigo alguns assuntos relevantes para a conclusão do trabalho; dentre eles está a Autenticação. Por isso, este capítulo abordará, também, conceitos do 802.1x e protocolos que atuam juntamente a ele, com ênfase ao EAP. Entretanto, o principal foco será dado ao RADIUS (Remote Authentication Dial In User Service), a principal abordagem e mais utilizada quando se fala em padrão IEEE 802.1x e Autenticação. Não por acaso que se trata de um dos capítulos mais extensos de todo o estudo realizado já que os assuntos serão tratados da maneira mais explicativa possível, fazendo com que, no final, seja justificado o porquê dessa abordagem de segurança voltada à autenticação. 8.1. IEEE 802.1x De maneira sucinta, o 802.1x é o padrão desenvolvido pelo IEEE com o objetivo de fazer o controle de acesso à rede, ou seja, quem tem permissão ou não de usufruir dos recursos dessa rede. Para que o objetivo seja alcançado, o 802.1x visa três elementos fundamentais: o suplicante, que pretende obter acesso à rede; o autenticador, entidade responsável por controlar o acesso e o autorizador, decidindo se o suplicante terá ou não acesso [3]. Fazendo uma comparação com o 802.11, o suplicante seria o dispositivo móvel do cliente (notebook, palm), autenticador é representado pelo ponto de acesso e o autorizador normalmente está em forma de Servidor de Autenticação. 8.1.1. Fundamentos Originalmente falando, o 802.1x é um padrão compatível com várias arquiteturas 88 de rede como Ethernet e Token Ring pois, foi criado antes mesmo de todas padronizações para redes sem fio [3]. Apesar disso, o padrão de controle de acesso tornou-se perfeitamente ajustável perante o 802.11 devido ao conceito de portas. Este conceito faz com que, na abordagem do funcionamento aparente, o 802.1x tenha uma grande proximidade com um simples switch das redes Ethernet. Assim como um switch, o 802.1x possui portas, cada uma pertencente a um dispositivo da rede, porém no Ethernet são utilizadas portas físicas. Já no 802.1x são usadas portas lógicas. Daí a razão pela qual a combinação 802.11 e 802.1x obtiveram bons resultados. A Figura 28 ilustra o 802.1x. Para exemplificar a comparação, cada um dos elementos fundamentais do 802.1x possuem seus respectivos objetivos. Cada um dos suplicantes almeja obter acesso em determinada porta. À princípio, todas as portas estão fechadas cabendo, então, ao autenticador decidir se abrirá ou não cada uma delas. Essa decisão será providenciada de acordo com o Servidor de Autenticação. Autenticador Dispositivo Conectado Servidor de Autenticação Autenticador Dispositivo fazendo Requisição Autenticador Autenticador Figura 28 – Modelo comparativo entre 802.1x e um Switch [3] De forma resumida, um suplicante qualquer “bate” na porta e o autenticador “pergunta quem é”. De posse da resposta, o autenticador “pergunta” ao Servidor de Autenticação se este suplicante pode ser autorizado. Caso o servidor autorize, o autenticador “abrirá” a porta e o suplicante terá acesso livre à porta. Caso contrário, o autenticador não abrirá a porta e, consequentemente, o suplicante não terá acesso. É válido ressaltar que a porta estará disponível apenas para um suplicante por vez 89 sem a obrigatoriedade de ser sempre a mesma porta para o mesmo suplicante. As maneiras pelas quais o servidor de autenticação e o autenticador trata cada suplicante serão abordadas no tópico 8.2. 8.2. Remote Authentication Dial In User Service (RADIUS) Caracterizado basicamente como uma arquitetura de Servidor de Autenticação, o RADIUS é a principal ferramenta na qual implementa o mecanismo de autenticação padronizado ao IEEE 802.11i [3], além de ser um dos protocolos AAA que mais se destaca. Para que seja iniciado esse tópico, será necessário definir alguns nomes e conceitos. Durante o processo de autenticação, o Servidor RADIUS ou AS (Authentication Server – Servidor de Autenticação) contará com um cliente denominado NAS (Network Access Server – Servidor de Acesso a Rede). Apesar de paradoxal, essa definição de um servidor como cliente não é tão complexa; afinal, o NAS é um cliente do servidor (cliente RADIUS), mas não é um usuário. Este usuário, neste contexto, é representado pelos dispositivos [6]. Inicialmente, o usuário reconhece o NAS e vice versar, como na etapa 1 da figura 29. Na verdade, o NAS é responsável por encaminhar solicitações dos usuários ao servidor e esperar respostas deste último, como um intermediário. A etapa 2 ilustra essa situação. Já na etapa 3, é quando o Servidor de Autenticação libera o acesso à Internet ao usuário. Isso significa que este usuário teve concessão para usufruir do recurso da rede. Dependendo da implementação, o NAS pode ser necessário apenas no caso de uma autenticação de sucesso ou também na autenticação diretiva do servidor para abrir as portas de tráfego aos dispositivos. Além disso, o NAS é utilizado também para estabelecer segurança nos canais de comunicação com o cliente antes de estabelecer alguma comunicação com o usuário final. Outra tarefa interessante do NAS é o recolhimento de dados utilizados pelos dispositivos e, posteriormente, enviando-os ao servidor a fim de se realizar a contabilidade. O servidor Radius, por outro lado, é responsável por processar as solicitações, autenticar os usuários, e retornar a informação necessária para a configuração cliente entregar o serviço ao usuário [6]. 90 NAS Usuário Figura 29 – Funcionamento do NAS [1] 8.2.1. Mensagens O conjunto de mensagens do RADIUS é bastante simples e consiste em oito mensagens apenas. São elas: Solicitação de acesso: gerada do NAS para o AS, essa mensagem tem a finalidade de informar ao servidor que um usuário está solicitando acesso. Consequentemente, o servidor envia solicitação do usuário; Acesso por desafio: do AS para o NAS, essa mensagem objetiva fazer com que o servidor negocie algo com o NAS ou o próprio usuário; Acesso permitido: enviada do AS para o NAS, esta mensagem significa que a solicitação foi aceita, ou seja, o usuário está autenticado; Acesso negado: enviada do AS para o NAS, esta mensagem significa que a solicitação foi rejeitada, ou seja, o usuário não será autenticado; Requisição de contabilidade: é enviada do cliente para que o servidor faça a contabilidade de tal usuário; Resposta de contabilidade: a partir do momento em que a contabilidade do usuário é efetivada com sucesso, o servidor retornará esta mensagem ao NAS, em caráter de informação; As outras duas mensagens do RADIUS são experimentais: status do servidor e status do cliente. Em cada mensagem, as informações são incluídas em forma de atributos, ou seja, 91 cada atributo é um conjunto de informações com funções diferentes que variam de acordo com o tamanho, formato, tipo e valor dessas informações [6]. A tabela 3 ilustra essa situação. Tabela 3 – Formato dos atributos do RADIUS [6] Atributo Tipo Características Acima de um octeto (no máximo 255 atributos) para descrever o tipo deste atributo. Comprimento Comprimento do atributo em octeto, indicando o comprimento total do atributo contabilizado, incluindo os campos de tipo e comprimento Valor Contem informações que o atributo supostamente carrega Geralmente, o corpo principal das mensagens de solicitação de acesso e acesso por desafio é usado para carregar atributos do NAS para o Servidor RADIUS e vice-versa. Como os atributos carregam quase todas as informações requeridas para definir a operação do RADIUS, duas mensagens diferentes de solicitação de acesso carregam diferentes atributos e apresentam diferentes funções dependendo dos atributos que eles carregam. 8.2.1.1. Formato da mensagem O formato do pacote RADIUS inclui um código, ID, comprimento e campo autenticador, seguido por um contador de atributos. O fim da lista de atributos é indicado pelo campo de comprimento. A tabela 4 ilustra os campos do pacote RADIUS. Tabela 4 – Formato do pacote RADIUS [6] Nome do campo Cabeçalho Atributo 1 ... Atributo N Sub-campos Código ID Comprimento Autenticador Descrição Identifica o tipo do pacote RADIUS Verifica requisições e respostas Dois octetos a mensagem inteira 16 octetos Primeiro atributo do pacote Último atributo do pacote Os atributos do RADIUS é o principal meio para transportar informações das mensagens. Por isso, são deles que surgem as oportunidades de estender a funcionalidade do RADIUS a fim de interagir com outras entidades e propósitos. Segundo a última especificação (RFC 3580), o RADIUS possui mais de trinta atributos. RFC’s anteriores chegaram a mais de quarenta. Portanto, trata-se de uma lista 92 bastante extensa que foge ao escopo deste trabalho e não será tratada no mesmo. 8.2.2. Confiabilidade no transporte Considerado um protocolo de aplicação, o RADIUS na camada de transporte utiliza o UDP. Por questões de alto consumo de processamento e tempo envolvendo a máquina, o TCP não foi o escolhido. Essa escolha pelo UDP faz com que o RADIUS tenha sérios problemas de confiabilidade no transporte. O tópico 4.3.4 detalhou sobre esses problemas. Além de prejudicar a contabilidade, o RADIUS é afetado pela degradação da performance, perda de pacotes em condições adversas da rede, da escalabilidade e do controle de congestionamento [6]. Por todos esses fatos, o IETF está desenvolvendo um novo modelo de protocolo: Diameter, que será abordado na sessão 8.3. 8.2.3. RADIUS e segurança A segurança do RADIUS é trivial. São fornecidas duas funções principais: um é o atributo oculto (principalmente senha) e o outro é a autenticação de determinadas mensagens. Ambas as funções são desempenhadas usando o MD5 e um segredo que é compartilhado entre o servidor RADIUS e o NAS [6]. O segredo é usualmente chamado de segredo compartilhado RADIUS. 8.2.3.1. Proteção de Integridade nas Mensagens Como visto na descrição do formato da mensagem RADIUS, o campo autenticador é adicionado em todas as mensagens RADIUS. Na mensagem solicitação de acesso, este campo autenticador é chamado de autenticador solicitante, enquanto nas mensagens de acesso desafio, aceitação e rejeição o campo é chamado de autenticador resposta. Entretanto, as principais diferenças não estão na terminologia, mas no nível de proteção que cada um promove [6]. 93 8.2.3.1.1. Autenticador solicitante Quando o campo autenticador é autenticador solicitante, o cliente gera um número aleatório de 16 octetos (128 bits) no qual é adicionado ao campo. Como não se trata de um campo de grande valia para garantir a integridade da mensagem, então não existe criptografia. Tudo que é requerido pelo autenticador solicitante será exibido abertamente. Os pedidos do autenticador solicitante podem ser abrangentes, para que seja o mesmo NAS a fazer a autenticação; ou podem ser também temporários, a fim de evitar ataques repetitivos. A cada solicitação de acesso, um novo ID é gerado; exceto em retransmissões. Se a solicitação for um resultado do NAS no qual recebe um acesso desafio do servidor, também será gerado um ID. Neste caso, o NAS cria um desafio CHAP para o usuário e se o valor do CHAP for menor que 16 octetos, ele poderá ser inserido no campo autenticador da solicitação de acesso. Caso contrário é adicionado atributo no CHAP. Entretanto, autenticador sozinho não fornece proteção de integridade. Para corrigir esse problema, o servidor RADIUS verifica se o endereço IP de origem realmente seja do NAS. Por ter sido projetado para autenticação remota e, desde que a senha do usuário seja protegida por um compartilhamento secreto compartilhado entre o NAS e o servidor RADIUS, será necessário outro mecanismo de segurança adicional para proteger contra ataques de segurança. A mensagem de solicitação de acesso na qual é protegida com uma mensagem de autenticação, o cliente calcula MD5 sobre a mensagem inteira usando o compartilhamento secreto no qual compartilha com o servidor RADIUS e inclui o resultado do MD5 no campo data do atributo Autenticador de Mensagem. Quando na mensagem de solicitação de acesso que é recebida inclui este autenticador, o servidor RADIUS calcula o autenticador, utilizando o segredo compartilhado e se não estiver de acordo, o servidor descarta a mensagem. 8.2.3.1.2. Autenticador Resposta Ao contrário da mensagem de solicitação de acesso, a mensagem do servidor RADIUS para o cliente (acesso desafio, acesso permitido e acesso negado) recebe uma proteção de integridade mais robusta. O valor do campo autenticador (chamado autenticador resposta) é o resultado de um MD5 da maioria das mensagens, com exceção do próprio 94 campo autenticador. 8.2.4. Exemplos de Operações Existem várias formas de se trabalhar com o RADIUS de maneira eficiente [6]. Neste tópico serão demonstradas algumas das aplicações mais tradicionais do RADIUS como a autenticação de usuário baseado em senhas, além da integração do RADIUS com os protocolos PAP, CHAP e EAP. Entretanto detalhes da autenticação RADIUS baseada em EAP foi abordado no capítulo 7. 8.2.4.1. PAP Utilizado para auxiliar o PPP, o PAP (definido no capítulo 6) é uma das maneiras mais fáceis para se fazer autenticação baseado em senhas. Ao ser estabelecida uma conexão PPP, o NAS configurado para usar o PAP, enviará sinais ao usuário solicitando login e senha. Após o usuário fornecer esses dados, o NAS cria uma Requisição de Autenticação (RA) agregada aos dados, os envia ao servidor RADIUS e aguarda resposta. A tabela 5 demonstra os atributos encaminhados ao servidor. Tabela 5 – Atributos da mensagem de requisição de acesso usando PAP [6] Atributo Username (login) Senha IP Porta Descrição ID PAP do usuário Senha enviada com o uso do MD5 Endereço IP do NAS Porta de comunicação usada pelo NAS (não pode ser a do UDP) Caso não receba resposta em um tempo pré-estabelecido, o NAS poder retransmitir a RA ou transmitir outra RA (de outro usuário). Quando o servidor RADIUS recebe o pedido, executa verificações sobre a origem e a autenticidade dessa requisição como, por exemplo, alguma informação na qual o NAS, possivelmente, está em compartilhando com o usuário. Entretanto, a principal atividade do servidor RADIUS nesse momento é verificar se os atributos recebidos estão presentes em sua base de dados, a fim de conceder ou não o acesso ao usuário. Se a verificação da senha for bem sucedida, o servidor RADIUS emite ao NAS a 95 concessão de acesso, ou seja, o usuário foi reconhecido. Caso o usuário não seja encontrado na base de dados ou ocorra incompatibilidade de senhas, ao NAS será enviado uma mensagem de rejeição, impossibilitando acesso do usuário. Esse fato é denominado como detecção de erro de credencial. Um outro problema do modelo de segurança do RADIUS tem é durante a autenticação do PAP, ilustrado na Figura 30. Se o cálculo hash do servidor falhar, o servidor não pode dizer se a senha do usuário era erro ou o segredo compartilhado entre o NAS e o servidor RADIUS não estava correto. Idealmente, o servidor deve verificar independentemente a identidade do usuário [6]. Figura 30 – Operação PAP [3] 8.2.4.2. CHAP O Protocolo de Autenticação com Desafio para Handshake (CHAP) é semelhante ao PAP, entretanto é considerado mais sofisticado e, desde que se evite transmitir a senha sobre o canal de comunicação, também pode ser considerado mais seguro. Para isso, o usuário deve fornecer a resposta de um desafio fornecido pelo autenticador. O suporte ao CHAP foi considerado uma das principais funções do RADIUS como um protocolo do AAA (vide definição no capítulo 6) para suportar aplicações dial-up [6]. A mensagem de desafio para acesso está incluída no escopo da mensagem do RADIUS permitindo que o servidor emita um desafio ao cliente para a autenticação do usuário. Em detrimento às finalidades práticas, o desafio; geralmente; é emitido pelo NAS de maneira mais eficiente que o servidor AAA, enquanto emiti uma mensagem de desafio para acesso indicando que o servidor RADIUS necessita de alguma informação do usuário ou do NAS para terminar o processo de autenticação. 96 No processo de funcionamento, ilustrado na Figura 31, um usuário é configurado para se autenticar através do CHAP, no qual pede o NAS para se conectar a rede. Dessa forma, o NAS emite um desafio de 128 bits ao usuário através de uma mensagem de desafio baseada em CHAP acrescida de um ID. O usuário, então, responde esse desafio acrescentando à mensagem seu nome (login). A resposta é calculada usando-se o MD5, tendo como parâmetros de entrada o ID, o segredo do usuário e o desafio. Em seqüência o NAS cria um pedido de acesso e, juntamente com os atributos especificados na tabela 6, o encaminha ao servidor RADIUS. Tabela 6 – Atributos enviados na Requisição de acesso para autenticação CHAP [6] Atributo Username (login) Senha CHAP Desafio CHAP IP NAS Porta NAS Descrição Nome do usuário CHAP Este campo contém tanto o ID quanto a resposta CHAP do usuário ao desafio proposto pelo NAS, ambos na mensagem de resposta CHAP para o NAS. Desafio apresentado pelo NAS Endereço IP ou identificação para o NAS Porta usada para conexão do usuário Por fim o servidor RADIUS verifica a senha e nome do usuário calculando com o hash, da mesma forma feita anteriormente. Caso o resultado seja o mesmo do valor incluso no campo Senha CHAP, o servidor retornará ao NAS a permissão para acesso. Se o resultado não for o mesmo, será enviada uma mensagem de acesso negado. Figura 31 – Operação CHAP [3] 8.2.4.3. RADIUS com EAP Como mencionado no capítulo 7, o EAP é designado para oferecer suporte a um 97 protocolo de autenticação qualquer sem exigir mudanças ou correções no NAS. Ao trafegar entre o NAS e o servidor RADIUS, as mensagens EAP são carregadas por algum protocolo de autenticação (AAA). A flexibilidade e extesibilidade do RADIUS permitem que suas mensagens transportem mensagens de outros protocolos. Dessa forma, a junção EAPRADIUS permite que as mensagens com esquemas de autenticação do EAP sejam encaixadas dentro dos atributos do RADIUS e carregadas ao longo das mensagens do RADIUS. Esse processo está mostrado na Figura 32. Figura 32 – Inserindo mensagens EAP no RADIUS [6] Os pedidos do servidor RADIUS ao usuário (mensagens do pedido de EAP) são carregados dentro das mensagens do desafio do acesso do RADIUS. O NAS retira o pedido de EAP do desafio do acesso e emitem-no sobre um protocolo da camada 2 ao usuário. As respostas do usuário para o servidor RADIUS são inseridas na resposta EAP para o NAS, na qual é encapsulada na mensagem de requisição de acesso enviada para o servidor. Esse encapsulamento significa que as mensagens EAP estão incluídas em um atributo específico da mensagem EAP dentro de uma mensagem RADIUS. 8.2.5. Contabilidade Os principais documentos que especificam a contabilidade do RADIUS são as RFC’s 2866 e 3580, embora a primeira seja mais enfática. O procedimento da contabilidade é baseado em um modelo cliente-servidor onde o cliente (NAS) passa a informação de contabilidade do usuário ao servidor RADIUS, que hospeda a máquina de contabilidade do 98 RADIUS. A contabilidade do RADIUS, conforme a Figura 33, usa dois tipos de mensagens: pedido e resposta; ambas transportadas pelo UDP. Os pedidos da contabilidade são emitidos sempre do cliente RADIUS para o servidor, enquanto as respostas da contabilidade são geradas pelo servidor RADIUS, além de receber e processar os pedidos da contabilidade. Figura 33 – Mensagens de contabilidade no RADIUS [6] Na operação básica da contabilidade, mostrada na Figura 34, um NAS capaz de suportar a contabilidade do RADIUS envia um pacote de inicio de contabilidade ao servidor. Esse pacote especifica o tipo e o usuário do serviço que estão sendo entregues. Recebendo este pedido, o servidor armazena o registro, reconhece o pedido e gera a resposta; confirmando o recebimento. Em seguida o cliente gera um pacote de fim de contabilidade e o envia ao servidor. Neste pacote é incluso informações e estatísticas adicionais como o tipo de serviço entregue, tempo de conexão, motivo que ocasionou a desconexão, entre outros. Após receber este pacote, o servidor envia confirmação de recebimento. Caso o servidor seja incapaz de armazenar o pacote, não será enviada a confirmação de recebimento. 99 Figura 34 – Troca de Mensagens da Contabilidade [6] 8.2.5.1. Segurança e Confiabilidade O fato de que o RADIUS seja transportado através do UDP, torna-se muito baixa a confiabilidade e a garantia de entrega dos dados. Dessa forma, é possível que pacotes de contabilidade sejam perdidos pela rede. Informações incorretas e/ou incompletas resultam na incapacidade do servidor de armazenar os pacotes, fazendo com que a confirmação de recebimento não chegue ao usuário. Dessa forma, o usuário não será contabilizado no sistema. Alguns administradores podem, ainda, implementar um limite de sessões simultâneas que o NAS pode executar durante determinado intervalo de tempo, gerando até congestionamento. Implementações onde o NAS tem um limite de tempo (50 horas mensais, por exemplo) para ficar conectado são situações onde podem ocorrer maiores transtornos. Caso o servidor não seja capaz de contabilizar a quantidade de horas que determinado cliente já usou, o NAS poderá usufruir da rede bem mais ou bem menos que 50 horas mensais. Soluções propostas pelas RFC’s não são animadoras; sugerindo que o NAS emita pedidos de contabilidade até o reconhecimento do servidor. Entretanto, a inclusão de medidas simples como o mecanismo de back-off, o servidor irá enviar o reconhecimento em momentos de tráfego menos intenso. Aumentar o limite de tentativas feitas pelo NAS, também contribui 100 para a confirmação do reconhecimento. O tempo de espera pelo qual o NAS espera o reconhecimento também pode aumentar muito, pois, não contribuirá muito para o congestionamento. Em relação à segurança, a contabilidade do RADIUS é mais eficaz. Pedidos e respostas da contabilidade são autenticados usando o MD5; configurados e compartilhados de maneira secreta entre cliente (NAS) e usuário. Para pedidos de contabilidade, são passados para o MD5 os seguintes parâmetros: código, ID, comprimento, 128 bits vazios, atributos do pedido e segredo compartilhado. O resultado dessa função (valor do autenticador) será um dos parâmetros para os pacotes de resposta da contabilidade. Além do valor do autenticador, os pacotes de resposta da contabilidade têm os seguintes parâmetros: código, ID, comprimento e segredo compartilhado. 8.3. Diameter Com o objetivo de corrigir os problemas apresentados pelo RADIUS, o IETF padronizou o Diameter (RFC 3580). Entretanto, esse modelo não é objetivo deste trabalho, pois, apesar de problemas, o RADIUS se mostra eficiente em várias aplicações, especialmente no estudo de caso abordado no próximo capítulo. Dessa forma, aqui serão tratadas apenas algumas diferenças entre RADIUS e Diameter. 8.3.1. Fail-Over Trata-se de um processo no qual os dispositivos passam todos os pedidos pendentes de um para o outro. Para que isto seja possível, entretanto, requer-se que os nós tenham suporte à falhas, ajustando a mensagem do Diameter. O RADIUS não define um padrão fail-over e, consequentemente, sua implementação pode se tornar diferente entre as aplicações RADIUS. O Diameter, ao contrário, é mais resistente a falhas de transporte fornecendo o fail-over e funcionando da seguinte forma: uma fila de mensagens pendentes para cada par é mantida em um nó do Diameter. Quando uma resposta é recebida, o pedido correspondente é removido da fila. 101 8.3.2. Mensagens iniciadas em Servidor No RADIUS, esse procedimento é opcional tornando-se difícil a implementação de melhoramentos tais como a desconexão não solicitada ou re-autenticação/re-autorização. Esse processo no Diameter é obrigatório. 8.3.3. Transporte Confiável O uso do UDP no transporte e a falta de especificações de retransmissão do RADIUS fazem com que a confiabilidade na contabilidade seja bastante questionada, pois, a perda de pacotes é seqüenciada da perda de rendimentos. O Diameter não passa por estes transtornos já que utiliza o TCP em seu transporte. 8.3.4. Capacidade de Negociação O cliente e o servidor não sabem indicar de um para o outro seus suportes de atributos e o RADIUS não suporta mensagens de erro. Ou seja, a capacidade de descobrir e negociar serviços mutuamente agregados, pode ser difícil pro RADIUS. Já o Diameter suporta a manipulação de erros, negociação de potencialidade, bem como maneiras de indicar suporte ao par atributo/valor. 8.3.5. Questões de Segurança A autenticação é baseada em segredos compartilhados, mas a confiabilidade é estabelecida apenas entre equipamentos vizinhos e não em comunicação fim-a-fim. Ataques maliciosos entre cliente e servidor podem modificar atributos ou até mesmo cabeçalhos de pacotes a serem utilizados. E, no RADIUS, não é oferecida confiabilidade no pacote, apenas nos atributos. Apesar de o protocolo de contabilidade do RADIUS conter edições de proteção, o IPSec é oferecido apenas a versões IPv6 do RADIUS. Além de definir segurança a nível de transmissão e fim a fim, o Diameter tem suporte obrigatório ao IPSec e suporte TLS opcional para clientes. Porém, a segurança do objeto de dados no Diameter não é obrigatório. 102 8.3.6. Descoberta e Configuração do Par A implementação do RADIUS geralmente requer que o nome ou endereço dos servidores ou clientes sejam configurados manualmente, junto com os respectivos segredos compartilhados. Isso resulta em uma grande sobrecarga ao administrador e, consequentemente, em uma escolha para que seja feito o reuso dos segredos compartilhados por vários clientes (NAS), podendo resultar em maiores vulnerabilidades. Através do DNS, o Diameter permite a descoberta dinâmica dos pares. A derivação de chaves dinâmicas da sessão é permitida através da segurança a nível de transmissão. 8.3.7. Compatibilidade inversa com o RADIUS Enquanto o Diameter não compartilhar um formato comum de mensagem com o RADIUS, o considerável esforço tem sido significativo a fim de permitir a compatibilidade inversa com o RADIUS, de modo que os dois pudessem ser utilizados na mesma rede. Entretanto espera-se que ocorra comunicação entre dispositivos RADIUS e Diameter. 9. Estudo de Caso: Implementação de uma Rede sem Fio no Parque Tecnológico de Itaipu Depois de todo o embasamento teórico relativo às redes 802.11, neste capítulo será tratado um estudo de caso com o objetivo de evidenciar que todas as abordagens dos capítulos anteriores, principalmente no que tange o padrão IEEE 802.11i, são mecanismos de segurança eficientes contra a invasão e ataques de todo e qualquer tipo de hacker. Para isso serão analisados aqui, todos os procedimentos da implementação de uma rede sem fio no Parque Tecnológico de Itaipu (PTI), desenvolvido em dezembro de 2006, pelo acadêmico do Curso de Ciências da Computação, Rodrigo Reniê Braga, da Universidade Estadual do Oeste do Paraná. Primeiramente, serão descritas as tecnologias utilizadas com suas respectivas justificativas. Após todas as explicações de como a estrutura foi montada, ataques propositais foram feitos à rede justamente com o intuito de provar sua resistência aos ataques. Dessa forma, no final deste capítulo, o objetivo principal deste trabalho será alcançado: demonstrar que existem soluções eficientes em prol das redes wireless. 9.1. Ambiente de Preparação A Figura 35 ilustra a arquitetura da rede do PTI antes da implantação 802.11. Nela, pode-se observar a presença de três firewall, interligando o servidor Web (Apache) à rede interna, rede empresas e à Internet. Na rede interna estão os funcionários do PTI e na rede empresas estão conectadas todas as empresas do PTI, todas com acesso irrestrito à Internet e cada empresa decide suas próprias políticas de segurança tornando-as, de certa forma, independente da arquitetura do PTI. Brevemente essa rede será demonstrada após a implementação. 104 9.1.1. Mecanismos Utilizados No PTI foram utilizados mecanismos de criptografia e controle de acesso. Em relação à criptografia, decidiu-se utilizar o WPA2, pois os access points usados na implementação suportam esse mecanismo. Além disso, a maioria dos fabricantes de dispositivos oferece suporte aos usuários do WPA2. Figura 35 – Arquitetura da rede antes da implementação [1] Para o controle de acesso foi utilizado um servidor de autenticação RADIUS baseado no 802.1x, usando freeRadius, no qual se trata de um sotfware mais eficiente e fácil para se implementar o RADIUS, e credenciais armazenadas no banco de dados MySQL. Pode-se, portanto, verificar forte presença do 802.11i no ambiente de implementação abordado. 9.1.2. Estrutura Física Quanto à localização dos AP’s, a Figura 36 ilustra seus respectivos posicionamentos. Deve-se observar que a ilustração desta figura mostra o formato exato do prédio do PTI onde a rede foi implementada, ou seja, o formato da letra “H”. 105 Já na Figura 37, tem-se a rede após a implementação. Nela observa-se que o servidor de autenticação foi instalado juntamente com o apache e do RADIUS difundiram-se os AP’s. No caso das credenciais, o servidor MySQL que já estava presente na rede foi aproveitado sofrendo algumas modificações. Figura 36 – Representação do prédio do PTI e a distribuição dos AP’s [1] Figura 37 – Proposta de implantação de rede sem fio segura no PTI [1] 106 9.2. Ambiente de Testes Após a implementação foram realizados ataques propositais à rede visando comprovar a eficiência ou vulnerabilidade dos métodos de defesa utilizados. Para isso, foram utilizadas ferramentas específicas de ataques. O ambiente de testes foi caracterizado de acordo com a figura 38, na qual a estação 1 representa um suposto usuário usando Windows XP e a estação 2 indica o atacante, sendo auxiliado por um Sistema Operacional Linux. Figura 388 – Ambiente de Testes[1] 9.2.1. Ferramentas Utilizadas Neste tópico poderá ser observado que as ferramentas utilizadas colocam em prática ataques relacionados no capítulo 4. Cada uma delas tem suas especialidades, algumas fazem espionagem, outras quebram chaves, etc. 9.2.1.1. Wireless-tools Utilizado em ambientes Linux, o Wireless-tools é um conjunto de ferramentas manipuladoras de interface de redes sem fio. Entre essas ferramentas, as que mais se destacam são o iwconfig e iwlist. 107 Bastante útil em ataques de espionagem, o iwconfig ativa e visualiza parâmetros do dispositivo atacado, tais como: freqüência utilizada, ESSID, modo da placa wireless (ativado ou não). Caso haja mais de uma interface no dispositivo, todos esses parâmetros de cada interface também serão capturados. Atuando como um complemento do iwconfig, o iwlist visualiza informações não mostradas na ferramenta anterior. A principal destas informações são quais as redes estão cobrindo a área do dispositivo. Ainda informa SSID, endereço MAC do AP correspondente ao SSID, canal de comunicação e tipo de encriptação utilizado, caso esteja configurado. 9.2.1.2. Aircrack-ng Com diferentes propósitos do conjunto de ferramentas anterior, o aircrack-ng faz captura e/ou inserção de pacotes, além de quebrar chaves WEP. Suas principais ferramentas são o airodump-ng e aircrack-ng. Além de fazer um trabalho semelhante ao iwlist, no airodump-ng pacotes são capturados, salvando-os em um arquivo a fim de serem analisados. Utilizando este arquivo e explorando as vulnerabilidades do RC4, o aircrack-ng tem o objetivo de quebrar chaves WEP. 9.2.2. Abordagens de Segurança Este tópico mostrará na prática as vulnerabilidades dos mecanismos pautados no capítulo 4, bem como a abordagem mais segura. É válido ressaltar que todas essas abordagens foram testadas no PTI. 9.2.2.1. Autenticação por endereço MAC e SSID Mais adequado em residências e pequenas empresas, essa abordagem autentica apenas máquinas com MAC’s conhecidos pelo RADIUS. Além disso, o SSID não é distribuído automaticamente, ou seja, o usuário deve conhecer o nome da rede para ser autenticado. 108 Apesar de todas essas configurações, o modelo é falho devido à falta de criptografia. A utilização do airodump-ng captura facilmente todas as informações, inclusive SSID e endereço MAC. Como o SSID não está sendo transmitido pelo AP, a ferramenta de captura deve operar até que um pedido de associação seja feito. Assim o SSID é obtido sem muito esforço. Nesse momento o MAC também será obtido. Um comando chamado macchanger, modificará endereços MAC de dispositivos de redes (tanto wireless quanto cabeadas). De posse do SSID e MAC, basta que um comando dhclient seja ordenado na interface do dispositivo atacante a fim de disponibilizar um endereço IP e, consequentemente, obter acesso irrestrito à rede. Este procedimento torna-se eficiente apenas quando usar o serviço de distribuição de endereços automaticamente, o que ocorre na maioria das implementações. 9.2.2.2. Criptografia WEP Tirando proveito das vulnerabilidades do WEP, a chave pré-compartilhada pelas estações da rede será obtida a partir da captura de tráfego, mesmo que os dados estejam criptografados. Utilizando-se o aircrack-ng, uma chave de 64 bits pode ser facilmente quebrada após a captura de 300 mil Vetores de inicialização (IV). Para essa captura, é utilizado o airodump-ng. Para quebrar a chave, o seguinte comando é utilizado: Onde: • -n: tamanho da chave WEP • -b: endereço MAC do AP a ser atacado. Considera-se que o AP enviou pacotes e, consequentemente, essas informações foram obtidas. • dump.cap: arquivo gerado pelo airodump-ng Dessa forma, uma chave “abcd123456” por exemplo, é quebrada em apenas 5 segundos. 109 9.2.2.3. Criptografia WPA2 com Servidor RADIUS Baseado no IEEE 802.11i, utilizando AES com CCMP e auxiliado com um Servidor RADIUS, essa abordagem visa fornecer encriptação e integridade de dados além da autenticação da estação. Utilizando-se o airodump-ng, dados podem ser capturados. Entretanto, não existem documentos comprovando a ineficácia do AES. Nessa abordagem, portanto, dados podem ser capturados, mas não cifrados. No que tange autenticação, o atacante só obterá acesso a rede se possuir login e senha. Para isso, a única forma de obtenção é através de Engenharia Social onde o atacante tenta, de alguma forma, obter os dados necessários para se autenticar. 10. Conclusões e trabalhos futuros Este trabalho mostrou o quanto é fácil invadir um ambiente sem fio. Sobretudo, informou também que, manter este ambiente com segurança não é uma tarefa tão difícil. A partir do momento em que usuários e administradores estejam conscientes desses fatos, os objetivos serão alcançados com mais facilidade. O princípio de tudo foi a padronização IEEE 802.11, melhorando a qualidade e praticidade das implementações de redes sem fio. Com o WEP, houve, de forma primitiva, um melhoramento nos quesitos de segurança do 802.11 e, num curto período de tempo, percebeu-se vários pontos fracos deste mecanismo de criptografia. Nessa época, um fato já estava consumado: apenas a criptografia WEP era longe de ser o suficiente para garantir os princípios de segurança: autenticidade, integridade e confidencialidade. Após alguns anos, deu-se origem ao IEEE 802.11i, o qual trouxe consigo uma série de inovações. Entre elas está o WPA, cobrindo as vulnerabilidades do seu antecessor, o WEP. O problema do WPA foi seu surgimento precoce, antes do fechamento do padrão 802.11i. Embora tenha representado grande evolução, além de questões de compatibilidade, o WPA ainda utiliza o RC4, mesmo algoritmo de criptografia do WEP. Após a conclusão do 802.11i, foi criado o WPA2, usando um algoritmo de criptografia ainda inquebrável até a data de produção deste trabalho: AES. Entretanto, o ponto principal do 802.11i é a idéia de que apenas um mecanismo não é o suficiente para garantir a segurança necessária. Afinal, o que adianta manter os dados criptografados sendo que qualquer um pode obter acesso à rede? Por isso, o 802.11i especifica também o IEEE 802.1x, promovendo soluções em autenticação e garantindo o controle de acesso à rede. Para que esse controle de aceso seja implementado, a principal ferramenta utilizada é o RADIUS e, apesar de o 802.1x não especificar, esse modelo é o mais implementado devido à sua eficiência e facilidade na implementação. O RADIUS ainda conta com o auxilio do protocolo EAP, responsável por coordenar as mensagens trocadas por suplicante, autenticador e servidor de autenticação (RADIUS). 111 Todas essas definições foram colocadas em prática no Estudo de Caso, onde foi demonstrado que o padrão IEEE 802.11i representa uma grande evolução no que tange a segurança das redes 802.11. Ainda não existem maneiras eficientes de invadir uma rede 802.11 embasada na implementação do WPA2 juntamente com um servidor RADIUS fazendo o controle de acesso e até mesmo trabalhando como servidor AAA, desempenhando funções de autenticação, autorização e contabilidade. Como foi abordado, o RADIUS possui desvantagens, apesar de que não houve problemas no Estudo de Caso. A fim de suprir os problemas do RADIUS, foi desenvolvido um provável substituto denominado DIAMETER. Então, a primeira sugestão de trabalhos futuros é um detalhamento da abordagem dessa substituição do RADIUS pelo DIAMETER; objetivando resultados de quais são as vantagens e desvantagens nesse procedimento de substituição. Outra sugestão também, é o desenvolvimento de métodos e ferramentas para identificar um possível ataque especificando, por exemplo, a localização física do dispositivo atacante. Opções de complementos à determinada implementação como integração permitindo que, numa rede mista entre sem fio e cabeada, o usuário possa se autenticar em ambas. 112 REFERÊNCIAS BIBLIOGRÁFICAS 1. BRAGA, RODRIGO RENIE. Estudo e análise dos protocolos de segurança em redes sem fio 802.11 e suas vulnerabilidades – Parque Tecnológico de Itaipu: um Estudo de Caso. Foz do Iguaçu: Universidade Estadual do Oeste do Paraná, Campus de Foz do Iguaçu, 2006. 84p. 2. DUARTE, LUIZ OTÁVIO. Análise de vulnerabilidades e ataques inerentes a redes sem fio 802.11x. São José do Rio Preto: Universidade Estadual de São Paulo, Campus de São José do Rio Preto, 2003. 55p. 3. EDNEY, J., ARBAUGH W. A. Real 802.11 security: wi-fi protected access and 802.11i. Boston: Addison Wesley, 2003. 4. GAST, M. S. 802.11 Wireless Networks: The Definitive Guide. O’Reilly, 2002. 5. KUROSE, J. F., ROSS, K. W. Redes de Computadores e a Internet: uma Abordagem Topdown. Traduzido por Arlete Simille Marques. São Paulo: Addison Wesley, 2005. 6. NAKHJIRI, M. AAA and network security for mobile access. Chichester: Wiley, 2005. 7. RUFINO, N. M. O. Segurança em Redes sem Fio. São Paulo: Novatec, 2005. 8. SCRIMGER, R. TCP/IP: A Bíblia. Rio de Janeiro: Campus, 2002. 9. TANENBAUM, A. S. Redes de Computadores. Traduzido por Vandenberg D. de Souza. Rio de Janeiro: Campus, 2003. 10. TORRES, G. Redes de Computadores – Curso Completo, Rio de Janeiro: Axcel Books, 2001. 11. VASQUES, ALAN TAMER. Implementação de uma VPN em Linux utilizando o protocolo IPSec. Belém: Centro Universitário do Estado do Pará, 2002. 72p.