A Windows Vista biztonsági szolgáltatásai Ha négy-öt évvel ezelőtt azt mondtuk volna, a Windows egy biztonságos rendszer, talán sokan megmosolyogtak volna minket. Tény, hogy a korábbi időkben a Microsoft kissé elhanyagolta a biztonsági fejlesztéseket, a használhatóság sokszor a megbízhatóság rovására ment. Szerencsére Redmondban még időben észbe kaptak a fejlesztők, így lassan fordulni látszik a kocka. A Windows XP második szervízcsomagja már jelentős változásokat hozott a biztonság terén, a Vista-val pedig még tovább szigorodnak a szabályok, ami végsősoron csak nekünk lehet jó. A Microsoft a világ legnagyobb szoftvergyártó cége, ez a vállalat rendelkezik a legnagyobb ügyfélkörrel, beleszámítva az otthoni hobbiszámítógépeseket, a nagyvállalati, közigazgatási és egyéb hivatalos partnereket is. A feladat és a felelősség óriási: olyan rendszert kell építeni, mely minden réteg igényét kiszolgálja, a családi videók és fényképalbumok kezelésétől egészen a legkomolyabb vállalatirányítási vagy kutatási, fejlesztési célokig. Mindezt úgy, hogy nem csak egy könnyen használható eszközt kapjunk, de biztonságban tudhassuk legkényesebb adatainkat és rábízhassuk akár az "életünket" is. Mint említettem, a korábbi időkben a biztonsági tényezők talán nem voltak olyan fontosak, mint ma, így az egyszerű használatért és bővebb funkcionalításért bizony néha kemény árat kellett fizetnünk. Jó példa erre a szinte születése óta kritizált ActiveX technológia. Az elgondolás remek: lehetőségünk van az internetböngészőből közvetlenül vezérelnünk különböző programokat, melyek vagy az asztalon vagy magában a böngészőben futnak bővítményként. A megvalósítás azonban szinte több problémát vetett fel, mint amennyi hasznunk származott eddig a létezéséből. Eddig, mivel mint később láthatjuk, ezen a területen is lényeges változásokra került sor. A világ nagyot változott néhány év alatt, az internetes bűnözés soha nem látott "népszerűségnek" örvend, a vírusok, trójaik és egyéb kisebb hatásfokú kártevők mellett megjelentek a kéretlen reklám- és hamis levelek, ezekhez kapcsolódóan pedig az adathalász weboldalak, melyek egy-egy hivatalos intézménynek kiadva magukat, személyes adatainkra és pénzünkre pályáznak. Az információ pénz, a pénz pedig hatalom és néhány év alatt egy egész iparág fejlődött ki annak érdekében, hogy minél több - jogtalanul szerzett - információt adhassanak el minél több pénzért. Mivel a bűnözés ezen formájával rendkívül nehéz felvenni a harcot, jelen esetben a legjobb védekezés a megelőzés. Noha a rosszfiúk mindig egy lépéssel előttünk járnak majd - a világ már csak ilyen - megfelelő védelemmel és odafigyeléssel elejét vehetjük a nagyobb bajnak. Ebben segít minket a Microsoft és az új, valóban biztonságos operációs rendszer a Windows Vista. BitLocker A felmérések szerint a legtöbb kényes vállalati és személyes információ elveszett vagy ellopott számítógépekről, főként notebook-okról jut illetéktelen kezekbe. Éppen ezért egyre inkább elvárás, hogy adataink még a számítógép kikapcsolt állapotában is védve legyenek. A Windows Vista ezt is lehetővé teszi a BitLocker meghajtótitkosítás segítségével. A BitLocker egy vadonatúj technológia, mely a merevlemez tartalmát még a gép szétszerelése és a lemezhez való közvetlen hozzáférés esetén is olvashatatlan adathalmazzá változtatja. Természetesen - mivel az operációs rendszer ilyenkor nem fut - ehhez külső segítségre van szüksége, nevesül a TPM, azaz Trusted Platform Module chipre (ez a modul a legújabb számítógépekben már beépítve megtalálható). A BitLocker két fő funkcióval védi adatainkat: a lemez tartalmának teljes titkosításával és a boot-folyamat előtt(!) a kritikus rendszerfájlok integritásának ellenőrzésével. A rendszer még akkor sem indítható el, ha valamilyen külső eszközzel esetleg "megpiszkálták" volna a betöltést végző komponenseket, így próbálván kiiktatni a titkosítást. Bár a BitLocker a teljes fájlrendszert - beleértve a lapozó- és hibernációs fájlt is - titkosítja, csak a rendszermeghajtóra aklalmazható, valamint működéséhez szükség van egy nem titkosított kisebb partícióra a merevlemezen. A BitLockert használhatjuk TPM
chip nélkül is, ekkor egy USB modulon elhelyezett személyes kódunkat használhatjuk a rendszer indítására. A Microsoft által ajánlott konfiguráció a TPM chip használata.
A BitLocker meghajtótitkosítás A BitLocker működéséhez az alábbi feltételek szükségesek: • • • •
Windows Vista Enterprise vagy Ultimate Edition Integrált, legalább 1.2-es verziójú TPM chip a számítógépben és az ezt kezelni képes BIOS A BIOS-nak támogatnia kell az USB szabványú eszközökről történő olvasást és írást A merevlemezen két partíció szükséges, egy NTFS fájlrendszerű, az operációs rendszert és az adatokat tartalmazó részt, melyet a BitLocker titkosít, valamint egy legalább 1,5 GB méretű, szintén NTFS-t használó "rendszerpartíciót", mely a betöltéshez szükséges alapvető eszközmeghajtókat tartalmazza. Ezt a partíciót a BitLocker nem titkosítja.
Bár a BitLocker vonzó megoldás lehet az adatok teljes körű titkosítására és a számítógép védelmére, bánjunk vele óvatosan, hiszen ha elveszítjük USB-indítókulcsunkat, és elfelejtjük a helyreállító jelszót is, búcsút inthetünk adatainknak. ASLR - Address Space Layout Randomization
Véletlenszerűen kiosztott memóriacímek Az Address Space Layout Randomization talán az egyik legnagyszerűbb biztonsági újítás a Vistaban, mégis méltatlanul kevés szó esik róla. A technológia lényegében egy memóriavédelmi megoldás, mely azáltal, hogy véletlenszerűen összekeveri a memóriacímeket, nagyban megnehezíti a káros programok működését. Az eljárás lényege, hogy a Windows egy-egy rendszerkomponenst
minden alkalommal véletlenszerűen meghatározott memóriacímekre tölt be. Ha egy vírus megpróbál káros kódot injektálni a memóriába először megpróbál meghívni egy rendszerfüggvényt, majd vár ennek a függvénynek a visszatérési értékére. Mivel az ASLR véletlenszerűen mozgatja a függvényeket a memóriában (egészen pontosan 256 különböző helyre töltheti be őket minden egyes alkalommal), a vírusnak 1/256-od esélye van hogy éppen eltalálja azt a memóriacímet, ahol a kiszemelt DLL tartózkodni fog. Az ASLR viszonylag későn, a Beta 2 verzióban került be először a rendszerbe, de annyira hatékony védelemnek bizonyult, hogy végül szerves részévé vált a Windows memóriakezelésnek, így nem lehet kikapcsolni sem, de engedélyezni sem kell - a háttérben észrevétlenül teszi a dolgát. -kompatibilis. (A legtöbb ma kapható processzor már rendelkezik ezzel a funkcióval.) A DEP alapértelmezésként csak a beépített Windows szolgáltatásokra engedélyezett, ha minden alkalmazásra ki akarjuk terjeszteni a működését, azt kézzel kell beállítanunk a vezérlőpultban. DEP - Data Execution Prevention
Adatvégrehajtás elleni védelem Szintén az operatív tár védelmét hivatott ellátni a Data Execution Prevention (más néven NX), azaz az adatvégrehajtás-megtagadás. A technológia működése már nevéből is adódik: megakadályozza,
hogy a memóriába olyan területre töltődjön be kód, ahol csak adatok tartózkodhatnának. A korszerű vírusok egyik kedvelt szokása a buffer-túlcsordulásos támadás, ahol is az ártó kód minden esetben adat képében érkezik a kiszemelt alkalmazásba. A DEP úgy védekezik az efajta támadások ellen, hogy az adatszegmensek számára fenntartott memóriacímeket "nem-futtathatóként" jelöli meg, így ezekről a területekről nem indítható kód. A DEP működéséhez operációs rendszer- és processzorszintű támogatás is kell, tehát ez a fajta memóriavédelem csak akkor elérhető, ha a CPU DEPkompatibilis. (A legtöbb ma kapható processzor már rendelkezik ezzel a funkcióval.) A DEP alapértelmezésként csak a beépített Windows szolgáltatásokra engedélyezett, ha minden alkalmazásra ki akarjuk terjeszteni a működését, azt kézzel kell beállítanunk a vezérlőpultban. UAC - User Account Control Ellentétben az ASLR-rel és a DEP-pel, a User Account Control-tól hangos az internet, amióta csak az első nyilvános Vista bétaváltozatok megjelentek. A legtöbb helyen elsőként említik az új rendszer legidegesítőbb tulajdonságai között, állandó felbukkanó figyelmeztető és kérdő ablakaival, amikkel csak megnehezíti a munkavégzést. Először is szögezzük le, ez ebben a formában nem igaz. A UAC csak programtelepítéskor és adminisztratív feladatok indításakor (pl. rendszerkonfiguráció, vagy hibakeresés) tesz fel kérdéseket, a mindennapi használat közben szinte alig találkozunk vele.
UAC hozzáférés-megerősítés Hozzáférés-megerősítés Az UAC legszembetűnőbb megnyilvánulása a rendszerműveletek végrehajtásakor (akár egy Registry Editor, vagy eseménynapló indításakor) felbukkanó figyelmeztető ablak, mely rákérdez, vajon valóban mi kezdeményeztük-e a programindítást. Ez elsőre talán bután hangzik, egy idő múva pedig akár valóban idegesítővé is válhat. De gondoljunk csak bele, mi történne, ha történetesen mégsem mi, hanem egy rendszerre bejutott vírus kezdene el garázdálkodni a gépen (és természetesen sokkal súlyosabb dologat művelve, mint egy ablak megnyitása). Láthatjuk, hogy a "biztosan Te nyomtad meg a gombot?" típusú kérdések egyáltalán nem is olyan fölöslegesek. Hogy miért kér a rendszer megerősítést annak ellenére, hogy adminisztrátori jogaink vannak? Mert nincsenek. Hiába áll felhasználónevünk mellett az "administrator" rang, a Windows Vista-ban minden egyes felhasználó korlátozott jogosultsággal ténykedik. Amikor egy művelet végrehajtásához "valódi" rendszergazda jogok szükségesek, az UAC egy úgynevezett szintemelő, vagy eleváló promptot jelenít meg, ahol - beállítástól függően egy gombnyomással vagy jelszó megadásával - egy szinttel feljebb léphetünk, és az adott feladatot (és csak azt!) már rendszergazdaként végezhetjük el. Az UAC azonban sokkal több, mint egy egyszerű megerősítést
kérő párbeszédablak. Lássuk, milyen egyéb feladata van még a User Account Control-nak. Internet Explorer Protected Mode Az UAC nem csak figyelmeztető ablakok feldobálására alkalmas, de neki köszönhetjük, hogy az Internet Explorer 7 képes úgynevezett "védett módban" futni. A védett mód nem más, mint az alkalmazás számára létrehozott virtuális homokozó, ahol kedvére törhet-zúzhat, ha éppen úgy tartja kedve. Ennek a védett módnak akkor vesszük igazán hasznát, ha minden figyelmeztetés, tiltás és riasztás ellenére mégis bejut valahogy egy ártó program az Internet Explorer-en keresztül. Ilyenkor, mivel maga a böngésző is alacsony jogosultsági szinten fut - sot még alacsonyabban, mint a többi (erről később) - a problémás kód nem férhet hozzá szinte semmihez az adott böngészőablakon kívül, ténykedését pedig igen egyszerűen beszűntethetjük, mégpedig az Internet Explorer ablak bezárásával. File- és registry-virtualizáció
UAC fájlrendszer-virtualizáció Régebben sok problémát okozott egy-egy alkalmazásnál, hogy - tervezési hibából vagy egyéb okokból kifolyólag - csak teljes rendszergazdai jogosultsággal voltak képesek megfelelően futni. Ez a Windows Vista-ban gondot jelenthet, mivel mint minden más alkalmazás, ezek a programok is csökkentett hatókörrel kell hogy beérjék. A megoldás megint csak a virtuális homokozó. Az olyan programok esetén, melyek a rendszerleíró-adatbázis vagy a fájlrendszer védett helyeire szeretnének írni, az UAC virtualizálja nekik a helyet, vagyis egy könyvtár vagy registry-ág pontos másával "elhiteti" az alkalmazásokkal, hogy tulajdonképpen a megfelelő helyre írnak, holott természetesen csak a felhasználó profilkönyvtárában létrehozott mappa- és registry-másolatokban tevékenykednek. Ezzel a módszerrel megakadályozhatjuk, hogy a régi alkalmazások teleszemeteljék a rendszermappákat és a registry-adatbázist, valamint elejét vehetjük egy véletlen (vagy rosszindulatú) módosítás okozta rendszerösszeomlásnak. Az imént szót ejtettem arról, hogy az Internet Explorer még a szokásos csökkentett jogosultsági szintnél is alacsonyabban dolgozik. Lássuk most kicsit részletesebben, milyen "láthatatlan"
biztonsági szintek védenek még minket és adatainkat. MIC - Mandatory Integrity Control A következőkben bemutatásra kerülő védelmi eljárás még egy, az 1970-es években született elgondoláson alapszik, megvalósítására azonban csak napjainkban került sor. Míg a fájlrendszerjogosultságok könnyen kezelhető és hatékony védelmet nyújtanak az illetéktelen hozzáférésektől, a technológia rendelkezik némi korlátoltsággal. Hiába védjük másoktól a fájlokat, ha magát a tulajdonost is viszonylag könnyen rávehetjük, hogy lefuttasson egy-egy parancsot - természetesen adminisztrátori jogokkal. A MIC alapelgondolása a következő: a csökkentett megbízhatósági szinten dolgozó alanyok nem módosíthatnak magasabb szinten lévő objektumokat, a magasabb szinten létező objektumok pedig nem kényszeríthetők, hogy megbízzanak alacsonyabb szintről érkező utasításokban vagy adatokban. A kulcsszó itt a "megbízhatóság", a MIC pedig ezt az információáramlási politikát valósítja meg a Windows Vista-ban. Amikor bejelentkezünk, a Windows egy adott integritási azonosítót rendel a felhasználónkhoz. Ez az azonosító tartalmazza mindazt az információt, amiből a rendszer megállapítja, hogy mely területekhez van hozzáférésünk és melyekhez nincs. Nem csak a felhasználók, de a védeni kívánt rendszerobjektumok, úgy mint fájlok, mappák, adatcsatornák, folyamatok (processzek), folyamatszálak (thread-ek), az ablakkezelő, registry-kulcsok, szolgáltatások, nyomtatók, megosztások, ütemezett feladatok, stb. is kapnak egy-egy saját szintazonosítót. Ezek az azonosítók a System Access Control List-ben (SACL) tárolódnak, hasonlóan ahhoz, ahogy a fájlrendszerjogosultságok az egyes fájlokhoz tartozó Access Control List-ekben (ACL). Amikor a felhasználó egy műveletet végez, a Windows még azelőtt, hogy a fájlrendszerjogosultságokat vizsgálná, összehasonlítja a felhasználó integritás-szintjét a műveletben részt vevő objektumokéval. Ha a felhasználó szintje a domináns - vagyis az objektuméval megegyező vagy magasabb - a Windows engedélyezi a feladat végrehajtását - feltéve, hogy fájlrendszer-szinten is megvan hozzá a kellő engedélye. Ha a felhasználó alacsonyabb szintről próbál manipulálni egy objektumot, a Windows nem engedélyezi a hozzáférést, függetlenül attól, hogy magához a fájlhoz, registry-kulcshoz, vagy egyéb komponenshez különben meglenne a hozzáférése. Láthatjuk tehát, hogy az integritás-szintek minden esetben a fájlrendszer-jogosultságok, vagyis az ACL fölött állnak. A Windows Vista-ban négy integritás-szintet definiáltak a fejlesztők: alacsony, közepes, magas és rendszer. Az egyszerű felhasználók közepes, a (valódi) rendszergazda jogosultságúak pedig magas szinten tevékenykednek. A felhasználó által indított folyamatok vagy az általa létrehozott objektumok öröklik a felhasználó integritás-szintjét, a rendszerszolgáltatások a "rendszer" szintre kapnak belépőt. Ha valamilyen okból kifolyólag egy objektum nem kap integritásszint-jelölést, az operációs rendszer automatikusan közepes szintre sorolja be, ezzel megakadályozva, hogy az alacsony szinten futó folyamatok hozzáférhessenek a nem jelölt objektumokhoz. Az operációs rendszer fájljai alapértelmezésként nem jelöltek, így közepes szinten tartózkodnak, valamint természetesen alkalmazódnak rájuk a megfelelő fájlrendszer-jogosultsági beállítások (ACL) is. Hogy miért szükséges ez a bűvészkedés a jogosultsági szintekkel? Képzeljük el a következő helyzetet: kapunk egy e-mailt egy csatolmánnyal. Mikor lementjük a fájlt, az rögtön alacsony integritás-szintre kerül, mivel az internetről - egy nem megbízható helyről érkezett. Ezért aztán bármi legyen is a fájl tartalma, mikor lefuttatjuk azt semmi különös nem történhet, mivel - a fentiek alapján - egy alacsony szinten futó folyamat nem férhet hozzá a felhasználó magas, vagy nem jelölt, így közepes szinten lévő adataihoz. Az Internet Explorer védett módja a megbízhatósági szintek köré épült, és mivel a böngésző alapértelmezésként alacson integritás-szinten fut, biztosak lehetünk benne, hogy az Internet Explorer-en kereszül nem települhet többé a rendszerre semmilyen ártó
kód. Ezen túlmenően, mivel a Windows munkaasztal közepes szintre van besorolva, a böngészőben esetlegesen lefuttatott ActiveX vezérlő sem küldhet többé olyan megtévesztő üzeneteket a desktopra, miszerint vírustámadás áldozatai lettünk és azonnali hatállyal töltsük le ezt-és-ezt a programot - ami valójában maga a vírus.
PatchGuard A Windows rendszermag módosítását korlátozó PatchGuard körül az utóbbi időban nagy port kavartak a különböző védelmi szoftvereket gyártó cégek (pl. a Symantec vagy a McAfee) által kirobbantott nyilatkozatháborúk. Állításuk szerint a Microsoft kizárja őket a versenyből azzal, hogy lehetetlenné teszi a Windows kernel módosítását, így veszélynek teszik ki a felhasználókat is. Ez talán már elsőre is furcsán hangzik, de lássuk mi van a dolgok mögött. Mi a kernel? A kernel, vagyis a rendszermag a legalacsonyabb szintű komponense az operációs rendszernek. A boot-folyamat során elsőként töltődik be, majd olyan feladatokat lát el, mint a programok indítása, memória-, és a fájlrendszer kezelése. A kernel teszi lehetővé, hogy az egyes alkalmazások "beszélgethessenek" a hardvereszközökkel, így a mag sebessége, megbízhatósága és integritása alapvető fontosságú a rendszer egészére nézve. Mi a kernel-patchelés? A kernel külső eszközök igénybevételével történő, nem támogatott módosíta, mellyel szükségszerűen megbomlik a mag integritása, ami kihatással lehet a rendszer teljesítményére, stabilitására, de akár biztonságára is. A különböző védelmi programok (antivírusok, anti-spyware alkalmazások) gyártói a múltban gyakran alkalmazták ezt az eljárást, hogy elejét vegyék egy-egy fertőzésnek azáltal, hogy közvetlenül kernelszinten akadályozták meg egyes ártalmas programoknak, hogy bizonyos rendszerfüggvényeket hívjanak meg. De nem csak az antivírus cégek alkalmazták a kernel-módosítást, hanem a különböző vírusokat készítő programozók is, hiszen ilyen módon akár a fájlkezelők elől is elrejtőzni képes, úgynevezett rootkiteket is bejuttathattak a rendszerbe, amik aztán szabadon garázdálkodhattak anélkül, hogy bármely védelmi program tudomást szerzett volna a fertőzésről. A kernel-módosítás elleni védelem nem újkeletű, először a Windows XP és a Windows Server 2003 64 bites változataiban találkozhattunk vele az AMD64 és Intel EMT64T processzorok bevezetésének ideje körül. A 64 bites Windows Vista-ban azonban megkerülhetetlen lett a technológia, amint a Windows jogosulatlan kernel-módosítást érzékel automatikusan leállítja a rendszert.
Az antivírus cégek szemében ez persze érthető módon szálkát jelent, hiszen a továbbiakban nem alkalmazhatják a régi jól bevált módszert, a kernel módosítását. A Microsofthoz még olyan abszurd kérés is érkezett ezektől a vállalatoktól, hogy a védelem fenntartásával együtt tegyék lehetővé az ismert patnercégek számára, hogy csak ők módosíthassák a kernelt. Ez nyilvánvalóan kivitelezhetetlen, hiszen hogyan különböztetné meg a Windows a valóban jóindulatú és a csak jóindulatúnak tűnő programokat, valamint mi akadályozná meg a víruskészítőket abban, hogy egy ismert antivírus termék digitális aláírását felhasználva bejussanak a kernelbe? Bár a felháborodás jogosnak tűnhet, a Microsoft olyan további technológiákat bocsájt a cégek rendelkezésére, melyekkel a kernel módosítása nélkül is megfelelő kiegészítő védelemmel láthatják el a rendszert: Windows Filtering Platform - olyan hálózati műveletek engedélyezése, mint a csomagelemzés, például harmadik féltől származó tűzfal működésének támogatásához. File System Mini Filter - programok hozzáférésének biztosítása a fájlrendszer-műveletek figyeléséhez. Registry Notification Hooking - a Windows XP-ben bemutatott, de a Vista-ban továbbfejlesztett eljárás, mely lehetővé teszi a programoknak, hogy valós időben kövessék a rendszerleíró-adatbázis módosulásait. A PatchGuard-on kívül a Vista 64 bites változatainál további megszorításként ezentúl csak digitálisan aláírt és megfelelően kitesztelt eszközmeghajtók telepíthetők a rendszerre, ezáltal is növelve a Windows stabilitását.
A 32 bites változatokban még lehetőségünk van kihagyni az aláírás-ellenőrzést Session 0 izoláció A Windows XP és Windows Server 2003 rendszerekben minden operációs rendszer-komponens a
bejelentkezett felhasználóéval megegyező munkafázisban, a "session 0"-ban futott. Ez biztonsági problémákat vethet fel, mert a magas jogosultságú "Local System" felhasználói fiókkal futó Windows szolgáltatások kedvelt célpontjai voltak az ártalmas programoknak, hiszen egy interaktív művelettel akár ők maguk is emelt jogosultsági szintre juthattak. A Windows Vista-ban a nulladik munkafázis izolálva lett, így a bejelentkező felhasználó már a következő, 1-es fázisba lép be, ezzel együtt pedig a session 0 elvesztette interaktivitását, vagyis a szolgáltatások nem jeleníthetnek meg többé üzeneteket vagy párbeszédablakokat. Ezzel az elszigeteléssel megakadályozható, hogy a felhasználó szintjéről bármilyen kód átnyúlhasson arra a munkafázisra, ahol a rendszerszolgáltatások dolgoznak. Ha a Windows feladatkezelőben engedélyezzük a munkafázisok megjelenítését, láthatjuk, hogy a szolgáltatások és a felhasználói programok egymástól elszigetelt szinteken futnak. Ez a védelmi eljárás nyilvánvalóan kompatibilitási problémákat is felvet, hiszen a régebbi szolgáltatások (például eszközmeghajtók telepítésekor) megpróbálhatnak egy-egy üzenetet vagy ablakot megjeleníteni. Ezzel viszonylag ritkán találkozhatunk, de ha mégis előfordul a szolgáltatás telepítése ekkor hibával leállna. A Windows Vista erre is kínál megoldást: abban az esetben, ha interaktív szolgáltatással lenne dolgunk, az ablak megjelenítésének idejére a rendszer automatikusan átkapcsol a nulladik munkafázisra (ekkor eltűnik a szokásos Windows asztal), majd amint a program befejezte a működést visszatérünk a saját felhasználói szintünkre.
Egy interaktív szolgáltatás üzenetet jelenít meg a nulladik munkafázisban Service Hardening Most, hogy eljutottunk a szolgáltatásokig és a Local System fiókig, nézzük, milyen egyéb biztonsági újítások jelentek meg ezen a területen. A Windows Vista-ban nem csak a felhasználói fiókok, hanem a szolgáltatások is saját egyedi biztonsági azonosítóval (SID) rendelkeznek. Ez megakadályozhatja, hogy az egyes szolgáltatások "átnyúljanak" egymás munkaterületére és olyan obkjektumokat módosítsanak, amelyekhez egyébként semmi közük. Talán sokan emlékeznek a hírhedt Blaster vírusra, mely a Windows egyik alapszolgáltatását, az RPC-t (távoli eljáráshívás) kerítette hatalmába, így abszolút hatalmat szerzett a teljes rendszer fölött. A Vista esetében egy ilyen jellegű támadás már nem okozna rendszerszintű összeomlást, mivel még a "mindenható" RPC-nek sincs joga kritikus rendszerfájlokat vagy registrybejegyzéseket módosítania. A Windows Vista esetében egyébként - bár a rendszer több szolgáltatást tartalmaz - kevesebb fut alapértelmezettként, mint a korábbi verziókban. Néhány szó a Local System fiókról A Local System felhasználói fiók egy előre definiált hozzáférés a Windows beépített
szolgáltatásainak futtatásához. A Local System fiók nem rendelkezik jelszóval, mégis teljes hozzáférése van a rendszer egészéhez, magában foglalja a beépített adminisztrátor csoport jogosultsági körét is, hálózati környezetben pedig ez a szolgáltatás testesíti meg magát a "számítógépet", tehát a hálózati hitelesítés is ezen a fiókon keresztül történik. A szolgáltatások korábban szinte kivétel nélkül a "Local System" felhasználó nevében futottak, így sokszor szükségtelen jogosultságokat kaptak, ami az előbb leírtakat figyelembe véve komoly biztonsági aggályokat vethet fel. A Windows Vista-ban az XP-hez képest a szolgáltatások töredéke fut helyi rendszerfiókkal, a többségük átkerült a csökkentett jogosultságokkal rendelkező "Local Service", illetve "Network Service" fiókba. A szolgáltatások biztonsági azonosítója szorosan kapcsolódik a tűzfal házirendjéhez, így megakadályozható, hogy egy szolgáltatás a hatókörén kívül eső hálózati erőforrást érhessen el.
Az RPC szolgáltatás immár a csökkentett jogosultságú "Network Service" felhasználó nevében fut Végezetül tekintsük át újra, mely biztonsági szolgáltatások védik a Windows Vista rendszert és a felhasználók adatait: • • • • • •
BitLocker meghajtótitkosítás ASLR - rendszerkomponensek véletlenszerű memóriacímre történő betöltése DEP - kódvégrehajtás tiltása a memóriába beolvasott adatszegmensek helyén UAC - hozzáférés-megerősítés, Internet Explorer védett mód, fájlrendszer- és registryvirtualizáció MIC - megbízhatósági szintek a fájlrendszer-jogosultságok fölött PatchGuard - jogosulatlan kernel-módosítások megelőzése
• •
Session 0 izoláció - a szolgáltatások elkülönített munkafázisban történő futtatása Service Hardening - egyedi biztonsági azonosítókkal rendelkező szolgáltatások
A Windows Vista ezen "láthatatlan" védelmi képességein kívül természetesen olyan kiegészítő eszközökkel is óvhatjuk rendszerünket, mint az Internet Explorer 7 adathalász-, vagy a Windows Mail levélszemét-szűrője, vagy a kém- és egyéb ártó programok távoltartását segítő Windows Defender. Amikor legközelebb bekapcsoljuk számítógépünket, és elindítjuk a Windows Vista-t, gondoljunk egy kicsit ezekre az észrevétlenül, de annál hatékonyabban működő technológiákra, melyek mind azért dolgoznak a háttérben, hogy mi felhasználók biztonságos környezetben kapcsolódhassunk ki vagy végezhessük munkánkat. Aki képes az üvegesen csillogó Aero felület mögé pillantani és akár egy pillanatra is meglátni azt a rengeteg fejlesztést, amin a rendszer átment, az talán nem is tartja majd olyan nevetséges kijelentésnek, hogy a Windows Vista napjaink egyik legbiztonságosabb személyi számítógépes platformjává vált.