You are here: TUTWiki>Tietoturva/Tutkielmat>EerolaJ?>2006-16

Tuomas Vainio:

Virtuaalisen käyttöjärjestelmän käyttö VMwarella

Johdanto

Vuoden 2005 lopussa ja 2006 alkupuolella VMware muutti osan tuotteistaan ilmaisiksi [7] ja toi jokaisen ulottuville mahdollisuuden ajaa virtuaalista käyttöjärjestelmää. Ohjelmiston avulla onnistuu esimerkiksi Windowsin käyttäminen Linuxin päällä, jolloin pääsee vaikkapa Linuxista käsiksi vain Windowsille toteutettuihin ohjelmiin ilman tietokoneen käynnistämistä Windowsiin. Tässä työssä perehdytään virtuaalisen käyttöjärjestelmän käyttämiseen ja tutkitaan asiaa myös tietoturvan kannalta.

Yleistä

Toiminnan pääperiaatteet

Virtuaalinen käyttöjärjestelmä toimii tietokoneen oman käyttöjärjestelmän päällä, oman ohjelman sisällä. VMwaren tuote tarjoaa rajapinnan koneen isäntäkäyttöjärjestelmän ja virtuaalisen käyttöjärjestelmän välille. Käyttöjärjestelmää voi vaihtaa lennosta. CTRL+ALT -näppäinyhdistelmällä pääsee ulos virtuaalisesta käyttöjärjestelmästä.

VMwaren ohjelmisto asennetaan normaalisti, kuten mikä tahansa muukin työpöydällä toimiva ohjelmisto. Tämän jälkeen ohjelma käynnistetään ja sen sisällä ajetaan erillisessä ikkunassa (saa laajennettua myös koko ruudulle) itse luotua tai esimerkiksi Internetistä haettua valmista käyttöjärjestelmää. Näin pääsee vaikka Windows koneella kokeilemaan ilmaisia versioita Linuxista ilman, että tarvitsee asentaa Linuxia pysyvästi koneelleen. Tietokonetta ei myöskään tarvitse käynnistää uudelleen, jos haluaa käyttää Windowsissa vain Linuxille löytyvää ohjelmistoa tai päinvastoin. Tällä hetkellä VMwaren ilmaiset ohjelmistot löytyvät vain Windows ja Linux -käyttöjärjestelmille, mutta virtuaalikäyttöjärjestelmänä voi olla periaatteessa mikä tahansa 32- tai 64-bittinen järjestelmä.

Virtuaalikoneesta voidaan käyttää fyysisen koneen eri laitteita hyväksi, eli sieltä pääsee käsiksi esimerkiksi verkko- ja äänikorttiin. VMwaren ohjelmisto toimii tulkkina välissä ja käyttää koneen resursseja virtuaalikoneen pyynnöstä, välittäen pyynnöt eteenpäin isäntäkäyttöjärjestelmälle. Tästä syystä laitteelle täytyy kuitenkin löytyä tuki (ajurit) isäntäkäyttöjärjestelmästä, jotta käyttäminen on mahdollista. Jonkin tietyn laitteen käyttäminen saattaa siis olla mahdotonta jos virtuaalikoneessa pyörii Windows ja isäntäkäyttöjärjestelmänä toimii Linux ja laitteelle löytyy ajurit ainoastaan Windowsille. Vaikka laitetta nyt siis käytettäisiin virtuaali-Windowsista, niin siihen ei kuitenkaan päästä käsiksi.

VMwaren eri tuotteet

VMwarelta löytyy tuotteita yhden virtuaalikäyttöjärjestelmän ajamiseksi käyttäjän omalla koneella, aina useiden kymmenien virtuaalikäyttöjärjestelmien ajamiseksi servereillä samanaikaisesti verkon ylitse. Ohjelmistojen avulla voidaan ajaa valmiita tai luoda uusia virtuaalikäyttöjärjestelmiä. On myös mahdollista luoda jopa oma serveri, josta voi etänä käyttää virtuaalikäyttöjärjestelmiä.

VMware Player

Vuoden 2005 lopulla julkaistiin ensimmäinen ilmainen beta-versio VMware Playerista, jolla käyttäjät pääsivät käsiksi virtuaalikoneiden käyttöön. Playerilla itsellään ei voi luoda uusia virtuaaliympäristöjä, mutta sillä pystyy käyttämään muilla VMwaren tuotteilla luotuja ympäristöjä ja se tukee myös Microsoftin Virtual PC:llä tehtyjä virtuaalikoneita [4]. VMwaren sivuilla on kuitenkin useita valmiita Virtual Appliance -nimellä tunnettuja paketteja, joiden avulla onnistuu eri käyttöjärjestelmien ja erilaisten konfiguraatioiden kokeilu lataamalla kyseinen paketti omalle koneelle. Eri paketit on suunnattu erilaisiin tehtäviin, kuten esimerkiksi verkon hallintaan tai turvalliseen Internet selailuun. Suuri osa paketeista on ilmaisia, mutta osa myös kaupallisia.

Yksi mielenkiintoinen valmis paketti on nimeltään Browser Appliance, joka on nimenomaan luotu turvallista Internet selailua varten. Kyseinen paketti suojaa käyttäjän isäntäkäyttöjärjestelmää haitallisilta ohjelmistoilta, joita selaillessa voi tarttua koneelle. Selailu hoidetaan siis paketin avulla virtuaalikoneessa, joten haittaohjelmat eivät sieltä pääse isäntäkäyttöjärjestelmään käsiksi. Paketin saa myös asetettua resetoimaan itsensä jokaisen käyttökerran jälkeen, jolloin myöskään mitään henkilökohtaista informaatiota ei tallennu, eikä salasanojen tai muun arkaluontoisen tiedon jäämisestä ole huolta.

Vaikka Playerilla ei omien virtuaalikäyttöjärjestelmien luominen onnistukaan, niin käyttäjät ovat kuitenkin keksineet kiertotien. EasyVMX?:n sivuilla voi käydä luomassa haluamansa järjestelmän tyhjän imagen, jonka avulla sen asentaminen Playeriin onnistuu. Image on siis muuten tyhjä tiedosto, mutta siellä on Playerin haluamat tiedot virtuaalijärjestelmästä.

Joitakin näppäriä pieniä ominaisuuksiakin Playerista löytyy, kuten esimerkiksi tekstin kopioiminen virtuaalikoneesta isäntäkäyttöjärjestelmään, sekä drag&drop tiedostojen kopioiminen Windows-isännän ja Windows-virtuaalikoneen välillä.

VMware Server

VMware Server on periaatteessa tarkoitettu virtuaalikäyttöjärjestelmien käyttämiseen etänä, mutta sen käyttö onnistuu myös omalla koneella. Ohjelmaa avattaessa se kysyy, että mihin serveriin otetaan yhteyttä ja käyttäjä pääsee sitten käsiksi serverin tarjoamiin virtuaalikäyttöjärjestelmiin ja näin yksi serverikone voidaan jakaa virtuaalisesti useaksi serveriksi. Pääasiassa Serverillä saavutetaan samoja etuja, kuin Playerilla, mutta nyt sitä voi käyttää verkon yli ja jakaa usealle käyttäjälle samanaikaisesti.

Server-versiolla käyttäjä pääsee myös helposti luomaan omia virtuaalikäyttöjärjestelmiään, eikä sitä ei ole mitenkään rajoitettu. Mielenkiintoisena ominaisuutena Server osaa ottaa virtuaalikäyttöjärjestelmästä ns. "snapshot"in, joka tallentaa koko järjestelmän senhetkisen tilan ja osaa palata siihen jälkeenpäin napin painalluksella. Helpottaa jälleen eri asioiden testaamista järjestelmässä, kun toimivaan pakettiin pääsee palaamaan koska tahansa.

Serverin avulla yrityksessä voidaan saavuttaa huomattavia etuja tavallisiin serverikoneisiin verrattuna. Nyt uuden serverin luominen voidaan hoitaa muutamassa minuutissa ilman, että joudutaan hankkimaan uutta rautaa. Server tuotteen kanssa onnistuu myös Windows ja Linux käyttöjärjestelmien ja niiden ohjelmistojen ajaminen samanaikaisesti.

Virtuaalikäyttöjärjestelmän käyttöönotto ja käyttö

Testatessani käytin ilmaiseksi saatavilla olevaa VMWare Server ohjelmistoa, jolla omien virtuaalikoneiden luonti onnistuu, toisin kuin Playerilla. Windows puolella ohjelman asennus toimii, kuin minkä tahansa ohjelman asentaminen ja myös Kubuntun kanssa Linux-puolella asentaminen oli helppoa. Sekä Player että Server tarvitsevat alleen pyörimään toimivan Windows tai Linux käyttöjärjestelmän, eikä niiden käyttö yksistään siis toimi. Tämän jälkeen päästään itse asiaan, eli virtuaalikäyttöjärjestelmän asentamiseen. Ennen asennusta tulee kuitenkin huomioida, että asennettava käyttöjärjestelmä saattaa vaatia lisenssin omaamista.

Jos haluaa luoda täysin oman asennuksen, eikä käyttää valmiiksi luotuja imageja, tarvitsee luonnollisesti järjestelmän asennuslevyn. Itse lähdin asentamaan Windowsia Kubuntussa pyörivään Serveriin.

Aluksi käyttäjä pääsee valitsemaan asetuksia kyseiselle virtuaalikoneelle. Koska se pyörii levyltä suoraan yhdestä tiedostosta, niin pitää määrittää, paljonko sen käyttöön annetaan levytilaa. Tämä siis määrittää levylle ilmestyvän tiedoston koon, joka toimii virtuaalikäyttöjärjestelmän levytilana. Virtuaalikone ei näe tämän tilan ulkopuolelle, vaikka itse fyysinen levy olisi kuinka suuri. Kannattaa valita virtuaalikoneelle riittävästi tilaa, koska maksimikoon muuttaminen jälkikäteen ei ole helppoa. Myös virtuaalikoneen käytössä olevan keskusmuistin määrä määritellään tässä vaiheessa.

Jotta virtuaalikäyttöjärjestelmällä pääsisi myös verkkoon, määritellään alkuvaiheessa, että tuleeko yhteydestä sillattu vai toimiiko isäntäkäyttöjärjestelmä NAT-muodossa. Sillattuna virtuaalikäyttöjärjestelmä saa IP-osoitteensa esimerkiksi suoraan dhcp-serveriltä ja toimii niinkuin mikä tahansa verkossa oleva itsenäinen laite. NAT-muodossa virtuaalikäyttöjärjestelmälle annetaan sisäverkon IP-osoite ja ulospäin se näkyy toimivan isäntäkäyttöjärjestelmän IP-osoitteella.

Kun virtuaalikoneelle annettavat parametrit on saatu kuntoon, päästään järjestelmää asentamaan. Virtuaalikone päälle Serveristä ja asennuslevy cd-asemaan, niin käyttäjälle aukeaa aivan normaalin näköinen Windowsin asennus. Mikäli on joskus esimerkiksi juurikin Windowsia asentanut, ei vastaan tule mitään erilaista ja asennus näyttää täysin samalta kuin normaalisti. Kun asennus on valmis, kannattaa vielä asentaa VMware Tools -niminen paketti, joka nopeuttaa virtuaalikäyttöjärjestelmän toimintaa.

Periaatteessa nyt kaikki koneen laitteet ovat myös virtuaalikoneen käytettävissä, mutta ongelmia saattaa tulla kuitenkin vastaan. Mikäli tietokoneeseen on kytkettynä jokin laite, jolle ei löydy ajureita isäntäkäyttöjärjestelmälle, niin sen käyttö ei onnistu myöskään virtuaalikäyttöjärjestelmässä. Koska suurimmalle osalle laitteita tarjotaan ajurit ainakin Windowsiin, tämä ongelma korostuu erityisesti tilanteessa jossa virtuaali-Windows pyörii Linux-isännän päällä. Nyt, ellei Linuxille ole ajureita jollekin koneessa olevalle laitteelle, niin sen käyttö ei onnistu myöskään virtuaali-Windowsissa, vaikka Windowsille ajurit olisikin tarjolla.

Vaikka virtuaalikäyttöjärjestelmän käyttäminen onkin hitaampaa kuin isäntänä toimivan, on se kuitenkin kohtalaisen sujuvaa, eikä käyttäjä turhaudu turhasta hidastelusta. Käyttäjä pääsee määrittelemään käytössä olevien resurssien määrää, kuten keskusmuistin kokoa, joten tarkkaa lukua resurssien käytöstä on hankala antaa. Järjestely kuitenkin helpottaa esimerkiksi Windowsista Linuxiin siirtymistä, jos käytössä on vain Windowsille tarjottavia ohjelmistoja. 3D-kiihdytystä virtuaalikäyttöjärjestelmälle ei kuitenkaan saa, joten uusien pelien pelaamisen sen alla saa unohtaa.

VMWarePlayer.jpg

Kuva 1: Virtuaalikäyttöjärjestelmän käyttäminen.

Hypervisor ja hypercall

Hypervisorit voidaan jakaa kahteen eri luokkaan [6]:

1. tyypin hypervisor toimii suoraan tietokoneen raudan päällä, jolloin virtuaalikäyttöjärjestelmä toimii sen päällä, eli niin sanotusti toisella kerroksella. Osa VMwaren yrityksille suunnatuista tuotteista toimii myös tällä tavalla.

2. tyypin hypervisor toimii koneelle asennetun käyttöjärjestelmän päällä ja silloin virtuaalikäyttöjärestelmä toimii kolmannella kerroksella. VMware n ilmaiset tuotteet käyttävät tätä tapaa ja ne tarvitsevat alleen toimivan käyttöjärjestelmän.

Hypervisor toimii virtuaali- ja isäntäkäyttöjärjestelmien välillä. Se esittää virtuaalikäyttöjärjestelmälle koneen rautaa ja tarjoaa samanlaisen rajapinnan laitteiden käyttöön, kuin mikä tietokoneelle asennetulla käyttöjärjestelmällä on suoraan laitteisiin.

x86 arkkitehtuurin virtualisointi on aika monimutkaista, mutta VMwaressakin käytetty hypercall-niminen järjestelmä helpottaa tätä hieman. Sen avulla virtuaalikäyttöjärjestelmä voi tehdä suoria systeemikutsuja sen sijaan, että käyttäisi normaaleja I/O-kutsuja, joita hypervisor sitten joutuisi simuloimaan. Tämän avulla hypervisorin toimintaa saadaan nopeutettua ja yksinkertaistettua. Nykyään myös prosessorivalmistajat ovat lisänneet prosessoreihin toimintoja, jotka helpottavat raudan virtualisointia ja helpottavat hypervisorin työtä.

Tietoturva

Virtuaalikäyttöjärjestelmän tietoturvallisuus yleisesti

Yleisesti virtuaalikäyttöjärjestelmän turvallisuus perustuu siihen, että se ei pääse suoraan käsiksi kaikkiin koneen resursseihin ja sen käytössä olevia resursseja on myös helppo rajoittaa. Käyttäjä pääsee rajaamaan tilan, joka järjestelmällä on esimerkiksi käytössä kiintolevyltä. Tämä pitää sen poissa isäntäkäyttöjärjestelmän tiedostoista ja estää tartuttamasta esimerkiksi viruksia. Joskus on kuitenkin tarve siirtää tietoa käyttöjärjestelmien välillä esimerkiksi muistitikun välityksellä, joten virustorjuntaohjelman asentaminen on suositeltavaa.

Myös esimerkiksi verkkoon päästäminen on helppo estää, jolloin virtuaalikäyttöjärjestelmää voi käyttää tavallaan suljetussa tilassa, eristettynä ulkomaailmasta. Käyttäjä pääsee kuitenkin edelleen käsiksi verkkoon isäntäkäyttöjärjestelmän kautta, joten jos esimerkiksi testaa jotain virtuaalikäyttöjärjestelmässä, pääsee kuitenkin lueskelemaan vaikkapa ohjeita Internetistä.

Virtuaalikäyttöjärjestelmän poistaminen ja asentaminen on helpompaa, kuin koneen varsinaisen käyttöjärjestelmän, koska se on mahdollista kopioida heti asennuksen jälkeen ja siellä olevat tiedot on helppo kopioida isäntäkäyttöjärjestelmälle. Näin ollen jos se pääsee esimerkiksi saastumaan, ei edessä ole samanlaista savottaa, kuin koneen pääkäyttöjärjestelmän uudelleenasennuksessa.

Liialliseen turvallisuuden tunteeseen ei ole kuitenkaan syytä tuudittautua. Vaikka periaatteessa virtuaalikäyttöjärjestelmä ei pääse isäntään vaikuttamaan ja pyörii vain omassa hiekkalaatikossaan, niin käytännössä tämä ei aina toimi. VMwaren ohjelmistoista onkin löytynyt virheitä, joiden avulla vihamielinen käyttäjä on päässyt esimerkiksi ajamaan omaa koodiaan isäntäkäyttöjärjestelmässä. Tällainen haavoittuvuus saattaa olla osana esimerkiksi virtuaalikoneen emuloitua laitteistoa, joten jos ei tarvita kyseistä laitetta, sen voi kytkeä pois käytöstä [8].

Virtuaalikäyttöjärjestelmä tietoturvan parantajana

Virtuaalikäyttöjärjestelmän toimiessa omassa hiekkalaatikossaan, se avaa uusia mahdollisuuksia tietokoneen käytölle. Käyttäjän ei nyt periaatteessa tarvitse pelätä isäntäkäyttöjärjestelmän saastumista testaillessaan esimerkiksi uusia ohjelmia. Virtuaalikäyttöjärjestelmiä voi myös kohdentaa helposti erilaisiin käyttötarkoituksiin ilman, että joutuu asentamaan koneelle useita erillisiä käyttöjärjestelmiä tai hankkimaan tarkoitukseen useampia fyysisiä tietokoneita.

Uusia ohjelmistoja ohjelmoitaessa käyttäjä voi käyttää virtuaalikäyttöjärjestelmää ohjelmansa testaamiseen. Siellä saattaa olla asennettuna ohjelman ajamiseen tarvittavia ajureita tai kirjastoja, joita ei näin ollen tarvitse asentaa isäntäkäyttöjärjestelmää sotkemaan. Mikäli uusi ohjelma käyttää kiintolevyä eri tarkoituksiin, tällä voidaan varmistaa, että se ei pääse tuhoamaan tai muokkaamaan vääriä tiedostoja ja näin saadaan tärkeät tiedostot pysymään turvassa isäntäkäyttöjärjestelmän alla.

Internetiä käyttäessä käyttäjälle tulee usein vastaan uhkia, jotka saattavat asentaa koneelle vakoiluohjelmistoja tai yrittävät käyttää muuten hyväksi tiedossa olevia tietoturva-aukkoja. Jos haluaa parantaa esimerkiksi pankkiyhteyksiensä turvallisuutta, voi yhtä virtuaalikäyttöjärjestelmää pitää pyhitettynä pelkästään siihen tehtävään. Näin sinne ei pääse tunkeutumaan matoja, eikä käyttäjän tiedot pääse niin helposti karkaamaan vääriin käsiin.

VMwaren kilpailijat

Virtuaalista käyttöjärjestelmää on mahdollista ajaa myös muilla kuin VMwaren tuotteilla. Tässä esitellään vain muutama, mutta kattavampi lista erilaisista virtualisointiohjelmista on saatavana Wikipediasta.

Windows Virtual PC

Microsoftin Virtual PC 2007, joka on nykyään ilmainen, mahdollistaa virtuaalikäyttöjärjestelmän luomisen ja ajamisen. Ensi sijaisesti Virtual PC on tarkoitettu Windows-käyttöjärjestelmän ajamiseen, mutta sillä pystytään mahdollisesti käyttämään myös esimerkiksi Linuxia. Tosin virallinen tuki puuttuu. Virallinen tuki puuttuu myös aiemmista kuin Windows XP Professional käyttöjärjestelmistä, mutta toimii kokemuksesta ainakin Windwos XP Home Editionissä. Windows 7 käyttöjärjestelmän myötä Microsoft on julkaissut uudemman version Virtual PC:stä, mutta se on saatavana vain Windows 7:lle. [9]

VirtualBox?

VirtualBox? on virtualisointiratkaisu Windows-, Linux-, Macintosh- ja OpenSolaris?-käyttöjärjestelmille. Siitä on olemassa kaksi eri versiota. Täysiversio on julkaistu Personal Use and Evaluotion License (PUEL) alla. Tämä tarkoittaa, että ohjelmaa voidaan käyttää ilmaiseksi yksityis- ja opetuskäytössä. Toinen versio perustuu täysin avoimeen lähdekoodiin ja se on julkaistu GNU General Public (GPL) lisenssin alla. Kyseisestä versiosta puuttuu USB-tuki ja RDP-protokollan mukainen serveri. VirtualBox? mahdollistaa monien eri käyttöjärjestelmien ajamisen, kuten Windows 7, DOS ja Linux. [10] ja [11]

Lähteet

Lähdeluettelo:

-- JariEerola? - 11 Nov 2009
Topic attachments
I Attachment Action Size Date Who Comment
VMWarePlayer.jpgjpg VMWarePlayer.jpg manage 170.6 K 19 Sep 2009 - 16:33 UnknownUser  
Print version |  PDF  | History: r6 < r5 < r4 < r3 | 
Topic revision: r6 - 11 Nov 2009 - 15:49:55 - JariEerola?
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback