Se segura malandro !

Domingo, 26/Agosto/2007

Negação de serviço

Arquivado em: Segurança — leonardo @ 12:59 pm

A negação de serviço (denial of service ou simplesmente D.o.S) é um conceito muito simples: utilizar um serviço além da capacidade que este tem com o objetivo de atrapalhar quem realmente gostaria de utilizá-lo.

Quando dizemos além da capacidade podemos nos referir a qualquer recurso que seja fundamental.

Imagine uma pequena mercearia. Ela tem um espaço físico limitado, porém adequado para atender seu público. Possui também uma equipe de funcionários e um estoque de produtos.

Em um determinado dia um grupo de pessoas, alguma vezes maior que o movimento diário da lojinha, resolve prejudicar seu dono. Basta estas pessoas fazerem uma fila na frente da loja, uma a uma entrar e perguntar a respeito de um produto, para em seguida deixar a loja sem nada comprar, reingressando no fim da fila. É fácil imaginar que os legítimos clientes teriam que esperar um tempo significativo na fila. Muitos desistiriam no meio do caminho, outros talvez nem conseguiriam ser atendidos dentro do horário de funcionamento. Eventualmente algum cliente esperaria na fila e faria a compra. Negar serviço não significa impedir totalmente o funcionamento.

Neste exemplo eu citei a forma mais comum de DoS que é a chamada força bruta. Ou seja o atacante faz um esforço proporcional aos recursos utilizados pelo prestador para torná-los inúteis. Existe uma outra variação que é pegar um ponto fraco que torna um recurso indisponível. Vamos supor que o único funcionário da lojinha vá trabalhar de carro todos os dias ? E se o seu carro for sabotado ? (Esqueçamos para efeito do exemplo que ele pode pegar um táxi, ônibus ou outros mecanismos de contorno que a vida real já nos proporciona). A lojinha também não abre negando aos seus clientes o serviço.

No fim das contas ataques de negação de serviço provocam prejuízos temporários, ou seja o movimento de vendas que deixou de acontecer. Também podem ser de longo prazo quando parte dos clientes passa a freqüentar a concorrência. Ou porque deixa de confiar no serviço da loja, ou porque se encanta com o serviço de outra que nunca havia experimentado.

E quais são os recursos necessários para um serviço online ? Basicamente rede e recursos computacionais.

O serviço de rede que é fornecido por uma empresa de telecomunicações. Este é limitado e medido em bits por segundo. Em geral é dimensionado para atender a demanda legítima do serviço com alguma folga, mas não muito mais que isto, porque afinal de contas é custo. Para torná-lo indisponível basta gerar tráfego. Ou seja, basta acessar o serviço muitas vezes ao mesmo tempo. E nisto os computadores são bons fazer coisas repetitivas rapidamente. Ou seja, um só computador pode fazer o papel de vários clientes.

Qual o limitante deste ataque ? Em geral a rede disponível para um usuário caseiro é algumas ordens de grandeza menor que um grande site. E grandes sites monitoram seus circuitos e mesmo se o atacante tiver grande disponibilidade de rede como ele vem de uma origem única(um único endereço ip) é possível “filtrar” o ataque, ainda que muitas vezes tenha que ser feito pela operadora de telecomunicações em algum outro ponto da rede.

No próximo post falo dos recursos computacionais e dos ataques que não são de força bruta…

1 Comentário »

  1. [...] fim existe aquele tipo de negação de serviço que já citei no exemplo do carro no post anterior. que consiste em achar algum bug no software que roda no servidor e utilizá-lo para fazê-lo [...]

    Pingback de Ainda sobre DOS « Se segura malandro ! — Terça-feira, 28/Agosto/2007 @ 11:12 pm

Alimentação RSS de comentários a este artigo. URI do TrackBack

Deixe um comentário

Você deve ser logado postar um comentário.

Blog no WordPress.com.