<font 28px/inherit;;inherit;;inherit>Virtualni strojevi i njihova upotreba u računalnoj forenzici</font>
<font 14.0pt/inherit;;inherit;;inherit>U računarstvu, virtualni stroj je emulacija računarskog sustava. Virtualni strojevi temelje se na računalnoj arhitekturi i pružaju funkcionalnosti fizičkog računala. Njihove implementacije mogu uključivati specijalizirani hardver, softver ili kombinaciju. Postoje različite vrste virtualnih strojeva, svaki s različitim funkcijama (slika 1.) :</font>
<font 16px/inherit;;inherit;;inherit>Slika 1. Virtualni stroj sistema i virtualni stroj procesa [3]</font>
<font 14.0pt/inherit;;inherit;;inherit>Virtualni strojevi sustava i virtualni strojevi procesa datiraju iz 1960-ih i još uvijek su područja aktivnog razvoja. Virtualni strojevi sustava razvili su se iz koncepta dijeljenja vremena, najpoznatije primijenjen u Kompatibilnom sustavu dijeljenja vremena (engl. Compatible Time-Sharing System, CTSS). Dijeljenje vremena omogućilo je više korisnika istodobno korištenje računala, izgledalo je kao da svaki program je imao potpuni pristup uređaju, ali samo jedan od njih je bio izvršen u nekom trenutku a sustav se prebacivao između programa u vremenskim intervalima, spremajući i vraćajući njihova stanja. Ovaj princip je evoluirao u virtualne strojeve, osobito putem IBM-ovih istraživačkih sustava: M44/44X, koji je koristio djelomičnu virtualizaciju i CP-40 i SIMMON, koji su koristili potpunu virtualizaciju i bili su rani primjeri hipervizora. Prva široko dostupna arhitektura virtualnog stroja bila je CP-67/CMS. Važna razlika bila je između korištenja više virtualnih računala na jednom glavnom sustavu za dijeljenje vremena, kao u M44/44X i CP-40, i korištenja jednog virtualnog stroja na glavnom sustavu za prototipiranje, kao u SIMMON-u. Emulatori, s hardverskom emulacijom ranijih sustava radi kompatibilnosti, datiraju do IBM System/360 iz 1963. godine, dok je emulacija softvera (tada zvana simulacija) još i starija. [4][5]</font>
<font 14.0pt/inherit;;inherit;;inherit>Virtualni strojevi procesa nastali su u početku kao apstraktne platforme za jezik srednjeg sloja koji se koristi za prijelaznu reprezentaciju programa pomoću prevoditelja. Primjer iz 1966. godine bio je stroj s O-kodom, virtualni stroj koji izvršava O-kod (objektni kod) koji je napravljen BCPL prevoditeljem. Ova apstrakcija omogućila je da se prevoditelj lako prenosi u novu arhitekturu implementirajući novi pozadinski dio postojećeg O-koda i prevodeći u strojni kod fizičkog sustava. Danas najpoznatiji primjer je Java virtualni stroj (JVM) (slika 2.). [6]</font>
<font 16px/inherit;;inherit;;inherit>Slika 2. Java virtualni stroj (JVM) [11]</font>
<font 14.0pt/inherit;;inherit;;inherit>Virtualni stroj je virtualna reprezentacija ili emulacija fizičkog računala. Često ih se naziva gostom (engl. guest) dok se fizički stroj na kojem se pokreću naziva domaćin (engl. host). Virtualizacija omogućuje stvaranje više virtualnih računala, svaki sa svojim operativnim sustavom i aplikacijama, na jednom fizičkom stroju. Virtualni stroj ne može izravno komunicirati s fizičkim računalom. Umjesto toga, potreban je lagani (engl. lightweight) softverski sloj zvan hipervizor koji koordinira virtualni stroj i fizički hardver. Hipervizor dodjeljuje fizičke računarske resurse, poput procesora, memorije i pohrane svakom virtualnom stroju. Također, drži svaki virtualni stroj odvojen jedan od drugih kako ne bi smetali si međusobno. [1]</font>
<font 14.0pt/inherit;;inherit;;inherit>Postoje dvije primarne vrste hipervizora (slika 3.):</font>
<font 12pt/inherit;;inherit;;inherit>Slika 3. Tipovi hipervizora [7]</font>
<font 12pt/inherit;;inherit;;inherit>Slika 4. Pokretanje više virtualnih strojeva na jednom računalu koristeći hipervizor Oracle VM VirtualBox [8]</font>
<font 14.0pt/inherit;;inherit;;inherit>Virtualni strojevi nude nekoliko prednosti u odnosu na tradicionalni fizički hardver: [1][9]</font>
<font 14.0pt/inherit;;inherit;;inherit>Također, postoje i određeni nedostatci prilikom korištenja virtualnih strojeva [9]</font>
<font 14.0pt/inherit;;inherit;;inherit>Virtualni strojevi imaju nekoliko namjena, kako za poslovne IT administratore, tako i za korisnike. Neki od mogućih primjera su: [1]</font>
<font 14.0pt/inherit;;inherit;;inherit>Virtualni stroj kao dokaz</font>
<font 14.0pt/inherit;;inherit;;inherit>Prije nego što se analiza može obaviti na virtualnom stroju, datoteke virtualnog stroja se trebaju pronaći. U većini slučajeva virtualni stroj se nalazi unutar direktorija pod nazivom 'My Virtual Machines'. U drugim slučajevima mogu postojati samo tragovi virtualnog stroja koji pokazuju da stvarni virtualni stroj se nalazi negdje drugdje ili da je izbrisan. Ako se sumnja prema dokazima da bi virtualni stroj trebao postojati, može se potražiti tragovi sistema virtualnog stroja kako bi se utvrdilo je li to istinito. Oporavak tragova virtualnog stroja obično neće donijeti sadržaj podataka koji se nalaze na virtualnom stroju jer ostatci mogu biti samo reference (.lnk datoteke). Postojanje 'VMWare Network Adapter'-a bez prisustva aplikacije može biti jak pokazatelj da je aplikacija postojala na računalu u prošlosti. Ispitivanje namještenog (engl. mounted) virtualnog stroja gotovo je identično, ako ne i potpuno identično kao s fizičkim računalnim sustavom ili stvarnim medijem. Jednom kada je virtualni stroj dostupan nakon postupaka pronalaska i vraćanja, forenzički alati i procesi ne razlikuju se od tradicionalne forenzike. Forenzika virtualnog stroja obavlja dodatnu analizu vezano za datoteke virtualnog stroja povezane s računalom domaćina. Metapodaci sustava povezani s virtualnim datotekama i strojem mogu dati dodatne informacije koje mogu biti od značaja.</font>
<font 14.0pt/inherit;;inherit;;inherit>Virtualni stroj kao forenzički alat</font>
<font 14.0pt/inherit;;inherit;;inherit>Ne tako davno, restauracija forenzičke slike značila je nekoliko sati, ako ne i cijeli dan, vraćanja slike na disk kako bi se ona stavila u fizičko računalo i pokrenula. Često je to značilo brojne pokušaje konfiguracije vraćenog pogona za prepoznavanje različitog hardvera ako se ne koristi originalno fizičko računalo. Proces je uključivao postavljanje cjelovitog računalnog sustava u nadi da će oponašati izvorni sustav onako kako je izgledao prije snimanja. Virtualni stroj se može pokrenuti izravno u okruženje na forenzičkom stroju, unutar prozora, sa samo par klikova miša. Većina problema s hardverom konfiguriraju se automatski a ponekad je jedini problem aktiviranje sustava Windows ili popravak plavog ekrana smrti (engl. Blue Screen of Death). Vrijeme potrebno u obnovi dramatično se smanjuje upotrebom virtualnih strojeva. Razlozi podizanja virtualnog stroja su brojni. Često može biti u korist osoba koje ne provode forenziku, kao što su sudski službenici i porota kako bi se pokazalo računalo osumnjičenog na isti način kao prije napada. Izvještaji forenzičke analize mogu biti teško razumljivi za laike, ali prikazivanje računalnog zaslona s pokrenutim operacijskim sustavom nije. Obnovljeni sustav može se koristiti za vizualno prikazivanje stvaranja i naziva mapa, kao i konfiguracije automatiziranih procesa. Za najbolje dokaze, podizanje forenzičke slike može biti bolja opcija umjesto podizanja stvarnog virtualnog stroja zbog toga što će stvarni virtualni stroj prouzročiti brojne izmjene datoteka virtualnog stroja. Podizanje originalnog diska nije forenzično dobar postupak jer će doći do nepovratnih promjena izvornog medija. Važna značajka prilikom podizanja slike ili virtualnog stroja je ne korištenje premošćene mrežne funkcije (engl. bridged network function), osim ako nije neophodno da virtualni stroj ima pristup mrežnim resursima.</font>
<font 14.0pt/inherit;;inherit;;inherit>Virtualni stroj kao forenzički operacijski sustav</font>
<font 14.0pt/inherit;;inherit;;inherit>U određenim slučajevima ispitivač može odlučiti zadržati originalni tvrdi disk ili njegovu sliku nakon završetka ispitivanja u dokazne svrhe. To bi moglo biti zbog pripreme značajnih kaznenih prijava koje mogu zahtijevati ispitivanje forenzičkog stroja radi utvrđivanja valjanosti korištenih forenzičkih softverskih programa. U tom slučaju provođenje forenzičke analize u virtualnom okruženju je najprihvatljivija opcija. Korištenje virtualnog stroja za forenzičku analizu ima nedostataka. Tu spadaju smanjenje performansi računala jer virtualni stroj dijeli resurse. Uz to, virtualni strojevi ne moraju uvijek imati najbrže veze dostupne za upotrebu, poput Firewire-a. Virtualni stroj se također može upotrijebiti kao forenzički operativni sustav. Zbog lakoće kopiranja virtualnog stroja, bilo jednostavnim kopiranjem datoteke virtualnog stroja ili kloniranjem, potpuni forenzički virtualni stroj može se stvoriti i ponovo upotrijebiti vraćanjem u izvorni virtualni sustav. To osigurava čisti početak za svaki forenzički pregled. Cjelokupni forenzički operacijski sustav se tako može nositi na drugo mjesto, pri čemu će sve forenzičke aplikacije biti dostupne u virtualnom okruženju, ako je potrebno korištenje na drugim računalnim sustavima.</font>
<font 14.0pt/inherit;;inherit;;inherit>Virtualni stroj kao alat protiv forenzike</font>
<font 14.0pt/inherit;;inherit;;inherit>Virtualni strojevi mogu biti vrijedan alat u forenzičkim istragama, a mogu se koristiti i za sprječavanje forenzičkih istraga. Budući da je virtualni stroj samo datoteka ili skup datoteka, može se prenositi na uklonjivom mediju i pristupiti na gotovo svako računalo. Virtualni strojevi koji postoje na uklonjivim medijima mogu se lako odstraniti nakon upotrebe ili se mediji mogu šifrirati kako bi se spriječio pristup ako se otkrije. Moguće je koristiti prijenosne virtualne strojeve za pristup podacima na fizičkim računalima u ilegalne svrhe. Krađa intelektualnog vlasništva ili druge visokotehnološke kriminalne aktivnosti, mogu se provoditi na računalu domaćina, a sve se korisničke aktivnosti događaju u virtualnom stroju. Analiza računala domaćina pokazat će određenu aktivnost, međutim, virtualni stroj, koji možda neće biti dostupan, imat će dokaze potrebne za prikaz specifične korisničke aktivnosti. S lakoćom umnožavanja virtualnih strojeva, nekoliko virtualnih uređaja može se spremiti na pojedinačne vanjske uređaje i odbaciti nakon svake uporabe. Kroz vjerodostojna poricanja („To nije moj USB“) i šifrirane mape koje sadrže virtualne strojeve kojima je pristup nemoguć, upotreba virtualnih strojeva kao alata protiv forenzike uvelike ometa svaku istragu.</font>
<font 14.0pt/inherit;;inherit;;inherit>Virtualni strojevi su softverska računala koja, kao i fizičko računalo, pokreću operacijski sustav i aplikacije. Virtualizacija omogućava stvaranje više virtualnih računala a hipervizor koordinira virtualni stroj i fizički hardver. Postoje razne prednosti korištenja virtualnih strojeva u određenim slučajevima poput skalabilnosti, fleksibilnosti, sigurnosti, prenosivosti i ostalih. Isto tako postoje i određeni nedostatci poput sporosti i neefikasnosti. Virtualni strojevi u računalnoj forenzici mogu služiti u svrhu dokaza, mogu biti forenzički alat, cijeli operacijski forenzički sustav ili mogu služiti kao alat protiv forenzike.</font>
<font 16.0pt/inherit;;inherit;;inherit>Keywords: virtualni stroj; emulacija; virtualizacija; forenzika;</font>
<font 14px/inherit;;inherit;;inherit>[1] Virtual Machines (VMs)</font>
https://www.ibm.com/cloud/learn/virtual-machines
<font 14px/inherit;;inherit;;inherit>[2] Virtual machine</font>
https://en.wikipedia.org/wiki/Virtual_machine
<font 14px/inherit;;inherit;;inherit>[3] The Architecture ofVirtual Machines</font>
https://minds.wisconsin.edu/bitstream/handle/1793/11154/file_1.pdf?sequence=1&isAllowed=y
<font 14px/inherit;;inherit;;inherit>[4] Pugh, Emerson W. (1995). Building IBM: Shaping an Industry and Its Technology. MIT. p. 274. ISBN 978-0-262-16147-3.</font>
<font 14px/inherit;;inherit;;inherit>[5] Pugh, Emerson W.; et al. (1991). IBM's 360 and Early 370 Systems. MIT. pp. 160–161. ISBN 978-0-262-16123-7.</font>
<font 14px/inherit;;inherit;;inherit>[6] Nelson, Graham A.“About Interpreters”. Inform website</font>
<font 14px/inherit;;inherit;;inherit>[7] Guide to Hypervisors</font>
https://www.serverwatch.com/server-trends/guide-to-hypervisors.html
<font 14px/inherit;;inherit;;inherit>[8] Beginner Geek: How to Create and Use Virtual Machines</font>
https://www.howtogeek.com/196060/beginner-geek-how-to-create-and-use-virtual-machines/
<font 14px/inherit;;inherit;;inherit>[9] Virtual Machines: A Closer Look</font>
https://www.cynexlink.com/2017/08/18/virtual-machines-pros-cons/
<font 14px/inherit;;inherit;;inherit>[10] Virtual Forensics; A Discussion of Virtual Machines Related to Forensics Analysis; Brett Shavers</font>
https://www.forensicfocus.com/downloads/virtual-machines-forensics-analysis.pdf
<font 14px/inherit;;inherit;;inherit>[11]</font> <font 14px/inherit;;inherit;;inherit>What is Java virtual machine?</font>