Nuevos avances en el lado de los malos. Realmente no son tan nuevos, pero sí se percibe que están en notorio crecimiento.
Comentan en ISC SANS que empiezan a ver demasiadas muestras de malware que detectan la presencia de máquinas virtuales. Estos especímenes, una vez detectada la presencia de una máquina virtual, se niegan a ejecutarse, impidiendo así que los investigadores vean qué está pasando.
Recordemos que para analizar malware, en líneas muy muy resumidas, podemos optar, principalmente, por dos caminos posibles:
- La ejecución en máquinas virtuales y la observación (me infecto en una máquina virtual, y miro qué hace el especimen)
- La descompilación, proceso complejo y que no siempre conduce a resultados (hay empaquetados que no se pueden desempaquetar alegremente)
¿Qué persiguen los desarrolladores de malware? Fácil, entorpecer la investigación y prolongar al máximo los efectos del especimen. Si no sabemos qué hace un troyano, a duras penas vamos a poder contrarrestar sus efectos nocivos.
Los lectores de ISC sugieren sacar tajada de esta casuística, desarrollando un entorno no virtual que engañe al troyano de turno creyendo que sí lo es. Con esto se conseguiría inmunizar un equipo, ya que el especimen no se ejecutaría. Tal y como comenta el editor, una idea parecida al Deception Toolkit, y la instalación de software en honeypots para confundir a los atacantes.
¿Y qué podemos hacer frente a estas piezas de malware sofisticadas? Por un lado, tratar de engañar al troyano camuflando las trazas de ejecución de un entorno virtual. Si el troyano cree que es un entorno real, se ejecutará, y podremos analizarlo. Estas técnicas son extremadamente complejas y poco maduras, con lo que no parece que a corto plazo podamos avanzar por ahí.
La otra opción es parchear los especímenes y hacer un bypass que se salte la comprobación de existencia de entorno virtual, lo cual tampoco parece algo rápidamente accesible ;)
Por último, podemos lanzar los troyanos en una máquina real, y observar en ella qué operativa tiene el especimen. El problema de esto es que no podemos andar reinstalando sistemas operativos cada vez que queramos ejecutar una muestra. No es un camino viable.
Nos toca mover pieza a los del otro lado.
PD: También se recomienda en SANS la lectura de esta interesante presentación sobre ocultación de entornos de virtualización para propósitos de investigación.
No entiendo para que tantas vueltas ¿Porque no usar imágenes? Cargar una imagen limpia de windows XP no lleva más de cinco o diez minutos… Es evidente que no es tan cómodo como usar máquinas virtuales pero si mucho mejor que cualquier otra solución.
Jose María,
Si tienes que mirar una muestra al día o 5 a la semana, vale.
El problema es tener que mirar 50 al día, o tener que repetir para una muestra 10 experimentos ;)
Saludos,
No digo que sea mejor que la virtualización sino que es una alternativa cómoda en escenarios como el que describes en el que esta no se puede usar.
En uno de mis trabajos en Madrid me dedicaba a las pruebas de softw y necesitaba entornos «limpios». Mi empresa, muy tacaña ella, no me quería pagar las licencias de ningún programa de virtualización así que yo cogí tres máquinas viejas y preparé una batería de imágenes para cada una de ellas. Mientras hacía pruebas en una «preparaba» la que había estado usando anteriormente. Con un switch KVM el conjunto no abulta demasiado en una mesa de trabajo normal.
Un espécimen. (en singular con tilde en la letra e)
Dos especímenes. (en plural con tilde en la letra i)
Ruego corregir y borrar mi mensaje.
Gracias por la aclaración, académico.
No es preciso borrar el mensaje :)
Saludos,