HTTP TUNNEL HTTP TUNNEL A técnica de encapsular conjuntos de dados que trafegam em rede dentro de outro conjunto de dados é denominada tunelamento. HTTP TUNNEL Sem o encapsulamento, os primeiros dados não poderiam ser conduzidos da mesma forma e para um lugar como é possível com o encapsulamento. HTTP TUNNEL A função do HTTPTunel é encapsular uma conexão em HTTP para atravessar um proxy HTTP restritivo. Qualquer tipo de protocolo em HTTP pode ser tunelado com HTTPTunel. HTTP TUNNEL Um túnel TCP pode ser descrito como uma conexão realizada a partir de dentro e através de uma outra conexão préestabelecida. HTTP TUNNEL Alguns motivos da utilização de tunelamento (pontos fortes): Conexão criptografada para proteção de dados; Protocolo desbloqueado para realizar conexão; Conexão direta a um destino bloqueado; Conectar-se a uma máquina de rede interna como se fosse de dentro para fora. HTTP TUNNEL O tunelamento pode ter formas e funções distintas, bem como os aplicativos trabalharem de maneiras e sob condições diferentes. HTTP TUNNEL Dificuldades na criação de túneis (pontos fracos): Existe um alto nível de complexidade na criação de túneis utilizando-se o Protocolo HTTP, pois há maior dificuldade na implementação. HTTP TUNNEL O HTTP 1.0 requer uma conexão TCP para cada par de requisição e resposta. Isso faz com que diversas conexões sejam necessárias para a manutenção do túnel, deixando o processo com pouca performance. HTTP TUNNEL O HTTPTunnel é a forma mais conhecida para implementação de túnel sobre HTTP, disponível para diversas plataformas sob licença GNU. HTTP TUNNEL O HTTPTunnel funciona de forma semelhante ao PingTunnel, com a criação de conexões TCP para o cliente e a partir do servidor para o servidor original HTTP TUNNEL Exemplo: Cliente: htc -F 9999 proxy.httptunnel.com:80 Servidor: hts -F login.domain.com:22 80 HTTP TUNNEL As conexões HTTP tunnel utilizam a capacidade do HTTP GET e métodos POST para transportar uma quantidade indefinida de dados em sua resposta e corpo da mensagem respectivamente. HTTP TUNNEL Alguns proxies HTTP podem ocultar a mensagem POST. HTTP TUNNEL Uma vez que o cliente envia a solicitação POST com Content-length 32767, algumas vezes o proxy HTTP não encaminhará quaisquer dados enquanto certa quantidade de dados estiver chegando. HTTP TUNNEL Depois que os sockets HTTP Tunnel foram estabelecidos com sucesso, o cliente está pronto para enviar comando, evento de mensagens subscrive/unsubscrive e receber notificação do evento via sockets tunnel. HTTP TUNNEL Um firewall que restringe os protocolos que saem da rede em direção à Internet pode ser driblado através de tunelamentos sobre os protocolos autorizados a trafegar. HTTP TUNNEL Há algumas situações nas quais se procura driblar restrições de um firewall. HTTP TUNNEL Por exemplo: Invasor tentando aumentar seu nível de acesso a um computador invadido; Usuário da rede tentando utilizar serviços não autorizados em outras redes; Spyware tentando se comunicar com seu criador para enviar informações roubadas. HTTP TUNNEL Há alguns desafios existentes na criação de túneis sobre protocolos que não foram projetados para este fim. HTTP TUNNEL Em uma comunicação comum, qualquer um dos lados pode enviar pacotes IP a qualquer momento HTTP TUNNEL O protocolo ou os campos de mensagem que serão utilizados podem ter limites de tamanho das informações enviadas. HTTP TUNNEL Alguns protocolos têm restrições quanto aos dados que podem trafegar, como em casos onde são permitidos apenas caracteres ASCII aceitos para sistemas baseados na RFC822. HTTP TUNNEL Não há uma solução trivial para o HTTP TUNNEL problema de segurança proveniente da possibilidade de criação de túneis sobre protocolos autorizados. HTTP TUNNEL Alguns resultados que podem ser alcançados com as seguintes estratégias de detecção: Assinaturas de protocolos Análise de conteúdo HTTP TUNNEL A implementação de IDS às estratégias mencionadas não são a melhor opção, pois estão sujeitas a um alto nível de falsos positivos. HTTP TUNNEL Já o firewall tem a capacidade de bloquear pacotes que por ventura sejam identificados como túneis. HTTP TUNNEL Para minimizar as opções de tunelamento disponíveis e evitar túneis, a melhor opção é limitar ao máximo os protocolos que serão permitidos ao configurar o firewall. HTTP TUNNEL Concluímos que é possível transmitir dados na forma de tunelamento sobre protocolos que não foram projetados para isso. Adotar para isso uma política de segurança de rede e controlando a execução de código nas estações. REFERÊNCIAS E RECOMENDAÇÕES DE LEITURA BARROS, Augusto Quadros Paes de. Tunelamentos não Convencionais em TCP/IP. São Paulo: Instituto de Pesquisas Tecnológicas do Estado de São Paulo. Disponível em: <http://www.paesdebarros.com.br/tunnel.pdf> Acesso em: 14 Mar. 2009. CARDOSO, Tomas Ribeiro. Tunelamento. Goiânia: CDT, 2007. Disponível em: <http://74.125.47.132/search?q=cache:Kv_tRN6cj5IJ:suporte.lbr.com.br/ cursos/cadastro/Cursos/Tunelamento.pdf+tunelamento+pdf&cd=10&hl=ptBR&ct =clnk&gl= br&lr=lang_pt> Acesso em: 23 abr. 2009. LIU, David. UART_HTTP_Tunnel: Application Notes of Transparent HTTP Tunnel. Taipei: Vivotek Inc, 2008. Disponível em: <http://www.vivotek.com/downloadfiles/ support/faq/videoserver/ UART_HTTP_Tunnel.pdf> Acesso em: 04 mai 2009.