Cómo parchear contra el ataque DOS de RefRef

8

Descripción general

Anónima se responsabilizó hoy por el ataque de Denegación de Servicio contra wikileaks. Están utilizando un nuevo software llamado RefRef . Parece explotar MySQL usando el poder de procesamiento del servidor contra sí mismo. Por supuesto, esto no requiere botnet.

Pregunta

No puedo encontrar mucha información sobre este nuevo software. Me gustaría saber qué necesito para parchar MySQL para protegerme contra esta vulnerabilidad.

    
pregunta k to the z 01.09.2011 - 16:24
fuente

3 respuestas

13

Si este enlace es el DOS que hice una investigación.

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.5.9     |
+-----------+
1 row in set (0.01 sec)

mysql> select benchmark(99999999999,0x70726f62616e646f70726f62616e646f70726f62616e646f);
^CCtrl-C -- sending "KILL QUERY 193" to server ...
Ctrl-C -- query aborted.
+---------------------------------------------------------------------------+
| benchmark(99999999999,0x70726f62616e646f70726f62616e646f70726f62616e646f) |
+---------------------------------------------------------------------------+
+---------------------------------------------------------------------------+
1 row in set (3.55 sec)

mysql> 

No bloquea el demonio de MySQL, parece que hace lo que hace benchmark La función se supone que debe hacer, evalúa la expresión 0x70726f62616e646f70726f62616e646f70726f62616e646f 99999999999 veces, lo que llevará mucho tiempo. 0x70726f62616e646f70726f62616e646f70726f62616e646f es la cadena ASCII "probandoprobandoprobando" donde "probando" es la palabra latina para "probar", supongo que alguien quería probar que la función de referencia funciona como debería.

Por lo tanto, el problema original es asegurarse de que esté protegido contra la inyección de SQL, lo que debería ser bastante sencillo si utiliza una abstracción de base de datos sensata y no crea sus propias consultas SQL con concatenación de cadenas, etc.

    
respondido por el Mattias Wadman 01.09.2011 - 20:08
fuente
2

Por ahora, simplemente puede bloquear este tipo de ataques con una regla (.htaccess):

RewriteEngine on
RewriteCond %{QUERY_STRING} .*(/\*|union|select|insert|cast|set|declare|drop|update|md5|benchmark) [NC]
RewriteRule .* - [R=406,L]

También puede considerar la configuración de una regla global (mod_security) en su sistema para bloquear este tipo de solicitudes para todos sus vhosts.

    
respondido por el JacobN 17.09.2011 - 18:17
fuente
1

Se infecta a través de la inyección de SQL, por lo que siempre que su software no sea vulnerable a la inyección de SQL (y no exponga su instancia de MySQL en Internet), no será vulnerable.

En cuanto a cómo garantiza que su sistema no sea vulnerable a la inyección de SQL ... no ha proporcionado información sobre el software que está ejecutando.

Tienes algunas ideas inusuales sobre seguridad. No es un producto que puedas comprar o descargar. No debe esperar a que alguien lo piratee antes de comenzar a instalar parches.

    
respondido por el symcbean 01.09.2011 - 17:38
fuente

Lea otras preguntas en las etiquetas