2.4 Ataques
2.4.1 Principais tipos de ataque
2.4.1.3 Sniffing
Sniffing é o processo realizado por ferramentas conhecidas como sniffer, que são softwares ou hardwares específicos com capacidade de interceptar o tráfego de dados em uma rede de computadores, ele faz a captura de cada pacote, decodifica e analisa o seu conteúdo, define Reis (2003).
O sniffing pode ser utilizado com propósitos diferentes, invasores utilizarão de forma maliciosa capturando o tráfego da rede com o intuito de, obter cópias de arquivos importantes durante sua transmissão, obter senhas, ou seja capturar informações confidenciais. Os administradores de rede utilizarão um sniffer para auxiliar na detecção da causa de um problema, para gerar logs do tráfego da rede.
Para entender o funcionamento do sniffing, precisa-se saber um pouco do funcionamento de redes de computadores. Os pacotes que são enviados nas redes de computadores possuem endereço de origem e destino(endereço MAC9), em redes que utilizam HUB's10. Ao se enviar um pacote, esse pacote será recebido por todos os computadores, esses computadores só responderão caso o pacote tenha como endereço de destino o seu MAC, caso contrário o pacote será descartado. Se a rede utilizar switch11 só o verdadeiro destinatário receberá o pacote. É possível que um computador não descarte os pacotes que não são destinados a ele, capturando todo o tráfego da rede. É exatamente isso que o sniffer faz, coloca a interface no
9 Código hexadecimal usado para identificar placas de rede ligadas a internet. Cada placa de rede possui um código MAC distinto.
10 Hub é um dispositivo que concentra a ligação entre diversos computadores que estão em uma rede de computadores. Encaminha os dados para todos os computadores conectados, sem distinção.
11 Diferentemente do Hub, o switch não redireciona a informação que recebe para todos computadores ligados, e sim apenas para o equipamento destino.
modo promíscuo, ou seja, habilita a interface de rede de forma que aceite todos os pacotes.
Os pacotes são capturados e armazenados em arquivos salvos em disco rígido. Se a rede possuir muito fluxo, esses arquivos podem ficar extensos, facilitando assim a detecção do sniffer. Sendo assim, possuem uma configuração seletiva, de forma a armazenar somente as informações de maior importância.
Também é possível em alguns sniffers configurar para que informações capturadas de pacotes sejam enviadas através de e-mail para o invasor.
Quando a rede utiliza switchs e não HUB's, o ataque de sniffer fica mais difícil de ocorrer, porém continua sendo possível. Reis (2003) acrescenta algumas formas de ataques que podem ocorrer nestes tipos de redes:
✗ Table Flooding: Técnica que consiste em modificar a tabela do switch com várias entradas falsas, para que ele passe a enviar os pacotes para todas as portas.
Quando o invasor começa a enviar pacotes ARP para a rede, cada um com um endereço MAC diferente, que não existe na rede, o switch vai armazenando estes endereços em sua tabela, até que esta fica cheia. Assim, os pacotes em que o destinatário não estiver listado na tabela do switch serão enviados para todas as portas, permitindo assim ao invasor capturá-los.
✗ ARP Cache Poisoning: Consiste no envio de pacotes ARP forjados para os alvos (máquinas) desejados, fazendo com que todo o tráfego entre elas passe pela máquina do invasor.
Para que seja possível realizar o ataque, o invasor envia pacotes ARP para dois hosts que estejam se comunicando, se fazendo passar por eles, por exemplo, dois computadores se comunicando, A e B. O atacante então envia pacotes para A se fazendo passar por B e vice versa. Desta forma a tabela ARP dos hosts A e B fica poisoned (envenenada).
Assim, o invasor pode também capturar os pacotes enviados e alterá- los antes de enviar para o verdadeiro destinatário.
✗ ICMP Redirect: São pacotes usados por roteadores para fazer com que os computadores enviem seus pacotes por um caminho diferente.
Quando forjados, o invasor pode alterar as tabelas de roteamento de uma maquina para que o trafego passe por ele.
✗ Monitor Port: Na verdade o monitor Port deveria ser somente um recurso que permitisse copiar todo o tráfego da rede para uma ou mais portas, porém, muitos administradores de redes não alteram a senha padrão dos switches, permitindo assim que o invasor faça com que o switch envie todo o tráfego da rede para a porta em que ele está conectado.
2.4.1.3.1 Detectando Sniffers
Segundo Reis (2003), existem duas formas de detecção de sniffers, definidas como local e remota. A forma local consiste em utilizar ferramentas do sistema para verificar se existem interfaces em modo promíscuo, ou algum outro indício da existência de sniffers na máquina. Por exemplo, utilizando o comando ifconfig para ver se uma interface está em modo promíscuo, e ferramentas que buscam o arquivo onde o sniffer grava os dados capturados.
Na detecção remota, exploram-se certas características do sistema operacional e protocolos, que possam indicar a existência de um sniffer. Segue abaixo, por Reis (2003), a descrição de algumas ferramentas e métodos utilizados na detecção remota de sniffer.
✗ Método Ping: Seu funcionamento consiste em enviar um comando Ping para a máquina a ser testada, utilizando um endereço MAC diferente.
Como o MAC não é o da máquina, o correto é que não haja resposta ao comando, caso ocorra, é porque a interface de rede não descartou o pacote, e está rodando em modo promíscuo12.
✗ Honey Pot: É uma técnica onde se envia informações, senhas falsas na rede, simula conexões, e esperar que alguém tente usa-las.
✗ Inundação ARP: Os sniffers geram grande tráfego ARP, enchendo a
12 Modo no qual o host aceita todos os pacotes que trafegam na rede, sejam ou não direcionados a ele.
tabela do switch ou assumindo o lugar de outra máquina. O monitoramento do número de anúncios ARP pode revelar a existência de sniffers na rede.
2.4.1.3.2 Como evitar o Sniffing
Existem algumas formas de evitar sniffing, como por exemplo o uso de entradas ARP estáticas(a cache ARP não é modificado), o uso de Port Security (mantém os endereços MAC a certas portas do switch). Existem ainda interfaces de rede que não suportam o modo promiscuo, mas são difíceis de serem encontradas, acrescenta Reis (2003).
A utilização de switches nas redes de computadores torna mais difícil o sniffing, pois os switches possuem tabelas onde são armazenados, endereços MACs encontrados em cada uma de suas portas. Por isso, o switch pode enviar os pacotes apenas para a porta onde esta o destinatário.
Uma importante forma de prevenção é a utilização de criptografia, vista como a forma mais eficiente se implementada de forma correta, utilizando chaves seguras.