Como o software de detecção de rede funciona em um switch?

18

Temos vários switches 3com não gerenciados padrão em uma rede. Eu achava que os switches deviam enviar apenas pacotes entre pares de uma conexão.

No entanto, parece que o software sniffing de rede em execução em um computador conectado a qualquer um dos switches é capaz de detectar tráfego (ou seja, streaming de vídeo do YouTube, páginas da web) de outros computadores host conectados a outros switches da rede.

Isso é possível ou a rede está totalmente quebrada?

    
por Can Kavaklıoğlu 01.01.2012 / 08:58

3 respostas

22

Para completar a resposta de David, um switch aprende quem está por trás de uma porta, observando os endereços MAC dos pacotes recebidos nessa porta. Quando o interruptor está ligado, não sabe nada. Quando o dispositivo A envia um pacote da porta 1 para o dispositivo B, o switch aprende que o dispositivo A está atrás da porta 1 e envia o pacote para todas as portas. Quando o dispositivo B responde a A da porta 2, o switch envia apenas o pacote na porta 1.

Esse relacionamento MAC para porta é armazenado em uma tabela no comutador. É claro que muitos dispositivos podem estar por trás de uma única porta (se um switch estiver conectado à porta como exemplo), portanto, pode haver muitos endereços MAC associados a uma única porta.

Esse algoritmo quebra quando a tabela não é grande o suficiente para armazenar todos os relacionamentos (memória insuficiente no switch). Nesse caso, o switch perde informações e começa a enviar pacotes para todas as portas. Isso pode ser feito facilmente (agora você sabe como hackear sua rede) forjando muitos pacotes com MAC diferente de uma única porta. Isso também pode ser feito forjando um pacote com o MAC do dispositivo que você deseja espionar, e o switch começará a enviar o tráfego para esse dispositivo.

Os switches gerenciados podem ser configurados para aceitar um único MAC de uma porta (ou um número fixo). Se mais MACs forem encontrados nessa porta, o switch pode desligar a porta para proteger a rede ou enviar uma mensagem de log para o administrador.

EDITAR:

Sobre o tráfego do youtube, o algoritmo descrito acima só funciona no tráfego unicast. A transmissão Ethernet (ARP como um exemplo) e o multicast IP (usado às vezes para streaming) são tratados de maneira diferente. Não sei se o youtube usa multicast, mas pode ser um caso em que você pode detectar o tráfego que não pertence a você.

Sobre o tráfego da página da web, isso é estranho, pois o handshake TCP deve ter configurado o MAC para a tabela de portas corretamente. A topologia de rede coloca em cascata muitos switches muito baratos com pequenas tabelas que estão sempre cheias ou alguém está mexendo com a rede.

    
por 01.01.2012 / 11:45
6

Este é um mal-entendido comum. A menos que seja configurado estaticamente, um switch deve enviar todos os pacotes por todas as portas que não possam provar que não precisam enviar o pacote para fora.

Isso pode significar que um pacote só é enviado para a porta que contém o dispositivo de destino. Mas isso nem sempre pode ser o caso. Por exemplo, considere o primeiro pacote que o switch recebe. Como poderia saber em qual porta enviar isso?

Suprimir os pacotes de serem enviados na porta 'errada' é uma otimização que um switch usa quando pode. Não é um recurso de segurança. Switches gerenciados geralmente fornecem segurança de porta real.

    
por 01.01.2012 / 09:21
0

É possível que o envenenamento de cache ARP esteja em vigor. Essa é uma técnica usada, muitas vezes maliciosamente, para farejar uma rede comutada. Isso é feito convencendo cada máquina na rede que qualquer outra máquina tem seu endereço MAC (usando o protocolo ARP). Isso fará com que o switch encaminhe todos os pacotes para a sua máquina - você desejará encaminhá-los após a análise. Isso é comumente usado em ataques man-in-the-middle e está disponível em várias ferramentas de detecção, como Cain & Abel ou ettercap.

    
por 02.01.2012 / 19:19