Legkisebb jogosultság elve

A Wikipédiából, a szabad enciklopédiából

Az informatikai biztonságban, a számítástechnikában és más területeken a legkisebb jogosultság elve (angol nyelvterületen: principle of least privilege, principle of minimal privilege vagy egyszerűen least privilege) azt írja elő, hogy egy számítógépes környezet adott absztrakciós rétegében minden modul (mint pl. processz, felhasználó vagy alkalmazás) kizárólag olyan információkhoz és erőforrásokhoz fér hozzá, amelyek szükségesek a modul legitim céljainak eléréséhez.[1][2]

Felhasználók esetében a legkisebb jogosultságú felhasználó (least user access) a legkevésbé privilegizált felhasználói fiók (least-privileged user account, LUA) kifejezéseket használják, arra utalva, hogy a felhasználóknak lehetőleg mindig a lehetséges legalacsonyabb jogosultságokkal kéne működniük, és a lehető legalacsonyabb jogosultsággal kellene alkalmazásokat indítaniuk.

Előnyök[szerkesztés | forrásszöveg szerkesztése]

  • Jobb rendszerstabilitás. Ha a kód csak korlátozott mértékben képes a rendszerben változásokat előidézni, könnyebb tesztelni a lehetséges hatásokat, illetve interakciókat más alkalmazásokkal. Az alacsony jogosultsági szintű programok például nem képesek a számítógépet, vagy az ugyanazon a gépen futó más alkalmazásokat lefagyasztani.
  • Magasabb fokú biztonság. Ha a kód csak korlátozott mértékben képes a rendszerben változásokat előidézni, az egyik alkalmazás biztonsági réseit nem lehet felhasználni arra, hogy a számítógép többi részei felett is megszerezzék az irányítást. A Microsoft szerint „az általános jogú felhasználóként futás megnövelt védelmet ad a vásárlók számára a rosszindulatú alkalmazások (root kitek, spyware-ek, vírusok) pusztításával szemben”.
  • Könnyebb bevezethetőség. Általában elmondható, hogy egy alkalmazásnak minél kevesebb jogosultságra van szüksége, annál könnyebb bevezetni egy nagyobb vállalati környezetben. Ez általában az előző két előnyből levezethető. Microsoft Windows környezetben az olyan alkalmazások használatához, amik saját eszközmeghajtókat vagy rendszergazdai jogosultságokat igényelnek, több lépés szükséges, mint egy olyan programhoz, ami általános felhasználói jogosultságokkal, akár telepítés nélkül is elindítható.

Korlátok[szerkesztés | forrásszöveg szerkesztése]

James Whittaker szerint a szigorúan vett legkisebb jogosultság elve a gyakorlatban nem alkalmazható, sőt a legkisebb jogosultság nem is definiálható.[3] Nincs arra módszer, hogy egy processzről előre eldöntsük, pontosan melyek a futása során szükséges legkisebb jogosultságok. Ez azért van, mert a legegyszerűbb esetektől eltekintve nem tudható előre, hogy a processz változói milyen értékeket vehetnek fel, milyen memóriacímeket fog elérni, a pontos futási idő stb. A legtöbb, amit a gyakorlatban megtehetünk, hogy a privilégiumokat annyira leszűkítjük, hogy az olyan erőforrásoktól megfosszuk, amikre józan ésszel beláthatóan sohasem lesz szüksége. Ez nyilvánvalóan távol áll a tényleges minimális jogosultságoktól. Ezek a korlátok jelentősen lecsökkentik a legkisebb jogosultságok elvének gyakorlati, hatékony alkalmazhatóságát.

Barnum and Gegick szerint egy másik korlát a működési környezetnek (a biztonságos operációs rendszernek) az egyes processzekre vonatkozó fennhatóságának szemcsézettsége (granularitása).[4] A gyakorlatban szinte soha nem lehetséges egy folyamatnak a memóriához való hozzáférését, CPU-felhasználását vagy periféria-hozzáférését olyan precizitással szabályozni, hogy pontosan annyi privilégiumra korlátozzuk, amelyeknél többre nem lesz szüksége. Ez tovább korlátozza az elv használatóságát.

Források[szerkesztés | forrásszöveg szerkesztése]

  1. Saltzer 75
  2. Denning 76
  3. James Whittaker, Why secure applications are difficult to write, IEEE Security & Privacy, vol. 1, issue 2, pp. 81-83
  4. Least Privilege

Külső hivatkozások[szerkesztés | forrásszöveg szerkesztése]