Gabrielr (discussão | contribs)
Sem resumo de edição
Gabrielr (discussão | contribs)
Linha 37: Linha 37:


= Segurança =
= Segurança =
A seguir, serão descritos algumas falhas de segurança que existe na arquitetura TCP/IP.
== SYN Floods ==
SYN flood ou ataque SYN é uma forma de ataque de negação de serviço (também conhecido como Denial of Service - DoS) em sistemas computadorizados, na qual o atacante envia uma sequência de requisições SYN para um sistema-alvo visando uma sobrecarga direta na camada de transporte e indireta na camada de aplicação do modelo OSI.
Um cliente malicioso, que implemente intencionalmente um protocolo TCP errado e incompleto, pode não mandar esta última mensagem ACK. O servidor irá esperar por isso por um tempo, já que um simples congestionamento de rede pode ser a causa do ACK em falta.
Esta chamada conexão semi-aberta explora a boa-fé do protocolo TCP que espera por um certo tempo e algumas tentativas de restabelecimento de um sinal ACK válido para retomar a comunicação. A resposta maliciosa ao comando SYN gerada pelo cliente pode ocupar recursos no servidor (memória e processamento) ou causar prejuízos para empresas usando softwares licenciados por conexão (aumento de conexões "ativas"). Pode ser possível ocupar todos os recursos da máquina, com pacotes SYN. Uma vez que todos os recursos estejam ocupados, nenhuma nova conexão (legítima ou não) pode ser feita, resultando em negação de serviço. Alguns podem funcionar mal ou até mesmo travar se ficarem sem recursos desta maneira. [Wikipédia]
== IP Spoofing ==
No contexto de redes de computadores, IP spoofing é um ataque que consiste em mascarar (spoof) pacotes IP utilizando endereços de remetentes falsificados.
Devido às características do protocolo IP, o reencaminhamento de pacotes é feito com base numa premissa muito simples: o pacote deverá ir para o destinatário (endereço-destino) e não há verificação do remetente — não há validação do endereço IP nem relação deste com o router anterior (que encaminhou o pacote). Assim, torna-se trivial falsificar o endereço de origem através de uma manipulação simples do cabeçalho IP. Assim,vários computadores podem enviar pacotes fazendo-se passar por um determinado endereço de origem, o que representa uma séria ameaça para os sistemas baseados em autenticação pelo endereço IP. [Wikipédia]
== Sequestro de Conexão TCP ==
Quando o número de sequência de um pacote recebido não é o mesmo que o número de sequência esperado, a conexão é dita dessincronizada.
Assim, quando dois hosts estão dessincronizados, eles passam a ignorar pacotes um do outro. Um atacante pode injetar pacotes forjados com os números de sequência correta (e
potencialmente modificar ou adicionar comandos para a comunicação). Obviamente, isto requer que o atacante esteja localizado no caminho de comunicação entre os dois hosts para que ele possa escutar, a fim de replicar pacotes sendo enviados. A chave para este ataque é a criação do estado dessincronizado. 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 [4].
= Problemas Gerais =
= Problemas Gerais =
*O TCP/IP sempre exigiu muita memória quando utilizado, sendo um protocolo pesado. Entretanto, as tecnologias foram evoluindo, tornando-se mais potente, assim sua prática ficou facilitada. Tomando em base essa afirmação, devemos utilizar melhor nossos recursos, implementando uma nova arquitetura de reda mais otimizada.
*O TCP/IP sempre exigiu muita memória quando utilizado, sendo um protocolo pesado. Entretanto, as tecnologias foram evoluindo, tornando-se mais potente, assim sua prática ficou facilitada. Tomando em base essa afirmação, devemos utilizar melhor nossos recursos, implementando uma nova arquitetura de reda mais otimizada.

Edição das 11h08min de 25 de março de 2015

Introdução

  • Esse documento tem como objetivo expor alguns dos diversos problemas existentes na arquitetura TCP/IP. Os problemas serão divididos em três categorias: Endereçamento, que se trata da limitação de endereços ips válidos e da impossibilidade de mobilidade, Qualidade de Serviço, referente as falhas existentes que remetem um baixo QoS da rede e Segurança, expondo as vulnerabilidades presentes na arquitetura.

Endereçamento

  • O endereço ip, na versão 4, é um número de 32 bits representado oficialmente por 4 octetos (bytes). A quantidade máxima de endereços IP válidos é 2^32 = 4.294.967.296, ou seja, cerca de 4,2 bilhões de endereços. A ideia inicial era que cada dispositivo que fosse utilizar a internet, tivesse um IP válido para que o mesmo possa ser reconhecido pelos outros dispositivos conectados.
  • Em 1981, ano da criação do Protocolo IP, 4,2 bilhões de endereços era uma quantidade considerada infinita comparado com as expectativas de implementação do mesmo. Contudo, o avanço da tecnologia possibilitou maior acessibilidade de recursos tecnológicos para a população, fazendo com que a quantidade de endereços IP disponíveis fosse insuficiente para suprir a demanda mundial de acessos à internet.
  • É fato que a quantidade de endereços não atende à nossa necessidade. A medida que percebemos que 4,2 bilhões de endereços seriam insuficientes, fizeram uma divisão dos endereços entre válidos e privados. Basicamente, os endereços válidos são os que a internet reconhece, já os endereços privados são aqueles que a mesma não reconhece de forma direta. Dessa afirmação vem uma questão: Se nosso dispositivos utilizam ips privados e a internet não os reconhece, como realizamos acesso à internet? A resposta para essa questão é respondida através do Network Address Translation (NAT), um protocolo criado que basicamente tem a função de reescrever os endereços privados para que eles tenham acesso à internet. Através desse protocolo que os nossos computadores são capazes de enviar e receber pacotes da rede mundial.
  • A distribuição mundial de faixas de endereços IP é responsabilidade da Internet Assigned Numbers Authority (IANA). Com isso temos um problema, pois não é permitido mobilidade visto que um endereço destinado para a África, nunca poderá ser utilizado no Brasil. Para exemplificar o que aconteceria caso um endereço ip destinado para o Brasil fosse utilizado na África: Os roteadores entendem através de suas tabelas de rotas que esse endereço pertence à faixa destinada ao Brasil. Com isso todos os pacotes não alcançaria o real destino (África), pois sempre seriam encaminhados para o Brasil.

Qualidade de Serviço

  • A seguir temos uma breve explicação feita pela CISCO sobre o conceito de Qualidade de Serviço (QoS)
O objetivo da QoS é fornecer serviço de rede melhor e mais previsível, fornecendo largura de banda dedicada, jitter controlado e latência, e perda de características melhoradas. QoS atinge esses objetivos, fornecendo ferramentas para gerenciar o congestionamento da rede, formação de rede tráfego, utilizando-se de maneira ampla área de links de forma mais eficiente, e definindo políticas de tráfego em toda a rede. QoS oferece serviços de rede inteligente que, quando corretamente aplicadas, ajudam a fornecer desempenho consistente e previsível. (CISCO SYSTEMS, 2006).
  • A arquitetura TCP/IP não fornece um bom QoS. O motivo para essa afirmação é devido essa ser, ou seja, não é possível prever a rota que um pacote seguirá nem o tempo que o mesmo trafegará pela rede. Para serviços como telefonia e videoconferência essas duas informações são cruciais para garantir um serviço de qualidade.
  • A seguir vamos expor algumas consequências devido aos problemas acima descritos:
  • Supondo uma empresa A que está com um projeto de fornecer Voz sobre IP (VoIP) para seus clientes. O engenheiro responsável pela operação levanta algumas questões:

Pergunta 1: Como garantiremos uma chamada ao vivo, sabendo que não poderemos prever o atraso, nem a rota que o pacote percorrerá ate o destino?

  • Resposta: Com a arquitetura atual não é possível garantir uma chamada perfeita, mas utilizando algumas técnicas de QoS como priorizar os pacotes sensíveis ao atraso para transmissão, poderemos fazer com que o tempo gasto seja o menor possível, melhorando assim a qualidade da ligação.

Pergunta 2: Mas e se em um link tivermos um grande fluxo de dados sensíveis ao atraso? Com isso teremos uma grande concorrência do meio e assim nossa qualidade de serviço cairá.

  • Resposta: Tendo um fluxo superior a capacidade de um meio, podemos superdimensionar os elementos para que eles suportem um aumento do fluxo de dados. Temos também uma técnica utilizada que é o armazenamento em buffer, que basicamente não transmite a demanda de dados de uma vez para congestionar a rede, mas os armazenam em buffers e dentro dos limites do meio transmite-os.

Pergunta 3: Mas com os projetos como Internet of Things e Machine to Machine (M2M) teremos uma quantidade absurda de transmissão de dados, qual o custo para ficar superdimensionando os projetos? Onde vamos parar com esse superdimensionamento? Quanto ao armazenamento em buffer, as aplicações que precisamos de entrega imediata das informações ficariam muito prejudicadas e assim novamente teremos uma queda na qualidade de serviço.

  • Resposta: Devemos mudar a arquitetura de rede, pois são tantas falhas que por mais que possuam técnicas de QoS, sempre teremos algum problema que incapacitará a rede de fornecer um serviço de qualidade.

Segurança

A seguir, serão descritos algumas falhas de segurança que existe na arquitetura TCP/IP.

SYN Floods

SYN flood ou ataque SYN é uma forma de ataque de negação de serviço (também conhecido como Denial of Service - DoS) em sistemas computadorizados, na qual o atacante envia uma sequência de requisições SYN para um sistema-alvo visando uma sobrecarga direta na camada de transporte e indireta na camada de aplicação do modelo OSI.

Um cliente malicioso, que implemente intencionalmente um protocolo TCP errado e incompleto, pode não mandar esta última mensagem ACK. O servidor irá esperar por isso por um tempo, já que um simples congestionamento de rede pode ser a causa do ACK em falta.

Esta chamada conexão semi-aberta explora a boa-fé do protocolo TCP que espera por um certo tempo e algumas tentativas de restabelecimento de um sinal ACK válido para retomar a comunicação. A resposta maliciosa ao comando SYN gerada pelo cliente pode ocupar recursos no servidor (memória e processamento) ou causar prejuízos para empresas usando softwares licenciados por conexão (aumento de conexões "ativas"). Pode ser possível ocupar todos os recursos da máquina, com pacotes SYN. Uma vez que todos os recursos estejam ocupados, nenhuma nova conexão (legítima ou não) pode ser feita, resultando em negação de serviço. Alguns podem funcionar mal ou até mesmo travar se ficarem sem recursos desta maneira. [Wikipédia]

IP Spoofing

No contexto de redes de computadores, IP spoofing é um ataque que consiste em mascarar (spoof) pacotes IP utilizando endereços de remetentes falsificados.

Devido às características do protocolo IP, o reencaminhamento de pacotes é feito com base numa premissa muito simples: o pacote deverá ir para o destinatário (endereço-destino) e não há verificação do remetente — não há validação do endereço IP nem relação deste com o router anterior (que encaminhou o pacote). Assim, torna-se trivial falsificar o endereço de origem através de uma manipulação simples do cabeçalho IP. Assim,vários computadores podem enviar pacotes fazendo-se passar por um determinado endereço de origem, o que representa uma séria ameaça para os sistemas baseados em autenticação pelo endereço IP. [Wikipédia]

Sequestro de Conexão TCP

Quando o número de sequência de um pacote recebido não é o mesmo que o número de sequência esperado, a conexão é dita dessincronizada.

Assim, quando dois hosts estão dessincronizados, eles passam a ignorar pacotes um do outro. Um atacante pode injetar pacotes forjados com os números de sequência correta (e potencialmente modificar ou adicionar comandos para a comunicação). Obviamente, isto requer que o atacante esteja localizado no caminho de comunicação entre os dois hosts para que ele possa escutar, a fim de replicar pacotes sendo enviados. A chave para este ataque é a criação do estado dessincronizado. 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 [4].

Problemas Gerais

  • O TCP/IP sempre exigiu muita memória quando utilizado, sendo um protocolo pesado. Entretanto, as tecnologias foram evoluindo, tornando-se mais potente, assim sua prática ficou facilitada. Tomando em base essa afirmação, devemos utilizar melhor nossos recursos, implementando uma nova arquitetura de reda mais otimizada.