Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
Prijevodi ove stranice:

<font 28px/inherit;;inherit;;inherit>Virtualni strojevi i njihova upotreba u računalnoj forenzici</font>

Uvod

<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 14.0pt/inherit;;inherit;;inherit>Virtualni strojevi sustava (koji se još nazivaju virtualni strojevi za punu virtualizaciju) pružaju zamjenu za pravi stroj. Oni pružaju funkcionalnost potrebnu za pokretanje cijelih operativnih sustava.</font>
  • <font 14.0pt/inherit;;inherit;;inherit>Virtualni strojevi procesa dizajnirani su za izvršavanje računalnih programa u okruženju neovisnom o platformi</font>

<font 16px/inherit;;inherit;;inherit>Slika 1. Virtualni stroj sistema i virtualni stroj procesa [3]</font>

Povijest

<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>

Virtualizacija

<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 14.0pt/inherit;;inherit;;inherit>Tip 1 hipervizori pokreću se izravno na fizičkom hardveru (obično na poslužitelju, eng. bare metal server), zauzimajući mjesto operacijskog sustava. Obično se koristi zasebni softver za stvaranje i manipulaciju virtualnih strojeva na hipervizoru.</font>
  • <font 14.0pt/inherit;;inherit;;inherit>Tip 2 hipervizori pokreću se kao aplikacija unutar glavnog računala i obično ciljaju prijenosna računala za jednog korisnika. Pomoću hipervizora tipa 2 ručno se kreiraju virtualni strojevi i zatim se u njega instalira gostujući operacijski sustav. Pomoću hipervizora se mogu dodijeliti fizički resursi virtualnom stroju, ručno podesiti količinu procesorskih jezgri i memoriju koju može koristiti te ponekad i opcije poput 3D ubrzanja za grafiku. (slika 4.)</font>

www.serverwatch.com_imagesvr_ce_1566_hypervisor-2.jpg

<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>

Prednosti virtualnih strojeva

<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>Korištenje resursa i poboljšani povrat ulaganja – Budući da se više virtualnih strojeva pokreće na jednom fizičkom računalu, kupci ne moraju kupiti novi poslužitelj svaki puta kada žele pokrenuti neki drugi operacijski sustav, a mogu dobiti i više prinosa od svakog dijela hardvera koji posjeduju</font>
  • <font 14.0pt/inherit;;inherit;;inherit>Skaliranje – Pomoću računarstva u oblaku lako je implementirati više kopija istog virtualnog stroja kako bi bolje poslužili povećanju opterećenja</font>
  • <font 14.0pt/inherit;;inherit;;inherit>Prenosivost – Virtualni strojevi se po potrebi mogu premjestiti na fizička računala u mreži. To omogućava raspoređivanje opterećenja poslužiteljima koji imaju rezervnu računalnu snagu. Virtualni strojevi se mogu čak premještati između lokalnog i okruženja u oblaku.</font>
  • <font 14.0pt/inherit;;inherit;;inherit>Fleksibilnost – Stvaranje virtualnog stroja brže je i jednostavnije od instaliranja operacijskog sustava na fizički poslužitelj jer se virtualni strojevi mogu klonirati s već instaliranim operacijskim sustavom. Programeri i ispitivači softvera mogu na zahtjev stvoriti nova okruženja za rješavanje novih zadataka čim nastanu.</font>
  • <font 14.0pt/inherit;;inherit;;inherit>Sigurnost – Virtualni strojevi poboljšavaju sigurnost na nekoliko načina u usporedbi s operativnim sustavima koji rade izravno na hardveru. Virtualni stroj je datoteka koju vanjski program može skenirati za zlonamjerni softver. Moguće je stvoriti čitav snimak virtualnog stroja u bilo kojem trenutku i zatim ga vratiti u to stanje u slučaju zaraze zlonamjernim softverom, učinkovito vraćajući virtualni stroj u vremenu. Brzo i jednostavno stvaranje virtualnih strojeva omogućuje i potpuno brisanje zaražene datoteke virtualnog stroja i zatim je brzo ponovno rekreirati.</font>

Nedostatci virtualnih strojeva

<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 su manje učinkoviti od fizičkih strojeva jer pristupaju hardveru neizravno. Pokretanje softvera nad operacijskim sustavom domaćina znači da će trebati tražiti dopuštenje za korištenje hardvera od domaćina. To će usporiti upotrebljivost.</font>
  • <font 14.0pt/inherit;;inherit;;inherit>Kada se nekoliko virtualnih strojeva pokreće na istom računalu, izvedba može biti ometena ako fizičkom računalu nedostaje dovoljne snage, što opet rezultira usporenjem virtualnih strojeva.</font>
  • <font 14.0pt/inherit;;inherit;;inherit>Virtualni stroj može se zaraziti slabostima računala domaćina. Primjerice, izolacija procesa je značajka koju obično koriste operacijski sustavi. Međutim, postoje greške koje krše izolaciju. Obično računalo bez virtualnih strojeva tada bi bilo jedino pogođeno, ali računalo s nekoliko virtualnih strojeva tada bi zarazilo i svaki od njih.</font>

Primjeri korištenja virtualnih strojeva

<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>Računarstvo u oblaku – Posljednjih desetak godina, virtualnih strojevi su osnovna jedinica za računarstvo u oblaku, omogućujući uspješno pokretanje i razmještanje desetaka različitih vrsta aplikacija i radnih opterećenja.</font>
  • <font 14.0pt/inherit;;inherit;;inherit>Razvoj i operacije (engl. DevOps) – Virtualni strojevi su odličan način podrške poduzetničkim programima, koji mogu konfigurirati predloške virtualnih strojeva s postavkama za njihov razvoj softvera i testiranje. Moguće je izraditi virtualni stroj za određene zadatke kao što su statički testovi softvera, uključujući ove korake u automatizirani razvojni proces.</font>
  • <font 14.0pt/inherit;;inherit;;inherit>Testiranje novih operacijskih sustava – Virtualni strojevi omogućuju testiranje novog operacijskog sustava na radnoj površini bez utjecaja na operacijski sustav domaćina.</font>
  • <font 14.0pt/inherit;;inherit;;inherit>Ispitivanje i istraživanje zlonamjernog softvera – Virtualni strojevi su korisni za istraživače zlonamjernog softvera koji često trebaju svježe strojeve na kojima mogu testirati zlonamjerne programe</font>
  • <font 14.0pt/inherit;;inherit;;inherit>Pokretanje starog ili nekompatibilnog softvera – Pojedina softverska rješenja moguće je pokrenuti samo na starijim verzijama pojedinog operacijskog sustava ili samo na potpuno drugom operacijskom sustavu, a virtualni strojevi pružaju mogućnost pokretanja tih softvera na odgovarajućim operacijskim sustavima.</font>
  • <font 14.0pt/inherit;;inherit;;inherit>Sigurno pregledavanje – Korištenje virtualnog stroja za pregledavanje omogućuje posjećivanje internet stranica bez brige o infekciji. Moguće je snimiti stanje virtualnog stroja i zatim se vratiti nazad na to stanje nakon pregledavanja. Ovu opciju korisnici mogu sami postaviti pomoću hipervizora tipa 2 ili administrator može osigurati privremenu virtualnu radnu površinu smještenu na poslužitelju.</font>

Virtualni strojevi i računalna forenzika [10]

<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>

Sažetak

<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>

Literatura

<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>

http://net-informations.com/java/intro/jvm.htm

racfor_wiki/android/virtualni_strojevi_i_njihova_upotreba_u_racunalnoj_forenzici.txt · Zadnja izmjena: 2023/06/19 18:17 (vanjsko uređivanje)
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0