Difference: QubesOS (r11 vs. r10)

Tapaustutkimus – Qubes OS

Johdanto

Qubes OS on puolalaisen Invisible Things Labin kehitteillä oleva avoimenkoodin käyttöjärjestelmä, joka on rakennettu Xen Xen-virtualisoinnin virtualisoinnin ja Linuxin yhdistelmänä. Käyttöjärjestelmä pyrkii tarjoamaan tietoturvaa eristämällä järjestelmän osia toisistaan. Ajatuksena tämän takana on taata taata, etteivät edes mahdollisesti tietomurrolle altistuneet järjestelmän osat pääse vaikuttamaan muun järjestelmän eheyteen. Tässä tapaustutkimuksessa perehdytään keinoihin, joilla Qubes OS toteuttaa eristämistä järjestelmän osien välillä, sekä pyritään selvittämään keinojen hyötyjä ja haittoja.

Käyttöjärjestelmien ongelmia

Käyttöjärjestelmä hallinnoi tietokoneen resursseja, joten sen tietoturvallisuus on käyttäjän ja tämän tietojen kannalta erittäin olennaista. Käyttöjärjestelmät hyödyntävät Käyttöjärjestelmissä parannetaan tietoturvaa hyödyntämällä paljon tietokoneen laitteiston, kuten prosessorin, toteuttamia ominaisuuksia ominaisuuksia, lisäämään tietoturvaa, eikä Qubes OS ole poikkeus. Prosessorin avulla voidaan laitetasolla estää esimerkiksi laittomia muistiviittauksia ja tarjota tehokkaita ratkaisuja vaikkapa virtualisointiin.

Eräs Useiden useiden käyttöjärjestelmien ongelmista ongelmana on, että ne ovat todella suuria ohjelmia ja niissä niiden on etuoikeutettuun tilaan sisällytettynä sisältyy myös paljon kolmansienosapuolten kolmansien osapuolten laiteajureita ja muita ohjelmistoja, joten niiden formaalisti ohjelmistoja. Formaali tai sitä vähemmänkin vaativa oikeaksi todistaminen on vaikeaa, ellei mahdotonta. Lisäksi käyttöjärjestelmät käyttävät usein vain kaksitilaista järjestelmää (user mode/supervisor mode), jossa käyttöjärjestelmä käyttää etuoikeutettua tilaa. Jos hyökkääjä pääsee käyttämään tätä tilaa, mikä monoliittisissa käyttöjärjestelmissä on hyvinkin mahdollista, niin koko järjestelmä on haavoittuvainen. [1][2]

Mikroydinjärjestelmät ovat pyrkineet ratkaisemaan tätä ongelmaa hieman samalla tavalla kuin Qubes OS eli siirtämällä ulos ytimestä kaiken koodin, joka ei tarvitse etuoikeutettua tilaa, tilaa. ulos ytimestä. Niiden suosio on kuitenkin jäänyt vähäiseksi heikoksi väitetyn tehokkuuden vuoksi. Tähänkin asiaan saattaa olla tulossa muutoksia tulevaisuudessa, kuten Tanenbaum, Herder Tanenbaum ym. ja Bos toteavat vuonna 2006 tehdyssä Computer lehden artikkelissa [3]. Artikkelissaan he ennustavat, että monoliittisista ytimistä ollaan siirtymässä mikroytimiin tai vastaaviin ratkaisuihin niiden rakenteen tuoman turvallisuuden vuoksi.

Arkkitehtuuri

Pääpiirteet

Qubes OS toteuttaa tietoturvaa eristämällä järjestelmän palasia toisistaan virtualisoinnin avulla. Virtualisointi toteutetaan ns. kevyillä virtuaalikoneilla, joita pyöritetään useita rinnakkain käyttäjän määrittämillä eri luottamustasoilla. Käyttöjärjestelmä pyrkii tarjoamaan parempaa tietoturvaa yksittäisten käyttäjien tietokoneisiin, eikä se siis ole kohdistettu palvelintoimintaan eikä myöskään useamman käyttäjän käyttöjärjestelmäksi.

Qubes OS:n toiminta Virtualisoinnin toteuttaa Xen, perustuu Xen virtualisointiin, jonka avulla pyöritetään useita käyttäjän virtuaalikoneita, jotka virtuaalikoneita. Ne toimivat siis toisistaan eristettyinä ja ovat käyttäjän määriteltävissä. Käyttöjärjestelmän Taustalla taustalla on idea, että kaikki ohjelmat, jotka ovat liian suuria kunnolla tarkistettaviksi tarkistettaviksi, sisältävät jotain haavoittuvuuksia ja siksi ne tulee eristää. Tekijät Qubes OS:n tekijät keskittyvät vain kriittisten järjestelmänosien tarkistamiseen ja pyrkivät minimoimaan etuoikeutetun koodin määrän.

Xen ja virtualisointi

Xen koostuu kolmesta osasta: hypervisorista, etuoikeutetusta hallinnointialueesta (dom0) ja useasta etuoikeudettomasta alueesta (domU). Siinä missä yleisimmissä käyttöjärjestelmissä on useita miljoonia rivejä koodia on Xenin etuna ?vaivaset? ?vaivaiset? muutama satatuhatta riviä koodia. Tekijät myöntävät, että Xen:in kokoista ohjelmaa ei voi formaalisti todistaa, joten he pyrkivät manuaalisesti auditoimaan sen ja pitämään sen mahdollisimman pienenä, jolloin mahdolliset haavoittuvuudet pysyvät mahdollisimman vähäisinä.

Xen hypervisor on suoraan tietokoneen laitteiston päällä toimiva ohjelmistokerros, joka korvaa käyttöjärjestelmän paikan laitteiston käyttäjänä ja mahdollistaa useamman eri käyttöjärjestelmän suorituksen samanaikaisesti.[4]Dom0 pidetään Qubes OS:ssä mahdollisimman pienenä, eikä siellä ole muuta ulkopuolelta käsiksi päästävää koodia kuin järjestelmän rekisteri ja graafisen käyttöliittymän koodi. Kaikki muut käyttöjärjestelmän toiminnot, kuten laiteajurit ovat siirretty domU aluesiin, domU- alueisiin, jossa niiden toiminta on rajoitettua.

Virtualisointi itsessään ei tuo tietoturvaa, mutta sen käyttö on mahdollistanut sen, että koko järjestelmä on voitu suunnitella uusiksi edellä mainitulla tavalla ja silti sisällytetty mahdollisuus säilyttää yhteensopivuus kaikkiin ”tavallisiin” käyttöjärjestelmiin. Tällöin ei tarvitse luoda alusta alkaen kaikkia järjestelmän ohjelmia uudestaan vaan voidaan käyttää jo olemassa olevia ohjelmia, jotka eivät edes tajua olevansa eristetyssä muistialueessa. Tämä mahdollistaa Qubes OS:n tavoitteleman eristyksen järjestelmän osien välillä.[5]

Virtuaalikoneet[1]

Qubes OS käyttää Intelin VT-d tekniikaa, josta myöhemmin -tekniikkaa (ks. jäljempänä) hiukan tarkemmin, suojaamaan Xen-järjestelmän ja tarjoamaan joillekin virtuaalikoneille väylän laitteille. Lisäksi järjestelmän palasia jaetaan omiin virtuaalikoneisiinsa, joita on kahden tyyppisiä: sovelluksien virtuaalikoneita (AppVM) ja systeemipalveluiden virtuaalikoneita (SystemVM).

SystemVM:t toimivat etuoikeudettomilla alueilla ja ovat toimittavat käyttöjärjestelmän normaaleja rutiineita toimittavia rutiineita. Niillä palikoita, joilla on VT-d tekniikalla -tekniikalla toteutettu suora yhteys laitteeseen, jota ne käyttävät. Eräs Yksi SystemVM on verkkoalue, jossa sijaitsee sijaitsevat verkkokortin ajurit ja protokollapinot. Toinen on varastointialue, jolla on yhteys kovalevyihin, USB-muisteihin ja CD/DVD CD/DVD-asemaan, asemaan ja se sisältää tiedostojärjestelmän ja levyajurit. Varastointialue on kriittinen osa järjestelmään, järjestelmää, koska kaikkien virtuaalikoneiden tiedot kulkevat sen kautta, joten kautta. Sen sen tietojen suojaksi otetaan on otettu käyttöön kryptografiaa, jolloin varastointialue ei pääse käsiksi muiden virtuaalikoneiden tietoihin. Lisäksi Intel TXT:n (ks. jäljempänä) avulla estetään systeemin käynnistyslohkon muokkaus. Eli Pahimmassakaan ideana on, että pahimmassakaan tapauksessa hyökkääjä ei siis pääse käsiksi käyttäjän tietoihin vaan saa aiheutaa korkeintaan aiheutettua saatavuudelle ongelmia saatavuudelle. ongelmia.

AppVM:t ovat käyttäjän sovelluksille tarkoitettuja virtuaalikoneita, joille käyttäjä voi määritellä mieleisiänsä mieleisiään luottamustasoja ja joissa säilötään kaikki käyttäjän tiedostot. AppVM:t pystyvät jakamaan yhteisen käyttöjärjestelmän, jolla ne toimivat, tällä toimivat. Tällä hetkellä vaihtoehtona on vain Linux, mutta suunnitteilla on lisätä tuki useammalle eri järjestelmälle. Käyttäjä voi tehdä useita virtuaalikoneita, joissa ajaa virtuaalikoneita. Ajamalla niissä sitten eri luottamustason ohjelmia, jolloin yhden luottamustason vaarantuessa muut säilyvät turvassa. Eli esimerkiksi turvassa, vaikka yksi taso vaarantuisikin. Esimerkiksi vaikka nettiselailuvirtuaalikoneen selaimeen asentuu troijalainen, ei se pääse tekemään MitB-hyökkäystä pankkimaksuvirtuaalikoneen selaimen pankkitransaktioon.

Intel VT-d ja TXT[6][7]

Intel Trusted Execution Technology (TXT) tarjoaa eristetyn suoritusympäristön keskusmuistista ja suljetun varaston, jossa voidaan säilyttää arkaluontoista tietoa kuten salausavaimia. Lisäksi TXT tarjoaa mahdollisuuden estää käynnistyslohkon muokkauksen ja muokkaus. Tämä näin varmistaa, että järjestelmän suoritus aloitetaan oikeasta paikkaa. TXT:n avulla voidaan toteuttaa myös esimerkiksi salaus näppäimistön ja tietokoneen välillä, jolloin nuuskinta estetään.

Intel VT-d puolestaan on I/O-laitteiden virtualisointiin tarkoitettu teknologia, joka tarjoaa tehostettua eristämistä eri I/O I/O-laitteiden laitteiden välillä. Teknologian avulla yhdessä SystemVM:ssä oleva laiteajuri pääsee vain sille määriteltyyn laitteeseen ja muistialueeseen käsiksi, jolloin käsiksi. Viallisen tehokkaasti estetään viallisen tai pahantahtoisen laiteajurin toiminta rajoittuu tehokkaasti vain sen omaan virtuaaliavaruuteen. Tämä tarjoaa suojaa ja parempaa tehokkuutta laitteistopuolelta useiden virtuaalikoneiden pyörittämiseen ja sillä saavutetaan parempaa turvaa ja saatavuutta.

Vaatimukset

Qubes OS ei ole mitenkään kevyt käyttöjärjestelmä, ja käyttöjärjestelmä. Se vaatii markkinoiden uusimpia tekniikoita toimiakseen, mikä on ymmärrettävää virtualisoinnin kannalta, mutta takia. Onko onko se sitten hyväksyttävää käyttäjien kannalta kannalta, jää nähtäväksi.

Minimi[8]:

  • 4GB RAM

  • 64-bit Intel Intel- tai AMD AMD-prosessori prosessori

  • Intel Intel-näytönohjain näytönohjain (core iX sarjaa -sarjaa suositellaan, Nvidia ja ATI toimivat, mutta niitä ei ole tuettu)

  • 10GB kovalevytilaa (isoa SSD SSD-levyä levyä suositellaan)

Hyödyt ja haitat

Tässä luvussa käydään tarkastellaan, läpi hieman mitä hyötyjä ja haittoja Qubes OS tuo mukanaan ja verrataan niitä hieman muihin virtualisointitekniikoihin ja tavallisiin käyttöjärjestelmiin. [9]

Hyödyt

  • Eristys virtuaalikoneiden välillä on tehokkaampaa kuin tavanomaisten käyttöjärjestelmien prosessien eristys.

    • Laiteajurit eristetty omiin virtuaalikoneisiinsa, jolloin niiden koodin ei tarvitse olla luotettua järjestelmän eheyden kannalta. Tätä esimerkiksi KVM ei tue.

    • Eristää tehokkaasti epävakaat ja tietomurrolle altistuneet virtuaalikoneet.

    • Osa järjestelmän tietoturvasta vastaavista osista kuten palomuuri tai IDS voidaan sijoittaa omiin virtuaalikoneisiinsa, joihin haittaohjelma ei pääse käsiksi ja siksi sen toiminta voidaan havaita tai estää.

  • Paljon vähemmän täysillä oikeuksilla ajettavaa koodia kuin tavallisissa käyttöjärjestelmissä ja useimmissa virtualisointi ratkaisuissa kuten esimerkiksi KVM. KVM:ssä. Toisin sanoen pienempi TCB (Trusted Computing Base).

  • Mahdollistaa käyttäjälle virtuaalikoneiden jaon omiin tarpeisiin ja turvavaatimuksiin sopiviksi.

Haitat

  • Useiden virtuaalikoneiden ylläpito vaatii paljon keskusmuistia.

  • Paljon laitteistoriippuvaisia toiminnallisuuksia.

  • Ei tue 3D:tä AppVM:ssä, joten sitä tarvitsevat pelit ynnä muut eivät toimi.

  • Jos jokin SystemVM altistuu haittaohjelmalle, on palvelunestohyökkäyksen mahdollisuus ilmeinen.

Päätelmä

Qubes OS tarjoaa hyviä ratkaisuja käyttöjärjestelmiä vaivaaviin tietoturvaongelmiin ja antaa myös mahdollisuuden käyttäjälle jaotella toimintansa luottamustasoihin. Lisäksi käyttöjärjestelmä hyödyntää kehittyneitä laitteistotason suojauksia, uusinta tekniikkaa ja paljon kryptografiaa. Suunnittelu on alusta alkaen aloitettu tehty tietoturvaa ajatellen ja on siten siksi järjestelmä voi tulevaisuudessa olla varteenotettava vaihtoehto yrityksien työasemille ja yksityisille tietoturvastaan huolestuneille, mutta huolestuneille. Jos kuitenkin vaaditun suorituskyvyn ollessa vaaditaan korkeaa suorituskykyä, suuri, rajoittuneet laitteistovalinnat ja vielä kehityksessä oleva järjestelmän keskeneräisyys, jättävät järjestelmä voivat vaatia oman aikansa, joten jää nähtäväksi pystyykö Qubes OS lunastamaan antamansa lupaukset. OS:n toistaiseksi (2011) vielä lupauksen asteelle.

Lähteet

SivuTiedotLaajennettu edit
Vaativuus Jatko
Valmius Kehitteillä
Tyyppi Esitys
Luokitus Atk
Mitä Eheys
Miltä Useita
Missä Järjestelmä
Kuka Muu
Milloin Rakennettaessa
Miksi Muu

View topic | View difference side by side | History: r11 < r10 < r9 < r8 | More topic actions
 
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