martes, 12 de julio de 2011

Sobre las botnets indestructibles. ¿De verdad que lo son? (y II)

En estos días hemos leído en los medios todo tipo información sobre una botnet indestructible que supuestamente ha dejado a todos los expertos del mundo "con la boca abierta" (frase que han empleado en muchos artículos). En este caso concreto, qué significa eso de indestructible, porque puede llegar a confundir y asustar al usuario: ¿significa que no podré eliminarlo nunca de mi sistema? ¿Significa que nadie podrá eliminar nunca la botnet? Vamos a intentar aclarar por qué se ha llegado a esta conclusión, y si es cierta o no.

Eliminar competencia.

Esto es bastante antiguo. Ya en 2004, Netsky, Bagle y MyDoom protagonizaron una divertida guerra mediática, cuando cada uno intentaba eliminar al anterior en los equipos infectados. A otro nivel mucho más serio, cuando apareció SpyEye, ofrecía una opción para eliminar Zbot de los sistemas infectados. TDL contiene instrucciones para eliminar malware concreto como Gbot, Clishmic, Optima, etc. No porque supongan competencia, sino para pasar inadvertida. Elimina malware menos sofisticado a la hora de esconderse que podría levantar sospechas y llevar a la víctima a que se preocupara de "limpiar a fondo" su sistema o abandonarlo por completo.

Conexión P2P

Una conexión P2P para comunicarse permite que no haya un único punto de fallo. Al no estar centralizada la comunicación, es más complicado "echar abajo" la botnet, puesto que todos los nodos funcionan como puntos de comunicación. Se conocen botnets que usan P2P desde hace más de tres años. Sin embargo, usaban protocolos P2P propios. La novedad de TDL es que usa la red P2P pública KAD, que no es tan fácil cerrar ni controlar. Esto sí es interesante. Los atacantes ponen en la red pública de intercambio un fichero cifrado llamado ktzerules, donde se almacenan los comandos. El funcionamiento es parecido a una red P2P normal: el troyano descarga una lista de nodos, se conecta, y distribuye el archivo con los comandos. Los clientes que lo reciben, los descifran y ejecutan.

Esto sí es una novedad interesante, y otra de las razones por lo que se la ha llamado "indestructible". Efectivamente, complica muchísimo el poder "echar abajo" la red. Pero existirían algunas formas que harían que dejase de funcionar, al menos temporalmente.

El problema de este tipo de "botnet descentralizada" no es nuevo. Ya se da con los dominios dinámicos, otro método que viene complicando el asunto de la perdurabilidad de las botnets desde hace tiempo. Durante muchos años, el malware no ha confiado en un solo punto de control para recibir órdenes, puesto que es consciente de que, si cae, perdería el control. Por tanto, se utiliza un sistema que, si bien no lo hace indestructible, complica mucho echar abajo una red. El malware se dedica a calcular nombres de domino casi aleatorios (resultado de un algoritmo que solo el programador conoce) cada día, y se conecta a todos ellos buscando órdenes. Los atacantes registran solo unos pocos dominios cada vez (puesto que cuesta dinero) y a menos que se haga ingeniería inversa del algoritmo, no se pueden predecir. La única protección sería conocer el algoritmo, comprar todos los dominios antes que los atacantes y bloquearlos. Estamos ante una forma sofisticada de resistencia con la que convivimos desde hace tiempo.

Otra forma simple de hacer que una red de botnets sea compleja de destruir es simplemente registrando los servidores en ISP rusos llamados "bulletproof", o sea, a prueba de bombas. Están comprados por las mafias y cooperan con ellas para mantener el servidor operativo todo el tiempo que sea posible al margen de la ley.

Otras características

TDL parece funcionar solo fuera de Rusia (país de origen). También, sus creadores fueron los primeros en crear un driver para los sistemas de 64 bits en 2010, y así poder infectar máquinas de esta arquitectura a nivel de rootkit.

Conclusión: ¿Indestructible?

Este ha sido el adjetivo más utilizado para describirla. Pero nada es tan tajante hoy en día. Se podría atacar desde varios frentes que serían muy eficaces en combinación. Para empezar, se tendría que haber dejado claro desde qué punto se supone que es indestructible. Desde el punto de vista del usuario (erradicarlo de su sistema) es relativamente sencillo eliminarlo. Desde el punto de vista global de la botnet, habría que estudiar cómo desactivar su infraestructura, pero no es un problema nuevo. Desde cualquier punto de vista, y en todo caso, se puede combatir en varios frentes: desde afinar las firmas de los antivirus (si Windows lo introduce eficazmente en su MSRT podría darle un buen varapalo), hasta intervenir la red KAD para bloquear el nombre que actualmente utiliza ("ktzerules"), pasando por mejorar los sistemas antivirus para evitar que se escriba en la MBR o facilitar su restauración... etc.

En definitiva, por supuesto que TDL ha elevado el nivel de complejidad, pero no es ningún descubrimiento que haya aparecido de la nada. Introduce novedades interesantes, pero hay que entender que es una evolución lógica que aglutina "lo mejor de cada casa" en cuestión de malware. Analizado fríamente, ofrece pocos problemas nuevos a los que no se hayan enfrentado antes los analistas, solo que todos juntos a la vez (que no es poco). En resumen, ante este tipo de noticias, hay que plantearse seriamente qué es relevante y qué es ruido innecesario.




Sergio de los Santos
ssantos@hispasec.com
Twitter: @ssantosv


Más información:

Sobre las botnets indestructibles. ¿De verdad que lo son? (I)
http://www.hispasec.com/unaaldia/4643

TDL4 ? Top Bot
http://www.securelist.com/en/analysis/204792180/TDL4_Top_Bot

No hay comentarios:

Publicar un comentario en la entrada