Probando malware en una máquina virtual que se ejecuta en paralelo junto con otras máquinas virtuales

0

Quiero reforzar la seguridad de mi sistema host y de lado a lado ejecutando máquinas virtuales mientras pruebo algunos archivos de malware en una de las máquinas virtuales. Aquí viene una lista de preguntas que espero que puedas responder.

- Adaptadores de red
Una cosa que me preocupa es la posible propagación de malware de una máquina virtual a otra. La mayoría de las máquinas virtuales que estoy ejecutando lado a lado en este momento están usando el mismo adaptador de red. ¿Podría de alguna manera minimizar el riesgo al asignar un adaptador de red virtual separado a la máquina virtual que estoy usando para propósitos de prueba de malware?

- Separación de redes
He leído acerca de la separación de las redes en algunos otros hilos. ¿Puedo lograr esto conectando una tarjeta de red adicional a mi PC y conectando la máquina que uso para probar el malware en una de las tarjetas? Además, he leído que una forma de lograr la separación sería desconectar la máquina de la red. Para mi trabajo, la conexión a Internet dentro de todas las máquinas virtuales y dentro del sistema host es esencial en todo momento, por lo que tendré que excluir esta posible solución.

- Controladores de dispositivos USB
Al estudiar otro hilo interesante que cubre el mismo tema, me he encontrado con la afirmación de que un controlador de ratón podría posiblemente permitir un ataque de desbordamiento de búfer. Aquí es el enlace al tema tratado, el post fue creado por Tim Williams.

¿Alguien podría explicar si el mousedriver debería instalarse dentro del sistema invitado o sería suficiente tenerlo funcionando en el sistema host para causar la vulnerabilidad?

- Integración del mouse
Además, he asimilado la información de que la integración del mouse (el complemento u opción que hace que el movimiento del mouse desde el invitado al equipo host sea perfecto) podría ser una posible vulnerabilidad. ¿Es realmente mejor o incluso necesario desactivar esta opción para reforzar la seguridad?

- Separación de núcleos de CPU.
¿Tengo que preocuparme por la máquina virtual invitada que usa los mismos núcleos de CPU como el sistema host? ¿Hay alguna forma de asignar, por ejemplo, un núcleo de CPU a una máquina virtual?

    
pregunta Fidel Hogsed 07.08.2014 - 11:52
fuente

3 respuestas

2

Preguntas de red: Todas las preguntas relacionadas con su red se deben básicamente a que el malware ha podido comunicarse con otras computadoras de la red. Por lo tanto, si los otros dispositivos que se encuentran fuera de su máquina invitada son vulnerables, estará exponiendo toda su red. Querrá tener diferentes NAT para que no puedan hablar con su máquina host o cualquier otro dispositivo en su red.

Separación de núcleos de CPU Sí, puede asignar ciertos núcleos y establecer un límite de ejecución (aunque esto dependerá de qué software de VM descargue).

¿Qué tan segura es mi máquina virtual Es posible que el malware que se ejecuta dentro de la máquina invitada se ejecute fuera de la VM. Te conseguiré referencias cuando esté en casa. Entonces, no crea porque está ejecutando VM que su máquina host es segura.

    
respondido por el Paul 07.08.2014 - 13:07
fuente
1

Como regla general, las máquinas virtuales no pueden aislarse contra el malware en modo kernel que reconoce la máquina virtual. En realidad, solo son una contención efectiva para el malware en modo usuario. Para el malware de modo de usuario, o el malware de modo de kernel que es "pasivo" (es decir, no intenta detectar el entorno del kernel), la VM lo contendrá de manera confiable, por lo que sus medidas son innecesarias.

Si, por otro lado, el malware opera en el kernel y es compatible con las máquinas virtuales, no puede contenerlo de manera confiable ajustando las interfaces, porque de una forma u otra podrá escapar si lo desea.

Hay varias razones para esto, pero lo primero que hay que entender es la diferencia entre emuladores y máquinas virtuales. En realidad, un emulador pretende ser el hardware real, por lo que, por ejemplo, podría instalar un nuevo controlador para el hardware en la VM y funcionaría en teoría porque el emulador (teóricamente) se comporta como el dispositivo real. En realidad, incluso si la emulación es absolutamente PERFECTA (que nunca lo es), el malware siempre puede decir que se trata de un dispositivo falso porque el dispositivo será realmente lento en comparación con uno real. Sin embargo, siempre que la emulación sea perfecta y tenga un firewall perfecto, no hay nada que pueda hacer el malware porque la emulación impide el acceso al dispositivo real.

Por otro lado, una máquina virtual no emula el hardware (excepto de manera limitada). Para obtener un mejor rendimiento, simplemente pasa los comandos al dispositivo real, actuando como una especie de búfer. Si el malware se está ejecutando en el kernel, no solo puede hablar con el dispositivo real, sino que también es fácil descubrir que se está hablando a través de una interfaz de máquina virtual, ya que la interfaz está dañada. Por ejemplo, Qemu emula un Cirrus Logic GD5446, una tarjeta antigua que nadie usaría realmente. Si lo ves, sabes que estás hablando con Qemu. Dado que el malware está en el kernel, puede hacer cualquier cosa que un controlador del kernel pueda hacer y puede ver todos los otros "controladores", incluidas cosas como las adiciones de invitados que hacen que la máquina virtual sea obvia. Por lo tanto, no hay manera de falsificarlo con los controladores sintéticos que usan las máquinas virtuales.

Por qué no tienes que preocuparte

Habiendo dicho todo eso, realmente no necesita preocuparse por el aislamiento, porque el 99,999% del malware no hará nada que afecte al sistema host. Casi todo el malware que tiene en cuenta la máquina virtual solo está interesado en detectar una máquina virtual, por lo que puede hacer una cosa: detener. Una situación en la que el malware detectó que estaba en una máquina virtual y luego trató de moverse en el sistema host sería tan rara que no sería nada de lo que tendría que preocuparse. Y, confíe en mí, si está tratando con malware que está interesado y es capaz de penetrar en un sistema host, está tratando con una entidad que va más allá de su capacidad de controlar con alguna medida simple, como jugar con los adaptadores de red. / p>

Cualquier persona que tenga el dinero, el tiempo y la motivación para escribir código que comprometa una máquina virtual no se entretendrá con los dispositivos. Simplemente escribirá un exploit para el hipervisor y obtendrá el control directo del sistema. Estás hablando de un puñado de equipos en el mundo que pueden hacer esto, e incluso entonces tienes que preguntar "¿por qué querrían hacerlo?"; las personas que ejecutan máquinas virtuales no son sus objetivos.

Versión corta: no te preocupes.

    
respondido por el Tyler Durden 08.08.2014 - 00:13
fuente
0

Así que tengo algunos consejos sobre el lado de la red de cosas. Aquí hay una pequeña configuración que uso:

  1. La máquina de malware. Colóquelo en un adaptador de red interno y asígnele una dirección IP estática. Tome nota de la máscara de red y la puerta de enlace.

  2. El oyente. Colóquelo en el mismo adaptador de red interno que el primero. Asígnele la dirección IP de la puerta de enlace de la máquina de malware y asígnele la misma máscara de red. Luego, cambie la puerta de enlace del oyente a 0.0.0.0. Este muro de piedra todos los paquetes, por lo que el malware no llega al mundo exterior. Además, retire todos los demás adaptadores para que el tráfico no se escape accidentalmente.

Ahora, ejecute Wireshark en la escucha para la actividad de la red. Todo fluye hacia la "puerta de enlace", así que puedes escuchar todo. A partir de ahí, puede crear el malware como un facsímil de lo que está buscando. Está buscando 134.123.123.xx: 8080? Agregue esa dirección IP a un adaptador virtual en su escucha y abra una sesión de escucha de netcat para ver qué hace a continuación. ¿Quiere un servidor IRC que acepte sus credenciales? No hay problema, podemos activar un servidor IRC personalizado para ello.

Todo esto es muy tedioso, pero es seguro por lo que puedo decir. Para un seguro adicional, puede ejecutar Wireshark en su sistema operativo host y escuchar el tráfico en su subred. Si comienzan a aparecer paquetes extraños, simplemente mate las máquinas.

    
respondido por el Ohnana 11.12.2014 - 15:24
fuente

Lea otras preguntas en las etiquetas