sábado, 10 de outubro de 2009

Tipos de Ataques por camada - Camada de Enlace


 Dando continuidade ao trabalho de conhecer os riscos que rondam o nosso ambiente, vamos falar agora dos principais perigos da camada enlace.


Se queremos realmente implementar um ambiente mais seguro é de fundamental importância conhecermos os perigos que nos cercam e os nossos principais inimigos.




Para isso é interessante que você leia os artigos anteriores:


- Como abrir um escritório de segurança da informação na sua empresa
- Um modelo de documentação de rede
- Tipos de Ataques por camada - Camada Física

O nosso artigo terá a seguinte organização:


1) Estrutura do artigo

  • Introdução;
  • Ataques MAC;
  • Ataques DHCP;
  • Ataques ARP;
  • Ataques STP e VLANS relacionadas;
  • Bibliografias.

OBS: Dentro de cada tópico que será abordado falaremos a respeito de algumas soluções para se defender dos respectivos ataques.


2) Introdução

É na camada de enlace que são definidos os links de dados, e é onde encontramos protocolos e tecnologias como o ATM, Frame Relay, PPP, Ethernet, Wirelles LAN (802.11a/b/g), entre outros. A camada 2 merece uma atenção especial da equipe de segurança, pois ela pode afetar as camadas superiores, causando interrupções nos serviços e brechas de segurança.



3) Ataques MAC

O endereço MAC é a principal forma de identificação de equipamentos em uma rede, e são utilizados em redes Ethernet, Wireless (802.11a/b/g), Bluetooth, FDDI, Fiber Channel e Token Ring. Os endereços MAC possuem 48 bits, sendo que os primeiros 24 bits são utilizados para identificar o fabricante da placa de rede e são definidos pelo IEEE, já os últimos 24 bits são atribuídos pelo fabricante da placa. Para que os endereços MAC funcionem adequadamente eles devem únicos dentro de uma rede, caso haja mais de um haverá conflito. Por definição o endereço FF-FF-FF-FF-FF-FF é usado como endereço de broadcast, ou seja, servirá para comunicação simultânea com todas as máquinas que estão na mesma rede.

Um switch constrói e mantém dinamicamente uma tabela CAM (Content-Addressable Memory), mantendo todas as informações MAC necessárias para cada porta. A memória CAM é o equivalente, num switch, à tabela de roteamento num roteador. É a partir das informações armazenadas na memória CAM que o switch escolhe para qual porta um determinado quadro deve ser encaminhado.

Um dos principais problemas de segurança envolvendo o endereçamento da camada de enlace é o overflow da tabela CAM dos switches. A tabela CAM de um switch é responsável por armazenar e relacionar endereços MAC, portas e parâmetros de VLANS, podendo assim encaminhar de forma correta os quadros que passam por ele.


Fisicamente a tabela CAM é armazenada em uma memória normal e como tal possui tamanho limitado, percebendo isso em 1999 Ian Vitek criou uma ferramenta chamada macof, que alterna inundações de endereços MAC de origem inválidos (cerca de 155000 por minuto). Essa ferramenta é capaz de encher rapidamente a tabela CAM do switch que está diretamente conectado ao host responsável pela execução da ferramenta, e os switches que estiverem conectados ao equipamento atacado também são afetados.

O resultado desse ataque é um comportamento adotado pelo switch quando ele não consegue encontrar um endereço em sua tabela, ele envia os quadros recebidos para todas as suas portas, passando a se comportar como um Hub. Com esse comportamento é possível realizar um ataque de man-in-the-middle monitorando o tráfego da rede. Este tipo de ataque, também conhecido como ataque do homem do meio, é um cenário no qual o atacante intercepta a comunicação entre dois hosts e falsifica as mensagens a fim de fazer-se passar por uma das partes. Para resolver esse problema é preciso utilizar switches gerenciáveis que possuam ferramentas de segurança para controlar os dados que trafegam por cada porta, além disso, deve-se realizar um monitoramento refinado dos dados que trafegam pela rede a fim de detectar o uso não autorizado de ferramentas de monitoramento.

Outro problema de segurança envolvendo endereços MAC é o MAC Spoofing, que é um tipo de ataque utilizado para substituir uma entrada na tabela CAM que possui um endereço MAC conhecido que aponta para uma determinada porta, fazendo com que ele aponte para outra porta, normalmente a que o atacante está conectado. Através desse ataque é possível causar a interrupção de serviços e pode, também, ser usado como um ataque man-in-the-middle. Esse tipo de ataque só pode ser bloqueado em switches gerenciáveis que possuem ferramentas de segurança para tal.


4) Ataques DHCP

O DHCP (Dynamic Host Configuration Protocol) é um protocolo utilizado por dispositivos conectados a uma rede para obter as configurações de rede, tais configurações incluem endereço IP, máscara de sub-rede, gateway padrão, e os endereços IP dos servidores de DNS, tudo a partir de um servidor executando o software do servidor DHCP. Os endereços IP cedidos aos clientes são na realidade atribuídos a partir de um intervalo de endereços configurados no servidor. O funcionamento básico do serviço de DHCP é mostrado na a seguir.




O servidor DHCP atribui um endereço IP a um dispositivo que solicita uma locação, ou seja, o endereço é reservado por um intervalo limitado de tempo, que normalmente é determinado pelo administrador da rede. Durante o tempo que esse endereço estiver reservado o servidor DHCP não poderá atribuí-lo a nenhum outro cliente. Quando o tempo de expiração de locação do endereço estiver próximo o cliente pode solicitar a prorrogação do prazo de locação para o servidor DHCP.

Tendo entendido o funcionamento do DHCP podemos partir para os problemas de segurança que envolve esse serviço, e um deles é o DHCP Starvation. Este ataque consiste em alocar todos os endereços IP disponíveis no servidor DHCP, onde o atacante de forma simples, através de um broadcast usando requisições DHCP com endereços MAC falsos, obtém sucesso. Isso leva à negação de serviço na rede para os clientes habituais, abrindo uma brecha para os atacantes configurarem um servidor DHCP falso, e através dele envia informações falsas para os clientes, como por exemplo, dando-lhes o seu próprio endereço IP, se passando por default gateway. A partir do momento que os clientes aceitarem as novas configurações DHCP todo o tráfego da rede passara pela máquina do atacante, tornando assim muito fácil o monitoramento das informações. Os servidores DHCP falsos podem ser criados mesmo sem executar o ataque DHCP Starvation, uma vez que os clientes aceitam o primeiro DHCP OFFER que recebem.

Se proteger desses ataques só se torna possível através de switches inteligentes que possuam ferramentas de segurança que não permitam mais de um endereço MAC em uma porta.



5) Ataques ARP

O acrônimo ARP significa Address Resolution Protocol, e é um dos protocolos mais utilizados para mapear endereços IP para endereço MAC, além de ser essencial para a comunicação TCP/IP. Dentro de um mesmo segmento de rede computadores trocam mensagens ARP uns com os outros para encontrar o endereço MAC baseados no endereço IP que possuem.

Por ser um protocolo muito simples ele não possui muitos recursos de segurança, o que acaba abrindo uma brecha para possíveis ataques. O ataque mais conhecido para se aproveitar da simplicidade do protocolo ARP é o ARP Spoofing, e consiste no envio de endereços IP ou MAC falsos causando ataques como a negação de serviços e o man-in-the-middle.

Uma das formas de se evitar estes ataques é adicionando os pares IP/MAC manualmente na tabela ARP dos computadores na rede, o que ajudaria a eliminar alguns cenários de ataque ARP Spoofing, mas está longe de ser uma solução viável, uma vez que, em redes de grande porte, seria quase que impossível manter um controle adequado. Outra solução que ajudaria a amenizar esse problema seria utilizar ferramentas de monitoramento e auditoria, dessa forma seria possível averiguar com mais rapidez comportamentos anormais no tráfego da rede.


6) Ataques STP e VLANS relacionadas

As VLANs (IEEE 802.1Q) são redes logicamente independentes ligadas fisicamente em uma rede maior, permitindo criar múltiplos domínios de broadcast dentro da rede, além de separar diferentes tipos de tráfegos. A tecnologia de LANs virtuais permite grande flexibilidade no gerenciamento da rede, uma vez que dá ao administrador a possibilidade de criar diversas VLANs dento do mesmo switch. É possível também através de trunks transportar dados e informações de VLANs entre switches. Trunks são interligações entre switches que permitem identificar a que VLAN pertence determinado dado através de tags.

Através da criação de VLANs é possível se atingir um excelente nível de segurança na camada de enlace, pois permite a separação dos diferentes tipos de tráfego existente na rede. Mas ainda assim é preciso tomar cuidado, pois a má configuração desses switches pode permitir a ocorrência de um ataque conhecido como VLAN hopping.

Esse tipo de ataque permite ao invasor tentar enviar dados para hosts que estão em outras VLANs através da alteração da tag que diz a qual VLAN pertence o dado. Como a implementação do 802.1Q está disponível para os mais diversos sistemas operacionais ele possui um modo padrão de funcionamento do trunk, o que permite ao atacante criar um link em modo trunk entre ele e o switch, e dessa forma ter acesso a todos os hosts em todas as VLANs configuradas.

Outro tipo de ataque bastante conhecido é a criação de loops na rede, que acontece quando duas portas pertencentes à mesma VLAN possuem ligações entre si, ou quando há dois ou mais caminhos entre dois switches.

Usuários com más intenções e que possuem acesso a infra-estrutura de TI podem criar fisicamente loops na rede, ligando cabos cruzados em portas que pertencem ao mesmo switch e a mesma VLAN. Este tipo de ataque faz com que os pacotes de broadcast trafeguem por um longo período de tempo em sua rede, inundando cada porta que pertence à VLAN atacada em cada switch, prejudicando bastante o desempenho, ou até mesmo derrubando a rede.

Para resolver esse problema foi desenvolvido o STP ou Spanning Tree Protocol (IEEE 802.1D), que trabalha para desativar links que possam formar loops, verificando a possibilidade de implantação de ligações redundantes na rede.

Mas com essa solução veio também outro tipo de problema, onde o atacante envia broadcasts de configuração STP ou mudanças de topologia através dos BPDUs (Bridge Protocol Data Unit), forçando recálculos STP e esperando que o atacante se torne o root bridge.

O STP demora cerca de 30 a 45 segundos para reeleger um novo root bridge caso o antigo falhe, resultando assim em ataques de negação de serviço. Como root bridge, o atacante pode monitorar todos os quadros ethernet que pertencem a outras VLANs. Nesse caso, para evitar os ataques basta monitorar o tráfego da rede e verificar de tempos em tempos as configurações dos switches.


7) Bibliografias

- GHEORGHE, Lucian. Designing and Implementing Linux Firewalls and Qos using netfilter, iproute2, NAT, and L7-filter. 1. Ed. Birmingham: Packt Publishing, 2006.


Espero estar contribuindo com esses artigos. Aguardo sugestões. Um grande abraço a todos.


0 comentários: