Traffic shapping - Explicações e implicações. ( atualizado )

Iniciado por greylica, 14 de Março de 2008, 02:24

tópico anterior - próximo tópico

greylica

Um colega meu pediu para que eu explicasse pra ele no site da Blender Brasil.

É um material bem técnico, mas vou explicar com exemplos, é grande, mas dá para entender.
( Meu sobrinho de 7 anos entendeu... )

Isso aqui é gasolina na fogueira, é um texto forte e explosivo, segure-se, podem ter alguns erros de nomes, mas tentei ser o mais preciso possível.

Olha, o traffic shapping possui algumas maneiras básicas de funcionamento, vou explicar cada uma delas:

Bem, vou estabelecer uma comparação simples, vamos dizer que a linha de Internet seja como uma estrada por onde trafegam os dados, e vamos supor que esta estrada fique cheia vez por outra. Essas situações ocorrem e causam congestionamento, o que para alguns, é insuportável, para outros, nem tanto. Imagine que cada carro seja sua comunicação, então, por substituição, podemos dizer que cada carro seria um pacote de tráfego TCP/IP, que é o protocolo base da Internet. Imagine que cada usuário seja responsável por uma frota de carros, então temos uma frota para o usuário A e outra para o usuário B, exemplificando.

Bem, agora imagine sua estrada lotada, que fazer se você tem mais carros do que pode ser trafegado ?
(vendeu mais conexões que podia...)

Podemos dizer então que temos um grande congestionamento de dados em algumas vias. Pior, temos situações onde a estrada está inteira lotada com o usuário A, e o B nem consegue entrar.
Vou iniciar explicando o tráfego como trafegam de maneira organizada os carros:
Tome por base que a estrada está sempre andando.

1a - QoS -  Vamos á primeira abordagem, imagine que ainda não é possível construir uma nova estrada, mas temos de fazer com que o usuário B tenha os mesmos direitos de entrar na estrada que o usuário A. Então a primeira estratégia adotada seria termos uma reserva, para que o usuário B possa pelo menos entrar na estrada. Depois ele se encaixa juntamente com o usuário A e tudo continua trafegando e se mais usuários entrarem na estrada, então podemos dizer que isso é o acostamento.
Esse processo, se dá por uma reserva de banda chamada QoS, ou Quality of Service, e ele é instalado como um driver, e reserva 10% da largura de banda, mas tem também outras funções como prioritização de pacotes e agendamento. O driver do QoS vem instalado em versões novas do Windows como o XP, Vista e Server. No Linux e FreeBSD, o QoS já existia há muito tempo. Então temos o primeiro método para pelo menos encaixar os usuários, ou melhor explicando, para conectar os usuários ao seu destino final, que pode ser o que for, sites ou etc. Mas isso não resolve completamente. o QoS serve para encaixar o tráfego, mas avisa que a estrada estará lotada em 90% ou 95% sempre. Até aí, é razoável.
O QOS é legítimo para controle de tráfego também.

2a - Prioritization - Depois de encaixar os usuários na estrada, temos de definir que eles tenham a mesma prioridade dentro da mesma velocidade ( mesmos direitos de tráfego na estrada ), e é aí que as coisas começam a complicar, por que nem todos entram nos mesmos locais e ao mesmo tempo, e cada frota tem sua prioridade,  nossa obrigação é fazer com que eles cheguem á uma velocidade razoável. Então colocamos algumas placas para dizer quem pode trafegar mais rápido e quem pode trafegar mais lentamente. Como cada carro da frota tem mais ou  menos o mesmo tamanho, mas tem frotas que entram encarreiradas e deixam pouco espaço para que as outras frotas entrem, então temos um problema com as frotas menores, o que fazemos então ?
Forçamos o encaixe da menor frota na maior frota, e entregamos o serviço, isso se chama prioritização de pacotes, e normalmente é feita da frota mais lenta para a frota mais rápida, ou seja, a frota mais lenta tem prioridade, e quando esta não está presente, a outra está fragmentada mas chega mesmo assim por que continua trafegando. É interessante salientar que cada frota que entra na estrada tem de ter uma placa para avisar seu tamanho e seu destino.

3a - Cache - Podemos criar bolsões para que alguns carros passem primeiro e depois dizemos para os outros, vão que a estrada está livre, mas nenhum deles pode parar. Só que isso pode causar uma pequena espera. Mais uma vez, mandamos os pequenos primeiro. As grandes frotas tem de esperar. Mas nada pode parar.

4a -  Switch-Reroute - Podemos também desviar o tráfego sem prejuízo de nenhuma frota, desde que o destino final seja respeitado, e então se uma estrada está lotada, existe outra que pode ser que não seja próxima, mas que chegue ao mesmo local, portanto, se enviarmos por ela, pode ser que seja mais rápido. ( Por comparação temos Anhangüera e Bandeirantes, as duas vem de São Paulo e chegam em   Campinas ).

5a - Fragmentation - Duplicar estradas até o destino final, para desengargalar o tráfego, já que a estrada lota demais todo dia, e fazer com que todos passem por diversas estradas, e  quando todos chegam ao destino final, a frota estaciona do jeito que veio a estrada.

6a - Load Balancing - Se uma frota anuncia que é bem grande, antes dela entrar na estrada, podemos pensar que ela pode ir direto para uma rota alternativa, então pedimos que ela vá por outro caminho, completamente, já que temos a estrada duplicada, ou muitos viadutos.

Repare que em nenhum momento eu toquei no assunto farol...
Não há como colocar um farol, por que cada frota ou grupo de carros tem de chegar em um tempo pré determinado, (Senão provoca Timeout na conexão e a frota perdeu, tem de ter outra para cobrir), e nenhuma delas pode parar de maneira alguma. Outra coisa importante, é que quando um carro tromba, ou se perde no caminho, ou demora demais para chegar, outro igualzinho tem de sair para completar a frota do jeito que estava antes.

Bem, então temos tudo isso para controlar e fazer com que todos os carros de todas as frotas cheguem em segurança, mas mesmo assim, quando temos mais frotas do que estrada ( vendemos mais banda do que temos, ou mais tickets do que a estrada comporta  >:(, infelizmente temos de limitar alguns de trafegar na estrada, para não causar acidentes, só que todos cobram os direitos adquiridos, já que vendemos muito, só que não podemos falar isso para todos os que compraram.:angry:

O que é tão ruim no Traffic Shapping ?

Um dia a estrada está completamente lotada, e mais carros querem entrar por que todos tem direito. Então temos de tomar uma decisão, pois todos os pequenos e os grandes entraram e não temos mais espaço na estrada ( mas ainda não paramos de vender tickets e também não duplicamos a estrada ), alguns estão trombando e outros se perdendo, e todos reclamam de ter de reenviar as frotas.
( lentidão na Internet ). O que fazemos ?

Bem, não podemos deixar essas pessoas que vendemos os tickets sem entrar na estrada,  e também não podemos fazer discriminação ou ver os doicumentos de quem está dirigindo sem sermos policiais. (Ou olhar o tráfego  e os pacotes, é violação federal  ou escuta sem autorização judicial ) o que fazer então ?

Agora vamos as pérolas, o Traffic shapping em si...

- Bem, veja bem N° 1. , (risadinha do mal), existem frotas com determinados tipos de motorista que precisam entrar, mas podemos alegar que esses motoristas tem de esperar ou simplesmente não entrar, então podemos também bloquear esses acessos aos motoristas que acharmos que não devem trafegar.
Nesse caso o provedor bloqueia portas que não são previstas para serem bloqueadas em contrato por uso, ou seja, se você contrata um produto residencial, com IP dinâmico, é por que está consciente que não precisa usar a porta 80 (HTTP) ou portas usadas por provedores de conteúdo e serviço de e-mails por exemplo. Isso não quer dizer que seu provedor de acesso tem de bloquear todo o resto para te engessar, mesmo por que, existem muitos serviços diferenciados em uma miríade de portas, como por exemplo Câmera de empresas, lotus notes, P2Ps, VNC, VLC, Radios via Internet, BANCOS SEGUROS, SEGURADORAS, SHARE POINT SERVICES, INTRANET, ou seja, sua experiência na Internet fica reduzida a condição de censura e cerceamento por parte do provedor, sendo que você paga por conexão á Internet e não para usar somente o Navegador e ler e-mails, para ter só isso é mais barato ir até uma lan house não é ? Eu iria.
Isso por si já caracteriza cerceamento de comunicação, já é um tipo de interferência por bloqueio.

- Bem, veja bem N° 2. Podemos identificar as frotas que não queremos por serem muito grandes, e por que os pequenos vão reclamar demais quando a estrada tiver lotada. Então podemos atrasar demais a frota grande se ela for encarreirada ( e ela vai desistir ou parar no meio do caminho sem cumprir sua jornada ) , já que identificarmos ela, se a estrada estiver lotada ou lotando.
Nesse caso, o stress é maior com e-mails, isso afeta caixas de email de uma maneira que os e-mails começam a chegar e param, só que como alguns clientes de e-mail com certas versões do outlook express negociam somente a caixa inteira que sai do pop ou imap do seu provedor de conteúdo, imagine a experiência do usuário quando um e-mail gigantesco cai na metade...( Mwahahaha )

- Bem, veja bem N° 3. Podemos identificar as rotas de certos motoristas e estrangular elas, até que os motoristas desistam. Nesse caso,  basta fechar a porta quando vermos um, não importa se ele trombar.
Nesse caso eles identificam o tráfego, e em certos protocolos, eles demoram para entregar as requisições, provocando diversos timeouts, só que, o pacote tem de "sumir", então sua máquina recebe muitas solicitações para reenvio ou Fin . Em condições normais, isso ocorre também, ( solicitação de reenvio, ocorre toda a vez que o checksum do pacote  não corresponda ao pacote ), mas não com a proporção de 10 para 1. ( Esse método é criminoso por estar violando a comunicação, e é fato que o appliance pode ler tudo o que se passa na sua conexão para poder fazer isso, afinal de contas, ele tem de identificar o tráfego, então eles dizem que o appliance é transparente e que não grava nada, o que não faz a mínima diferença na questão de violação e seletividade, mais uma vez, cerceando e podendo censurar sua liberdade de comunicação, é muito grave e já é crime federal ).

- Bem, veja bem N° 4. ( Método corrupto da COMCAST através do Sandvine N° 1). Podemos clonar os carros com suas placas e motoristas inteiros em tempo real, e enviar uns carros a mais na frota, só que, chegando lá, é óbvio que o controle vai recusar a frota, e depois pode ser que ele peça para a frota inteira vir de novo, mas a frota nunca vai chegar por que sempre virá estragada ( risadinha do mal ). Então a frota só vai chegar quando quisermos, ainda assim podemos cobrar o pedágio ( consumo de KBPS Surreal )
Nesse método, já cometendo o crime de violação, essa prática chama-se spoofing. Essa levanta uma questão de segurança violenta, por que se um provedor pode mudar seu conteúdo em tempo real entre você e o destino de sua comunicação sem aparecer, por que uma hacker não o faria quando de posse de um appliance que é tão transparente quanto o do seu provedor ? ( Detalhe: O IOS 12.4 da CISCO roda em PCs convencionais através de uma VM, Basta fazer um gato entre você e o provedor). Pior, pode ser que sua página seja desfocada em tempo real  :-\, e isso pode ser usado para prejudicar sites legítimos com propaganda ilegítima, causando prejuízos gigantescos a pequenos empreendedores de sucesso. Essa é a prática mais agressiva já vista na Internet, e eu prevejo que trará implicações singulares, por que provoca insegurança em todas as instituições financeiras, já que as partes envolvidas na comunicação não sabem o que está no meio, e o Sandvine imita as duas partes da comunicação e permanece transparente (Mais ou menos, já temos como comprovar ele com o wireshark, testando diversos protocolos ), O Sandvine usa uma assinatura para isso, e é com essa assinatura ( lingüiça ) que podemos descobrir o spoofing.

- Bem, veja bem N° 5. ( Método corrupto da COMCAST através do Sandvine N° 2). Quando uma frota indesejada é identificada, podemos trombar ela no meio do caminho, e dizer que a estrada está em manutenção.
Nesse método eles também não deixam as partes se comunicar, e enviam pacotes com flag RST para os dois lados. Parece que não tem nada do outro lado. Ou seja, sua comunicação sumiu, sua frota foi para o céu, hahahahaha......

- Bem, veja bem N° 6.
Frota pequena, não deixa entrar...
Nesse método eles somem com todos os tipos de ICMPs. Uma das ferramentas mais utilizadas no mundo inteiro ( senão a mais utilizada ), é enviar pacotes ICMP para testar conexões do outo lado, e saber se estas estão OK. Isso também ajuda os administradores de rede a testar a intercomunicação, e certos protocolos usam ping de um pacote somente para manter a conexão viva ( Keep Alive ). Durante uma transação assíncrona ( Uso de softwares remotos em HTTP, e mantenimento de VPNs por exemplo). Se este pacote some, as conexões resetam, só que muita gente usa isso até para ataques de Denial of Service com redes zumbis, ou seja, hackers usam isso para tirar servidores fora do ar, só que o ICMP tem usos legítimos e suas vulnerabilidades já foram há muito resolvidas.
Além disso, existem tecnologias onde provedores atacados e calejados, podem deixar uma rede zumbi atacar uma placa de rede que responde por um DNS em um IP, e realocar dinamicamente o DNS real com o servidor para outro Nó de um Cluster, desde que tenha um realocador, então esse ataque perde seu efeito por que está atacando uma porta Null, gasta muita bandagem, mas não derruba o servidor realmente, então os hackers desistiram disso. Os ataques de DoS agora se baseiam em browsers virtuais falsos.
Isso alivia 0,003% do tráfego. Ou seja, sumir com pacotes ICMP não é a resposta.

-Bem, veja bem N° 7.
Tente ver antes para onde a frota vai, mas eles só podem usar os destinos que escolhermos para eles como sendo válidos.
Nessa é o "Qualify destination", onde alguns provedores estão qualificando os destinos dos pacotes que trafegam em suas redes, e impedindo de, por exemplo, você acessar uma rede próxima ou um vizinho sem DNS registrado, ou sem qualquer qualificação que o provedor desejar. O sintoma é que se você montar um servidor de jogos, qualquer um que tiver o gato na rede, não pode jogar com você, mesmo que você não use um Firewall. Técnicamente pode estar tudo certo, e não adianta ligar no fabricante do jogo para reclamar, não é ele e sim o provedor do seu colega. Ou seu, se você estiver tentando jogar com alguém próximo que tenha te passado o IP...

-Bem, veja bem N° 8.
Veja a mistura de gasolina que tem em cada carro também...
Nessa é o Deep Inspection Packet.
Você se sente seguro em bancos ? Hmmm... Muitos usuários usam criptografia para trafegar redes P2P, só que a menos que seja do tipo AES 1024 ou então, que antes de sua conexão na rede P2P você esteja protegido por uma sessão SSH, você corre mais esse risco, por que certas criptografias são quebradas em tempo real pelos appliances comprados pelos provedores para inspecionar o seu tráfego e fazer todos os veja bens acima, tanto que certas redes não funcionam nem com criptografia. O que podemos dizer de sites de bancos criptografados então ?
- É possível agora obter o Crack em tempo Real.  :-X, basta invadir o appliance e sniffar, ou fazer um gato a exemplo. ( Miau !!!)
- Eu tou morrendo de rir até agora com essa. As FPUs dos chips dos appliances são tão boas que se sairiam melhor como render farms para o Blender, devido á sua potência, será que é Cell ?
Só quem tem o token escapa, mas será que escapa mesmo ?
Depois desse Traffic Shaping com Deep packet inspection, eu não confio em mais nada...

O que é tão ruim com o traffic shapping ?

Não é simples descobrir o Traffic Shaping, mas tem um PDF da Electronic Frontier Foundation que explica gratuitamente como descobrir isso. Dentro do PDF, existem instruções e os softwares que podem ser usados para descobrir se seu provedor está praticando uma ou mais modalidades acima.

Link abaixo.
http://www.eff.org/wp/packet-forgery-isps-report-comcast-affair

ozin

Mto boa explicação... Parabéns!!!
Eu mesmo sabia de uma ou outra modalidade do traffic shapping, não sabia q fazia tudo isso, porque para a maioria dos usuários, traffic shapping se resume a "não deixar eu baixar o filme que quero" ou "programa usado pra combater a pirataria".
Muito obrigado por compartilhar seu conhecimento...
E novamente, parabéns  ;D

greylica

#2
Na verdade, em alguns fórums o pessoal está recebendo isso ainda com apatia, a questão é que isso ainda é uma grande novidade, eu mesmo quase fui vítima, mas reagi muito mais que rapidamente e com a máxima energia possível. Agora eu estou gravando minhas comunicações e estou fazendo testes periódicos para saber se o próprio provedor não está mexendo na minha conexão, e aconselho todos a prestar bastante atenção, pois o malefício do traffic shape é muito maior do que o benefício. Muitos idiotas ainda ficam pensando:
" -Puxa, mas isso só prejudica quem faz pirataria, então deixa eles fazerem mesmo... "
Só que esquecem de verificar que a pirataria está em toda parte e que quem não baixa, infelizmente usa dessa atitude comprando em outros locais. E se esquecem ainda mais do que é pior :

-Você deixaria o carteiro ver todas as suas cartas só por que ele está transportando suas cartas ?
-Você daria o direito do carteiro boicotar alguma carta que contenha algum texto seu, que pode ser fictício mas que ele desconsideraria e poderia censurar ?
-Você daria o direito do carteiro inventar um problema para não entregar a sua carta ?
-Se o uso dessa comunicação é legítima (como no caso de distribuição de manuais GNU via P2P), por que então devemos aceitar que um provedor possa julgar esse uso como ilegítimo ?
-E a questão constitucional de violação de comunicação ?

Então, o que eu posso dizer é que realmente o pessoal aqui no Brasil ainda não consegue compreender a gravidade disso por que é "tudo muito técnico".
ACORDEM E ESTUDEM ! SENÃO SERÃO APENAS O GADO DE CORTE !
Eu fiz a minha parte, que é dar o alerta para o pessoal tomar providências se se sentir enquadrado por estas práticas desonestas, afinal de contas, manutenção de redes, e controle de tráfego só são necessários de maneira tão agressiva quando não dipomos de estrutura para atender a crescente demanda por comunicação, mas continuamos vendendo como se tivéssemos estrutura.
Não era mais barato a COMCAST se dispor do limite de tráfego em suas redes do que se prestar a esse papel ?
Quando um usuário chega ao limite, diminui ele, isso está disposto em contrato, agora, jamberar e fazer gato na comunicação ?
Pior que isso, a prática de spoofing até aqui só era conhecida por ser advinda de vírus e cavalos de tróia, nunca de provedores...
Tem interesses mais que excusos no porão dessa prática, como por exemplo plantar esse tipo de coisa para depois oferecer mais um serviço para sair fora disso. Ou impedir empresas que vendas de filmes por Bittorrent ( que estão inovando suas vendas com grupos de venda p2p) consigam competir.
Não estou sendo terrorista, estou sendo realista, então, técnicos e não técnicos, leiam, isso pode ser um grande guarda chuva de aço, nesses tempos de chuva de fogo.

Abraços.