Princíp najnižšieho privilégia: Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
Luckas-bot (diskusia | príspevky)
d r2.7.1) (robot Pridal: fi:Pienimmän oikeuden periaate
Vegbot (diskusia | príspevky)
d typo gram
Riadok 1:
'''Princíp najnižšieho privilégia''', tiež známy ako '''princíp minimálneho privilégia''' alebo jednoducho '''najnižšie privilégium''', je pojem využívaný v [[Informačná bezpečnosť|informačnej bezpečnosti]], [[Veda o počítačoch|počítačovej vede]] a iných odvetviach. Je to princíp, ktorý vyžaduje, aby v príslušnej [[abstraktná vrstva|abstraktnej vrstve]] počítačového prostredia, každý [[modul (informatika)|modul]] (ako napríklad [[Proces (informatika)|proces]], [[Používateľ (informatika)|používateľ]] alebo [[Program (počítačový)|program]] podľa toho, o ktorú vrstvu sa jednáide) bol schopný pristupovať len k [[informácia|informáciám]] a prostriedkom, ktoré sú nevyhnutné pre dosiahnutie jeho opodstatneného zámeru.<ref>Saltzer 75</ref><ref>Denning 76</ref>
 
Používané sú tiež pojmy '''prístup najnižšieho používateľa''' (LUA) alebo '''najmenej privilegovaný [[používateľský účet]]''', vzťahujúce sa ku konceptu, v ktorom všetci používatelia v ľubovoľnom čase pracujú s čo najmenším možným počtom privilégií a taktiež spúšťajú aplikácie s najmenšími možnými privilégiami.
Riadok 8:
Princíp najnižšieho privilégia je tiež známy ako '''princíp najnižšej autority'' (''Principle of least authority'' - POLA).
 
[[Jadro (informatika))|Jadro (kernel)]] zvyčajne pracuje s maximálnymi privilégiami, pretože je jadrom [[operačný systém|operačného systému]] a má prístup k hardvéru. Jednou zo základných povinností operačného systému, obzvlášť multiužívateľských operačných systémov, je správa a riadenie dostupnosti hardvéru a požiadaviek na prístup k nemu od bežiacich procesov. Keď jadro havaruje, mechanizmy, ktorými je udržiavaný stav, tiež zlyhajú. I keď pre [[CPU]] existuje možnosť obnovenia bez potreby tvrdého resetu, kód, ktorý pokračuje vo vykonávaní, nie je vždy taký, aký by mal byť. Bezpečnosť zostáva byť presadzovaná, ale operačný systém nedokáže vhodne správne reagovať na zlyhanie, pretože detekcia zlyhania nie je možná. Dôvodom je, že vykonávanie jadra sa buď zastavilo, alebo počítadlo programu pokračovalo vo vykonávaní programu v nekonečnom a zvyčajne nefunkčnom cykle.
 
Ak po havárii vykonávanie pokračuje načítaním a spustením kódu [[trójsky kôň|trójskeho koňa]], autor škodlivého kódu sa môže zmocniť riadenia všetkých procesov. Princíp najnižšieho privilégia núti kód bežať s najnižším možným stupňom privilégií/práv, takže v prípade tejto situácie — alebo situácie, keď vykonávanie pokračuje z neočakávanej lokality — to, čo pokračuje vo vykonávaní, nemá možnosť vykonať škodu. Jedna z metód používaných na dosiahnutie tohto efektu môže byť implementovaná v hardvéri [[mikroprocesor]]u. V architektúre [[x86]] výrobca navrhol štyri (ring 0 - ring 3) „módy“. (Tento výraz môže byť mätúci, pretože termín "mód" je v niektorých druhoch operačných systémov uvádzaný do súvislosti s množinou bitov spájajúcou sa s daným prostriedkom).
Riadok 16:
Najnižšie privilégium býva často spájané s metódou zvanou [[privilege bracketing]], čo je prijatie nevyhnutných privilégií v najneskoršom možnom momente a ich prepustenie okamžite po tom, ako už nie sú absolútne nevyhnutné, čo pomáha vyhnúť sa dopadom vyplývajúcim z chybného kódu, ktorý neúmyselne využíva väčšie privilégiá, ako si zaslúži. Najnižšie privilégium býva tiež interpretované v súvislosti s distribúciou [[discretionary access control|DAC]] práv. Príkladom je uplatnenie toho, že odovzdanie prístupu na čítanie a zapisovanie do súboru F používateľovi P porušuje princíp najnižšieho privilégia, ak P stačí na dokončenie svojej úlohy iba právo na čítanie súboru F.
 
V niektorých operačných systémoch je možné sa stretnúť s implementáciou, v ktorej sa procesy vykonávajú s množinou potenciálnych privilégií a množinou aktívnych privilégií. Samotné množiny privilégií sú dedené od rodičov, o čom je rozhodnuté sémantikou ''[[Fork (operačné systémy)|fork]]()''. Spustiteľný súbor, ktorý vykonáva privilegovanú funkciu, môže byť označený množinou privilégií, logickým rozšírením pojmov [[setuid|set user ID]] a [[setgid|set group ID]]. Dedenie súborových privilégií procesom je určené sémantikou skupiny systémových volaní ''exec ()''. Presný spôsob, ktorým potenciálne privilégiá procesov, aktuálne privilégiá procesov a súborové privilégiá vzájomne interagujú, môže byť zložitý. Prakticky, princíp najnižšieho privilégia je vykonávaný prinútením procesu bežať iba s privilégiami vyžadovanými vykonávanou úlohou. Dodržiavanie tohto modelu je pomerne zložité a tiež náchylné k chybám.
 
Najstarším historickým prípadom najnižšieho privilégia je pravdepodobne zdrojový kód ''login.c'', ktorý začína vykonávanie s právami superužívateľa (root) a vo chvíli, keď už nie sú viac nevyhnutné, odoberá ich pomocou ''[[setuid]]()'' s nenulovým argumentom.
Riadok 25:
* Vyššia bezpečnosť systému. Keď je kód obmedzovaný v celosystémových akciách, ktoré môže vykonávať, zraniteľnosť jednej aplikácie nemôže byť zneužitá na ovládnutie zvyšku systému. Napríklad, Microsoft tvrdí “Práca v štandardnom používateľskom režime poskytuje zákazníkom zvýšenú ochranu voči neúmyselnému poškodeniu na úrovni systému, spôsobenému "[[shatter útok]]mi" a [[malware|malwarom]], tak isto ako [[root kit]]mi, [[spyware|spywarom]] a [[počítačový vírus|nedetekovateľnými vírusmi]]”.
 
* Zjednodušenie nasadenia aplikácií (deployment). Vo všeobecnosti, čím nižšie privilégiá aplikácia požaduje, tým jednoduchšie je nasadenie vo väčšom prostredí. Toto je obvykle dôsledkom prvých dvoch výhod, aplikácie, ktoré inštalujú ovládače zariadení alebo vyžadujú zvýšené bezpečnostné privilégiá, majú obvykle vo svojom nasadení zahrnuté dodatočné kroky, napríklad vo [[Windows]]e riešenie bez ovládačov zariadení môže byť spustené bez akejkoľvek inštalácie, kým ovládače zariadení musia byť inštalované samostatne s použitím Windows inštalačnej služby za účelom udelenia zvýšených privilégií ovládaču.
 
== Obmedzenia ==