Do que se trata o artigo:

Este artigo apresenta as principais questões relacionadas à segurança em redes IPv6. Primeiramente, serão descritas as principais novidades do IPv6 com relação ao IPv4. Também serão apresentados o framework de segurança IPSec, cujo suporte é obrigatório nos nós das redes IPv6, e as principais vulnerabilidades encontradas nestas redes. Por fim, serão analisadas soluções de segurança que podem ser adotadas para amenizar o risco trazido pelas vulnerabilidades presentes nas redes IPv6.


Em que situação o tema é útil:

O suporte obrigatório que os nós IPv6 devem fornecer ao IPSec faz com que muitos técnicos acreditem que o IPv6 é automaticamente mais seguro que o IPv4. Contudo, isto não é verdade. A utilização de IPSec em todas as conexões é inviável devido a sua complexidade. Além disso, novidades inclusas no IPv6 como a autoconfiguração criaram novas vulnerabilidades que podem ser exploradas por agentes maliciosos. Desta forma, este artigo tem por objetivo apresentar as principais vulnerabilidades presentes nas redes IPv6 e algumas soluções que podem ser adotadas para diminuir os riscos de ataques.

Resumo DevMan:

Com o esgotamento dos endereços IPv4, a adoção do IPv6 é obrigatória para que as redes IP e a Internet continuem seu forte movimento de expansão. No entanto, esta transição traz muitos desafios para os especialistas, e uma das principais preocupações diz respeito à segurança. Deste modo, o projeto do IPv6 dedicou mais atenção a este requisito, tornando obrigatório o suporte ao IPSec em nós IPv6. Entretanto, o IPv6 traz novidades como a autoconfiguração, que introduzem novas vulnerabilidades. Portanto, é importante conhecer quais são as possíveis vulnerabilidades nas redes IPv6 e como solucioná-las, fazendo com que a transição do IPv4 para o IPv6 não cause problemas de segurança.

O IPv6 (Internet Protocol version 6) tem sido um dos temas mais discutidos na área de redes de computadores e telecomunicações desde 2010. Em fevereiro de 2011, a IANA (Internet Assigned Numbers Authority) distribuiu os últimos endereços IPv4 (Internet Protocol version 4) disponíveis, alarmando a todos sobre a necessidade imediata de migração do IPv4 para uma versão mais nova do protocolo. O IPv6 traz diversas melhorias com relação ao IPv4 como maior número de endereços, autoconfiguração, mobilidade e suporte à segurança. Porém, o IPv4 tem sido usado desde o início da Internet, o que o caracteriza como um protocolo maduro e bastante testado, trazendo preocupação com relação à sua transição para uma solução mais imatura como o IPv6.

Um dos pontos chave desta transição é a segurança. Muitos têm apostado que o IPv6 é naturalmente mais seguro que o IPv4, se baseando, provavelmente, no suporte obrigatório que o IPv6 oferece ao IPSec. Contudo, o IPv6 traz novidades para as quais as equipes técnicas e os equipamentos de segurança ainda não estão bem preparados. Este artigo apresentará os maiores riscos de segurança envolvidos na implantação do IPv6, assim como algumas soluções e precauções que podem ser tomadas para controlar os riscos que surgirão com a transição entre as duas versões do IP.

Evolução do IP

Em 1981, quando foi publicado o RFC 791 com a especificação do IPv4, não tinha sido vislumbrada a real dimensão que a utilização deste protocolo iria tomar em aproximadamente 15 anos. Os endereços tinham 32 bits e os pesquisadores envolvidos no desenvolvimento do protocolo não imaginavam que isto seria insuficiente. Também não houve preocupação com segurança à época. A consolidação de uma arquitetura de segurança para o IP ocorreu apenas em 1994, início da comercialização de acessos à Internet.

Atualmente, o conjunto de protocolos TCP/IP é um dos principais atores de uma mudança de paradigma na indústria e no mercado de telecomunicações. A Internet cresceu de maneira vertiginosa nos últimos 20 anos, atingindo mais de 2 bilhões de usuários. Inicialmente, o TCP/IP e a Internet eram utilizados apenas para distribuição de conteúdo baseado em textos e figuras. Hoje, o TCP/IP e a Internet são veículo para transporte de voz e vídeo em sessões de comunicação de tempo real. Esta evolução está levando à convergência das redes de transmissão de dados, voz e vídeo, resultando em uma rede multisserviços. O ponto de convergência que torna isto possível é o IP, que foi criado justamente para permitir que haja comunicação entre redes baseadas em diferentes tecnologias de camada física e camada de enlace.

Todo este sucesso alcançado pelo IP trouxe um problema: o IPv4 não foi preparado para ser o ator principal de um cenário no qual temos mobilidade, um número altíssimo de usuários (humanos ou não), necessidade de conectividade fim a fim, qualidade de serviço e segurança. A necessidade de transição do IPv4 para uma nova versão do protocolo se acentuou quando, no início de 2011, a IANA (Internet Assigned Numbers Authority) distribuiu os últimos endereços IPv4 disponíveis para as entidades de registro regionais.

A versão mais nova do IP, conhecida como IPv6, foi projetada para atender as demandas mais modernas que têm sido apresentadas às redes IP. Primeiramente, o IPv6 traz endereços de 128 bits, que proporcionam um espaço de endereçamento inesgotável. Também houve preocupação em projetar a nova versão do protocolo para que ela oferecesse suporte à segurança, mobilidade e qualidade de serviço. Entretanto, a troca do IPv4 pelo IPv6 não é uma tarefa simples. O IPv4 vem sendo utilizado desde o início da Internet, e por isso constitui uma solução madura, testada nas mais diversas situações. Além disso, as equipes técnicas e todo aparato de gerência e segurança estão preparados para trabalhar com IPv4. Por isso, há pelo menos uma área em que a entrada do IPv6 deve trazer maiores preocupações: a segurança.

Há a disseminação de um mito no qual se afirma que o IPv6 é mais seguro que o IPv4 por dar obrigatoriamente suporte ao IPSec. Mesmo oferecendo maior suporte à segurança do que ocorria com o IPv4, o IPv6 não proporciona automaticamente mais segurança que seu antecessor. A transição entre os dois protocolos, por exemplo, vai criar situações inéditas para os especialistas em segurança, que já estavam acostumados a trabalhar com o IPv4 e agora terão que manter estruturas de segurança simultâneas para duas versões do IP. Todos os equipamentos utilizados para defender as redes de computadores, como firewalls e sistemas de detecção de intrusão, precisarão ser reestruturados para lidar com o novo protocolo. Além disso, o protocolo IPv6 traz funcionalidades novas, como a mobilidade e a auto configuração, que podem ser usadas como brechas para ataques.

IPv6

O IPv6 é bastante diferente do IPv4. Os responsáveis pelo projeto se preocuparam em aumentar o número de endereços possíveis, em possibilitar o provimento de qualidade de serviço e em melhorar o suporte à segurança e à mobilidade. O cabeçalho do IPv6 é apresentado na Figura 1.

Figura 1. Cabeçalho do IPv6.

O cabeçalho IPv6 é bem diferente do cabeçalho IPv4. O cabeçalho IPv6 não possui campos para controle da fragmentação. Este controle é feito nos cabeçalhos de extensão, uma novidade do IPv6. Os cabeçalhos de extensão são extensões que podem ser aplicadas ao cabeçalho IPv6 e são transportadas como payload. Desta forma, os roteadores só abrem o cabeçalho de extensão se for algo que lhes interesse. A utilização dos cabeçalhos de extensão permite que o cabeçalho principal do IPv6 tenha tamanho fixo, o que facilita o trabalho dos roteadores. No caso da fragmentação, não há intervenção dos roteadores. Caso o pacote atinja um ponto da rede que tenha o MTU (Maximum Transmission Unit) do enlace menor que o tamanho do pacote, é gerada uma mensagem ICMPv6 do tipo Packet too big e o pacote é descartado. Estas soluções visam facilitar o trabalho dos roteadores, trazendo melhoras de desempenho.

O cabeçalho IPv6 tem campos para identificador de classe de tráfego e de fluxo, que permitem a identificação dos pacotes para que eles sejam tratados de maneira diferenciada, de forma a garantir qualidade de serviço para aplicações mais sensíveis, como transmissão de vídeo e voz. Estes campos não existiam no cabeçalho IPv4.

Outra mudança importante no cabeçalho IPv6 é o tamanho dos campos de endereço, que possuem 128 bits. Nas redes IPv6, o endereço é representado por 8 grupos de 16 bits separados por “:”. Cada grupo de 16 bits é representado como um hexadecimal. Um exemplo de endereço IPv6: 2001:0DB8:AD1F:25E2:CADE:CAFE:F0CA:84C1. A identificação da sub rede e do host no endereço é realizada da mesma forma que no IPv4. É utilizada a notação CIDR (Classless Inter-Domain Routing) <endereço IP>/<número de bits>. O número de bits colocado após a barra indica a quantidade de bits do endereço utilizada para representar a sub rede.

Os tipos de endereços também mudaram do IPv4 para o IPv6. Há três tipos de endereço no IPv6: unicast, anycast e multicast.

O endereço unicast identifica uma única interface e pode ser classificado em global unicast, link local e site local. Os endereços global unicast são similares aos endereços públicos do IPv4, ou seja, são globalmente roteáveis. Os endereços link local são utilizados apenas localmente, no mesmo enlace onde a interface está conectada. O endereço site local abrange todo o local onde o nó está localizado, mas não é roteável globalmente, assim como os endereços privados do IPv4.

Os endereços anycast são utilizados para identificar um grupo de interfaces. Portanto, os endereços anycast identificam grupos de endereços unicast. Os endereços anycast podem ser utilizados para identificar grupos de servidores na rede como os servidores DNS ou DHCP. Quando um pacote tem como destino um endereço anycast, ele será roteado até a interface pertencente ao grupo anycast que esteja mais próxima da origem do pacote. Um endereço anycast não pode ser utilizado como endereço de origem de um pacote.

Assim como um endereço anycast, um endereço multicast identifica um grupo de interfaces. A diferença é que um pacote para um endereço multicast é entregue a todas as interfaces pertencentes ao grupo. No IPv6 não há endereço de broadcast. Quando se deseja enviar um pacote para vários computadores, a única opção é enviar este pacote para um grupo multicast.

Outra novidade do IPv6 é a auto configuração, que pode ser dividida em duas categorias: stateless e stateful. A auto configuração stateless permite que endereços sejam atribuídos aos hosts sem a necessidade de serviços como o DHCP. Primeiramente, o host cria um endereço unicast link local e verifica com os seus vizinhos se este endereço não é duplicado. Caso o endereço escolhido não esteja duplicado, o host pode utilizá-lo para enviar uma mensagem Router solicitation com destino ao endereço multicast all-routers. Nesta mensagem, o host requisita informações dos roteadores que serão utilizadas para determinar qual é o roteador padrão e gerar endereços com base no prefixo deste roteador e na identificação da interface. A auto configuração stateful utiliza o DHCPv6 para obter os endereços que podem ser utilizados e as informações do roteador padrão e de serviços essenciais como o DNS.

A adoção do IPv6 e o consequente abandono do IPv4 não serão completados em um curto espaço de tempo. Durante um longo período, redes baseadas em IPv4 e IPv6 terão de conviver. Portanto, é necessário definir estratégias de transição entre os dois protocolos para que as redes continuem operando normalmente mesmo em cenários heterogêneos. Há três técnicas mais comuns:

· Pilha dupla: os dispositivos são compatíveis com o IPv4 e o IPv6. O Windows 7 e o Apple OS X, por exemplo, oferecem suporte para estas duas versões do protocolo;

· Tunelamento: o tunelamento consiste do transporte de um cabeçalho IPv4 como payload do IPv6 em redes IPv6 e do transporte do cabeçalho IPv6 como payload do IPv4 em redes IPv4. A Figura 2 mostra um cenário possível de tunelamento. Quando o pacote chega ao roteador posicionado na fronteira entre as redes IPv6 e IPv4, é inserido um cabeçalho IPv4 abaixo do cabeçalho IPv6, permitindo que este pacote seja roteado na rede IPv4 até que atinja o roteador que leva o pacote de volta a uma rede IPv6;

· Tradução: a primeira possibilidade é que cabeçalhos IPv6 sejam inteiramente traduzidos para cabeçalhos IPv4. O mesmo ocorrerá com APIs de programação que lidam com IPv4 e passarão a lidar com IPv6.

Figura 2. Tunelamento na transição IPv4/IPv6.

IPSec

Quando o IPv4 foi criado, no inicio da década de 80, não houve preocupação em desenvolver soluções de segurança para o protocolo. As primeiras aplicações que utilizavam o IP envolviam a conexão de laboratórios acadêmicos e, provavelmente, os pesquisadores não imaginavam que o IPv4 seria a base de uma rede de escala mundial como a Internet. Com o início da popularização da Internet, já na década de 90, os pesquisadores perceberam que o IP poderia ser usado em transações sensíveis do ponto de vista de segurança.

Em 1994, a IAB (Internet Architecture Board) publicou um relatório denominado Security in the Internet Architecture (RFC 1636). O relatório estabeleceu os principais pontos que deveriam ser tratados para a melhoria de segurança na Internet. Em resumo, o documento determinava que era necessário utilizar técnicas de cifragem e autenticação para evitar que conexões fim a fim fossem controladas ou monitoradas por agentes não autorizados. As soluções levantadas no documento seriam incluídas na versão 6 do IP. Entretanto, elas foram projetadas de forma que já pudessem ser utilizadas pela versão 4. A estes padrões de segurança para o IP damos o nome de IPSec.

O IPSec é um framework de segurança, do qual devemos destacar dois protocolos: o AH (Authentication Header) e o ESP (Encapsulating Security Payload). O AH oferece autenticação e integridade das mensagens, mas não proporciona confidencialidade. O ESP oferece uma combinação de autenticação, integridade das mensagens e confidencialidade. Por oferecer confidencialidade, o ESP é bem mais utilizado que o AH. Porém, o AH pode ser utilizado em conexões que não precisam de confidencialidade, como a descoberta de vizinhos do IPv6.

Há duas formas de utilização do IPSec: o modo túnel e o modo transporte. No modo transporte, a preocupação é oferecer segurança para as camadas superiores à camada de rede. Neste caso, temos a cifragem de todo o payload, mas não temos a cifragem do cabeçalho IP. No modo túnel, tanto o cabeçalho quanto o payload IP são cifrados.

No IPv4, o suporte a IPSec não é obrigatório e os cabeçalhos do IPv4 e dos protocolos do IPSec se combinam de maneiras diferentes para os modos transporte e túnel. A Figura 3 ilustra como os cabeçalhos do ESP e do IPv4 são posicionados no modo transporte. Podemos observar que temos, primeiramente, o cabeçalho IPv4 original do pacote a ser transmitido, que não é cifrado. Logo após o cabeçalho IPv4, vem o cabeçalho ESP, seguido pelo payload do pacote IP, que está cifrado. A Figura 4 mostra como os cabeçalhos do ESP e do IPv4 se posicionam no modo túnel. É criado um novo cabeçalho IPv4, cujo endereço de origem é a entrada do túnel e o endereço de destino é a saída do túnel. O cabeçalho ESP é posicionado após o novo cabeçalho IPv4 e é seguido pelo cabeçalho original IPv4 do pacote a ser transmitido. Logo após o cabeçalho IPv4 original, temos o payload do pacote IP. Tanto o cabeçalho original IPv4 como o seu payload são cifrados.

Figura 3. IPSec e IPv4: modo transporte.

Figura 4. IPSec e IPv4: modo túnel.

No IPv6, o suporte ao IPSec é obrigatório. Os cabeçalhos dos protocolos IPSec, tanto o AH como o ESP, são inseridos nos cabeçalhos de extensão do IPv6, que são posicionados como payload do pacote IP. No caso do AH, o campo Next Header do cabeçalho IPv6 vai receber o valor 51. Quando o cabeçalho de extensão contiver um cabeçalho ESP, o valor do campo Next Header será igual a 52.

O AH, no modo transporte, é adicionado após as extensões Hop by hop options, Routing options e Fragmentation options, caso elas existam. O cabeçalho de extensão Destination options pode ser posicionado após o cabeçalho de extensão AH. No modo túnel, é criado um novo cabeçalho IPv6 e podem ser criadas também novas extensões. O cabeçalho IPv6 original e os cabeçalhos de extensão originais são posicionados após o AH. A Figura 5 mostra como fica a disposição dos cabeçalhos com a utilização do AH no modo transporte e no modo túnel com o IPv6.

Figura 5. AH com IPv6.

O ESP, no modo transporte, também é adicionado após os cabeçalhos de extensão Hop by hop options, Routing options e Fragmentation options, caso eles estejam sendo utilizados. O cabeçalho de extensão Destination options pode ser adicionado depois do ESP. No modo túnel, é criado um novo cabeçalho IPv6 e cabeçalhos de extensão novos também podem ser criados. O cabeçalho e as extensões originais são posicionados após o ESP. A Figura 6 apresenta como fica a disposição dos cabeçalhos com a utilização do ESP no modo transporte e no modo túnel.

Figura 6. ESP com IPv6.

As conexões IPSec são construídas por meio das associações de segurança. Uma associação de segurança é uma conexão simplex, isto é, ela tem apenas um sentido. Se os dois nós desejam enviar pacotes por meio de uma conexão segura, são necessárias duas associações de segurança, uma em cada sentido. No estabelecimento da associação de segurança são definidos os parâmetros de segurança da conexão como algoritmo de criptografia que será utilizado, chaves de segurança, entre outros. A definição das chaves pode ser manual ou automática. Caso ela seja manual, o administrador de rede deve cadastrar os parâmetros de segurança nos nós que participam da conexão segura, tarefa impraticável para situações onde há muitos nós utilizando IPSec. Na configuração automática, é utilizado o protocolo de troca de chaves IKE (Internet Key Exchange), previsto no próprio framework IPSec.

É possível observar que a utilização do IPSec no IPv4 e no IPv6 é ligeiramente diferente, já que no IPv6, o IPSec utiliza a estrutura de cabeçalhos de extensão, não existente no IPv4. No IPv6, o suporte ao AH e ao ESP já esta previsto e é obrigatório.

Ameaças à segurança das redes IPv6

O suporte obrigatório que o IPv6 deve oferecer ao IPSec não o torna um protocolo automaticamente mais seguro que o IPv4. Portanto, os problemas de segurança nas novas redes IPv6 merecem especial atenção. O primeiro ponto que deve ser esclarecido é que o IPSec não deve ser utilizado em todas as conexões baseadas em IPv6. Isto seria impossível, pois a utilização do IPSec em larga escala é complexa. A segunda razão é que a utilização de IPSec não corrige todos os problemas de segurança possíveis. Mesmo se ele pudesse ser utilizado em todas as conexões IPv6, ainda restariam alguns tipos de ataques que não seriam evitados. Além disso, há novas formas de ataque que devem ser criadas em cima das novas funcionalidades do IPv6 e ataques que já existiam no IPv4 que devem tomar novas formas para continuarem presentes no IPv6. A falta de mão de obra especializada e de ferramentas de monitoramento e proteção voltadas para redes IPv6 pode tornar o cenário ainda mais complicado. Mesmo que tenha havido uma preocupação maior com segurança no desenvolvimento do IPv6, se não entendermos bem as implicações da adoção do IPv6 na área de segurança, não conseguiremos desfrutar dos benefícios que a nova versão do protocolo nos traz.

Alguns atributos que são novidade no IPv6 podem ser utilizados como brechas de segurança. A primeira delas são os endereços multicast e anycast. Por meio destes endereços, é possível identificar rapidamente os hosts que hospedam serviços importantes como DHCP e DNS ou dispositivos como roteadores. O projeto do IPv6 buscou a diminuição da intervenção humana na configuração dos hosts, tornando automática a localização dos serviços e dispositivos mais importantes para o bom funcionamento da rede.

A auto configuração stateless trazida pelo IPv6 é um ponto de vulnerabilidade para outros tipos de ataques. As mensagens ICMPv6, utilizadas para a troca de informações entre hosts durante a auto configuração, podem ser utilizadas por agentes maliciosos, mas não podem ser bloqueadas por serem essenciais ao funcionamento da rede. Um host mal intencionado pode gerar mensagens ICMPv6 fazendo com que outros nós passem a tratá-lo como roteador, conforme apresentado na Figura 7. Uma solução é utilizar o DHCPv6 para alimentar os hosts com informações sobre os roteadores, ao invés de usar a solução stateless, que é totalmente automatizada. Ainda utilizando o ICMPv6, um agente mal intencionado pode gerar um grande volume de mensagens para causar sobrecarga em toda a rede.

Figura 7. Ataque no qual agente malicioso se passa por roteador.

Uma possível forma de ataque de negação de serviço explora o processo de descoberta de endereço duplicado utilizado na auto configuração. O host que está se configurando envia à rede uma mensagem ICMPv6 do tipo Neighbor Solicitation (NS) com o endereço que pretende usar. Um agente mal intencionado pode mentir, enviando uma mensagem ICMPv6 do tipo Neighbor Advertisement (NA) na qual diz que já está utilizando o endereço. Quando recebe esta mensagem, o host que havia enviado a mensagem NS gera outro endereço e envia nova mensagem NS para conferir se não há duplicação de endereço. O agente mal intencionado pode novamente mentir. Este fato pode se repetir indefinidamente, negando o direto de ingresso na rede ao host interessado (Figura 8).

Figura 8. Ataque de negação de serviço utilizando o mecanismo de detecção de endereços duplicados.

No IPv4, quando o host vai enviar o pacote e tem de colocar o endereço físico do destino, é utilizado o ARP (Address Resolution Protocol) para descobrir qual é o endereço físico correspondente a um determinado endereço IP. No ARP, o pedido é enviado por meio de uma mensagem de broadcast. No IPv6, não há endereço de broadcast. Desta forma, um endereço multicast é utilizado para a descoberta do endereço físico correspondente a um determinado endereço IP. O host envia uma mensagem ICMPv6 do tipo Neighbor Solicitation com destino ao endereço multicast solicited-node, perguntando pelo endereço físico correspondente a um dado endereço IP. Um atacante pode responder esta solicitação passando seu endereço físico como resposta. A partir daí, o atacante passa a ser o man in the middle, interceptando os pacotes enviados pelo host que no início enviou a mensagem ICMPv6 em busca do endereço físico do destinatário de seus pacotes (Figura 9).

Figura 9. Ataque Man-in-the-middle.

Outra novidade do IPv6 que poderia ser utilizada para ataques é o cabeçalho de extensão Routing options. Neste cabeçalho, utilizando o atributo “Type 0”, era possível determinar nós intermediários que deveriam ser visitados até que o pacote chegasse a seu destino. O mesmo nó poderia ser incluído várias vezes na lista. Desta forma, um atacante poderia construir um fluxo de pacotes que ficaria continuamente trafegando entre dois roteadores até causar um congestionamento ou uma negação de serviço. O atacante também poderia construir pacotes que conseguissem desviar de firewalls ou sistemas de detecção de intrusão. A opção “Type 0”, que permitia este ataque, foi depreciada pelo RFC 5095.

As novidades que envolvem o IPv6 trazem outra dificuldade com relação à segurança: encontrar mão de obra especializada. Com a falta de especialistas, acabam ocorrendo erros na configuração de dispositivos responsáveis pela defesa do perímetro da rede como firewalls e sistemas de detecção de intrusão. Outro problema é a presença de dispositivos IPv6 na rede sem que a administração de rede esteja ciente. Isto pode ocorrer já que há sistemas operacionais como o Windows 7, Apple OS X e algumas distribuições do Linux que já são compatíveis com IPv6 automaticamente. Desta forma, quando instalados, estes sistemas operacionais acabam inserindo as vulnerabilidades do IPv6 na rede. Os computadores com IPv6 podem servir como backdoor para ataques (ver Nota DevMan 1).

Nota DevMan 1. Backdoor

Backdoor é um ponto alternativo de acesso a um software ou a uma rede. Por meio de uma backdoor, é possível ingressar no ambiente alvejado sem passar pelas barreiras de segurança.

A transição também poderá trazer problemas de segurança. Uma das técnicas de transição é o tunelamento, na qual um pacote IPv6 é transportado sobre um pacote IPv4 para poder trafegar em uma rede IPv4. Se no caminho tivermos um firewall que não é ciente da presença do IPv6, ele só analisará o pacote IPv4 e o pacote IPv6 será liberado sem análise. Quando a abordagem de transição é a pilha dupla, o administrador de rede se depara com o problema de manter estruturas de segurança simultaneamente para duas redes diferentes.

Aumentando a segurança em redes IPv6

A infinita variedade de endereços oferecida pelo IPv6 involuntariamente diminuiu as chances de um tipo de ataque. Frequentemente, o primeiro passo de um ataque é a identificação de hosts ativos na rede que será o alvo. O atacante identifica uma sub rede e passa a tentar estabelecer contato com todos os endereços possíveis dentro desta sub rede. Os endereços que respondem à tentativa de contato levam à identificação dos hosts ativos. Com estas informações, o atacante pode realizar um port scan nos hosts encontrados. Com o IPv6, este tipo de ação é mais difícil, já que as faixas de endereços são muito extensas. Mesmo assim, o administrador de rede deve evitar a atribuição de endereços de forma sequencial e ordenada aos hosts, pois isso pode facilitar o trabalho do atacante que está buscando reconhecer hosts ativos para realizar o port scan.

Há algumas medidas que podem ser adotadas de forma a permitir que as novidades do IPv6 sejam utilizadas e os riscos para a segurança sejam controlados. No caso do ICMPv6, por exemplo, há alguns tipos de mensagens que podem ser bloqueados sem trazer grandes prejuízos ao funcionamento da rede. A Tabela 1 mostra alguns tipos de mensagens que podem ser bloqueadas.

Tipos de mensagens ICMPv6 que podem ser bloqueadas

Comentários/Justificativas

137- Redirect

Alertam os nós que devem enviar o tráfego para outro roteador

138- Router Renumbering

Permitem a reconfiguração automática de roteadores

139- Node Information Query

Permitem que um agente malicioso obtenha as características de um nó

140- Node Information Response

Permitem que um agente malicioso obtenha as características de um nó

Tabela 1. Mensagens ICMPv6 que podem ser bloqueadas.

As mensagens 133-Router solicitation, 134-Router Advertisement, 135- Neighbor solicitation e 136-Neighbor Advertisement devem ser liberadas, mesmo que tragam riscos para a rede. Estas mensagens são essenciais para o funcionamento da rede IPv6. Uma forma de proteger a rede mesmo com a utilização destas mensagens é a aplicação do SEND (Secure Neighbor Discovery Protocol - RFC 3971). Neste protocolo, os endereços dos nós são conhecidos como CGA (Cryptographically Generated Addresses). Estes endereços são gerados através da aplicação de funções hash sobre a chave pública e outros parâmetros do dono do endereço. Desta forma, é possível verificar se o endereço pertence mesmo a quem alega ser o dono dele.

O desenvolvimento de firewalls específicos para IPv6 está em seu estágio inicial. Temos algumas implementações prontas em distribuições do Linux e em equipamentos Cisco e Juniper. Seguem outras ferramentas que podem ser utilizadas em redes IPv6:

· NDPWatch: monitora as mensagens ICMPv6 e mantém uma base de dados que mapeia quais endereços IP estão relacionados a quais endereços físicos. Quando há mudanças no mapeamento, emite alertas;

· NDPMon: monitora a rede e emite alertas quando detecta mensagens de descoberta de vizinhança suspeitas. É similar ao NDPWatch;

· Nmap: software para realizar verificação de vulnerabilidades da rede;

· Snort: sistema de detecção e prevenção de intrusão bastante utilizado nas redes IPv4, que já possui versões para IPv6.

Nas situações de transição, deve-se evitar os túneis automáticos, adotando, sempre que possível, túneis de configuração manual. Quando a configuração do túnel é manual, é possível controlar o ponto de entrada e saída do túnel de forma que eles estejam cientes que existem pacotes IPv4 e IPv6 trafegando por eles. Por fim, se a abordagem de transição é a pilha dupla, é necessário se assegurar de que os firewalls foram configurados corretamente para proteger as duas redes, a IPv4 e a IPv6.

Conclusão

O IPv6 traz muitas novidades com relação ao IPv4. Ao oferecer um volume enorme de endereços disponíveis e dar suporte a qualidade de serviço, mobilidade e segurança, o IPv6 mostra que está preparado para as demandas mais modernas que tem sido criadas para as redes IP. Porém, a utilização do IPv4 está profundamente inserida no funcionamento da Internet e abandonar esta versão do protocolo, que é madura e já foi exposta aos mais diversos desafios, tem trazido dificuldades para as equipes técnicas. Um dos pontos que tem gerado questionamento na transição entre as duas versões do IP é a segurança.

Alguns alegam que o IPv6 é mais seguro que o IPv4 por obrigatoriamente oferecer suporte ao IPSec. Porém, não podemos esquecer que o IPSec não pode ser utilizado em todas as conexões, já que demanda bastante esforço com configuração e sua utilização é complexa. Além disso, o IPv6 traz muitos elementos novos, para os quais as equipes técnicas e os equipamentos de segurança ainda não estão bem preparados, o que pode trazer vulnerabilidades para as redes que migrarem para IPv6. Entre os pontos de maior vulnerabilidade do IPv6 estão a auto configuração, os cabeçalhos de extensão e o desafio de configurar e manter equipamentos como firewalls e sistemas de detecção de intrusão para defesa de duas redes simultaneamente: a rede IPv4 e a rede IPv6.

Soluções para os problemas de segurança do IPv6 já tem sido propostas. O SEND é uma solução para diminuir os problemas de segurança originados no protocolo de descoberta de vizinhança existente nos mecanismos de auto configuração. Ferramentas como o NDPWatch e o NDPMon podem ser utilizadas para monitorar a troca de mensagens ICMPv6 entre os hosts e emitir alarme caso comportamentos maliciosos sejam detectados. Alguns tipos de mensagens ICMPv6 também podem ser bloqueados para diminuir os riscos. Além disso, firewalls específicos para IPv6 já estão disponíveis.

Para garantir que a transição do IPv4 para o IPv6 não represente um aumento nos riscos para a segurança das redes, é necessário que ela seja realizada com critério e planejamento. Os responsáveis pela transição devem estar cientes das vulnerabilidades que envolvem a introdução do IPv6 na rede, buscando soluções para todas elas e aproveitando medidas de segurança que já eram utilizadas com o IPv4 e podem ser adaptadas para os cenários IPv6.

Links

Apostila “Curso IPv6 básico” do NIC.br
http://curso.ipv6.br

Artigo “IPv6 Security Challenges”, escrito por Carlos Caicedo, James Joshi e Summit Tuladhar
http://dx.doi.org/10.1109/MC.2009.54

Livro “IPv6 Essentials”, escrito por Silvia Hagen
Editora O’Reilly, 2.ª edição, 2006

Nmap
http://nmap.org/

NDPMon
http://ndpmon.sourceforge.net/

NDPWatch
http://sourceforge.net/projects/ndpwatch/

Snort
http://www.snort.org/