1 / 31

Bezp ečnosť operačného systému Windows

Bezp ečnosť operačného systému Windows. Doc. Ing. Ladislav Hudec, CSc. 1. Riadenie prístupu k objektom. Ochrana v šeobecných objektov v počítačovom systéme. Existuje niekoľko komplementárnych cieľov v ochrane objektov.

gale
Download Presentation

Bezp ečnosť operačného systému Windows

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bezpečnosť operačného systému Windows Doc. Ing. Ladislav Hudec, CSc. 1

  2. Riadenie prístupu k objektom • Ochrana všeobecných objektov v počítačovom systéme. Existuje niekoľko komplementárnych cieľov v ochrane objektov. • Kontrola každého prístupu – ak subjekt mal prístup k objektu, neznamená to, že ho bude mať stále. Je potrebné zariadiť, aby po zmene prístupových práv subjektu, sa táto zmena uplatnila okamžite. • Povolenie najnižších privilégií – subjekt by mal mať prístup k najmenšiemu počtu objektov potrebných na vykonanie úlohy. Nepovolením prístupu k nepotrebným objektom sa chránime proti slabinám v bezpečnosti v prípade, že časť bezpečnostných mechanizmov by zlyhala. • Verifikácia akceptovateľného použitia – schopnosť pristúpiť je rozhodnutie binárne áno-nie. Ďalším záujmom môže byť kontrola, či aktivita subjektu nad objektom je vhodná. Napríklad prístup procesu k údajovej štruktúre zásobník. 2

  3. Bezpečnostné charakteristiky štandardných operačných systémov • Základné úlohy operačného systému počítača: • Správa prostriedkov počítačového systému – procesor, hlavná pamäť, diskový priestor, vstupno – výstupné zariadenia, atď. • Poskytovanie služieb používateľom – súborový systém, ovládače vstupno – výstupných zariadení, sieťová komunikácia, editori, systémové hodiny, atď. • Bezpečnostné charakteristiky štandardných operačných systémov • Autentifikácia používateľa – OS musí identifikovať a autentifikovať každého používateľa a až potom môže umožniť prístup k svojim zdrojom podľa jeho autorizácie • Ochrana pamäti – každý používateľský program sa musí vykonávať v časti pamäti chránenej proti neoprávneným prístupom • Riadenie prístupu k súborom a vstupno – výstupným zariadeniam – OS chráni systémové a používateľské súbory pred neoprávnenými prístupmi, tak isto chráni aj vstupno – výstupné zariadenia • Alokácia a riadenie prístupu k všeobecným objektom – prideľovanie procesora, hlavnej pamäti, synchronizačné mechanizmy, konštrukcie na podporu súbežného spracovania • Presadzovanie zdieľania (spoločného používania) – zdroje musia byť prístupné používateľovi podľa potreby. Zdieľanie prináša potrebu garantovania integrity a konzistencie. • Garancia férových služieb – všetci používatelia očakávajú využívanie procesora a ostatných služieb tak, že každý z nich bude obslúžený (bez starvácie). Zabezpečujú to systémové hodiny a plánovacie disciplíny. 3

  4. Bezpečnostné charakteristiky štandardných operačných systémov • Bezpečnostné charakteristiky štandardných operačných systémov • Medziprocesová komunikácia a synchronizácia – vykonávajúce sa procesy potrebujú medzi sebou komunikovať alebo synchronizovať prístup k spoločným prostriedkom. Tieto služby zabezpečuje operačný systém a slúži ako most medzi procesmi. • Ochrana bezpečnostných údajov operačného systému – operačný systém musí spravovať údaje, prostredníctvom ktorých presadzuje bezpečnosť. Ak by tieto údaje neboli chránené proti neoprávnenému prístupu (čítanie, zápis, zrušenie), potom OS by nedokázal presadzovať bezpečnosť. 4

  5. Bezpečnostné charakteristiky dôveryhodných operačných systémov • V čom spočíva dôveryhodnosť operačného systému? Jeho podstata je v rešpektovaní pravidiel špecifikácie, návrhu a implementácie • Bezpečnostná politika – súbor bezpečnostných požiadaviek ako množina dobre definovaných, konzistentných a implementovateľných pravidiel. Pravidlá musia byť vyjadrenéjasne a nedvojzmyselne. • Bezpečnostný model – predtým ako návrhár začne vytvárať dôveryhodný OS musí byť presvedčený, že navrhnutý systém bude splňovať jeho požiadavky. Vytvorí si model prostredia, ktoré bude chránené a študuje rôzne spôsoby na zaistenie bezpečnosti. Model je v skutočnosti reprezentácia bezpečnostnej politiky. • Návrh – po vybratí bezpečnostného modelu si musí návrhár vybrať prostriedky na implementáciu modelu • Dôvera – OS hrá centrálnu úlohu pri bezpečnosti. Návrhár musí mať nástroje, aby sa ubezpečil, že OS splňuje jeho požiadavky. Dôvera je založená na dvoch aspektoch: • Vlastnostiach OS – OS má všetky funkcionality potrebné na zaistenie očakávanej bezpečnostnej politiky • Záruky – že OS bol implementovaný takým spôsobom, že máme dôveru zaistenia bezpečnostnej politiky • Bolo vyvinutých viacero bezpečných (aj dôveryhodných?) OS, viacero sa stále ešte vyvíja. Niektoré bezpečné OS boli originálne navrhnuté pre bezpečnosť, iným boli iba dorábané bezpečnostné charakteristiky dodatočne. 5

  6. Bezpečnostné charakteristiky dôveryhodných operačných systémov • Bezpečnostné charakteristiky dôveryhodných operačných systémov • Identifikácia a autentifikácia používateľa – dôveryhodný OS vyžaduje I&A všetkých používateľov • Špecifikovanie politiky riadenia prístupu – dôveryhodný OS musí mať špecifikovanú politiku riadenia prístupu, napríklad MAC alebo DAC. Principiálne obe politiky môžu byť aplikované súčasne, MAC má potom prednosť pred DAC (pre DAC sú oprávnené iba tie subjekty, ktoré vyhovujú MAC). • Ochrana opakovaného použitia prostriedku – pred opakovaným použitím prostriedku je nevyhnutné z prostriedku odstrániť všetky údaje, ktoré by mohol nový používateľ (útočník) vyčítať a zneužiť. Napríklad pri alokácii diskového priestoru pre nový súbor môže tento alokovaný priestor obsahovať údaje zo starého nie bezpečne zrušeného súboru. Podobne je to s hlavnou pamäťou, registrami procesora, cache, atď. • Úplné sprostredkovanie – aby politika riadenia prístupu fungovala efektívne, je nevyhnutné, aby všetky prístupy boli riadené. Je nedostatočné riadiť prístup iba k súborom, keď útočník získa prístup cez pamäť alebo vonkajší port alebo sieť alebo skrytý kanál. • Dôveryhodná cesta – OS musí mať spôsob ako zaistiť, že sa používajú nespochybniteľné zdroje. Napríklad skutočný prihlasovací modul a nie podvrhnutý Trójsky kôň na odchytávanie mena a hesla používateľa. 6

  7. Bezpečnostné charakteristiky dôveryhodných operačných systémov • Bezpečnostné charakteristiky dôveryhodných operačných systémov • Účtovateľnosť a audit – bezpečnostne dôležité akcie môžu byť jednoduché (prístup k súboru) ale aj zložitejšie (zmena v centrálnej databáze riadenia prístupu). Účtovateľnosť vyjadruje schopnosť systému sledovať bezpečnostne dôležité udalosti, ktoré v systéme nastali a identifikovať subjekt, ktorý tieto udalosti spôsobil a je za ne zodpovedný. Záznamom týchto udalostí sa hovorí auditné záznamy. Auditné záznamy musia byť chránené. • Redukcia auditného záznamu – centrálny problém auditných záznamov je jeho objem a analýza. Jedným extrémom je, že do auditného záznamu sa ukladajú informácie o všetkých elementárnych aktivitách subjektov, to však vedie k enormnému objemu záznamu. Vo väčšine dôveryhodných OS je auditované napríklad iba prvý prístup k súboru (otvorenie) a zatvorenie súboru alebo podobných objektov. Problém analýzy auditného záznamu je „hľadanie ihly v kope sena“. Niektoré dôveryhodné OS vykonávajú redukciu auditných záznamov. • Detekcia prieniku – je založená na sledovaní abnormálnych vzorov vo využívaní objektov. Problém je stanoviť „čo je abnormálny vzor?“. 7

  8. Architektúra systému Windows • OS Windows 2000 so Service Pack 3 je certifikovaný na bezpečnostnú úroveň EAL4 (Evaluation Assurance Level, podľa ISO/IEC 15408) • OS pracuje v dvoch režimoch (podobne ako UNIX) • Používateľský režim (user mode) – typicky v chránenom okruhu 3 (najnižšom) • Režim kernel (kernel mode) – typicky v chránenom okruhu 0 (najvyššom). • Vrstva Hardware Abstraction Layer (HAL) poskytuje interfejs OS na hardvér. • Hlavné služby OS vrátane Windows executive sa vykonávajú v režime kernel. Executive tiež zahrňuje Bezpečnostný referenčný monitor (Security Reference Monitor - SRM), ktorý je zodpovedný za riadenie prístupu. • Používateľský program prostredníctvom API (Application Program Interface) vykonáva volania služieb OS. Prepínanie kontextu a prechod z okruhu 3 do okruhu 0 je zabezpečený procedúrou Local procedure Call facilities. • Ovládače zariadení (často ovládače tretej strany) sa vykonávajú v režime kernel. Ovládače tretích strán môžu mať bezpečnostné problémy (napr. pretečenie vyrovnávacej pamäti), čo môže využiť útočník napr. na získanie plnej kontroly OS. 8

  9. Architektúra systému Windows • V používateľskom režime sa vykonávajú tieto komponenty bezpečnostného subsystému: • Proces log-on (winlogon) – proces autentifikujúci používateľa pri prihlasovaní sa • Lokálna bezpečnostná autorita (LSA - Local Security Authority) – je zahrnutý do prihlasovania sa pri kontrole používateľovho konta a vytvára access token (prístupový token), je zodpovedný tiež za funkcie auditovania • Bezpečnostný manažér kont (SAM - Security Account Manager) – udržuje databázu používateľských kont, ktorú používa LSA pri autentifikácii používateľa pri lokálnom prihlásení • V SAM sú uložené hašované hodnoty hesiel, navyše databáza hašovaných hesiel je zašifrovaná. 9

  10. Security Subsystem Win32 Application Active Directory Win32 Subsystem Plug&Play Manager režim user režim kernel Windows Executive Services Security Reference Monitor Plug & Play Manager Windows Manager I/O Manager IPC Manager Memory Manager Process Manager Power Manager Graphic Device Drivers File Systems Object Manager Device Drivers Microkernel Hardware Abstraction Layer (HAL) Hardware Architektúra systému Windows 10

  11. Registry • Registry je centrálna databáza pre konfiguračné údaje OS. • Položky databázy sa nazývajú keys (kľúče, pozor nie šifrovacie!) • Pomocou Registry Editor (regedit.exe, regedt32.exe) je možné modifikovať databázu a zobrazovať položky • Na najvyššej úrovni má registry päť dôležitých preddefinovaných kľúčov: • HKEY_CLASSES_ROOT – obsahuje asociáciu na názov rozšírenia súboru, je možné špecifikovať, že .doc súbory budú spracovávané MS Wordom • HKEY_CURRENT_USER – obsahuje konfiguračné údaje práve prihláseného používateľa • HKEY_LOCAL_MACHINE – obsahuje konfiguračné údaje o lokálnom stroji • HKEY_USERS – obsahuje všetky aktívne zavedené používateľské profily na systéme • HKEY_CURRENT_CONFIG – obsahuje informácie o hardvérovom profile používanom na lokálnom stroji pri štartovaní systému • Registry hniezdo (Registry hive) - je skupina kľúčov, subkľúčov a hodnôt v registry. Bezpečnostne relevantné hniezda sú: • HKEY_LOCAL_MACHINE\SAM • HKEY_LOCAL_MACHINE\Security • HKEY_LOCAL_MACHINE\Software • HKEY_CURRENT_CONFIG • HKEY_USERS \DEFAULT 11

  12. Registry • Pomocou registry môže byť systém ušitý na mieru používateľovým požiadavkám a môžu byť nastavené preddefinované ochrany. • Modifikovaním kľúčov registry môže útočník modifikovať správanie OS • Kľúč z registry môže ukazovať na lokáciu (path – cesta), kde OS automaticky hľadá určité vykonateľné súbory • Ak nastavené prístupové práva k tomuto kľúču sú slabé (prístup zápisu pre Everyone), potom útočník môže modifikovaním kľúča vložiť škodlivý kód • Je absolútna nevyhnutnosť chrániť integritu údajov registry • Odstránenie editora registry zo všetkých strojov, ktoré nie sú používané na manažment systému, je dobrá bezpečnostná prax. • Niektoré bezpečnostne relevantné kľúče dokonca nie je možné zmeniť editorom registri, ale iba špecifickou utilitou. 12

  13. Doména • Samostojacie počítače s OS Windows sú zvyčajne administrované lokálne svojimi používateľmi. Vo väčšej organizácii je dôležité používanie štruktúrovanejšieho prístup manažmentu systémov a manažmentu bezpečnosti. • OS Windows 2000 používa doménu na podporu single sign-on a na centrálnu administráciu bezpečnosti. • Doména je súbor strojov zdieľajúcich spoločnú databázu používateľských kont a bezpečnostnú politiku • Domény môžu vytvárať hierarchiu • Používatelia nepotrebujú kontá na individuálnych strojoch v rámci domény • V doméne jeden server je v úlohe doménového kontroléra (DC - Domain Controller) • Ostatné počítače sú potom pripojené k doméne • Doménový administrátori vytvárajú a spravujú doménových používateľov a skupiny na DC • DC autorita má informáciu o používateľských heslách a môže fungovať ako dôveryhodná tretia strana v prípade, že sa používateľ autentifikuje pri prístupe do inej entity. • Doména môže mať viac než jeden DC. Aktualizácie sa môžu vykonať na ľubovoľnom DC a sú prenášané na všetky DC v doméne (je aplikovaná koncepcia decentralizácia služieb pri spravovaní a prevádzke domény z dôvodov dosiahnutia vyššej výkonnosti). 13

  14. Mode: Color Room: 123 Firma X Name: Lujza Email: Lujza.Spatna Address: Bratislava Room: 456 Divízia A Divízia B Výskum Active Directory • Adresárová služba OS Windows 2000 organizuje objekty v rámci Active Directory • Active Directory môže byť zobrazený ako strom typových objektov • Kontajnery (containers) sú objekty, ktoré môžu obsahovať ďalšie objekty • Active Directory môže byť dynamicky rozširovaný pridaním nových objektov alebo pridaním nových vlastností existujúcim objektovým typom (objektové typy môžu byť ušité na mieru konkrétnym požiadavkám používateľa) • Každý objektový typ má špecifické vlastnosti a jedinečné GUID (Globally Unique IDentifier). To znamená, že každá vlastnosť má svoje vlastné GUID. • Nižšie je objekt zamestnanec s vlastnosťami Name, Email, Address, Room a objekt tlačiareň s vlastnosťami Mode a Room • Logicky príbuzné objekty odlišných typov môžu byť umiestnené v tom istom kontajneri, čo je výhodné z hľadiska spravovania zdrojov organizácie, pretože nie je potrebná odlišná štruktúra pre odlišné typy objektov a pretože je možné použiť adresárovú štruktúru na definovanie všeobecných prístupových politík pre kontajnery a ponechať objektom v kontajneri zdediť politiku. 14

  15. Riadenie prístupu - komponenty • Riadenie prístupu v OS Windows je komplexnejšie než je riadenie prístupu v typickom súborovom systéme (objekty sú súbory, kľúče registry, objekty Active Directory, atď). • Nástroje na štruktúrovanie politík riadenia prístupu vo Windows 2000 sú skupiny, role a dedenie. • Principals (pomenované subjekty) v OS sú: lokálny používateľ, alias, doménový používateľ, skupina alebo stroj. • Subjekty (principals) majú človeku zrozumiteľné meno (username) a stroju zrozumiteľné meno SID (Security IDentifier) • Používateľ vytvorený LSA je lokálny používateľ • Lokálne subjekty sú administrované lokálne a sú viditeľné iba lokálnemu stroju (operačnému systému stroja a lokálnym používateľom). Lokálne subjekty a aliasy môžu byť zobrazené z príkazového riadku príkazmi net user respektíve net localgroup • Doménoví používatelia sú administrovaní doménovými administrátormi (domain admins - alias) na doménovom kontroléry a sú viditeľní všetkým strojmi v doméne • Existuje tiež univerzálny subjekt (principal), napríklad Everyone alias • Informácie o subjektoch sú uložené v profiloch kont a používateľských profiloch. Lokálne kontá sú v Registry (HKEY_USERS). Doménové kontá sú na DC, ale sú lokálne cachované. Používateľský profil je uložený v súborovom systéme \Documents and Settings\ 15

  16. Riadenie prístupu - komponenty 16 • SID je individuálny subjekt (principal). Globálna skupina je súbor SIDov spravovaných DC. Skupina má tiež svoje vlastné skupinové SID – skupiny môžu byť vnorené. Člen skupiny môže využívať privilégiá alebo oprávnenia dané skupine. (Skupina vytvára medziľahlú - prechodnú vrstvu riadenia.) • Oprávnenia objektu sú pridelené skupine • Používatelia dostanú prístup k objektom tým, že sa stanú členovia tejto skupiny • Alias (lokálna skupina) je súbor používateľských a skupinových SID spravovaných DC alebo lokálne LSA. • Aliasy nemôžu byť vnorené • Aliasy sú použité na implementáciu logických rolí • Vývojár aplikácie môže referovať alias Student. V čase vytvorenia je tomuto aliasu pridelené odpovedajúce SID. • Bezpečnostný identifikátor (SID) je konštruovaný pri vytváraní používateľského účtu a je nemenný počas celého trvania konta. • Formát SID je S-R-I-SA-SA-SA-N, kde S – písmeno S, R – číslo revízie (teraz 1), I – identifikátor autority (48 bitov), SA – subautorita (32 bitov), N – relatívny identifikátor, jedinečný v mennom priestore autority.

  17. Riadenie prístupu - komponenty • Príklady SID: • Everyone (World) : S-1-1-0 • SYSTEM: S-1-5-18, operačný systém na stroji beží lokálne ako S-1-5-18, ostatným strojom v doméne je stroj známy pod iným doménovo špecifickým SID • Administrator: S-1-5-21-<local authority>-500, používateľské konto vytvorené počas inštalácie operačného systému • Administrators: S-1-5-32-544, vstavaná skupina s privilégiami administrátora, iniciálne obsahuje iba konto Administrator • Domain Admins: S-1-5-21-<domain authority>-512, globálna skupina, ktorá je členom aliasu Administrator na všetkých strojoch v doméne • Guest: S-1-5-21-<authority>-501, pole <authority> je 96 bitový jedinečný identifikátor domény alebo stroja, ktorý sa vytvorí pri inštalácii operačného systému alebo domény. • Charakteristika SID: • Ak sa konto zruší a vytvorí sa konto s tými istými parametrami vytvorí sa iné nové SID (novému kontu nezostanú prístupové oprávnenia starého konta) • Keď sa vytvorí doména, vytvorí sa aj jedinečné SID pre túto doménu • Keď sa pracovná stanica alebo server pripojí k doméne, obdrží SID, ktoré zahrňuje doménové SID. • Stroje používajú svoje SID na kontrolu, či sú v tej istej doméne. • Vzhľadom k tomu, že SID sa nedá zmeniť, prenesenie DC stroja medzi doménami nie je triviálny administratívny proces. Stroj musí byť kompletne preinštalovaný a musí sa stať „logicky“ novým strojom a obdržať nové SID a stať sa DC v novej doméne. 17

  18. Riadenie prístupu - komponenty 18 • Subjekty sú aktívne entity (nie principals) v operačnom systéme. V OS Windows 2000 subjekty sú Procesy a Vlákna. • Bezpečnostné doklady (credentials) procesu alebo vlákna sú uložené v prístupovom tokene (access token). Štruktúra prístupového tokenu obsahuje: • User SID, Group and Alias SID – slúži ako identifikačné a autorizačné atribúty • Privilégiá – riadi prístup k systémovým zdrojom, obsahuje zjednotenie všetkých privilégií pridelené uvedeným SID • Prednastavenia pre nové objekty – nový objekt získa prednastavenia podľa rodičovského tokenu, token nezmení členstvo a privilégia • Rôzne – obsahuje logon session ID a ID tokenu. • Niektoré polia v tokene sú iba na čítanie, iné môžu byť modifikované. Nový proces získa kópiu rodičovského tokenu s prípadnými obmedzeniami. Token sa nezmení ani v prípade, že sa zruší členstvo alebo privilégiá. Je to z dôvodu lepšej výkonnosti a spoľahlivosti, pretože proces môže dopredu rozhodnúť, či má dostatočné prístupové práva pre danú úlohu. • Privilégiá riadia prístup k systémovým zdrojom. • Privilégium je jednoznačne identifikované jeho programovým menom • Privilégiá sú pridelené používateľom, skupinám a aliasom podľa strojov • Privilégiá sú cachované v tokenoch (access tokeny pre procesy a vlákna) ako LUID (Locally Unique Identifiers) • Privilégiá sú iné ako prístupové práva. Typické privilégiá sú: backup files and directories, generate secuirty audits, manage and audit security log, take ownership or files and other objects, bypass traverse checking, enable computer and user accounts to be trusted for delegation, shut down the system

  19. Riadenie prístupu - komponenty 19 • Autentizácia používateľa – interaktívny logon. Pužívatelia Windows sa môžu identifikovať a autentizovať prostredníctvom mena a hesla, prípadne iným podporovaným spôsobom, napríklad čipovou kartou. • Pred procesom prihlásenie (logon) používateľ inicializuje stlačením CTRL+ALT+DEL bezpečnú aktivačnú postupnosť, ktorá vyvolá prihlasovaciu obrazovku operačného systému a zabezpečí dôveryhodnú cestu (trusted path) z klávesnice do procesu prihlasovania (winlogon.exe). • Dialóg login je generovaný GINA.DLL (Graphical Identification and Authentication Dynamic Link Library). Proces logon permenentne beží pod subjektom (principal) SYSTEM. • Windows ponúka možnosť zobrazenia výstrahy s pripomenutím právnych následkov (legal notice) zneužitia systému. Používateľ pred pokračovaním v prihlasovacej procedúre musí potvrdiť akceptáciu tejto výstrahy. • Procedúra logon prevezme meno používateľa a jeho heslo a odovzdá ich LSA (lsass.exe). Pri lokálnom logon procese LSA zavolá autentizačný balík, ktorý porovná meno používateľa a jeho heslo oproti hodnotám uloženým v databáze kont. Ak príde k zhode, SAM vráti LSA používateľovo SID a SIDy skupín, do ktorých používateľ patrí. Pri doménovom logon procese sa použije Kerberos a používateľ je autentizovaný LSA na doménovom kontroléry (DC). Potom LSA vytvorí prístupový token, ktorý obsahuje používateľovo SID a jeho privilégiá a odovzdá token procesu logon. • Vytváranie subjektov a sieťový logon. • V nasledujúcom kroku proces logon odštartuje shell (explorer.exe) v novej logon session pod identitou autentizovaného používateľa (principal) a k tomuto procesu pripojí prístupový token. K danej logon session vytvorí shell procesy (viď nasledujúci obrázok). Tieto procesy sú subjekty pre účely riadenia prístupu. Odhlásenie používateľa zruší logon session a všetky procesy v tejto session. • Proces môže vytvoriť nový lokálny proces (subjekt) volaním služby CreateProcess. Nový proces dostane kópiu rodičovského tokenu. Každý proces má svoj vlastný token. Rôzne procesy v rámci logon session môžu mať rôzne credentials (bezpečnostné doklady). Vláknam môžu byť dané rôzne tokeny.

  20. Riadenie prístupu - komponenty Lujza Lujza Lujza explorer.exe cmd.exe nmake.exe token Lujza Lujza cl.exe POWERPNT.exe proces 20 • Vytváranie subjektov a sieťový logon. • Používateľove sieťové credentials (heslo) sú cachované v interaktívnej logon session. Procesy potom môžu vytvoriť pre tohto používateľa na ostatných strojoch sieťový logon session. Sieťový logon session zvyčajne neponecháva credentials v cache. Vo Windows 2000 sú stroje subjekty (principals) a môžu mať strojové konto s heslom v doméne. To znamená, že DC môže tiež autentizovať stroje.

  21. Riadenie prístupu - komponenty • Objekty sú pasívne entity v prístupových operáciách. OS Windows 2000 pozná • Vykonateľné objekty ako procesy a vlákna • Objekty súborového systému ako súbory alebo adresáre • Ďalšími objektami sú kľúče registry a zariadenia ako tlačiareň • Zaistiteľné objekty majú bezpečnostný deskriptor (security descriptor). Pre vstavané objekty sú bezpečnostné deskriptory spravované OS. Pre privátne objekty musia byť bezpečnostné deskriptory spravované aplikačným softvérom. • Vytvorenie zaistiteľného objektu je obťažná úloha, ale umožňuje vysoko granulované riadenie prístupu. • Bezpečnostný deskriptor má tieto položky: • Owner SID – indikuje vlastníka objektu. Objekty dostávajú vlastníka pri vytváraní. Vlastník je subjekt (principal), ktorý má vždy oprávnenia READ_CONTROL a WRITE_DAC. Vlastníctvo môže byť získané tiež prostredníctvom privilégií (Take ownership of files and other objects). • Primary group – je zahrnutá k vôli kompatibilite so štandardom POSIX. • DACL – Discretionary Access Control List – určuje komu je pridelený a komu je zamietnutý prístup k objektu.(Toto pole môže byť prázdne alebo nie je zriadené.) • SACL – System Access Control List – určuje auditnú politiku pre objekt. • Oprávnenie je autorizácia na vykonanie určitej operácie nad objektom. • Oprávnenia sú kódované v 32 bitovej maske. • Zobraziť oprávnenia pre súbor je možné kliknutím na File, potom na Properties a nakoniec na Security. 21

  22. Riadenie prístupu - komponenty • Prístupové práva odpovedajú operáciam, ktoré môžu byť vykonané nad objektom. Štandardné prístupové práva, ktoré sú aplikovateľné na väčšinu objektov sú: • DELETE: zrušenie objektu • READ_CONTROL: prístup čítania (bezpečnostného deskriptora) pre vlastníka, skupinu, DACL • WRITE_DAC: prístup zápisu do DACL • WRITE_OWNER: prístup zápisu vlastníkovi • SYNCHRONIZE: umožňuje procesu čakať na objekt vstúpením do stavu signalizovaný. • V OS môžu byť ušité špecifické práva každej triede objektov. • Týmto spôsobom prístupové práva môžu byť adaptované na požiadavky aplikácie. • Návrhári by však mali vziať do úvahy aj mnoho špecifických práv (generické) poskytovaných systémom. • Generické prístupové práva sa používajú ako prechodná opisná úroveň. • Každá trieda objektov má mapovanie z generických prístupových práv na reálne práva. • To znamená, že nie je potrebné si pamätať špecifické oprávnenia pre triedu. • Generické prístupové práva sú: • GENERIC_READ • GENERIC_WRITE • GENERIC_EXECUTE • GENERIC_ALL 22

  23. Riadenie prístupu - komponenty • Mapovanie generických prístupových práv pre súbory a adresáre: • GENERIC_EXECUTE sa mapuje do • FILE_READ_ATTRIBUTES • STANDARD_RIGHTS_EXECUTE • SYNCHRONIZE • GENERIC_READ sa mapuje do • FILE_READ_ATTRIBUTES • FILE_READ_DATA • FILE_READ_EA • STANDARD_RIGHTS_READ • SYNCHRONIZE • GENERIC_WRITE sa mapuje do • FILE_APPEND_DATA • FILE_WRITE_ATTRIBUTES • FILE_ WRITE _DATA • FILE_ WRITE _EA • STANDARD_RIGHTS_ WRITE • SYNCHRONIZE 23

  24. Rozhodnutie o prístupe • Každý objektový typ má manažéra objektu, ktorý rieši vytvorenie objektu a verifikuje či proces má právo použiť objekt. • Napríklad Active Directory je manažér objektu pre adresárové objekty. • Na riadenie prístupu zavolá objektový manažér funkciu rozhodnutia o prístupe, ktorá je implementovaná v SRM. Bod presadzovania politiky (policy enforcement point) a bod rozhodnutia o prístupe (policy decision point) ako súčasti SRM, vráti objektovému manažérovi odpoveď áno/nie. • Rozhodnutie o riadení prístupu vo všeobecnosti berie do úvahy prístupové práva subjektu žiadajúceho prístup, pristupovaného objektu a požadované prístupové práva. • Nie vo všetkých prípadoch musia byť uvažované všetky tri skupiny parametrov. • Credentials subjektu vrátane používateľa (principal) sú uložené v tokene. Bezpečnostné atribúty objektu sú uložené v jeho bezpečnostnom deskriptore. Požadovaná prístupová operácia je daná ako prístupová maska (32 bitová hodnota). • Riadenie prístupu vo Windows môže byť využité viacerými spôsobmi s rôznou úrovňou granularity a komplexnosti. • Riadenie prístupu založené na prístupe žiadajúceho používateľa (principal) je známe ako impersonifikácia, pretože proces impersonifikuje používateľovo SID z jeho tokena. Toto je hrubá metóda, ale ľahko implementovateľná. Impersonifikácia je typický koncept používaný operačnými systémami, ale nie je dostatočne dobrý na úrovni aplikácií. • Riadenie prístupu viazaného na roly (role-centric access) poskytuje procesom vhodné prístupové práva pre ich úlohy prostredníctvom používania skupín alebo aliasov. V riadení prístupu viazaného na objekty (object-centric access) objekty na úrovni aplikácií dostávajú bezpečnostný deskriptor. Táto metóda dovoľuje riadenie prístupu jemnej granularity, ale súčasne umožňuje aj komplexnosť. 24

  25. Rozhodnutie o prístupe • DACL (Discretionary Access Control List) v bezpečnostnom deskriptore je zoznam položiek riadenia prístupu ACE (Access Control Entries). Formát ACE je takýto: • Type: pozitívny (udelenie) alebo negatívny (odmietnutie) • Flags • ObjectType • InheritedObjectType • Access rights • Principal SID: principal the ACE applies to • Význam niektorých polí formátu: • Pole Type určuje ako by malo byť ACE použité mechanizmom riadenia prístupu. Type môže nadobúdať hodnoty: ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, ACCESS_ALLOWED_OBJECT_ACE (dovoľuje prístup k objektu, vlastnosti, množine vlastností alebo rozšírenému právu) a ACCESS_DENIED_OBJECT_ACE (odmieta prístup k objektu, vlastnosti, množine vlastností alebo rozšírenému právu). • ObjectType je GUID definujúce objektový typ. Aplikácie teraz môžu zahrnúť ObjectType objektu do svojich žiadostí o prístup. Pre danú žiadosť budú vyhodnocované iba ACE s odpovedajúcim ObjectType alebo bez ObjectType. Napríklad na riadenie prístupu čítanie/zápis objektovej vlastnosti sa vloží GUID vlastnosti do ObjectType. Na riadenie prístupu vytvorenie/vymazanie objektov sa dá GUID objektového typu do ObjectType. • Nasledujúci príklad je ACE pre webový adresár, ktorý udeľuje používateľom povolenie nastaviť svoju vlastnú domovskú stránku. Táto politika sa aplikuje na všetkých používateľov , t.j. použije sa SID PRINCIPAL_SELF. Aplikácia vytvárajúca domovskú stránku pri zadávaní žiadosti o prístup použije aktuálne SID používateľa. 25

  26. Rozhodnutie o prístupe ACE1 Type: ACCESS_ALLOWED_OBJECT_ACE Access rights: write Principal SID: PRINCIPAL_SELF InheritedObectType: {GUID for User Account objects} ObjectType {GUID for web homepage} • V ďalšom príklade ACE dovoľuje aplikácii Server Application vytvoriť koncový bod RPC v ľubovoľnom kontajneri typu RPC Services. Toto ACE bude dedené každým kontajnerom typu RPC Services. ACE2 Type: ACCESS_ALLOWED_OBJECT_ACE Access rights: create child Principal SID: Server Applications InheritedObectType: {GUID for RPC Services} ObjectType {GUID for RPC Endpoint} 26

  27. Rozhodnutie o prístupe • Množiny vlastností (Propertysets): • Na zjednodušenie administrácie je možné pozbierať vlastnosti objektového typu do množín vlastností. Namiesto ACE pre všetky vlastnosti objektového typu potrebujeme iba jednu položku ACE, ktorá odpovedá množine vlastností. • Množina vlastností je identifikovaná svojim GUID. • V prípade žiadosti o prístup je referenčnému monitoru postúpený zoznam vlastností (v jednom ACE) a jedna kontrola množiny vlastností vráti výsledok pre každú vlastnosť. • Ďalšou výhodou je, že zmeny vlastností objektového typu nevyvolajú zmenu ACL. • Rozhodovací algoritmus. V prípade, že subjekt žiada o prístup k objektu modul SRM na určenie či požadovaný prístup môže byť udelený zoberie token subjektu a ACL objektu a maskupožadovaného prístupu. • SRM ako prvé kontroluje, či existuje DACL. Ak DACL neexistuje (situácia sa nazýva NULL DACL) ďalšia kontrola sa nevykonáva a prístup je udelený. • V opačnom prípade (DACL nie je NULL DACL) algoritmus ďalej kontroluje, či subjekt je vlastníkom objektu. Ak maska požadovaného prístupu obsahuje žiadosť Read_Control alebo Write_DAC, prístup je udelený. Ak subjekt nie je vlastníkom, povolenia sú akumulované (dané dokopy) a vytvorí sa maska udeleného prístupu. Pre každé ACE je SID subjektu porovnané so SID v ACE. Môžu nastať tri prípady: • ACE neobsahuje odpovedajúce SID. Toto ACE bude preskočené. • ACE obsahuje odpovedajúce SID, ktoré špecifikuje AccessDenied pre požadované prístupové právo. Prístup bude zamietnutý a ďalej sa nevykoná žiadna kontrola. • ACE obsahuje odpovedajúce SID, ktoré špecifikuje AccessAllowed. Ak maska prístupu v ACE, spolu s maskami prístupu so všetkými predchádzajúcimi kontrolovanými odpovedajúcimi ACE, obsahuje všetky povolenia v maske požadovaného prístupu, potom je prístup udelený a žiadna ďalšia kontrola sa navykonáva. V opačnom prípade prehľadávanie pokračuje. • Prístup bude odmietnutý v prípade, že je dosiahnutý koniec zoznamu DACL a maska udelenia nie je rovnaká ako maska požiadavky. To znamená, že prístup bude vždy odmietnutý, keď pole DACL vo formáte deskriptora je prázdne. Ak pole DACL neexistuje, potom je prístup vždy udelený. 27

  28. Administrácia bezpečnosti v OS – používateľské konto • Bezpečnostne relevantné informácie o používateľoch sú uložené SAM do databázy používateľských účtov. • Používateľské účty sú editované pomocou utility User Manager for Domains. V používateľskom účte môžu byť definované tieto polia: • Username – jedinečné meno použité pre login • Full name – meno používateľa vlastniaceho konto (účet) • Expiration date – prednastavená hodnota je bez expirácie • Passsword dates – čas poslednej zmeny hesla, čas expirácie hesla, čas odkedy by malo byť heslo zmenené, tiež sa dá nastaviť, či si môže používateľ samostatne zmeniť heslo • Logon hours and workstations – je možné stanoviť kedy a z ktorej pracovnej stanice sa môže používateľ prihlásiť • User profile path and logon script name – profil stanovuje prostredie pracovnej stanice používateľa (programové skupiny, sieťové spojenia, farby obrazovky, atď). Logon script je batch súbor (vykonateľný súbor), ktorý sa automaticky vykoná pri prihlásení používateľa • Home directory – je možné špecifikovať či domáci adresár je na lokálnom stroji alebo na sieťovom serveri • Local and global groups – skupiny, ktorých členom je používateľ. 28

  29. Administrácia bezpečnosti v OS – prednastavené používateľské kontá • OS podporuje manažment bezpečnosti prostredníctvom prednastavených kont. Existujú tri typy prednastavených používateľských a skupinových kont: • Preddefinované kontá – sú inštalované OS • Vstavané kontá – sú inštalované OS, aplikáciou alebo službami • Implicitné kontá – sú vytvorené implicitne, keď sa pristupuje k sieťovým zdrojom • Prednastavení používatelia a skupiny vytvorené OS môžu byť modifikovaní, ale nie zrušení. Napr. LocalSystem je vstavané konto použité na vykonávanie systémových procesov a narábanie úloh systémovej úrovne. K tomuto kontu sa môžu prihlásiť iba určité procesy. • Preddefinované kontá Administrator a Guest sú inštalované lokálne. • Konto Administrátor • nemôže byť zrušené alebo zablokované • má úplný prístup k súborom, adresárom, službám a ostatným zariadeniam • ak aj k súboru alebo adresáru pôvodne prístup nastavený nemá, vie si ho nastaviť • v doméne je člen skupín Administrators, Domain Admins, Domain Users, Enterprise Admins, Schema Admins a Group Policy Creator Owners • v doméne je konto lokálneho administrátora primárne použité pri prvotnej inštalácii systému. Po inštalácii môže byť aktuálny administrátor členom Administrators group • Konto Guest je zamýšľané pre používateľov, ktorí potrebujú iba príležitostný prístup. Prístupové práva sa tomuto kontu prideľujú rovnako ako každému inému používateľovi. 29

  30. Administrácia bezpečnosti v OS – prednastavené používateľské kontá • Vstavané skupiny majú preddefinované používateľské práva a poskytujú ďalšiu úroveň možnosti pri prideľovaní prístupových práv používateľom. • Používateľ získa štandardné prístupové práva tým, že sa stane členom takejto vstavanej skupiny • Typickým príkladom vstavaných skupín sú Administrators, Backup Operators, User alebo Guest • Manažéri systémov by sa pri implementácii ich bezpečnostných politík mali držať vstavaných skupín a mali by definovať skupiny s odlišnými prístupovými vzormi iba vtedy, keď je na to veľmi dobrý dôvod • Veľa preddefinovaných skupín je inštalovaných v doménach Active Directory. Navyše existujú implicitné skupiny, ktoré tiež môžu byť využité na efektívnu definíciu prístupových práv • Everyone – obsahuje všetkých lokálnych a vzdialených používateľov vrátane Guest, táto skupina môže byť využitá pri udeľovaní alebo odmietnutí prístupových práv všetkým používateľom • Interactive – obsahuje všetkých používateľov prihlásených lokálne • Network – obsahuje všetkých používateľov prihlásených prostredníctvom siete • System – je operačný systém • Creator Owner – je tvorcom alebo vlastníkom súboru alebo iného zdroja 30

  31. Administrácia bezpečnosti v OS – audit • OS Windows 2000 zaznamenáva bezpečnostne relevantné udalosti do bezpečnostného záznamu (security log). Príkladom bezpečnostne relevantných udalostí môže byť • Požiadavka na prístup k objektu, pokiaľ je definovaná v SACL objekte (položka do záznamu je generovaný modulom SRM) • Úspešný alebo neúspešný pokus o prihlásenie • Privilegované použitie a privilegované udalosti ako je vytvorenie, zrušenie alebo otvorenie zdroja (súboru) • Zaznamenané udalosti môžu byť zobrazované a filtrované pomocou Event Viewer. • Je možné nastaviť maximálny objem údajov bezpečnostného záznamu. Existujú tri stratégie obaľovania bezpečnostného záznamu v prípade, že objem záznamu dosiahne maximum. • Prepisovanie udalostí ako je potreba – na vytvorenie priestoru pre zápis nového záznamu môže byť prepísaný ľubovoľný starý záznam • Prepisovanie udalostí starších ako [x] dní – nový záznam môže prepísať starý záznam starší ako x dní • Neprepisuj udalosti – staré záznamy nikdy nie sú prepísané, pred zápisom nových udalostí musí byť bezpečnostný záznam najprv ručne vymazaný • V posledných dvoch voľbách môže systémový manažér nastaviť systém tak, že pri zaplnení súboru bezpečnostného záznamu sa systém odstaví (shut down). 31

More Related