Python Forensics - wirtualizacja

Virtualizationto proces emulacji systemów IT, takich jak serwery, stacje robocze, sieci i pamięci masowe. To nic innego jak stworzenie wirtualnej, a nie rzeczywistej wersji dowolnego systemu operacyjnego, serwera, urządzenia magazynującego lub procesów sieciowych.

Główny składnik, który pomaga w emulacji wirtualnego sprzętu, jest zdefiniowany jako plik hyper-visor.

Poniższy rysunek wyjaśnia dwa główne typy stosowanych wirtualizacji systemu.

Wirtualizacja jest wykorzystywana w informatyce śledczej na wiele sposobów. Pomaga analitykowi w taki sposób, że stacja robocza może być używana w walidowanym stanie do każdego badania. Odzyskiwanie danych jest możliwe w szczególności przez dołączenie obrazu dd dysku jako dysku dodatkowego na maszynie wirtualnej. Ta sama maszyna może być używana jako oprogramowanie do odzyskiwania w celu zebrania dowodów.

Poniższy przykład pomaga w zrozumieniu tworzenia maszyny wirtualnej za pomocą języka programowania Python.

Step 1 - Niech maszyna wirtualna zostanie nazwana „dummy1”.

Każda maszyna wirtualna musi mieć 512 MB pamięci o minimalnej pojemności wyrażonej w bajtach.

vm_memory = 512 * 1024 * 1024

Step 2 - Maszyna wirtualna musi być podłączona do domyślnego klastra, który został obliczony.

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

Step 3 - Maszyna wirtualna musi zostać uruchomiona z wirtualnego dysku twardego.

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

Wszystkie opcje są łączone w obiekt parametrów maszyny wirtualnej przed użyciem metody dodawania kolekcji maszyn wirtualnych do maszyny wirtualnej.

Przykład

Poniżej znajduje się pełny skrypt Pythona do dodawania maszyny wirtualnej.

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

Wynik

Nasz kod wygeneruje następujący wynik -