La virtualisation ou les machines virtuelles

Les machines virtuelles ou virtualisation sont des logiciels d’émulation capables de simuler le fonctionnement d’un ordinateur.
Les machines virtuelles sont très utilisées par les chercheurs en sécurité pour faire tourner des logiciels malveillants et étudier leurs fonctionnements.
Enfin les machines virtuelles sont aussi très pratiques dans les entreprises afin de faire tourner des applications sur des serveurs virtualisés.
Sur un même serveur physique, vous pouvez faire tourner plusieurs serveurs virtuelles.

Voici une présentation rapide de ce qui existe et du fonctionnement des machines virtuelles.

machines_virtuelles_logo

Présentation

Les machines virtuelles(ou VM en anglais pour Virtual Machine) entre dans le cadre de la virtualisation.
Il s’agit de faire tourner des ordinateurs dans un environnement virtualisée, c’est à dire émule.
En clair, à partir d’un ordinateur/serveur, vous pouvez faire tourner plusieurs ordinateurs qui seront émulés en partie de manière logicielles et/ou matériels.
Il est tout à fait possible de faire tourner un de ces émulateurs sur un système Linux pour créer des ordinateurs qui seront en Windows.

Ci-dessous, VMware (Vmware Workstation) avec une machine virtuelle en Windows 10 :

vmware_windows10

et VirtualBox avec une machine infectée en Windows 7 :

virtualbox_windows_7_infecte

Vmware en vidéo :

Le marché de la virtualisation est en pleine expansion et beaucoup de solutions différentes existent.

Des fonctionnements et techniques différentes existent aussi, parmi lesquelles :

  • isolateur : Il s’agit d’un logiciel qui tourne sur la machine hôte qui permettent de faire tourner différents processus dans un environnement fermé. L’isolement n’est pas forcément entier puisque ces solutions peuvent être basés sur un système chroot. Les fichiers utilisés par le système isolé peut être accessible directement depuis la machine hôte. L’isolateur est assez interressant sur les système Linux pour faire tourner de manière isolé des serveurs WEB. Quelques solutions isolateur : Linux-VServer (isolation des processus en espace utilisateur) ; chroot (isolation changement de racine) ; BSD Jail (isolation en espace utilisateur) ; OpenVZ : libre, (partitionnement au niveau noyau sous Linux) ;LXC : libre, (usage des Cgroups du noyau Linux).
  • Hyperviseur : Logiciel plus lourd installé sur la machine hôte qui se charge de gérer les machines virtuelles. L’hyperviseur se charge d’émuler ou virtualiser un matériel précis. Les machines virtuelles fonctionnent alors comme un ordinateur classique. Parmi ces solutions, on trouve : KVM, QEMU, VMware, VirtualBox, VirtualPC, Xen et Bochs sont quelques logiciels de virtualisation.

Le matériel informatique s’adapte et intègre un support de virtualisation qui peut accroître les performances. Ce support permet en autre la virtualisation du matériel qui peut être accessible directement par les hyperviseurs et les machines virtuelles.
Des exemples de virtualisation matérielle : Hyperviseur IBM Power & Micro-partitionnement AIX, Mainframes : VM/CMS, Sun LDOM (hyperviseur pour la gestion de « logical domains »), Sun E10k/E15k, HP Superdome,AMD-V (Assistance à la virtualisation de AMD, anciennement Pacifica) et Intel VT (Assistance à la virtualisation de Intel, anciennement Vanderpool).

Les machines virtuelles en détail

Les machines virtuelles fonctionnent comme tout ordinateur, ces dernières possèdent un BIOS géré par l’hyperviseur.
Vous installez un système d’exploitation exactement comme si vous étiez sur un vrai ordinateur. Il faut donc charger l’ISO d’installation, faire démarrer le BIOS dessus et lancez l’installation.
Une carte (ou plusieurs) sont présentes avec des adresses IPs.
La machine peut émuler l’USB, une carte audio et autre matériel.

vmware_materiel

Lorsque vous lancez la machine virtuelle, un processus est créé sur la machine hôte.
C’est ce processus qui fait office d’ordinateur virtuelle.
Par exemple, pour VMware, il s’agit de vmware-vmx, exemple :

 /usr/lib/vmware/bin/vmware-vmx -s vmx.stdio.keep=TRUE -# product=1;name=VMware Workstation;version=10.0.2;buildnumber=1744117;licensename=VMware Workstation;licenseversion=10.0; -@ duplex=3;instance=0;msgs=ui /home/stockage/vm/Debian/Debian 5 64-bit.vmx

et par exemple pour VirtualBox :

/usr/lib/virtualbox/VirtualBox --comment Windows7_32bits_test --startvm 1964979f-e0d1-44ee-9334-815587e2b209 --no-startvm-errormsgbox

Pour Xen, on peut avoir :

/usr/bin/qemu-system-i386 -xen-domid 4 -chardev socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-4,server,nowait -mon chardev=libxl-cmd,mode=control -nodefaults -name xenwin7 -vnc 10.1.1.86:0,password,to=99 -display none -serial pty -device VGA -boot order=dc -usb -usbdevice tablet -device rtl8139,id=nic0,netdev=net0,mac=00:16:3e:07:05:8f -netdev type=tap,id=net0,ifname=vif4.0-emu,script=no,downscript=no -machine xenfv -m 4080 -drive file=/xen/xenwin7.img,if=ide,index=0,media=disk,format=raw,cache=writeback -drive file=/xen/ISO/fr_windows_7_professional_x64_dvd_x15-65811.iso,if=ide,index=2,readonly=on,media=cdrom,format=raw,cache=writeback,id=ide-5632

Les éditeurs font tout pour isoler au maximum les machines virtuelles… Bien entendu, comme l’hyperviseur est un logiciel, il peut comporter des vulnérabilités qui permettent de l’attaquer.
Il faut donc, mettre à jour le logiciel hyperviseur.
D’autre part, d’un point de vue sécurité, Ces la machine virtuelle se comportant comme un ordinateur et ayant une adresse IP, si celle-ci est infecté, elle peut envoyer des trames sur le réseau pour infecter d’autres ordinateur. Au final, comme tout ordinateur.

La machine virtuelle étant exécutée sur la machine hôte, il est possible de récupérer des informations, comme c’est le cas avec n’importe quel autre logiciel.
On peut peut récupérer les informations en mémoire, la liste des processus, écoute le réseau etc.
En autre, le programme volatility permet cela. J’en avais déjà parlé sur cette entrée : volatility dump information mémoire
Ce programme est assez utilisé par les chercheurs en sécurité qui font tourner des malwares sur leurs machines virtuelles.

Avec la démocratisation de la vitualisation, on peut imaginer des virus/malwares qui s’attaquent à ce type de serveur pour récupérer des informations sensibles.

Le pouvoir des snapshots

Chose intéressante et notamment lorsqu’il s’agit de tester des logiciels ou infections.
Ce sont les snapshots, il s’agit d’image instantanée, où il est possible de revenir à tout moment.
En clair, vous créé un snapshopt, plantez le système, installé un malware/virus ou effectuez une modification non voulue… vous pouvez revenir en arrière en quelques secondes.
Les machines virtuelles sont vraiment l’idéal pour tester toutes sortes de choses.

Voici une vidéo qui montre après désinstallation de divers logiciels, on revient sur un snapshot et ces derniers sont à nouveaux présents.
Les modifications opérées ont été supprimées, on revient à une image d’un instantanée.

Les machines virtuelles gratuites

et si vous voulez tester les machines sur votre ordinateur (il faut une bonne configuration).
Voici les deux programmes gratuits les plus utilisés.

VmPlayer

VmPlayer est le programme de virtualisation gratuit de Vmware.
=> http://www.vmware.com/fr/products/player.html

vmware-player-download-run-xp-on-windows-8

VirtualBox

VirtualBox est le logiciel de virtualisation d’Oracle.
=> https://www.virtualbox.org/wiki/Downloads

windows7_virtualbox

(Visité 887 fois, 1 visites ce jour)

Vous pouvez aussi lire...

Les Tags : #Windows10 - #Windows - #Tutoriel - #Virus - #Antivirus - #navigateurs WEB - #Securité - #Réseau - #Internet