Segurança
Ataques na camada 4 (TCP e UDP)
Dom 6 Mai 2007 18:38 |
- Detalhes
- Categoria: Falhas e Exploits
- Atualização: Terça, 16 Junho 2009 21:27
- Autor: vovó Vicki
- Acessos: 15442
A camada de transporte (camada 4 do modelo OSI) é especialmente vulnerável a ataques de negação de serviço (DoS - Denial of Service) e a ataques de negação distribuída de serviço (DDoS - Distributed Denial of Service). Os protocolos da camada 4 mais utilizados são o TCP (Transmission Control Protocol - Protocolo de Controle de Transmissão) e o UDP (User Datagram Protocol - Protocolo de Datagramas de Usuário).
Os ataques mais frequentes que envolvem os protocolos TCP e UDP são descritos a seguir.
Ataque "SYN" TCP
Este é um ataque do tipo negação de serviço (DoS - Denial of Service). Um DoS acontece quando um serviço fica tão sobrecarregado que não é mais capaz de responder ou atuar.
O ataque "SYN" TCP se aproveita da forma como uma conexão TCP é estabelecida. Para efetivar uma conexão, o TCP usa um método de "aperto de mão" (handshake) de três etapas.
Primeiro um host A envia um sinal SYN (pedido de sincronização) para o host B. O host B precisa controlar esta e outras conexões parcialmente abertas numa "lista de escuta", onde os pedidos ficam por pelo menos 75 segundos. Muitas implementações só conseguem controlar um número muito limitado de solicitações (uma limitação perigosa).
Depois de enviar o sinal SYN, o host A espera por uma resposta de aceitação de sincronização (SYN-ACK) do host B e, quando receber esta resposta, encerra o handshake enviando uma resposta de aceitação (ACK) para o host B. Só então a conexão é efetivada.
Quando um atacante envia, num curto intervalo de tempo, um grande volume de sinais de sincronização para algum host e NÃO responde com um ACK as respostas SYN-ACK recebidas, a fila de solicitações de sincronização do host B fica entupida de pedidos, o host não consegue "digerir" todos os pedidos em tempo hábil e pedidos de conexão legítimos acabam sendo negados.
Sequestro de conexão TCP - Ataque Man-in-the-Middle
O sequestro de conexão TCP é um dos possíveis ataques do tipo Man-in-the-Middle. A tradução de Man-in-the-Middle é Homem-no-Meio, mas costumo chamar este tipo de ataque de ataque de "penetra" ou a "praga dos intermediários".
Num ataque de penetra o atacante permite uma autenticação normal entre dois hosts para depois assumir o controle da conexão. Existem dois modos de atuação: um é durante o handshake (aperto de mão) de três etapas do TCP e o outro é no meio de uma conexão já estabelecida. O sequestro de conexão se aproveita de um "estado desincronizado" na comunicação TCP. Quando dois hosts não estão adequadamente sincronizados, eles descartam (ignoram) pacotes um do outro. Neste momento, um atacante pode injetar pacotes forjados que tenham os números sequenciais corretos (e potencialmente modificar ou adicionar comandos na conexão). Isto exige que o atacante esteja no caminho da comunicação, exatamente entre os dois hosts, para poder espionar e reproduzir pacotes que estejam sendo enviados.
O sequestro de conexões TCP permite que atacantes vejam e alterem informações privadas.
Ataque SSL Man-in-the-Middle
Este também é um ataque de penetra. O SSL/TLS, que disponibiliza autenticação e criptografia, foi criado para diminuir o risco nas transações web. Acontece que, no final do ano 2000, foi descoberta a vulnerabilidade a este tipo de ataque. Para variar, uma implementação duvidosa (para não dizer porca) do Internet Explorer da Microsoft, abriu uma brecha homérica para atacantes que possuem qualquer certificado CA autenticado. O risco é ainda maior quando um atacante puder oferecer certificados de autoridade próprios.
Ataque LAND
Neste tipo de ataque o meliante envia um fluxo forjado de pacotes SYN do TCP com endereços IP de origem, endereços IP de destino e número de porta idênticos. O sistema vítima fica piradinho da silva e pendura ou reinicializa (dá um reboot).
Ataque de inundação UDP
O UDP é um protocolo sem conexão, ou seja, não precisa de qualquer procedimento que estabeleça uma conexão para a transferência de dados. Um ataque de inundação UDP acontece quando um atacante enviar um pacote UDP para qualquer uma das portas do sistema-vítima. Quando o alvo recebe o pacote UDP, ele tenta descobrir qual é o aplicativo que está aguardando na porta indicada. Quando percebe que não há aplicativo algum, ele cria um pacote ICMP de "destino não alcançável" e o envia para o endereço forjado. Se uma quantidade suficientemente grande de pacotes UDP deste tipo forem enviados para diversas portas da vítima, o sistema acaba abrindo o bico...
Ataque de rastreamento de portas
O rastreamento de portas (Port Scan) é uma das técnicas mais manjadas usadas por atacantes para descobrir serviços vulneráveis. Todas as máquinas conectadas numa rede oferecem serviços que usam portas TCP e UDP. Um rastreamento de portas consiste em enviar uma mensagem de cada vez para cada uma das portas, desde as mais comuns até as menos usadas. O tipo de resposta indica se determinada porta está sendo usada - se estiver, o atacante pode testá-la para encontrar possíveis falhas de segurança.