Python Forensics - Virtualisation

Virtualizationest le processus d'émulation des systèmes informatiques tels que les serveurs, les postes de travail, les réseaux et le stockage. Ce n'est rien d'autre que la création d'une version virtuelle plutôt que réelle d'un système d'exploitation, d'un serveur, d'un périphérique de stockage ou de processus réseau.

Le composant principal qui aide à l'émulation du matériel virtuel est défini comme un hyper-visor.

La figure suivante explique les deux principaux types de virtualisation de système utilisés.

La virtualisation a été utilisée dans le domaine de la criminalistique informatique de plusieurs manières. Il aide l'analyste de manière à ce que le poste de travail puisse être utilisé dans un état validé pour chaque enquête. La récupération de données est possible en attachant l'image dd d'un lecteur en tant que lecteur secondaire sur une machine virtuelle en particulier. La même machine peut être utilisée comme logiciel de récupération pour rassembler les preuves.

L'exemple suivant aide à comprendre la création d'une machine virtuelle à l'aide du langage de programmation Python.

Step 1 - Laissez la machine virtuelle être nommée «dummy1».

Chaque machine virtuelle doit disposer de 512 Mo de mémoire dans une capacité minimale, exprimée en octets.

vm_memory = 512 * 1024 * 1024

Step 2 - La machine virtuelle doit être attachée au cluster par défaut, qui a été calculé.

vm_cluster = api.clusters.get(name = "Default")

Step 3 - La machine virtuelle doit démarrer à partir du disque dur virtuel.

vm_os = params.OperatingSystem(boot = [params.Boot(dev = "hd")])

Toutes les options sont combinées dans un objet de paramètre de machine virtuelle, avant d'utiliser la méthode add de la collection vms à la machine virtuelle.

Exemple

Voici le script Python complet pour ajouter une machine virtuelle.

from ovirtsdk.api import API #importing API library
from ovirtsdk.xml import params

try: #Api credentials is required for virtual machine
   api = API(url = "https://HOST", 
      username = "Radhika", 
      password = "[email protected]", 
      ca_file = "ca.crt")
      
   vm_name = "dummy1"
   vm_memory = 512 * 1024 * 1024 #calculating the memory in bytes
   vm_cluster = api.clusters.get(name = "Default")
   vm_template = api.templates.get(name = "Blank")
   
   #assigning the parameters to operating system
   vm_os = params.OperatingSystem(boot = [params.Boot(dev = "hd")])
   
   vm_params = params.VM(name = vm_name,
      memory = vm_memory,
      cluster = vm_cluster,
      template = vm_template
      os = vm_os)

   try: 
      api.vms.add(vm = vm_params) 
      print "Virtual machine '%s' added." % vm_name #output if it is successful. 
   except Exception as ex: 
      print "Adding virtual machine '%s' failed: %s" % (vm_name, ex) 
      api.disconnect()
      
except Exception as ex: 
   print "Unexpected error: %s" % ex

Production

Notre code produira la sortie suivante -