Slijede razlike između dviju inačica stranice.
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
racfor_wiki:virtualizacija:hypervisor [2020/01/05 14:10] kceh [Upotreba] |
racfor_wiki:virtualizacija:hypervisor [2024/12/05 12:24] (trenutno) |
||
---|---|---|---|
Redak 10: | Redak 10: | ||
===== Uvod ===== | ===== Uvod ===== | ||
- | Hipervisor (engl. // | + | Hipervisor (engl. // |
- | Računalo na kojem se izvode virtualni strojevi često se još naziva računalo/ | + | Računalo na kojem se izvode virtualni strojevi često se još naziva računalo/ |
Upravo zbog logičke odvojenosti različitih virtualnih strojeva hipervizor se danas koristi sve više. | Upravo zbog logičke odvojenosti različitih virtualnih strojeva hipervizor se danas koristi sve više. | ||
+ | |||
===== Klasifikacija ===== | ===== Klasifikacija ===== | ||
Redak 24: | Redak 25: | ||
Prednosti ovakve vrste hipervizora su: efikasnost, odnosno performanse zbog direktnog izvođenja na fizičkom hardveru, pojačana sigurnost zbog toga što nema nekog sloja između hipervizora i hardvera kojeg bi napadač mogao ugroziti poput operacijskog sustava. | Prednosti ovakve vrste hipervizora su: efikasnost, odnosno performanse zbog direktnog izvođenja na fizičkom hardveru, pojačana sigurnost zbog toga što nema nekog sloja između hipervizora i hardvera kojeg bi napadač mogao ugroziti poput operacijskog sustava. | ||
- | Mane tipa 1 su: kompliciranije postavljanje za krajnjeg korisnika, potreba za dodatnom upravljačkom logikom (upravlja se sa gostima, ali i hardverom domaćina). | + | Mane tipa 1 su: kompliciranije postavljanje za krajnjeg korisnika, potreba za dodatnom upravljačkom logikom (upravlja se sa gostima, ali i hardverom domaćina). |
- | Primjeri ovakvog tipa hipervizora su: Oracle VM Server for SPARC, Oracle VM Server for x86, Microsoft Hyper-V, Xbox One sistemski softver (koji je zapravo varijacija Microsoftovog Hyper-V rješenja) i VMware ESXi. | + | Primjeri ovakvog tipa hipervizora su: [[https:// |
- | Na slici je prikazana shema računala koje koristi tip 1 | + | Na slici je prikazana shema računala koje koristi tip 1 {{ : |
- | {{ : | + | |
Tip 2 ili ugošćeni hipervizor se izvodi iznad nekog operacijskog sustava kao svaki uobičajeni program. Gost (virtualni stroj) je zapravo samo obični proces na domaćinu. Kako bi se poboljšalo korisničko iskustvo i povećala funkcionalnost ovakvog rješenja, hipervizor tipa 2 se često dopunjuje s dodatnim alatima. Neki od tih alata na primjer omogućuju dijeljenje određenog direktorija i datoteka između gosta i domaćina ili pa mogućost kopiranja teksta na domaćinu i njegovog lijepljenja na gostu. | Tip 2 ili ugošćeni hipervizor se izvodi iznad nekog operacijskog sustava kao svaki uobičajeni program. Gost (virtualni stroj) je zapravo samo obični proces na domaćinu. Kako bi se poboljšalo korisničko iskustvo i povećala funkcionalnost ovakvog rješenja, hipervizor tipa 2 se često dopunjuje s dodatnim alatima. Neki od tih alata na primjer omogućuju dijeljenje određenog direktorija i datoteka između gosta i domaćina ili pa mogućost kopiranja teksta na domaćinu i njegovog lijepljenja na gostu. | ||
Redak 35: | Redak 35: | ||
Prednosti ove izvedbe su: jednostavno korištenje za krajnjeg korisnika (pogotovo ako korisnik nije stručnjak), | Prednosti ove izvedbe su: jednostavno korištenje za krajnjeg korisnika (pogotovo ako korisnik nije stručnjak), | ||
- | Također ovakva izvedba ima i mane, neke od koji su: performanse zbog posredništva operacijskog sustava, sigurnosne prijetnje ako napadač ovlada operacijskim sustavom domaćina može ugroziti i sve goste. | + | Također ovakva izvedba ima i mane, neke od koji su: performanse zbog posredništva operacijskog sustava, sigurnosne prijetnje ako napadač ovlada operacijskim sustavom domaćina može ugroziti i sve goste. |
- | Primjeri ovakvog tipa hipervizora su: VMware Workstation, | + | Primjeri ovakvog tipa hipervizora su: [[https:// |
+ | |||
+ | Na slici je prikazana shema računala koje koristi tip 2 {{ : | ||
+ | |||
+ | Valja napomenuti da ponekad razlika između tipova hipervizora nije jasna. Primjerice virtualni stroj zasnivan na jezgri (izvorno engl. // | ||
- | Na slici je prikazana shema računala koje koristi tip 2 | ||
- | {{ : | ||
- | Valja napomenuti da ponekad razlika između tipova hipervizora nije jasna. Primjerice virtualni stroj zasnivan na jezgri (izvorno engl. // | ||
===== Referentni model ===== | ===== Referentni model ===== | ||
- | Da bi bolje razumjeli kako hipervizor radi proći ćemo kroz jednostavni referentni model. | + | Treba naglasiti da svi hipervizori ne rade na jednak način te da se za rješenja koja nisu otvorenog koda (engl. //open source//) ni ne zna kako rade. Primjer takvog rješenja je Microsoftov Hyper-V hipervizor. Ali za razumijevanje rada hipervizora postoji referenti model koji je generalizacija općenitih principa na kojima rade hipervizori. |
- | Referentni model se sastoji od 3 glavna modula: dispečer, interpretator i alokator. Skica ovakvog referentnog modela dana je dolje. | + | Referentni model se sastoji od 3 glavna modula: dispečer, interpretator i alokator. Skica ovakvog referentnog modela dana je dolje. |
Dispečer prima i preusmjerava naredbe od virtualnog stroja (VMa) jedom od preostala dva modula. | Dispečer prima i preusmjerava naredbe od virtualnog stroja (VMa) jedom od preostala dva modula. | ||
Redak 55: | Redak 56: | ||
Interpretator se zovi svaki put kada virtualni stroj izvrši privilegirane naredbe (naredbe koje operacijski sustav izvršava u jezgrinom načinu rada). Primjerice prilikom mijenjanja konteksta programa ili isključivanja prekidanja. | Interpretator se zovi svaki put kada virtualni stroj izvrši privilegirane naredbe (naredbe koje operacijski sustav izvršava u jezgrinom načinu rada). Primjerice prilikom mijenjanja konteksta programa ili isključivanja prekidanja. | ||
- | {{ : | + | {{ : |
===== Upotreba ===== | ===== Upotreba ===== | ||
Redak 65: | Redak 67: | ||
Hipervizor također pojednostavljuje upravljanje velikim računalnim sustavima koji se mogu pronaći u poslužiteljskim farmama ili podatkovnim centrima. Kod takvih sustava na jednom poslužitelju se može pronaći više virtualnih strojeva pa bi tradicionalni pristup upravljanja (jedan poslužitelj jedna aplikacija) bio neefikasan s pogleda iskorištavanja performansi i cijene. Također za takve velike sustave bitna je sigurnost i izolacija pojedinog računala (gosta odnosno VMa) koje pruža hipervizor. | Hipervizor također pojednostavljuje upravljanje velikim računalnim sustavima koji se mogu pronaći u poslužiteljskim farmama ili podatkovnim centrima. Kod takvih sustava na jednom poslužitelju se može pronaći više virtualnih strojeva pa bi tradicionalni pristup upravljanja (jedan poslužitelj jedna aplikacija) bio neefikasan s pogleda iskorištavanja performansi i cijene. Također za takve velike sustave bitna je sigurnost i izolacija pojedinog računala (gosta odnosno VMa) koje pruža hipervizor. | ||
- | Za razvijatelje usluga i aplikacija korištenje hipervizora također ima prednosti. Primjerice ako se razvija kompleksan sustav koji ima više međusobno povezanih usluga koje su ovisne o operacijskom sustavu ili verziji nekog programskog paketa. Ako usluga 1 radi samo na Windowsima, usluga 2 na Linuxu s verzijom nekog programskog paketa 2.0, a usluga 3 također na Linuxu s verzijom tog istog programskog paketa 1.0. umjesto | + | Za razvijatelje usluga i aplikacija korištenje hipervizora također ima prednosti. Primjerice ako se razvija kompleksan sustav koji ima više međusobno povezanih usluga koje su ovisne o operacijskom sustavu ili verziji nekog programskog paketa. Ako usluga 1 radi samo na Windowsima, usluga 2 na Linuxu s verzijom nekog programskog paketa 2.0, a usluga 3 također na Linuxu s verzijom tog istog programskog paketa 1.0. Umjesto |
- | Hipervizor se može primijeniti i u ugradbenim računalnim sustavima. Ali valjda imati na umu da su ti sustavi često ograničeni računalnom snagom, memorijom, brzinom kojom mogu <font 12.0pt/ | + | Hipervizor se može primijeniti i u ugradbenim računalnim sustavima. Ali valjda imati na umu da su ti sustavi često ograničeni računalnom snagom, memorijom, brzinom kojom mogu komunicirati s mrežom itd. Stoga prije implementacije hipervizora u takav sustav treba procijeniti ako benefiti (sigurnost i robusnost na greške) mogu nadmašiti negativne strane (potreba za dodatnim sklopovljem, |
- | Zanimljiva primjena hipervizora može se pronaći u Microsoftovoj igraći konzoli Xbox One, odnosno njezinom softveru. Softver se zasniva na modificiranom hipervisoru Hyper-V (koji se naziva NanoVisor). Iznad hipervizora se izvode dva odvojena operacijska sustava na virtualnim strojevima. Oba operacijska sustava zasnivaju se na Windows 10 jezgri, ali imaju drugačiju namjenu. Prvi virtualni stroj namijenjen je za zahtjevne aplikacije (u ovom slučaju video igre), dok je drugi namijenjen za izvođenje drugih aplikacija (primjerice web preglednika) i korisničkog sučelja. Ovim rješenjem se jednostavno postiže upravljanje resursima te razvijatelj neke zahtjevne aplikacije ne mora brinuti ako se neke manje zahtjevne aplikacije izvode u pozadini. Također ovim rješenjem se povećava sigurnost sustava. Ako korisnik želi aktivirati neki program koji bi mu na primjer pomagao u varanju u nekoj igri to neće biti lako moguće zbog odvijenosti virtualnih strojeva za igre i aplikacije. Također korištenje hipervizora omogućuje laku detekciju i ne izvršavanje nepotpisanog kod. To za posljedicu ima povećanje sigurnosti sustava na zlonamjerne napade kao i sprječavanje pokretanja piratskog softvera. | + | Zanimljiva primjena hipervizora može se pronaći u Microsoftovoj igraći konzoli Xbox One, odnosno njezinom softveru. Softver se zasniva na modificiranom hipervisoru Hyper-V (koji se naziva NanoVisor). Iznad hipervizora se izvode dva odvojena operacijska sustava na virtualnim strojevima. Oba operacijska sustava zasnivaju se na Windows 10 jezgri, ali imaju drugačiju namjenu. Prvi virtualni stroj namijenjen je za zahtjevne aplikacije (u ovom slučaju video igre), dok je drugi namijenjen za izvođenje drugih aplikacija (primjerice web preglednika) i korisničkog sučelja. Ovim rješenjem se jednostavno postiže upravljanje resursima te razvijatelj neke zahtjevne aplikacije ne mora brinuti ako se neke manje zahtjevne aplikacije izvode u pozadini. Također ovim rješenjem se povećava sigurnost sustava. Ako korisnik želi aktivirati neki program koji bi mu na primjer pomagao u varanju u nekoj igri to neće biti lako moguće zbog odvijenosti virtualnih strojeva za igre i aplikacije. Također korištenje hipervizora omogućuje laku detekciju i ne izvršavanje nepotpisanog kod. To za posljedicu ima povećanje sigurnosti sustava na zlonamjerne napade kao i sprječavanje pokretanja piratskog softvera. |
===== Sigurnosni izazovi ===== | ===== Sigurnosni izazovi ===== | ||
+ | |||
Tehnologija hipervizora se može koristiti i u zlonamjerne svrhe. Prije ulaženja u detalje valja imati na umu da je hipervizor koji se izvodi direktno iznad hardvera (tip 1) izuzetno sigurna okolina. Budući da nema nikakvog dodatnog softvera između hipervizora i hardvera, potencijalni napadač ima malo prostora za napade. Također takav tip hipervizora može dodatno nadzirati operacijski sustav budući da sve naredbe prije izvršavanja na hardveru idu kroz njega. Pa je napad na operacijski sustav također teže provesti. Međutim neki napredniji napadi su još uvijek mogući i za ovakvo rješenje. Napadi na hipervizor tipa 2 su lakši zbog toga što se može prvo ugroziti operacijski sustav domaćina pa se onda može ovladati hipervizorom. | Tehnologija hipervizora se može koristiti i u zlonamjerne svrhe. Prije ulaženja u detalje valja imati na umu da je hipervizor koji se izvodi direktno iznad hardvera (tip 1) izuzetno sigurna okolina. Budući da nema nikakvog dodatnog softvera između hipervizora i hardvera, potencijalni napadač ima malo prostora za napade. Također takav tip hipervizora može dodatno nadzirati operacijski sustav budući da sve naredbe prije izvršavanja na hardveru idu kroz njega. Pa je napad na operacijski sustav također teže provesti. Međutim neki napredniji napadi su još uvijek mogući i za ovakvo rješenje. Napadi na hipervizor tipa 2 su lakši zbog toga što se može prvo ugroziti operacijski sustav domaćina pa se onda može ovladati hipervizorom. | ||
- | // | + | // |
- | {{ : | + | {{ : |
Ove vrste napada je teško detektirati klasičnim metodama, jer operacijski sustav nije svjestan da je računalo kompromitirano na način da se ispod operacijskog sustava izvodi zlonamjerni hipervizor. Taj hipervizor može zatim zapisivati i pratiti sve radnje na računalu, poput unošenja lozinki ili praćenja web prometa. Možemo reći da u sustavima koji koriste hipervizor, taj isti hipervizor predstavlja jedinstvenu točku kvara (engl. //single point of failure//). | Ove vrste napada je teško detektirati klasičnim metodama, jer operacijski sustav nije svjestan da je računalo kompromitirano na način da se ispod operacijskog sustava izvodi zlonamjerni hipervizor. Taj hipervizor može zatim zapisivati i pratiti sve radnje na računalu, poput unošenja lozinki ili praćenja web prometa. Možemo reći da u sustavima koji koriste hipervizor, taj isti hipervizor predstavlja jedinstvenu točku kvara (engl. //single point of failure//). | ||
Redak 83: | Redak 86: | ||
Valja primijetiti da se i postavljanje zlonamjernog hipervizora na računalo kojega ga nema također može smatrati opasnim napadom. | Valja primijetiti da se i postavljanje zlonamjernog hipervizora na računalo kojega ga nema također može smatrati opasnim napadom. | ||
- | Međutim postoje jednostavne smjernice koje bi trebale smanjiti mogućnost uspjeha napada ovog tipa. Komunikacija i upravljanje s hipervizorom ne bi trebale biti na istoj komunikacijskoj mreži kao i ostatak prometa. Hipervizor bi se redovno trebao osvježavati novim softverskim nadogradnjama. Te operacijski sustav gosti ne bi trebao imati mogućnost upravljanja hipervizorom. Odnosno s hipervizorom bi se trebalo upravljati s posebnog računala. Također danas već postoje i anti-rootkit softveri koji brinu da rootkit ne bi izvršio zlonamjerne instalacije. Hooksafe je primjer | + | Međutim postoje jednostavne smjernice koje bi trebale smanjiti mogućnost uspjeha napada ovog tipa. Komunikacija i upravljanje s hipervizorom ne bi trebale biti na istoj komunikacijskoj mreži kao i ostatak prometa. Hipervizor bi se redovno trebao osvježavati novim softverskim nadogradnjama. Te operacijski sustav gosti ne bi trebao imati mogućnost upravljanja hipervizorom. Odnosno s hipervizorom bi se trebalo upravljati s posebnog računala. Također danas već postoje i anti-rootkit softveri koji brinu da rootkit ne bi izvršio zlonamjerne instalacije. |
===== Zaključak ===== | ===== Zaključak ===== | ||
Redak 94: | Redak 98: | ||
===== Izvori ===== | ===== Izvori ===== | ||
- | [1] [[http://books.google.hr/books? | + | [1] [[https://www.ibm.com/cloud/ |
+ | |||
+ | [2] [[https:// | ||
+ | |||
+ | [3] [[https:// | ||
+ | |||
+ | [4] Pariseau, Beth, [[http:// | ||
+ | |||
+ | [5] Bisht, Namrata, [[https:// | ||
- | [2] [[http://www.google.com/books? | + | [6] [[https://www.giantbomb.com/forums/ |
- | [3] [[http://www.cogtech.usc.edu/publications/ | + | [7] McKay, Dimitri, |