Test di malware in una macchina virtuale che funziona parallelamente ad altre macchine virtuali

0

Desidero rafforzare la sicurezza del mio sistema host e parallelamente far girare macchine virtuali testando alcuni file per malware in una delle macchine virtuali. Ecco un elenco di domande che spero tu possa rispondere.

- Schede di rete
Una cosa che mi preoccupa è la possibile diffusione di malware da una macchina virtuale a un'altra. La maggior parte delle macchine virtuali che sto eseguendo fianco a fianco al momento utilizzano la stessa scheda di rete. Potrei minimizzare in qualche modo il rischio allocando una scheda di rete virtuale separata alla macchina virtuale che sto usando per scopi di test del malware?

- Separazione di reti
Ho letto sulla separazione delle reti in alcuni altri thread. Potrei ottenere questo collegando una scheda di rete aggiuntiva al mio PC e collegando la macchina che utilizzo per testare il malware su una delle schede? Inoltre ho letto che un modo per ottenere la separazione sarebbe disconnettere la macchina dalla rete. Per il mio lavoro la connessione internet all'interno di tutte le macchine virtuali e all'interno del sistema host è essenziale in ogni momento quindi dovrò escludere questa possibile soluzione.

- Driver di periferica USB
Studiando un altro thread interessante che copre lo stesso argomento, mi sono imbattuto nell'affermazione che un driver del mouse potrebbe consentire un attacco di overflow del buffer. Qui è il link al thread indirizzato, il post è stato creato da Tim Williams.

Qualcuno potrebbe spiegare se il mousedriver dovrebbe essere installato all'interno del sistema guest o sarebbe sufficiente farlo funzionare sul sistema host per causare la vulnerabilità?

- Integrazione del mouse
Inoltre ho assimilato le informazioni che l'integrazione del mouse (il plugin o l'opzione che rende il movimento del mouse dall'ospite alla macchina host impeccabile) potrebbe essere una possibile vulnerabilità. È davvero meglio o addirittura necessario disabilitare questa opzione per rafforzare la sicurezza?

- Separazione dei core CPU.
Devo preoccuparmi della VM guest che utilizza gli stessi core CPU come il sistema host? C'è un modo per allocare ad esempio un core della CPU in una VM?

    
posta Fidel Hogsed 07.08.2014 - 11:52
fonte

3 risposte

2

Domande sulla rete: Tutte le domande relative alla rete sono fondamentalmente fino al malware è stato in grado di parlare con altri computer sulla rete. Pertanto, se gli altri dispositivi all'esterno del computer guest sono vulnerabili, esponi l'intera rete. Avrai bisogno di avere NAT differenti in modo che non possano parlare con il tuo computer host o con qualsiasi altro dispositivo sulla tua rete.

Separazione dei core CPU Sì, è possibile allocare determinati core e impostare un limite di esecuzione (anche se ciò dipenderebbe dal software VM scaricato).

Quanto è sicura la mia VM È possibile che il malware eseguito all'interno della macchina guest venga eseguito all'esterno della VM. Ti darò dei riferimenti quando sono a casa. Quindi, non credere perché stai usando VM che il tuo computer host è sicuro.

    
risposta data 07.08.2014 - 13:07
fonte
1

Come regola generale, le macchine virtuali non possono isolare il malware in modalità kernel che è consapevole della VM. Sono davvero solo un contenimento efficace per il malware in modalità utente. Per malware in modalità utente o malware in modalità kernel che è "passivo" (cioè non tenta di schermare l'ambiente del kernel), la VM conterrà in modo affidabile così le tue misure non sono necessarie.

Se, d'altra parte, il malware opera nel kernel ed è consapevole di VM, non è possibile contenerlo in modo affidabile regolando le interfacce, perché in un modo o nell'altro sarà in grado di eseguire l'escape se lo desidera.

Ci sono diversi motivi per questo, ma la prima cosa da capire è la differenza tra emulatori e VM. Un emulatore in realtà finge di essere l'hardware vero e proprio, ad esempio, è possibile installare un nuovo driver per l'hardware sulla VM e in teoria funzionerebbe perché l'emulatore (in teoria) si comporta proprio come il dispositivo reale. In realtà, anche se l'emulazione è assolutamente PERFETTA (che non è mai), il malware può sempre dire che si tratta di dispositivo falso perché il dispositivo sarà molto lento rispetto a quello reale. Tuttavia, finché l'emulazione è perfetta e perfettamente protetta dal firewall, non c'è nulla che il malware possa fare perché l'emulazione impedisce l'accesso al dispositivo reale.

Una VM d'altra parte non emula l'hardware (tranne che in modo limitato). Per ottenere prestazioni migliori passa semplicemente i comandi al dispositivo reale, agendo come una sorta di buffer. Se il malware è in esecuzione nel kernel, non solo il malware può comunicare con il dispositivo reale, ma è facile capire che sta parlando attraverso un'interfaccia VM, perché l'interfaccia è rara. Ad esempio, Qemu emula una Cirrus Logic GD5446, una carta antica che nessuno avrebbe mai usato davvero. Se lo vedi, sai che stai parlando con Qemu. Dato che il malware è nel kernel, può fare tutto ciò che un driver del kernel può fare e può vedere tutti gli altri "driver", incluse cose come aggiunte guest che rendono ovvia la VM. Quindi, non c'è modo di simularlo con i driver sintetici usati dalle VM.

Perché non devi preoccuparti

Detto questo, non devi davvero preoccuparti dell'isolamento, perché il 99,999% del malware non farà nulla che possa influenzare il sistema host. Quasi tutti i malware VM-aware sono interessati solo a rilevare una VM in modo che possa fare una cosa: basta. Una situazione in cui il malware ha rilevato che si trovava in una VM e quindi ha tentato di spostarsi nel sistema host sarebbe così raro da non essere nulla di cui dovresti preoccuparti. E, fidati di questo, se hai a che fare con malware che sono interessati e in grado di penetrare in un sistema host, hai a che fare con un'entità ben oltre la tua capacità di controllare con una semplice misura come scherzare con gli adattatori di rete. / p>

Chiunque abbia i soldi, il tempo e le motivazioni per scrivere codice che comprometterà una VM non si scherza con i dispositivi. Scriverà un exploit per l'hypervisor e otterrà il controllo diretto del sistema. Stai parlando di una manciata di squadre nel mondo che possono farlo, e anche allora devi chiedere "perché vorrebbe?"; le persone che eseguono macchine virtuali non sono i loro obiettivi.

Versione breve: non ti preoccupare.

    
risposta data 08.08.2014 - 00:13
fonte
0

Quindi ho qualche consiglio riguardo al lato Networking delle cose. Ecco una piccola installazione che utilizzo:

  1. La macchina del malware. Mettilo su un adattatore di rete interno e assegnagli un indirizzo IP statico. Prendi nota della maschera di rete e del gateway.

  2. L'ascoltatore. Mettilo sullo stesso adattatore di rete interno del primo. Assegnare l'indirizzo IP del gateway della macchina del malware e assegnargli la stessa maschera di rete. Quindi, modificare il gateway del listener su 0.0.0.0. Questo stonewall tutti i pacchetti, quindi il malware non raggiunge effettivamente il mondo esterno. Inoltre, rimuovi tutti gli altri adattatori in modo che il traffico non sfugga accidentalmente.

Ora esegui Wireshark sull'ascoltatore per l'attività di rete. Tutto scorre verso il "gateway", quindi puoi sentire tutto. Da lì, puoi costruire il malware come facsimile di ciò che sta cercando. Sta cercando 134.123.123.xx: 8080? Aggiungi quell'indirizzo ip a un adattatore virtuale sul listener e apri una sessione di ascolto di netcat per vedere cosa farà dopo. Vuole un server IRC che accetti le sue credenziali? Nessun problema, possiamo creare un server IRC personalizzato per questo.

Questo è tutto molto noioso, ma per quanto posso dire è sicuro. Per un'assicurazione aggiuntiva, puoi eseguire Wireshark sul tuo host e ascoltare il traffico sulla tua sottorete. Se cominciano a comparire strani pacchetti, basta uccidere le macchine.

    
risposta data 11.12.2014 - 15:24
fonte

Leggi altre domande sui tag