domingo, 20 de abril de 2008

Entendendo melhor os ataques DDoS

Nos últimos tempos vários jogadores de Tibia começaram a ter problemas de conexão, como por exemplo kicks (desconexões) e freezes (quando o jogo trava). A razão deles é que os servidores de Tibia estão sob o que se chama de ataques DDoS (Distributed Denial of Service ou Negação de Serviço Distribuída em Português), e os ataques se concentram principalmente sobre os servidores americanos.

A persistência dos problemas decorrentes dos ataques DDoS deixam vários jogadores frustrados, os quais não raramente não sabem direito o que são DDoS e possuem a impressão (errada) de que nada é feito por parte da CipSoft para solucionar o problema. Recentemente a Cip deu alguns esclarecimentos sobre o assunto, mas o artigo de hoje irá mais a fundo nele. Explicaremos com mais detalhes o que são DDoS, porque eles causam iconvenientes ao jogo, porque é tão difícil lidar com o problema e também alguns procedimentos para tentar resolvê-lo.

1. Introdução

Quando você acessa algum site, joga Tibia ou usa outro serviço da Internet, o seu computador tem de se comunicar com o servidor onde está o serviço. Por exemplo, veja um esquema ultra-simplificado de como funciona a conexão com o Tibia:


Esquema simplificado da conexão do jogador com o servidor do Tibia
1) O jogador digita a sua conta e senha, e o cliente do Tibia envia os dados para um servidor de login do jogo.
2) Se o servidor de login do Tibia confirmar que a senha e conta estão corretos, ele envia para o jogador a lista de personagens dele.
3) Então o jogador escolhe um de seus personagens, e o cliente do Tibia envia um pedido de conexão para o servidor do mundo onde pertence o personagem; feita a conexão, o computador do jogador e o servidor do jogo ficam se comunicando continuamente até que a conexão seja encerrada.

Este esquema também nos ajudará a entender o problema dos ataques DDoS (Distributed Denial of Service, ou Negação de Serviço Distribuída em Português). Como podemos notar, os servidores recebem dados (informações) de outras coisas pela Internet. Os servidores são máquinas e por isso possuem limites, eles não agüentam um número ilimitado de conexões ou de dados recebidos. Os servidores do Tibia, assim como de qualquer outro jogo, são planejados de uma forma com que tenham capacidade o bastante para suportar um determinado número de conexões e uma determinada quantidade de dados recebida. Mas e se o servidor receber mais pedidos de conexão ou outros dados do que pode agüentar? Ele fica sobrecarregado e fica incapaz de receber novas conexões ou qualquer outro tipo de dado, e assim o servidor fica incapaz de fornecer qualquer serviço. Em outras palavras, há uma negação de serviço (que é denial of service em Inglês, daí surge o termo DDoS).

Algumas pessoas maliciosas abusam disto para fazer com que um grande número de computadores enviem multiplos pedidos de conexão ou outros dados a um mesmo servidor, apenas para fazer o servidor ficar sobrecarregado e deixar de funcionar como deveria. Isto é o que é um ataque DDoS.

2. Como são feitos os ataques DDoS?

Aqui eu vou chamar a pessoa que comanda o ataque DDoS de atacante. Primeiramente, o atacante faz um escaneamento por vulnerabilidades em redes de computadores que ele julgue interessantes (as quais enviarão os ataques), e então ele monta uma listona com os endereços de IP de computadores vulneráveis. Estes computadores são máquinas com falhas de segurança, como por exemplo um sistema operacional ou programas desatualizados e/ou que apresentem brechas de segurança.

Então o atacante invade estes computadores e instala o programa que realizará o ataque DDoS; em alguns casos, ao você instalar algum programa de um site duvidoso também pode conter nele algum programa malicioso escondido, o qual pode participar em ataques DDoS. Alguns destes computadores são designados para coordenar os ataques (aqui chamaremos eles de "masters"), enquanto que os demais lançam o ataque propriamente dito (chamaremos eles de "agentes"). Quando o programa do DDoS é instalado com sucesso em um agente, ele envia um sinal para um master a fim de avisar que está ativo, e assim os masters vão guardando uma lista dos endereços de IP dos agentes que se comunicaram com ele. O atacante, por sua vez, mantem uma lista dos endereços de IP dos masters e pode acessar a listas de IPs nos masters. Agora está tudo pronto para o ataque!

Para realizar o ataque, o atacante envia um sinal para os masters, os quais por sua vez enviam um sinal para os agentes de sua lista. Então todos cada um dos agentes passa a se conectar várias vezes com o servidor alvo do ataque e envia uma porção de dados. Se o número de agentes for grande o bastante, o servidor alvo pode ficar sobrecarregado e o resto você já sabe...

O esquema a seguir resume simplificadamente o funcionamento do ataque DDoS:


Esquema simplificado do ataque DDoS
1) O atacante envia um sinal aos masters, os quais enviam um sinal para os agentes.
2) Então os agentes enviam juntos, e várias vezes, dados para o alvo do ataque.
Fonte da imagem: http://www.rnp.br/newsgen/0003/ddos.html

3. Como se defender dos DDoS?

Não existe nenhuma solução mágica para resolver o problema, especialmente porque pode ser difícil diferenciar o que é um pedido legítimo de conexão de um usuário e o que é uma conexão dos agentes do DDoS.

A forma mais simples é evitar que o ataque DDoS aconteça, reforçando a segurança das redes de computadores e dos computadores, pois isto impede ou dificulta com que sejam instalados programas maliciosos para formar a rede de máquinas que lançará o ataque. Como são um sem número de máquinas conectadas a Internet, e a maior parte delas não pertence à possível vítmima, fica meio difícil confiar que todo mundo fará a sua parte, porém quanto mais as empresas e pessoas fizerem mais difícil ficará realizar um ataque DDoS.

Na maior parte são usados servidores para lançarem os ataques, mas também alguns computadores domésticos comuns (os famosos PCs) também podem ser usados. Por isso, você deve tomar cuidado para proteger o seu computador: ter as últimas atualizações do seu sistema operacional, ter antivírus, ter firewall, só baixar programas de sites confiáveis, e por aí vai. Se você não se cuida, é possível que você esteja contribuindo com os ataques DDoS contra o seu jogo favorito...

Há algumas providências que podem ser tomadas para aliviar ou evitar o dano. Existem equipamentos que podem ser instalados nos servidores que funcionam como um filtro contra os ataques, eles visam separar os dados legítimos enviados por usuários de verdade dos ataques DDoS, e só são enviados aos servidores os dados legítimos enquanto os demais são bloqueados. Isto em teoria, mas na prática é bem complicado mesmo fazer esta diferenciação e há uma porção de técnicas bem complexas para fazer isto, mas está bem além dos objetivos deste artigo entrar em detalhes nelas. No caso do Tibia, uma das coisas que a CipSoft está fazendo é instalar filtros antes dos servidores de login e dos servidores dos mundos, e ela também está reconfigurando os servidores.

Uma vez que os ataques já foram lançados, há outras providências a se tomar. O dono do servidor sob ataque, pode contactar os donos dos servidores que lançam o ataque para que estes tomem alguma providência para remover o programa malicioso que fazem o ataque DDoS. O contato pode ser por telefone, carta, fax ou e-mail e pode levar algum tempo já que são muitos servidores. É bom notar que são vários donos diferentes dos servidores, e que por isso os donos do servidor atacado não possui controle sobre eles.

Existem uma porção de outras medidas de segurança para combater os DDoS, e aqui eu citei as principais, senão o artigo ficaria muito técnico. O meu objetivo aqui não é bombardear o leitor de informações técnicas, e sim de dar aos jogadores de Tibia uma idéia melhor do que são os DDoS de que eles tanto ouvem falar e que prejudica eles.

4. A CipSoft realmente não se preocupa em resolver o problema?

Como os problemas no jogo já existem há um bom tempo, vários jogadores pensam que a Cip não faz nada e nem se preocupa com o problema. Está idéia não poderia estar mais errada! Eles ganham a vida com jogos via Internet, assim se o serviço deles não funcionar direito ou nem funcionar, eles vão à falência. Portanto, eles são os maiores interessados em uma solução para o problema: enquanto um jogador pode perder alguns itens virtuais por ter o personagem morto, ou no máximo perder o dinheiro da Premium Account por não poder jogar direito, a CipSoft perde com os ataques milhares de dólares ou mais.

Mas combater o problema não é simples. Como já vimos, os ataques partem de inúmeros computadores dos quais eles não têm controle, e pode levar algum tempo para contactar os donos para tomarem alguma providência em relação ao ataque. Além disto, os equipamentos de filtrar os ataques, para instalar nos servidores do jogo, são bem caros e temos atualmente mais de 70 servidores no Tibia; é então necessário fazer uma série de testes e comparações para ter certeza que foram escolhidos os mais apropriados, e não perder dinheiro assim.

Resolver os problemas dos DDoS pode ser bem difícil e demorado, mas a CipSoft já prestou uma série de esclarecimentos sobre o que eles estão fazendo a respeito. Leia a entrevista que eles deram sobre o assunto.

5. Conclusões

Os ataques DDoS são uma porção de computadores infectados com um programa maldoso, o qual envia uma série de dados ao servidor que se quer atacar a fim de sobrecarregá-lo, e deixá-lo assim fora de serviço. Resolver o problema pode ser demorado e difícil porque os ataques são lançados de vários computadores diferentes, dos quais a vítima não possui controle; enão podemos esquecer que instalar equipamentos para filtrar os ataques pode ser bem custoso e por isso pode levar algum tempo para escolher os melhores e evitar gastar dinheiro a toa. Tudo isto passa a falsa impressão de que a CipSoft não se preocuparia em resolver os problemas, mas na verdade eles estão trabalhando e são os maiores interessados em resolvê-lo.

16 comentários:

renato disse...

Bom artigo! Assim algumas pessoas podem entender que a culpa não é da Kick ops... Cipsoft

Tiago Paolini disse...

Oi, valeu pelo elogio! Como o próprio pessoal da Cip disse na entrevista que eu deu o link, eles cometeram alguns erros ao lidarem com o problema, mas eles se desculparam e corrigiram.

Não estou dizendo que você disse isso, mas só para deixar mais claro o que eu disse no artigo: o que eu falei é que não há sentido em dizer que eles são os responsáveis pelo acontecimento dos ataques e nem que eles não teriam intenção de resolver o problema. Os responsáveis são terceiros, e a Cip está fazendo o que pode para resolver.

Abraços,
Tiago

Anônimo disse...

mto bom artigo amigo
ate q enfim entendi como funciona e como se proteger :)

parabens e obrigado!

Tiago Paolini disse...

Que bom saber. Disponha!

Lightt Wolf disse...

Tibia á cada ano fica melhor e mais estranho...
cabei de tomar um kick o.O'

Tiago Paolini disse...

Lightt Wolf, parabéns pelo comentário nº 2300 do blog!

Anônimo disse...

Parabéns pra todos vocês, muito bem explicado
eu estava a um tempo querendo entender o porque dos kicks e lags que davam no tibia.
graças a vocês ja estou informado a respeito
;D

Tiago Paolini disse...

Disponha sempre, estamos aqui para isso :)

Anônimo disse...

finalmente alguem que explicou corretamene !! muito obrigado ;]

Anônimo disse...

Muito bom!
Me ajudou bastante a entender...
Belo blog !

Tiago Paolini disse...

Obrigado pelas palavras :)

Anônimo disse...

meus parabéns cara, muito bom seu artigo

Matheusziiin disse...

Eu não entendo muito sobre programação e informatica, mas eu tenho uma dúvida. Se a CipSoft mudasse o modo de fazer o login. Por exemplo, no passo 3, as informações não fossem direto para o servidor do jogo, e tivessem que passar por outro servidor que esta ali para "testar" se é um humano ou uma maquina (exemplo: aquelas caixas que dentro estão desenhadas letras e numeros, e você deve digita-los)ou se tiver que travar, trave apenas a etapa do login da account. Sera que isso nao ajudaria? Não sei se estou certo, mas certamente eles seguem essa lógica para o login dos jogadores ha muito tempo (ou até desde que criaram o Tibia). Na minha opinão eles deveriam inovar nesse aspecto, pois quem faz o DDoS sabe exatamente como os servidores do Tibia interagem entre si, logo se eles alterarem o modo de fazer o login os "atacantes" não saberão como atacar o servidor do jogo (pelo menos uma grande maioria), o que eu acho que ajudaria e muito os kicks e lags.

Anônimo disse...

Matheusziiin, não funciona dessa forma...

quando você digita seu usuario e senha, etc, passa por varios filtros como voce disse antes de entrar no jogo, quando voce entrar no jogo voce automaticamente ficará sabendo endereço IP do jogo em sí, ou seja, o IP do servidor do jogo que voce deseja enviar as informações, e a galera pega esse IP, e não tem como eles 'camuflar' esse ip porque voce tem que sabe-lo para se conectar ao jogo. se voce usa windows 7 vai gerenciador de tarefas>desempenho>monitor de recursos>Rede>Conexoes TCP:

lá voce sabera todos endereços IPs que voce esta conectado, em tempo real, inclusive qualquer endereço de qualquer servidor do tibia, e qualquer jogo online.

embora, se fosse possível mandar bytes gigantes de uma vez pra esses servidores, 5 pessoas com fibra optica 200mb derrubaria na hora qualquer server, mas nao e assim que funciona. os bytes sao muitos pequenos e por isso creio que precisa ser um exercito de pcs enviando ao mesmo tempo

Anônimo disse...

Endereço IP dentro do servidor (jogando) de Unitera é 66.150.54.130

Internap Network Services Corporation
Akamai Technologies

North America
United States
Georgia - Norcross

Postar um comentário

Possui elogios? Críticas construtivas? Sugestões? Alguma dúvida sobre o assunto? Outra coisa que gostaria de dizer ou perguntar? Seja bem-vindo(a) para comentar o artigo :-).

Observe que:
- se for fazer uma pergunta teremos o maior prazer em responder as suas dúvidas ;), mas entenda que isto aqui NÃO É um chat, nem MSN ou nada do gênero; por favor compreenda que pode levar algumas horas para alguém responder seu comentário
- se você comentar usando uma conta do Google, haverá a opção de receber as respostas via e-mail
- caso queira responder às dúvidas de outra pessoa, você também é bem-vindo a fazer isso
- comentários de conteúdo ofensivo ou que incentivem as quebras das regras do Tibia não serão respondidos e serão apagados sem aviso prévio

Escreva seu comentário: