Python Forensics - Virtualisierung

Virtualizationist der Prozess der Emulation von IT-Systemen wie Servern, Workstations, Netzwerken und Speicher. Es ist nichts anderes als die Erstellung einer virtuellen als einer tatsächlichen Version eines Betriebssystems, eines Servers, eines Speichergeräts oder von Netzwerkprozessen.

Die Hauptkomponente, die bei der Emulation virtueller Hardware hilft, ist definiert als hyper-visor.

In der folgenden Abbildung werden die beiden Haupttypen der verwendeten Systemvirtualisierung erläutert.

Virtualisierung wurde in der Computerforensik auf verschiedene Weise eingesetzt. Es hilft dem Analysten so, dass die Workstation für jede Untersuchung in einem validierten Zustand verwendet werden kann. Die Datenwiederherstellung ist insbesondere durch Anhängen des DD-Images eines Laufwerks als sekundäres Laufwerk an eine virtuelle Maschine möglich. Dieselbe Maschine kann als Wiederherstellungssoftware verwendet werden, um die Beweise zu sammeln.

Das folgende Beispiel hilft beim Verständnis der Erstellung einer virtuellen Maschine mithilfe der Programmiersprache Python.

Step 1 - Lassen Sie die virtuelle Maschine 'dummy1' heißen.

Jede virtuelle Maschine muss über 512 MB Arbeitsspeicher mit minimaler Kapazität verfügen, ausgedrückt in Bytes.

vm_memory = 512 * 1024 * 1024

Step 2 - Die virtuelle Maschine muss an den berechneten Standardcluster angeschlossen sein.

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

Step 3 - Die virtuelle Maschine muss von der virtuellen Festplatte booten.

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

Alle Optionen werden zu einem Parameterobjekt der virtuellen Maschine zusammengefasst, bevor die Methode add der vms-Auflistung zur virtuellen Maschine verwendet wird.

Beispiel

Im Folgenden finden Sie das vollständige Python-Skript zum Hinzufügen einer virtuellen Maschine.

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 = "a@123", 
      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

Ausgabe

Unser Code erzeugt die folgende Ausgabe: