Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Hitelesítés és engedélyezés dr. Micskei Zoltán Operációs.

Hasonló előadás


Az előadások a következő témára: "Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Hitelesítés és engedélyezés dr. Micskei Zoltán Operációs."— Előadás másolata:

1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Hitelesítés és engedélyezés dr. Micskei Zoltán Operációs rendszerek (vimia219)

2 Számítógépes rendszerek biztonsága  Fontos ez?  Mindenkinek fontos?  Mikor fontos? 2

3 Mikor fontos a számítógépes biztonság? tervezés implementáció üzemeltetés  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.”

4 Sértetlenség (Integrity) Rendelkezésre állás (Availability) Bizalmasság (Confidentiality) Miből áll a „biztonság” fogalma  Három kölcsönösen egymásra épülő alapfogalom  Cél: o 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ő

5 Biztonságot biztosító eszközök (példák)  Kriptográfia o Kommunikáció sértetlenségéhez, bizalmasságához kell  Hálózati behatolás elleni védelem  Redundancia, újrakonfigurálás o Rendelkezésre állás  Platform szintű behatolás elleni védelem o Rendszeren futó alkalmazások sértetlensége  Hitelesítés, engedélyezés Sértetlenség (Integrity) Rendelkezésre állás (Availability) Bizalmasság (Confidentiality)

6 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?

7 Tartalom  Számítógépes biztonság bevezető  Felhasználók kezelése, hitelesítés o UNIX, Linux alatt o Windows alatt  Engedélyezés o 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 o Engedélyezés UNIX, Linux alatt o 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 7

8 Hitelesítés  Mi alapján dönthető el, hogy ki kicsoda? o …amit tud (pl.: jelszó) o …amije van (pl.: kulcs, belépőkártya) o …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 o Mi a helyzet a gép-gép közötti szolgáltatásokkal? 8

9 Hitelesítés  Hitelesítés három szinten kerülhet elő: o Ember és gép közötti interakció o Gépen belül futó alkalmazások valamint az OS között o Gép és gép között valamilyen hálózaton át  Hitelesítési protokollok kellenek o Gépen belül ill. gépek között csak az „amit tud” séma o Használható bonyolult kriptográfiai számítás (embernél fejben nyilván nem) 9

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… 10

11 Miből áll egy felhasználói fiók Linux alatt User + UID + name + password + shell + home directory + comment + expiry date + UID + name + password + shell + home directory + comment + expiry date 11 Fiókot azonosítja UNIX/Linux esetén:  UID (integer)  (root 0, többiek általában 1000-…)

12 Miből áll egy felhasználói fiók Linux alatt User Group + GID + name (+ password) + GID + name (+ password) Initial group + UID + name + password + shell + home directory + comment + expiry date + UID + name + password + shell + home directory + comment + expiry date members 1 ** * 12

13 DEMO  Segítség: man parancs o man 5 passwd  Felhasználó és csoportok tárolása fájlokban: o /etc/passwd o /etc/shadow o /etc/group  Létrehozás, módosítás, törlés o useradd, usermod, userdel o groupadd, groupmod, groupdel o passwd Felhasználói fiókok Linux alatt

14 Identitás váltása  Folyamat identitása menet közben változhat o Real UID vs. Effective UID  id o Ki vagyok én?  su o váltás egy adott felhasználóra o adott felhasználó jelszavát kéri o su – Login shellt indít (környezeti változók miatt fontos)  sudo o parancs végrehajtása más nevében o saját jelszót kéri + jog kell hozzá (ld. /etc/sudoers ) 14

15 DEMO  Ki vagyok én? o id  Hogyan állapíthatjuk meg egy futó folyamatról, hogy ki a tulajdonosa o ps aux, pstree, /proc/$PID/status  Folyamat futása közben effektív user és group váltása o su, sudo parancsok Futó folyamatok

16 Hitelesítési mechanizmusok Linuxon  Pluggable Authentication Modules (PAM) o Hitelesítési mechanizmusoknak keretrendszer o Cél: alkalmazástól leválasztani a mechanizmusokat o Mechanizmusok dinamikus betöltése o Mechanizmusok: /lib/security/  Kerberos o Hálózati hitelesítési protokoll o Lásd RFC

17 Tartalom  Számítógépes biztonság bevezető  Felhasználók kezelése, hitelesítés o UNIX, Linux alatt o Windows alatt  Engedélyezés o 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 o Engedélyezés UNIX, Linux alatt o Engedélyezés Windows alatt Biztonsági alrendszer alapok Központosított hozzáférés-vezérlés 17

18 Engedélyezés általános sémái Szereplő (Actor, Subject) Szereplőt leíró adatszerkezet Adatok Erőforrások ? ? ? Biztonsági szabályzat (policy) 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 Védett objektumok (protected objects) 18

19 Hozzáférés végrehajtása Adat1 Olvas(Adat1) Adat2 Jogosultság végrehajtó (enforcement point) Jogosultság végrehajtó (enforcement point) elvégezhető Jogosultsági döntő (decision point) Erőforrás3 19 Művelet kontexusa Művelet

20 Engedélyezés gyakorlati kihívásai  Sok szereplő o Rendszerek különbözőképpen azonosítják őket  Sok védett objektum o Rendszerek ezeket is különbözőképpen azonosíthatják  Jogosultsági relációk: o (Szereplők) X (Objektumok) X (Művelettípusok) o Az ilyet teljes hozzáférési mátrixnak nevezzük o Manuálisan (de még automatizáltan is) kezelhetetlen méretű adathalmaz 20

21 Teljes hozzáférési mátrix példa  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 21 Objektum1Adat2Erőforrás3… Felhasználó1Olvas Felhasználó2Töröl, OlvasLefoglal Felhasználó3Olvas, Ír Felhasználó4 …

22 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 Engedélyezési módszerek csoportosítása 22

23 Engedélyezés fajtái - kötelezőség  Klasszikus fogalmak (US DoD szabvány)  Kötelező (mandatory) o jogosultságok osztása csak központilag o felhasználók nem módosíthatják a házirendet  Belátás szerint (discretionary) o megfelelő jogú felhasználó továbboszthatja a jogokat 23

24 Engedélyezés fajtái - típus  Integritás védelem o Címkék definiálása (+ teljes sorrendezés köztük) o Objektumok és szereplők címkézése o Kiértékelési szabályok definiálása: Pl. ha kisebb az objektum címkéje, akkor olvashatom 24

25 Integritás védelem  Példa: o Címkék: High (H) > Medium (M) > Low (L) o Szereplők: User1[H], User2[L] o Objektumok: Obj1[M], Obj2[H], Obj3[L] o Mi legyen a kiértékelési szabály? 25 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 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 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 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

26 Engedélyezés fajtái - típus  Integritás védelem  Hozzáférés-vezérlési listák o objektum → ( szereplő, engedélyek) engedély: adatok írása, attribútumok olvasása… 26

27 Hozzáférés-vezérlési listák + mask * SzereplőVédett objektumEngedély (Permission) A hozzáférési maszk (access mask) tartalmazza, hogy pontosan milyen műveletekre vonatkozik az engedély + OP1() + OP2() + OP1() + OP2() 27

28 Hozzáférés-vezérlési listák + mask ** SzereplőVédett objektumEngedély (Permission) Egy védett objektumhoz engedélyek halmaza rendelhető * Néha sorrendezést is megkövetel 28

29 Role-based Access Control (RBAC) Szerep alapú hozzáférés-vezérlés SzereplőVédett objektumSzerep (Role) + mask Engedély (Permission) * * *** A szerep fogalom hierarchikus szereplő csoportosítási lehetőséget ad. A szükséges engedélyek száma kezelhető szintre csökken 29

30 Hierarchikus objektumok SzereplőVédett objektumSzerep (Role) + mask +inherit + mask +inherit Engedély (Permission) * * *** * 1 Ha a védett objektumok között természetszerűen hierarchia van… …egy engedély vonatkozhat egész részfára is öröklődéssel (inheritance) 30

31 RBAC megvalósítása User Group + Name (+ Purpose…) (+ Shared Secret) + Name (+ Purpose…) (+ Shared Secret) memberOf A felhasználói csoporttagság valójában egy RBAC megvalósítási lehetőség 31 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 o Linux alatt o Windows alatt o Központosított címtárak  Engedélyezés o 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 o Engedélyezés Linux alatt o Engedélyezés Windows alatt Biztonsági alrendszer alapok Központosított hozzáférés-vezérlés, csoportházirendek 32

33  Alapelemek o Szereplő: user (felhasználó) o Szereplő hierarchia: group (csoport) o Minden user teszőlegesen sok group tagja lehet o Minden group tetszőlegesen sok user t tartalmazhat o Group további group ot nem tartalmazhat  Műveletek o olvasás [read], írás [write], végrehajtás/keresés [execute/search]  Engedélyek o Kötött szerkezetű (3x3bittel megadva) Első a tulajdonos felhasználónak Második a tulajdonos csoportnak Harmadik mindenkinek o (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 o Az execute bit tiltó hatása implicit módon öröklődik a könyvtárakon, más öröklés nincs POSIX fájlrendszer jogosultságok 33

34 Fájlrendszer jogok kiértékelése -rwxrw-r-- 1 meres students 0 May 6 09:33 test.txt 34 tulajdonos csoport tulajdonos felhasználó tulajdonos jogai tulajdonos csoport jogai egyéb jogok

35 DEMO  Tulajdonos manipulálása: chown o csak rootnak engedélyezett, nem delegálható  Jogosultság bitek módosítása: chmod o Csak tulajdonosnak engedélyezett o 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) Linux fájlrendszer jogosultságok

36 Fájlrendszeren kívüli engedélyek  Egyéb védett objektumok: o „UNIX alatt minden erőforrás fájl” – jó elv, sajnos nem igaz következetesen mindenre  Sok periféria rendelkezik fájlrendszer interfésszel o Pl. merevlemez teljes tartalma: /dev/sd*, soros port /dev/ttyS* o A kernel és teljes fizikai memória: /dev/kmem, /dev/mem  Mi van azokkal a műveletekkel, o amik nem sima olvasás vagy írás jellegűek? o Nem kapcsolhatóak egy fájlhoz? 36

37 Fájlrendszeren kívüli engedélyek  Speciális kiváltságok root felhasználó nevében futó folyamatoknak o Kérhetnek valós idejű ütemezési prioritást o Hozzáférhetnek közvetlenül a perifériákhoz (!) Kell előtte memória illetve I/O tartomány allokáció o 1024 alatti TCP/UDP porton hallgathatnak o Kernel bizonyos konfigurációs beállításait megváltoztathatják, új modult tölthetnek be stb.  Miért rossz ez? o 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 o Legkevesebb jog elve (principle of least privileges) o POSIX Capabilities mechanizmus – globális rendszerszintű erőforrásokra vonatkozó jogosultságok (ún. privilégiumok) 37

38 Kitekintés  Finomabb felbontású jogosultságkezelés végrehajtható fájlokra o Platform szintű behatolás elleni védőmechanizmusok támogatására (PAX, grsecurity) o A védőmechanizmusok számos egyébként sértetlen programot tesznek működésképtelenné (pl. JavaVM) o Speciálisan kivételezni kell az ilyen alkalmazásokat fájlrendszerbe írt címkével (SELinux Security Labels) o Alkalmazásokhoz hozzárendelt rendszerhívási profilok (AppArmor) – felfedi ha a „szokásoshoz” képest megváltozik az alkalmazás futása 38

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 39


Letölteni ppt "Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Hitelesítés és engedélyezés dr. Micskei Zoltán Operációs."

Hasonló előadás


Google Hirdetések