Participei nessa última madrugada de um Hangout, bem interessante, sobre segurança em aplicações Web.

Em um certo ponto, foi levantada a bola quanto a vulnerabildiade explorada do SSL Handshake pelo pessoal da THC. Tanto é, que eles, o grupo THC, lançou uma excelente ferramenta, THC-SSL-DoS para isso.

O vídeo abaixo explica, e muito bem, sobre o que estou falando:

Acontece que uma dúvida ficou no ar – A vulnerabilidade é no protocolo SSL, dito por muitos como o mais seguro do mundo, ou em sua implementação junto aos web servers ?

Eis que as melhores respostas foram as seguintes, tanto em português quanto em inglês:

Estabelecer uma conexão segura SSL requer um processamento de máquina quase 15x maior no servidor do que no cliente. A ferramenta THC-SSL-DOS explora esta propriedade assimétrica, sobrecarregando o servidor até ele “cair”.

There are two different aspects in the presented attack:

  • The computation cost of an handshake is more important on the server side than on the client side. The advisory explains that a server will require 15 times the processing power of a client. This means a single average workstation could challenge a multi-core high-end server.
  • The use of SSL renegotiation allows you to trigger hundreds of handshakes in the same TCP connection. Even a client behind a DSL connection can therefore bomb a server with a lot of renegotiation requests.

Em resumo e para mim, o problema está relacionado ao SSL, mas gostaria de ouvir outras opiniões…

Compartilhar:

Este post tem 8 comentários

  1. Bom, independente se o problema está ou não de fato no SSL, sem dúvida o problema está pelo menos na forma como ele é tradado. Uma vez que é através desse tratamento que ele pode ser explorado. Acho que não dá pra colocar a culpa só no web server então, uma vez que ele está somente fazendo o papel de tratar o SSL como ele tem que ser tratado. Por isso, concordo que o problema maior está relacionado ao SSL, do que com a sua implantação junto ao web server.

  2. Levando em consideração especificamente ao https, seria possível então ter uma parametrização de número de handshakes por segundo. Isso no mod_ssl. Caso ultrapasse o valor, bloqueia por X minutos. Claro, em caso de centenas de milhares de zumbis a coisa seria tenso no ataque inicial, mas em poucas horas isso seria mitigado. Desconheço algo que de para parametrizar atualmente.

  3. Há outros módulos para o apache que já fazem isso. O mod_reqtimeout, por exemplo.

  4. Pode ser um caminho então. 🙂

Deixe uma resposta

Fechar Menu