Qubes: biztonság virtualizáción keresztül

Joanna Rutkowska

Joanna Rutkowska nem ismeretlen a HUP hűséges olvasói előtt. Többször (0, 1, 2, 3) is szerepelt már a biztonsággal kapcsolatos híradásokban. A lengyel hölgy most egy új, nyílt forrású, Linux-ra, Xen-re és X Window System-re épített operációs rendszerrel állt elő, amelynek elsődleges célja, hogy erős biztonságot nyújtson a desktop felhasználáshoz. Az operációs rendszer a Qubes névre hallgat.

Elszeparált pehelysúlyú virtuális gép minden egyes feladat számára - ez lehetne a mottója a Qubes biztonsági koncepciójának. A Joanna által bemutatott operációs rendszer csökkentené azokat a károkat, amelyeket az egyes rosszindulatú szoftverek okozhatnának a rendszerünkben. Mindezt úgy, hogy az egyes feladatok külön virtuális gépben futnának.

Ha játék közben beszívnánk egy malware-t, vagy ha a támadó egy WiFi driver bug-ot használna ki, az nem lenne kihatással a többi taskra, attól még a "banking" VM-ben futó bankoló szoftverünk nem lenne veszélyben.

Qubes koncepció
Qubes koncepció

"Nem leszünk képesek minden általunk használt szoftverben levő összes bugot kijavítani vagy az összes rosszindulatú szoftvert felismerni. Következésképpen más megközelítésre van szükségünk ahhoz, hogy biztonságos rendszereket építsünk." - mondta Rutkowska.

A Rutkowska és kollégája, Rafal Wojtczuk által tervezett rendszer jelenleg alpha állapotban van, éles felhasználásra nem alkalmas. A tervek szerint az év végére kerülhet "stabil" állapotba. Noha a Qubes nyílt és ingyenes marad, a tervek szerint a fejlesztők fizetős szolgáltatásokat (bővítményeket) építenének köré.

A részletek itt és itt. A projekt honlapja itt. A koncepcióról bővebben ebben a PDF-ben. Képernyőképek itt.

Hozzászólások

És persze még gyors is lesz. :)

-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."

Miben kulonbozik ez a Citrix megoldasaitol (XenDesktop, XenApp) ? (azon kivul, hogy ingyenes)

Magyarul, nem ok talatak fel a fagyallos bort.

kicsit Plan9 koncepcióhoz hasonlít, virtualizációval megfejelve.
a banking+virtualizációt egyébként eléggé kézenfekvő, én is alkalmazom már egy ideje, szintén biztonsági okokból.

Én is, de én azért mert a banki szoftver csak win alatt fut, a win meg a virtualizációban fut a linuxon.

Persze ez biztonságtechnikailag semmit nem tesz hozzá a dolgokhoz, mert amikor a virtuális windows fut és a bankkal kommunikál, elképzelhető, hogy ilyen-olyan remote kihasználható bugon keresztül beszopok férget, keyloggert, botnetet, akármit.

G

A hardveresen szeparált virtuális gépek -a kor hardverének szintjén- már az OS/2 WARP-ban is megvoltak.
Nincs új a nap alatt, ettől függetlenül jól hangzik a dolog!
-
"Attempting to crack SpeedLock can damage your sanity"

Az a gond, hogy ez sem iktatja ki a rendszerből a leggyengébb láncszemet "felhasználó". Hiszen ha nekiáll azon a task-on pornót nézni amelyiken éppen bankol "hiszen már nyitva van" akkor ez az egész semmit nem ér.

Aki balfék az vessen magára.

Ha az "User defined AppVMs" azt jelenti hogy a rendszer a felhasználó által elindított összes folyamatot külön "homokozóban" indítja el akkor a pancser sem tud hibázni.

Ha pedig ennek eldöntése a gép előtt ülő biológiai PC-re van bízva akkor az egész elképzelés csak egy lehetőség a képzettebb fölhasználóknak de nem általános gyógyír a bajokra.

Á, már úgyis túl nagy teljesítményűek a hardverek. Ezt valamivel fel kell zabáltatni, különben ki venné meg az újat...?

Mert a Xen hypervisor bizonyára abszolút biztonságos, feltörhetetlen. :)

--
Wir sind erfaßt, sind infiziert,
Jedes Gespräch wird kontrolliert.

>pehelysúlyú

400 mega idlebe.. tudom 1000 a memoria.. de ez sok

a mozgékonysága fontosabb szerintem. meg hát persze mihez képest pehelysúly. ez win7 se 60k-n fut. meg azért gyanítom, hogy nem mariska néni a célközönség, aki csak 2 szoftvert futtat életében, hanem az, aki tudatosan törekszik ennek az előnyeit kihasználni. az meg eleve többet költ. ha működőképes a modell, akkor még akár lehet is belőle valami.

--
xterm

Kicsit mikrokernel ize van a dolognak. Na persze szorosabban semmi koze a dologhoz :) csupan az jutott eszme, hogy ott a cel egy monolitikus kernelben osszezsufolt funkcionalitas szetosztasa egymastol jobban szeparalt reszekre, es ami ide kapcsolodik az csupan az, hogy elsosorban azzal is az a fo gond, hogy a szeparaltsag miatt performanciaban nem tundokol annyira. Ott is azt mondjak, hogy "mai hw-nek meg sem kottyan, regebben ez tenyleg problemas volt lassu vassal", megis: ha ma mar nem problema, es csak ez volt a gond, akkor miert nem terjed mint a futotuz mara mar?

a Mac OSX is mikrokerneles rendszer, mégsem "lassú" vagy underperformer desktop os az X, sőt. régebben még inkább általánosságban érzékelhető volt a µkernel előnye. amikor éppen hogy elég volt a vas egy szabvány Mpeg2 Pal/Ntsc video lejátszásához, jól jött a µkernel azon képessége, hogy biztosította a videolejátszó program számára, garantáltan megkapja a video lejátszásához szükséges számítási kapacitást.
szerverként a monolitikus kernel adja ma is a maximális teljesítményt.

Nem wikipedia a lényeg, nézzed meg, hogy hogyan épül fel. Ugyanazon a privilégium szinten fut a memóriakezelés, a filerendszer, a hálózatkezelés, a video driver is. Hol van itt mikrokerneles filozófia, szeparált memóriaterületeken futó alrendszerek? Sehol.

Amiért hibridnek lehet nevezni (bár szerintem még az is erős túlzás), hogy egyes driverek userlandben futnak. De ez igaz a Windowsra is és ráfogható a Linuxra is.

Hát csak féligmeddig... Ha jobban belegondolsz, hogy a FUSE hogy is működik, milyen interfészt használhatsz, milyen CPU ringben fut, akkor lehet, hogy nem is annyira vicc ez.
A lényeg azonban nem ez, hanem az, hogy ma már nincs tisztán mikrokernel és monolitikus architektúrájú kernel, összevissza kavarnak mindenféle megoldásokat mind a Linuxban, mind az OSX-ben. Legfeljebb 1-1 alrendszer esetén lehet arról beszélni, hogy ez most mikrokernel-szerűen van-e megoldva vagy sem.
De hogy mondjak egy másik még aljasabb példát: Xorg, KMS nélkül. Amiben egy teljesen userspace folyamatban fut egy hardver meghajtóprogram... a definíciónak még ez is megfelel.
---
Internet Memetikai Tanszék

itt tárgyaltuk a témát. amikor tanultunk róla úgy emlékszem rakétavezérlő volt a vicces példa:) azóta lehet kikerült az előadások anyagából.
a mikrokernel előnyei ott érezhetőek igazán, ha éppen csak elég a számítási kapacitás egy feladathoz. ma lassan lejáró divat szerint "úgyis van vas", ezért szorulhattak háttérbe a mikrokernelek. a másik előny az egyszerűbb fejlesztés, de fejlesztőkből sincs hiány ma akár linux, akár windows kernele körül.
a FUSE vagy a linux kernel modularizálása soha nem fog tudni olyan képességeket, amit egy valódi mikrokernel.
figyelemreméltó aktuális mikrokerneles projekt a Drezdai Egyetem L4Linuxa.

Na akkor mégiscsak ugyanarról beszélünk.
Azon azért vitáznék, hogy a mikrokernelek akkor jók, ha korlátozott a kapacitás, mert inkább pont az a jellemző, hogy a monolitikushoz képest több teljes CPU kontextusváltással járnak. Talán éppen ezért ritkák az igazán teljesen "ground up" mikrokernel architektúrák, bizonyos nagyon gyakran használt és relative egyszerű funkciókat teljesítményszempontból mégiscsak jobb a magban tartani. Sokkal erősebb szempont az egyszerű fejlesztés, illetve jobb hibatűrés, jobb izoláció. És szerintem ezt nem kompenzálja a több fejlesztő sem. Szerintem a legfőbb ok, amiért ódzkodnak tőle, hogy sokkal inkább stabil API/ABI kell hozzá, mint a monolitikushoz. De ezzel már egy másik flame témába csapnánk át. :)

FUSE vagy a linux kernel modularizálása soha nem fog tudni olyan képességeket, amit egy valódi mikrokernel
Persze. Nem is mondtam ilyet, inkább csak arra próbáltam rávilágítani, hogy itt sem fekete és fehér a világ.
---
Internet Memetikai Tanszék

Elvetemült vagyok, ha azt mondom, Debian+Xen, némi buhera, egy jó x86-os vas, és minden megvan?

KisSzikra - TTZ Modding Csoport

Van különbség aközött, hogy firefoxon megyek mindenfele, közbe operán bankolok vagy ezen a csodabogáron megy egy barangoló firefox task és egy bankos firefox task?

Pörgős csaj ez a Joanna :) meg okos is.

szerintem van különbség. az az egyik beadja a derekát, akkor azon keresztül a bankos borzoló is megfektethető. egy másik virtualizált környezetben való elhalás azt jelentené, hogy magát a virtualizációt kéne lerombolni. azt meg azért csak nehezebb, mint egy böngészőt.

--
xterm

Szerintem ígéretes a dolog, bár nem pehelysúlyú és zabálja az erőforrásokat az tény. A PDF vége felé található érdekes attacker use-case -k vannak, ajánlom elolvasni akit érdekel a téma.

Félősen kérdezem meg, de szerintem ennek a cuccnak az a lényege, hogy "összecsomagolja" a már meglevő ötleteket, nem? Például, nem a felhasználó ügyködik a virtuális gépekkel hanem ha indul egy process, annak automatikusan csinál egyet és ott indítja, ha indul egy második, akkor azt meg ott, stb.?

********************
"Aki nem backupol az tehetsegtelen :-)"
"...ha nem tévedek!" (Sam Hawkins)
http://holo-media.hu

Szerintem még egy "hozzáértő" sem fogja tudni eldönteni egykönnyen, hogy melyik virtuális rendszerével dolgozzon, vagy hogy átvihet-e adatot egyikből a másikba.

vagy hogy átvihet-e adatot egyikből a másikba.
Pontosan, szerintem is az egész koncepciónak itt a leggyengébb pontja. Mivel normál use case-ek esetén ezt meg kell oldani valahogy, ezért szeparáció tekintetében nagyon hamar ott vagyunk ahol a jelenlegi OS-ek is vannak.
---
Internet Memetikai Tanszék

Bezzeg ha szakállas csúnya hackerember alkot valami nagyot, a fotója az nem kerül ki. Miért? :)
_________________________
Linux for human lemmings

Szerintem remek ötlet.
Én is gondolkodtam már ilyesmin, csak a megvalósításig nem jutottam el.

ps.: nem azért remek ötlet, mert én is kitaláltam :)

BugOS csinálja már ezt néhány éve, magyar gyártmány. Egy fickó alkotta, saját assemblerrel.

Én is úgy emlékszem, nem volt hozzá forrás, viszont szabadon letölthető, rendelni is lehet - most is - a linuxmedia-tól.

A honlapot akkor néztem, mikor letöltöttem, azért emlékszem, mert használtam.