211service.com
Rompiendo el código de la botnet
Las redes de computadoras comprometidas controladas por un servidor central, más conocidas como botnets, son una navaja suiza de herramientas para los delincuentes en línea. Los piratas informáticos pueden utilizar estos sistemas cooptados para producir spam, alojar códigos maliciosos, ocultar sus pistas en Internet o inundar una red corporativa para cortar su acceso a la Web.
Cada vez que aparece una nueva botnet, los investigadores se apresuran a aplicar ingeniería inversa al software que instala en la máquina de la víctima y a decodificar la forma en que cada bot se comunica con el servidor de control. Debido a que estas comunicaciones a menudo están encriptadas, estos análisis pueden llevar semanas o meses. Ahora, investigadores de la Universidad de California en Berkeley y la Universidad Carnegie Mellon han creado una forma de aplicar ingeniería inversa automáticamente a las comunicaciones entre las computadoras comprometidas y sus servidores de control.
En un documento que se presentará esta semana en la Association for Computing Machinery's Conferencia sobre Seguridad Informática y Comunicaciones , los investigadores muestran cómo la ingeniería inversa automática puede descifrar la estructura y el propósito de las comunicaciones entre un servidor de comando y control y sus bots.
El protocolo de comunicaciones de la botnet es el núcleo de la botnet, dice Juan Caballero, estudiante de doctorado afiliado tanto a la Universidad de California en Berkeley como a la Universidad Carnegie Mellon, y autor principal del artículo. Así es como el atacante envía comandos a la botnet.
Cuando los investigadores habían intentado analizar automáticamente los protocolos de comunicación de las botnets, se centraron en descifrar los comandos recibidos por el cliente. Sin embargo, Caballero, junto con la profesora asistente de UC Berkeley Dawn Song y otros dos colegas, ha desarrollado una técnica que traduce tanto los comandos recibidos por un cliente como las respuestas que envía.
Luego, los investigadores ejecutaron el código de la botnet en una máquina virtual y analizaron el movimiento de información hacia y desde los registros de una computadora (componentes de memoria dentro del procesador de una máquina) antes de que se encriptara. Observar los cambios en los registros de memoria (los investigadores llaman a esto deconstrucción de búfer) les permitió derivar la estructura de las comunicaciones de la botnet e inferir la función de los diversos componentes de cada comando.
Esto es relevante para el malware, porque normalmente no tenemos el ejecutable para el servidor de comando y control de una botnet, dijo Paolo Milani, investigador postdoctoral en el Laboratorio de Sistemas Seguros del Instituto de Tecnología de Viena y autor de un artículo anterior. sobre análisis de protocolo automatizado. Entonces, con las técnicas anteriores, no podríamos realizar ingeniería inversa automáticamente en el lado del cliente del protocolo.
Los investigadores construyeron la técnica resultante en una herramienta, llamada Dispatcher, para analizar las comunicaciones de redes de bots e incluso inyectar nueva información en el flujo de comunicaciones. Los investigadores probaron el enfoque en una compleja red de bots conocida como MegaD, que fue noticia a principios de 2008 cuando las empresas de seguridad notaron que era responsable de casi un tercio del tráfico de spam en todo el mundo.
Los investigadores analizaron 15 mensajes que habían recopilado al monitorear un bot MegaD: siete comandos enviados desde los servidores de control y ocho respuestas del bot. La herramienta Dispatcher analizó el bot mientras se ejecutaba en la máquina virtual y detectó automáticamente el punto en el que el programa descifró los comandos pero aún no había cifrado sus respuestas.
Los administradores de red también pueden utilizar la herramienta Dispatcher para infiltrarse en la botnet. Los clientes de MegaD normalmente comprobarán si pueden enviar correo electrónico, para convertirse en un engranaje útil en una campaña de spam. Sin embargo, debido a que los investigadores bloquean todo el tráfico de correo saliente, el cliente normalmente enviaría un mensaje al servidor de control diciendo que su prueba de correo falló. Pero los investigadores modificaron el mensaje en ruta, respondiendo en cambio con el código para una prueba de spam exitosa.
Normalmente, habría enviado un mensaje diciendo que no puede enviar spam, dice Caballero de UC Berkeley. En cambio, obtuvimos la plantilla de correo no deseado, por lo que pudimos ver qué tipo de correo no deseado enviaría.
Herramientas como Dispatcher podrían expandir lo que actualmente es un pequeño número de investigadores que regularmente realizan ingeniería inversa de botnets, dice Joe Stewart, investigador senior de seguridad de SecureWorks , una empresa de seguridad de redes. Resolvería un problema que tiene el mundo: tener suficientes personas para analizar las redes de bots, dice. Hay un número limitado de personas que pueden realizar ingeniería inversa en redes de bots. Tienes un grupo de entusiastas que podrían usar esto para ayudarlos.
Stewart agrega, sin embargo, que los investigadores experimentados aún no necesitan este tipo de herramientas automatizadas para analizar la mayoría de los programas maliciosos. Si bien las redes de bots más complicadas pueden tardar semanas en realizar ingeniería inversa, el malware común y corriente que encuentran la mayoría de las empresas y organizaciones no supone ningún problema. Más del 90 por ciento de todas las botnets utilizan un cifrado fácil de romper para proteger sus comunicaciones, lo que hace que las técnicas manuales sean relativamente fáciles y rápidas.
No todos los (maestros de bots) necesitan el cifrado de tipo MegaD, dice Stewart. Simplemente no creo que valga la pena su tiempo, no con el efecto que estamos teniendo en ellos ahora, que es mínimo.
Sin embargo, las botnets seguirán evolucionando, dice Song de UC Berkeley. Los programas de botnets se están volviendo más complicados, dice. Están usando varias técnicas de ofuscación, etc. Entonces, tal vez el análisis manual pueda funcionar por ahora, pero en el futuro, necesitaremos mejores herramientas.