Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Hitelesítés és engedélyezés
Operációs rendszerek (vimia219) Hitelesítés és engedélyezés dr. Micskei Zoltán Utolsó módosítás: Az előadás felhasználja Tóth Dániel korábbi, hasonló témájú fóliáit.
2
Számítógépes rendszerek biztonsága
Fontos ez? Mindenkinek fontos? Mikor fontos? Nyilvánvaló, hogy banki, üzleti szférában fontos a biztonság, de máshol? Otthoni gépen? Személyes adatok megszerezhetőek stb. vissza lehet élni vele -> igen tényleg fontos. Beágyazott, zárt rendszerekben minek foglalkozni vele? Azért, mert a rendszerek sosem tekinthetőek teljesen „zártnak”, úgyis megpróbálnak majd belepiszkálni (lásd a fenti képet). Erre veszélyesebb példa a lengyel srác esete, aki a Lodz-i villamossín váltókhoz készített távirányítót és kisiklatott néhány villamost. Biztonságosnak tekinthető-e egy tűzfallal védett belső hálózat? Milyen buktatói lehetnek? Egy képszerkesztőben, médialejátszó vagy dokumentum néző alkalmazásban fontos-e a biztonság? Meglepő módon igen, mert ellenkező esetben a felhasználó által elvárttól eltérő viselkedés kényszeríthető ki belőle, egy szándékosan hibásan formázott bementtel.
3
Mikor fontos a számítógépes biztonság?
Szoftverfejlesztésben minden szinten foglalkozni kell a biztonsággal „Ha egy rendszert nem terveztek biztonságosra, akkor később lehetetlen azzá tenni.” A rendszer biztonsága a leggyengébb láncszem biztonságával azonos. „Az operációs rendszer nem csodaszer, rosszul megírt alkalmazás ellen nem véd.” tervezés implementáció üzemeltetés Későn megjelent biztonsági követelmények csak drágán és korlátozott mértékben implementálhatók. Pontosan úgy, mint minden más szoftver hibánál: minden szinten lejjebb lépve exponenciálisan nő a hiba kijavításához szükséges ráfordítás. Csakhogy itt annyival is rosszabb a helyzet, hogy nehezen értékelhető ki, hogy végül is mennyire lett biztonságos a rendszer a javítás után. Régen rossz (ámde sajnos roppant tipikus), ha az üzemeltetés szintjén kell megoldani ezt a problémát. Erre vannak mindenféle hardveres trükkök (NX bit), operációs rendszer szintű intézkedések (főleg OpenBSD-ben vannak implementálva, Linuxhoz is van ilyen patch készlet: PAX, grsecurity), futtató wrapperek stb. Ezek inkább csak többé-kevésbe hatékony kényszermegoldások az implementációs hibák ellen, tervezési hiányosságok ellen nem véd.
4
Miből áll a „biztonság” fogalma
Három kölcsönösen egymásra épülő alapfogalom Cél: garantálni, hogy a rendszer mindig az elvárt módon viselkedjen Egy technológia magában kevés A biztonság mindig csak a célkitűzés függvényében értelmezhető Sértetlenség (Integrity) Rendelkezésre állás (Availability) (Confidentiality) Bizalmasság (Fontos általános megjegyzés: most a security világ szemszögéből tekintjük át, a dependability-s világ más elnevezéseket és csoportosítást használ) Bizalmasság: titoktartás harmadik féllel szemben, először mindenkinek ez jut eszébe a számítógépes biztonságról Sértetlenség: legalább olyan fontos, hogy az üzenetek feladója tényleg az legyen, aki a feladó mezőben szerepel, illetve a kapott üzenet tartalma pontosan az legyen, amit az (igazi) feladó küldeni akart. (Hitelesség, Authenticity). Néha külön kiemelik a letagadhatatlanságot (Non-deniability), vagy kifejezetten a letagadhatóságot. Továbbá a rendszer elemei is megmaradnak olyannak, amilyennek elvárjuk, rongálástól, illetéktelen módosítástól mentesnek. (Tamper resistance). Rendelkezésre állás: gyakran elfeledett része a biztonságnak, kárt lehet okozni azzal is, ha csak működésképtelenné válik egy rendszer (Denial of Service), különösen fontos „biztonságkritikus” rendszerekben, ahol emberélet függhet a rendelkezésre állástól. A három tulajdonságot külön-külön kell vizsgálni, nem feltétlen következménye egyik a másiknak (pl. egy digitális aláírással ellátott levél garantálhatja a sértetlenséget, de ha nincs titkosítva, akkor nem garantálja a bizalmasságot). Megjegyzendő, hogy a hagyományos hibatűrésben a természet okozza a hibákat, ezeknek megfigyelhető, számítható valószínűsége van, hibatűrési mechanizmusokkal (redundancia beépítése) ez a valószínűség tetszőlegesen csökkenthető. A hibatűrési mechanizmusok sértetlenséget tételeznek fel. A szándékos támadások esetén az ellenfél intelligens, minden 0-tól eltérő valószínűségű „hibát” előállíthat. Megjegyzés: ezt a három alapfogalmra szokta a CIA (Confidentiality, Integrity, Availability) hármassal hivatkozni, ez nem összekeverendő a Central Intelligence Agency feloldással.
5
Biztonságot biztosító eszközök (példák)
Sértetlenség (Integrity) Rendelkezésre állás (Availability) (Confidentiality) Bizalmasság Kriptográfia Kommunikáció sértetlenségéhez, bizalmasságához kell Hálózati behatolás elleni védelem Redundancia, újrakonfigurálás Rendelkezésre állás Platform szintű behatolás elleni védelem Rendszeren futó alkalmazások sértetlensége Hitelesítés, engedélyezés (a lista nyilván nem teljes, más szempontok szerint is csoportosítható) Kriptográfia: Kódolástechnika c. tárgyban kerül elő. Szükséges eszköz a sértetlenség és bizalmasság garantálásához, de önmagában nem elég. Hálózati behatolás elleni védelem: cím alapú szűrések, tűzfalak, forgalom megfigyelés, rögzítés, gyanús forgalom beazonosítása – mindhárom biztonsági cél esetén szükség lehet rájuk, támadás hatásait hálózat szintjén próbálja behatárolni Redundancia, újrakonfigurálás: véletlen meghibásodás vagy támadás esetén a működőképesség fenntartása vagy helyreállítása Platform szintű behatolás elleni védelem: memóriavédelem, futási szintek, NX bit, stack ill. heap randomizáció, rendszerhívás monitorozás és korlátozás – olyan megoldások, amik hibás alkalmazások esetén próbálják behatárolni egy támadás hatásait, OS illetve futtató hardver szintjén Hitelesítés, engedélyezés: erről fog szólni a most következő előadás
6
Hitelesítés (Authentication)
Ki az „illetékes”? Hitelesítés (Authentication) Ki vagyok? Az vagyok-e akinek mondom magam? Engedélyezés (Authorization) Mihez férhetek hozzá? Mit csinálhatok vele? „Ne lehessen illetéktelenül adatokhoz jutni, műveletet végezni” – mit jelent az illetékesség/illetéktelenség? Üzenetalapú kommunikációként modellezünk most minden műveletet, beleértve a gépen belül illetve a felhasználó és gép közötti interakciót is. Feltételezhetjük, hogy az üzenetek lemásolhatóak, átírhatóak anélkül, hogy ez észlelhető lenne, beleértve a az üzenet küldőjének azonosítóját is. Tennünk kell annak érdekében, hogy megbizonyosodjunk arról, hogy az üzenetet valóban az küldi (a műveletet az kezdeményezi, stb.), akinek mondja magát. Ez a feladat a hitelesítés. Ha hiteles a küldő, akkor még mindig eldöntendő kérdés, hogy neki szabad-e elvégeznie a műveletet. Ez a feladat az engedélyezés. Itt is a két részterület együttesen biztosítja a cél elérését. (Megjegyzés: az authorization szót szokták máshogy is fordítani, pl. meghatalmazás, feljogosítás, jogosultság-ellenőrzés)
7
Ezekről majd a következő előadáson részletesen
Tartalom Számítógépes biztonság bevezető Felhasználók kezelése, hitelesítés UNIX, Linux alatt Windows alatt Engedélyezés Engedélyezés általános sémái Szerep alapú hozzáférés-vezérlés Hozzáférési jogosultság listák Engedélyezés UNIX, Linux alatt Engedélyezés Windows alatt Biztonsági alrendszer alapok Központosított hozzáférés-vezérlés Ezekről majd a következő előadáson részletesen
8
Hitelesítés Mi alapján dönthető el, hogy ki kicsoda?
…amit tud (pl.: jelszó) …amije van (pl.: kulcs, belépőkártya) …ami ő (pl.: ujjlenyomat, arckép) Ezek (akár egy kombinációja) alapján egy gép el tudja dönteni, hogy ki a személy, aki előtte ül Mi a helyzet a gép-gép közötti szolgáltatásokkal? Angolban ezt a hármast „knows”, „has”, „is” néven emlegetik.
9
Hitelesítés Hitelesítés három szinten kerülhet elő:
Ember és gép közötti interakció Gépen belül futó alkalmazások valamint az OS között Gép és gép között valamilyen hálózaton át Hitelesítési protokollok kellenek Gépen belül ill. gépek között csak az „amit tud” séma Használható bonyolult kriptográfiai számítás (embernél fejben nyilván nem) Operációs rendszer esetén protokollnak tekinthető az API, a folyamatok azonosítása, hozzátartozó engedélyeinek kezelése. Tágabb értelemben véve az OS szolgáltatása lehet, hogy hitelesítéssel garantálja a rá telepített programok sértetlen állapotát (aláírások ellenőrzése), OS szintű szolgáltatás lehet még a hálózati kapcsolatok hitelesítése, bizalmasságának garantálása is (pl. SSL könyvtár). Ez értelmezés kérdése.
10
Miből áll egy felhasználói fiók?
User + ID + Name + Real Name + Personal data… + Shared Secret (Password, etc.) + Private Datastore path A rendszer számára a felhasználó egy objektum…
11
Miből áll egy felhasználói fiók Linux alatt
Fiókot azonosítja UNIX/Linux esetén: UID (integer) (root 0, többiek általában 1000-…) User + UID + name + password + shell + home directory + comment + expiry date (A root UID-ja mindenhol 0, a többi felhasználóé néhány disztribúcióban 500-tól kezdődik, néhányban pedig 1000-től.)
12
Miből áll egy felhasználói fiók Linux alatt
User Group Initial group + UID + name + password + shell + home directory + comment + expiry date + GID + name (+ password) 1 * members * * Meglehetősen ritkán használt funkció a csoporthoz hozzárendelt jelszó, de van ilyen is.
13
Felhasználói fiókok Linux alatt
Segítség: man parancs man 5 passwd Felhasználó és csoportok tárolása fájlokban: /etc/passwd /etc/shadow /etc/group Létrehozás, módosítás, törlés useradd, usermod, userdel groupadd, groupmod, groupdel passwd 1. passwd fájlban vannak a felhasználói adatok, ezt mindenki olvashatja (hogy pl. az UID -> account name leképezést meg tudják csinálni) ~]$ man 5 passwd Ez megadja, hogy milyen mezői vannak a /etc/passwd fájlnak ~]$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:2:2:daemon:/sbin:/sbin/nologin meres:x:500:500:Teszt Felhasznalo:/home/meres:/bin/bash … Látszik a 0-s UID a root felhasználó A bin nevű felhasználó a rendszer része, ezzel például nem is lehet belépni (a nologin nevű program az alapértelmezett shellje, ami kilép) A meres pedig egy saját felhasználó már 2. shadow fájlban vannak a tikosított jelszavak # nezzuk meg, hogy milyen mezok vannak a shadow fajlban ~]$ man 5 shadow # a shadow faljt mar csak a root tudja megnezni ~]# cat /etc/shadow meres:thWUfjWdVy4MkvhmBO7UJXgEgpCyHQJUaD0:15380:0:99999:7::: Ez tárolja a titkosított jelszó mellett a legutolsó jelszómódosítás idejét, a jelszó lejárati idejét stb. 3. a group fájl tárolja a rendszerben lévő csoportokat ~]$ cat /etc/group root:x:0:root adm:x:4:root,adm,daemon meres:x:500: A csoportnak is lehet jelszava, van egy azonosítója, és utána következnek a tagjai
14
Identitás váltása Folyamat identitása menet közben változhat id su
Real UID vs. Effective UID id Ki vagyok én? su váltás egy adott felhasználóra adott felhasználó jelszavát kéri su – Login shellt indít (környezeti változók miatt fontos) sudo parancs végrehajtása más nevében saját jelszót kéri + jog kell hozzá (ld. /etc/sudoers) Részleteket lásd pl. The GNU C Library: Users and Groups ( „A process has a real user ID which identifies the user who created the process” „At any time, each process has an effective user ID, a effective group ID, and a set of supplementary group IDs. These IDs determine the privileges of the process.” (Példa a sudo használatára:
15
Futó folyamatok Ki vagyok én?
id Hogyan állapíthatjuk meg egy futó folyamatról, hogy ki a tulajdonosa ps aux, pstree, /proc/$PID/status Folyamat futása közben effektív user és group váltása su, sudo parancsok nézzük meg a su és su - közötti különbséget: echo $PATH más-mást ad vissza
16
Hitelesítési mechanizmusok Linuxon
Pluggable Authentication Modules (PAM) Hitelesítési mechanizmusoknak keretrendszer Cél: alkalmazástól leválasztani a mechanizmusokat Mechanizmusok dinamikus betöltése Mechanizmusok: /lib/security/ Kerberos Hálózati hitelesítési protokoll Lásd RFC 4120 Linux-PAM: The Linux-PAM System Administrators' Guide, URL: Kerberos: IETF. The Kerberos Network Authentication Service (V5). RFC 4120, URL:
17
Tartalom Számítógépes biztonság bevezető
Felhasználók kezelése, hitelesítés UNIX, Linux alatt Windows alatt Engedélyezés Engedélyezés általános sémái Szerep alapú hozzáférés-vezérlés Hozzáférés-vezérlési listák Engedélyezés UNIX, Linux alatt Engedélyezés Windows alatt Biztonsági alrendszer alapok Központosított hozzáférés-vezérlés
18
Engedélyezés általános sémái
Védett objektumok (protected objects) Biztonsági szabályzat (policy) ? Adatok ? ? Erőforrások Szereplő (Actor, Subject) Szereplőt leíró adatszerkezet A rendszerben a szereplőt egy adatszerkezet reprezentálja A jogosultság egy reláció a szereplők és a védett objektumok között
19
Hozzáférés végrehajtása
Művelet Olvas(Adat1) Jogosultság végrehajtó (enforcement point) elvégezhető Adat1 Jogosultsági döntő (decision point) Adat2 A szereplők műveleteket kezdeményeznek A műveletek kontextusa tartalmazza a szereplő azonosítóját, a célobjektumot és az elvégzendő művelet fajtáját A jogosultsági döntő komponens kiértékeli a kontextust, engedélyezi vagy megtiltja a műveletet A jogosultsági végrehajtó komponens biztosítja, hogy a döntő által hozott döntés érvényre jusson Erőforrás3 Művelet kontexusa
20
Engedélyezés gyakorlati kihívásai
Sok szereplő Rendszerek különbözőképpen azonosítják őket Sok védett objektum Rendszerek ezeket is különbözőképpen azonosíthatják Jogosultsági relációk: (Szereplők) X (Objektumok) X (Művelettípusok) Az ilyet teljes hozzáférési mátrixnak nevezzük Manuálisan (de még automatizáltan is) kezelhetetlen méretű adathalmaz
21
Teljes hozzáférési mátrix példa
Objektum1 Adat2 Erőforrás3 … Felhasználó1 Olvas Felhasználó2 Töröl, Olvas Lefoglal Felhasználó3 Olvas, Ír Felhasználó4 Egy átlagos desktop gépen is van ~ 10 darab felhasználó, ~ 100 ezer fájl, ~ 10 féle művelet. Túl nagy lenne a teljes mátrix, ráadásul nagy része üres vagy pedig sok sor vagy oszlop teljesen hasonló. KÉRDÉS: mekkora lenne ez egy mai normál rendszeren? CÉL: ehelyett valami jobb adatszerkezetet és ellenőrzési módszert találni
22
Engedélyezési módszerek csoportosítása
Engedélyezés csoportosítása Kötelezőség Kötelező (Mandatory) Belátás szerint (Discretionary) Szint Rendszer szintű Erőforrás szintű Típus Integritási szintek Hozzáférési listák A csoportosítás esetleges, rengeteg egyéb szempont van természetesen.
23
Engedélyezés fajtái - kötelezőség
Klasszikus fogalmak (US DoD szabvány) Kötelező (mandatory) jogosultságok osztása csak központilag felhasználók nem módosíthatják a házirendet Belátás szerint (discretionary) megfelelő jogú felhasználó továbboszthatja a jogokat
24
Engedélyezés fajtái - típus
Integritás védelem Címkék definiálása (+ teljes sorrendezés köztük) Objektumok és szereplők címkézése Kiértékelési szabályok definiálása: Pl. ha kisebb az objektum címkéje, akkor olvashatom
25
Integritás védelem Példa:
Címkék: High (H) > Medium (M) > Low (L) Szereplők: User1[H], User2[L] Objektumok: Obj1[M], Obj2[H], Obj3[L] Mi legyen a kiértékelési szabály? Bell–LaPadula modell feltételei (bizalmasság) : „No read up” – nem olvashatok magamnál magasabb szintű objektumból „No write down” – nem írhatok magamnál alacsonyabb szintű objektumba Biba modell feltételei (sértetlenség) : „No write up” – nem írhatok magamnál magasabb szintű objektumba „No read down” – nem olvashatok magamnál alacsonyabb szintű objektumból
26
Engedélyezés fajtái - típus
Integritás védelem Hozzáférés-vezérlési listák objektum → (szereplő, engedélyek) engedély: adatok írása, attribútumok olvasása…
27
Hozzáférés-vezérlési listák
+ mask * + OP1() + OP2() A hozzáférési maszk (access mask) tartalmazza, hogy pontosan milyen műveletekre vonatkozik az engedély Szereplő Engedély (Permission) Védett objektum
28
Hozzáférés-vezérlési listák
Egy védett objektumhoz engedélyek halmaza rendelhető + mask * * * Szereplő Engedély (Permission) Védett objektum Bővítsük úgy az előbbi sémát, hogy egy engedély több szereplőhöz is tartozhasson egy védett objektumhoz többféle engedély is tartozhasson (sorrendezés megszabhatja, hogy ezek közül melyik a fontosabb) Néha sorrendezést is megkövetel
29
Szerep alapú hozzáférés-vezérlés
A szerep fogalom hierarchikus szereplő csoportosítási lehetőséget ad. Role-based Access Control (RBAC) * + mask * * * * Szereplő Szerep (Role) Engedély (Permission) Védett objektum Még mindig nem az igazi, vezessük meg, hogy az engedélyeket nem szereplőkhöz rendeljük közvetlenül, hanem úgynevezett szerepekhez. Így könnyebben karbantartható lesz a rendszer (kevesebb hozzárendelést kell tárolni, és később könnyebb egy új szereplőhöz ugyanazokat az engedélyeket hozzárendelni). A szükséges engedélyek száma kezelhető szintre csökken
30
Hierarchikus objektumok
Ha a védett objektumok között természetszerűen hierarchia van… 1 * * + mask +inherit * * * * Szereplő Szerep (Role) Engedély (Permission) Védett objektum …egy engedély vonatkozhat egész részfára is öröklődéssel (inheritance)
31
RBAC megvalósítása memberOf Group User + Name (+ Purpose…) (+ Shared Secret) A felhasználói csoporttagság valójában egy RBAC megvalósítási lehetőség További példák: DB szerverek; ASP.NET Role Service…
32
Tartalom Számítógépes biztonság bevezető
Felhasználók kezelése, hitelesítés Linux alatt Windows alatt Központosított címtárak Engedélyezés Engedélyezés általános sémái Szerep alapú hozzáférés-vezérlés Hozzáférés-vezérlési listák Engedélyezés Linux alatt Engedélyezés Windows alatt Biztonsági alrendszer alapok Központosított hozzáférés-vezérlés, csoportházirendek
33
POSIX fájlrendszer jogosultságok
Alapelemek Szereplő: user (felhasználó) Szereplő hierarchia: group (csoport) Minden user teszőlegesen sok group tagja lehet Minden group tetszőlegesen sok usert tartalmazhat Group további groupot nem tartalmazhat Műveletek olvasás [read], írás [write], végrehajtás/keresés [execute/search] Engedélyek Kötött szerkezetű (3x3bittel megadva) Első a tulajdonos felhasználónak Második a tulajdonos csoportnak Harmadik mindenkinek (Speciális bitek) setuid, setgid: futtatásnál átveszi a fájl tulajdonosának uid-, gid-jét, sticky: újonnan létrejött fájlok tulajdonosát állítja Az execute bit tiltó hatása implicit módon öröklődik a könyvtárakon, más öröklés nincs A klasszikus POSIX engedélyezés egy viszonylag egyszerű rendszert implementál: Vannak szerepek (csoport), de az nem hierarchikus. A fájlokhoz/könyvtárakhoz hozzáférés-vezérlési listák rendelhetőek, de azok felépítése és száma előre meghatározott (3 féle művelet, 3 előre definiált engedély). Alapvetően nincs öröklés (kivéve: ahhoz, hogy belépjünk egy könyvtárba, az összes szülőjébe be kell tudnunk lépni, azaz azokra execute/search joggal kell rendelkezni).
34
Fájlrendszer jogok kiértékelése
-rwxrw-r-- 1 meres students 0 May 6 09:33 test.txt tulajdonos jogai tulajdonos csoport jogai egyéb jogok tulajdonos felhasználó tulajdonos csoport
35
Linux fájlrendszer jogosultságok
Tulajdonos manipulálása: chown csak rootnak engedélyezett, nem delegálható Jogosultság bitek módosítása: chmod Csak tulajdonosnak engedélyezett Többféle megadási mód: Teljes felülírás 3 db oktális számmal (r:4, w: 2, e: 1), pl.: 644 (user: read+write, group: read, other: read) Módosítás pl.: u+x (user add execute), g-w (group remove write) Listázás: ls -l illetve ls -l -n (POSIX ACL is létezik, idő hiányában nem tárgyaljuk) példa fájlok és könyvtárak létrehozása pl. /tmp/opre alatt (mkdir, touch, echo parancsok), text és shell szkript fájlok tulajdonos módosítása: chown root:root file1.txt jogok módosítása: chmod o-r file1.txt más, nem root felhasználóval megnézni, nem tudja megnézni a tartalmát adni jogot rá, ilyenkor már megtudja elvenni megint, de az aktuális felhasználót berakni a fájl tulajdonos csoportjába ilyenkor se tudja megnyitni, mert a csoporttagság a loginkor értékelődik ki (groups paranccsal lehet ellenőrizni) kilépni, visszalépni, és most már megy chmod: „A combination of the letters ugoa controls which users' access to the file will be changed: the user who owns it (u), other users in the file's group (g), other users not in the file's group (o), or all users (a).”
36
Fájlrendszeren kívüli engedélyek
Egyéb védett objektumok: „UNIX alatt minden erőforrás fájl” – jó elv, sajnos nem igaz következetesen mindenre Sok periféria rendelkezik fájlrendszer interfésszel Pl. merevlemez teljes tartalma: /dev/sd*, soros port /dev/ttyS* A kernel és teljes fizikai memória: /dev/kmem, /dev/mem Mi van azokkal a műveletekkel, amik nem sima olvasás vagy írás jellegűek? Nem kapcsolhatóak egy fájlhoz?
37
Fájlrendszeren kívüli engedélyek
Speciális kiváltságok root felhasználó nevében futó folyamatoknak Kérhetnek valós idejű ütemezési prioritást Hozzáférhetnek közvetlenül a perifériákhoz (!) Kell előtte memória illetve I/O tartomány allokáció 1024 alatti TCP/UDP porton hallgathatnak Kernel bizonyos konfigurációs beállításait megváltoztathatják, új modult tölthetnek be stb. Miért rossz ez? Webszerver: 80-as porton hallgat, de nem szabadna a rendszer konfigurációját módosítania Nem előnyös, ha ezek nem szabályozhatóak külön-külön Legkevesebb jog elve (principle of least privileges) POSIX Capabilities mechanizmus – globális rendszerszintű erőforrásokra vonatkozó jogosultságok (ún. privilégiumok) Capability definíciók listája: /usr/src/linux/include/linux/capability.h
38
Kitekintés Finomabb felbontású jogosultságkezelés végrehajtható fájlokra Platform szintű behatolás elleni védőmechanizmusok támogatására (PAX, grsecurity) A védőmechanizmusok számos egyébként sértetlen programot tesznek működésképtelenné (pl. JavaVM) Speciálisan kivételezni kell az ilyen alkalmazásokat fájlrendszerbe írt címkével (SELinux Security Labels) Alkalmazásokhoz hozzárendelt rendszerhívási profilok (AppArmor) – felfedi ha a „szokásoshoz” képest megváltozik az alkalmazás futása pl. Java VM futási időben generálna végrehajtható kódot, de az NX bitre épülő „W xor X” szabály megtiltja, hogy olyan memórialap, amire ír egy folyamat később végrehajtható legyen.
39
Összefoglalás Hitelesítés és engedélyezés szétválasztása
Engedélyezés általános fogalmai Megvalósítás UNIX/Linux környezetben
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.