13. Védelem A védelem célja Védelmi tartományok Hozzáférési mátrixok (access matrix, AM) A hozzáférési mátrixok implementációja A hozzáférési jogok visszavonása Képesség-alapú rendszerek Nyelvbe ágyazott védelem Operációs rendszerek (I 1204) 90
A védelem célja A számítógépes rendszer objektumok (hardver és szoftver) együttesének tekinthető. Minden objektumnak egyedi neve van és operációknak (műveleteknek) egy jól definiált halmazával érhető el. Absztrakt adattípusok szerepe a modellezésnél! Védelmi probléma biztosítani, hogy minden objektum korrekt módon legyen elérhető, és kizárólag azon processzusok által, amelyeknek az elérés megengedett. need-to-know elv mechanizmusok és politikák szétválasztása Operációs rendszerek (I 1204) 91
Védelmi tartományok (protection domain) Tartomány szerkezet Hozzáférési jog = <objektum név, joghalmaz> A joghalmaz a rendszerben implementált (érvényes) operációknak az a részhalmaza, amelynek elemei az objektumra végrehajthatók. Tartomány = hozzáférési jogok halmaza D1 D2 D3 AR1 AR2 AR3 AR4 AR5 AR6 AR7 AR8 AR1 = <file_a, {read, write}> AR8= <file_a, {read}> Operációs rendszerek (I 1204) 92
Tartomány implementáció A rendszerben két tartomány van (primitív) user supervisor UNIX Tartomány = USER-ID Tartomány váltást a fájl rendszeren keresztül lehet végrehajtani. Minden állományhoz tartozik egy tartomány-bit (setuid bit). Ha az állomány végrehajtásra kerül és a setuid bit 1, akkor a USER-ID beállítódik a végrehajtás alatt levő fájl tulajdonosának megfelelően. Ha a végrehajtás befejeződött, a USER-ID visszaáll eredeti állapotába. Multics gyűrűk Legyen D i és D j két tartomány gyűrű. Ha j<i, akkor D i D j. 0 n Operációs rendszerek (I 1204) 93
Hozzáférési mátrixok Sorok: tartományok Oszlopok: tartományok + objektumok Bejegyzések: hozzáférési jogok, operátor nevek tartomány objektum FILE1 FILE2 FILE3 PRINTER D1 read read D2 print D3 read execute D4 read, write read, write Operációs rendszerek (I 1204) 94
A hozzáférési mátrix használata Ha egy processzus a Di tartományban az Oj objektumon az op operációt kívánja végrehajtani, akkor op elő kell forduljon a hozzáférési mátrix megfelelő pozíciójában Kiterjeszthető dinamikus védelemmé Új operációk: Hozzáférési jogok hozzáadása, törlése Speciális hozzáférési jogok: owner of Oi, copy op Oi-ból Oj-be, control: átkapcsolás a Di és Dj tartományok között A hozzáférési mátrix világosan elválasztja a mechanizmust a politikától Mechanizmus: az operációs rendszer szolgáltatja a hozzáférési mátrixot + megfelelő szabályokat. Biztosítja, hogy a mátrix csak arra jogosult agensek által manipulálható és a szabályokat szigorúan betartatja. Politika: a felhasználó diktálja. Ki érhet el egyes objektumokat és milyen módban teheti ezt. Operációs rendszerek (I 1204) 95
A hozzáférési mátrixok implementációja Minden oszlop: = egy ACL (Access Control List, hozzáférési lista) egyetlen objektumhoz. Definiálja, hogy ki és mit "operálhat" az objektumon. Minden oszlop: = egy CL (Capability List, jogosultsági lista) egyetlen tartományhoz. Definiálja, hogy a különböző objektumokon mit "operálhat" a tartományban levő processzus. Operációs rendszerek (I 1204) 96
A hozzáférési jogok visszavonása Operációs rendszerek (I 1204) 97
Képesség-alapú rendszerek Operációs rendszerek (I 1204) 98
Nyelvbe ágyazott védelem Operációs rendszerek (I 1204) 99