Title: Bezpecnost operacn
1Bezpecnost operacného systému Windows
- Doc. Ing. Ladislav Hudec, CSc.
1
2Riadenie prístupu k objektom
- Ochrana všeobecných objektov v pocítacovom
systéme. Existuje niekolko komplementárnych
cielov v ochrane objektov. - Kontrola každého prístupu ak subjekt mal
prístup k objektu, neznamená to, že ho bude mat
stále. Je potrebné zariadit, aby po zmene
prístupových práv subjektu, sa táto zmena
uplatnila okamžite. - Povolenie najnižších privilégií subjekt by mal
mat prístup k najmenšiemu poctu objektov
potrebných na vykonanie úlohy. Nepovolením
prístupu k nepotrebným objektom sa chránime proti
slabinám v bezpecnosti v prípade, že cast
bezpecnostných mechanizmov by zlyhala. - Verifikácia akceptovatelného použitia schopnost
pristúpit je rozhodnutie binárne áno-nie. Dalším
záujmom môže byt kontrola, ci aktivita subjektu
nad objektom je vhodná. Napríklad prístup procesu
k údajovej štruktúre zásobník.
2
3Bezpecnostné charakteristiky štandardných
operacných systémov
- Základné úlohy operacného systému pocítaca
- Správa prostriedkov pocítacového systému
procesor, hlavná pamät, diskový priestor, vstupno
výstupné zariadenia, atd. - Poskytovanie služieb používatelom súborový
systém, ovládace vstupno výstupných zariadení,
sietová komunikácia, editori, systémové hodiny,
atd. - Bezpecnostné charakteristiky štandardných
operacných systémov - Autentifikácia používatela OS musí
identifikovat a autentifikovat každého
používatela a až potom môže umožnit prístup k
svojim zdrojom podla jeho autorizácie - Ochrana pamäti každý používatelský program sa
musí vykonávat v casti 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žívatelské
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 pridelovanie procesora, hlavnej
pamäti, synchronizacné mechanizmy, konštrukcie na
podporu súbežného spracovania - Presadzovanie zdielania (spolocného používania)
zdroje musia byt prístupné používatelovi podla
potreby. Zdielanie prináša potrebu garantovania
integrity a konzistencie. - Garancia férových služieb všetci používatelia
ocakávajú využívanie procesora a ostatných
služieb tak, že každý z nich bude obslúžený (bez
starvácie). Zabezpecujú to systémové hodiny a
plánovacie disciplíny.
3
4Bezpecnostné charakteristiky štandardných
operacných systémov
- Bezpecnostné charakteristiky štandardných
operacných systémov - Medziprocesová komunikácia a synchronizácia
vykonávajúce sa procesy potrebujú medzi sebou
komunikovat alebo synchronizovat prístup k
spolocným prostriedkom. Tieto služby zabezpecuje
operacný systém a slúži ako most medzi procesmi. - Ochrana bezpecnostných údajov operacného systému
operacný systém musí spravovat údaje,
prostredníctvom ktorých presadzuje bezpecnost. Ak
by tieto údaje neboli chránené proti
neoprávnenému prístupu (cítanie, zápis,
zrušenie), potom OS by nedokázal presadzovat
bezpecnost.
4
5Bezpecnostné charakteristiky dôveryhodných
operacných systémov
- V com spocíva dôveryhodnost operacného systému?
Jeho podstata je v rešpektovaní pravidiel
špecifikácie, návrhu a implementácie - Bezpecnostná politika súbor bezpecnostných
požiadaviek ako množina dobre definovaných,
konzistentných a implementovatelných pravidiel.
Pravidlá musia byt vyjadrené jasne a
nedvojzmyselne. - Bezpecnostný model predtým ako návrhár zacne
vytvárat dôveryhodný OS musí byt presvedcený, že
navrhnutý systém bude splnovat jeho požiadavky.
Vytvorí si model prostredia, ktoré bude chránené
a študuje rôzne spôsoby na zaistenie bezpecnosti.
Model je v skutocnosti reprezentácia
bezpecnostnej politiky. - Návrh po vybratí bezpecnostného modelu si musí
návrhár vybrat prostriedky na implementáciu
modelu - Dôvera OS hrá centrálnu úlohu pri bezpecnosti.
Návrhár musí mat nástroje, aby sa ubezpecil, že
OS splnuje jeho požiadavky. Dôvera je založená na
dvoch aspektoch - Vlastnostiach OS OS má všetky funkcionality
potrebné na zaistenie ocakávanej bezpecnostnej
politiky - Záruky že OS bol implementovaný takým spôsobom,
že máme dôveru zaistenia bezpecnostnej politiky - Bolo vyvinutých viacero bezpecných (aj
dôveryhodných?) OS, viacero sa stále ešte vyvíja.
Niektoré bezpecné OS boli originálne navrhnuté
pre bezpecnost, iným boli iba dorábané
bezpecnostné charakteristiky dodatocne.
5
6Bezpecnostné charakteristiky dôveryhodných
operacných systémov
- Bezpecnostné charakteristiky dôveryhodných
operacných systémov - Identifikácia a autentifikácia používatela
dôveryhodný OS vyžaduje IA všetkých používatelov - Špecifikovanie politiky riadenia prístupu
dôveryhodný OS musí mat špecifikovanú politiku
riadenia prístupu, napríklad MAC alebo DAC.
Principiálne obe politiky môžu byt aplikované
súcasne, MAC má potom prednost 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ánit všetky údaje, ktoré by
mohol nový používatel (útocník) vycítat a
zneužit. Napríklad pri alokácii diskového
priestoru pre nový súbor môže tento alokovaný
priestor obsahovat údaje zo starého nie bezpecne
zrušeného súboru. Podobne je to s hlavnou
pamätou, registrami procesora, cache, atd. - Úplné sprostredkovanie aby politika riadenia
prístupu fungovala efektívne, je nevyhnutné, aby
všetky prístupy boli riadené. Je nedostatocné
riadit prístup iba k súborom, ked útocník získa
prístup cez pamät alebo vonkajší port alebo siet
alebo skrytý kanál. - Dôveryhodná cesta OS musí mat spôsob ako
zaistit, že sa používajú nespochybnitelné zdroje.
Napríklad skutocný prihlasovací modul a nie
podvrhnutý Trójsky kôn na odchytávanie mena a
hesla používatela.
6
7Bezpecnostné charakteristiky dôveryhodných
operacných systémov
- Bezpecnostné charakteristiky dôveryhodných
operacných systémov - Úctovatelnost a audit bezpecnostne dôležité
akcie môžu byt jednoduché (prístup k súboru) ale
aj zložitejšie (zmena v centrálnej databáze
riadenia prístupu). Úctovatelnost vyjadruje
schopnost systému sledovat bezpecnostne dôležité
udalosti, ktoré v systéme nastali a identifikovat
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 byt
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äcš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
hladanie 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 stanovit co je abnormálny vzor?.
7
8Architektúra systému Windows
- OS Windows 2000 so Service Pack 3 je
certifikovaný na bezpecnostnú úroven EAL4
(Evaluation Assurance Level, podla ISO/IEC 15408) - OS pracuje v dvoch režimoch (podobne ako UNIX)
- Používatelský 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ž
zahrnuje Bezpecnostný referencný monitor
(Security Reference Monitor - SRM), ktorý je
zodpovedný za riadenie prístupu. - Používatelský 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 zabezpecený procedúrou
Local procedure Call facilities. - Ovládace zariadení (casto ovládace tretej strany)
sa vykonávajú v režime kernel. Ovládace tretích
strán môžu mat bezpecnostné problémy (napr.
pretecenie vyrovnávacej pamäti), co môže využit
útocník napr. na získanie plnej kontroly OS.
8
9Architektúra systému Windows
- V používatelskom režime sa vykonávajú tieto
komponenty bezpecnostného subsystému - Proces log-on (winlogon) proces autentifikujúci
používatela pri prihlasovaní sa - Lokálna bezpecnostná autorita (LSA - Local
Security Authority) je zahrnutý do
prihlasovania sa pri kontrole používatelovho
konta a vytvára access token (prístupový token),
je zodpovedný tiež za funkcie auditovania - Bezpecnostný manažér kont (SAM - Security Account
Manager) udržuje databázu používatelských kont,
ktorú používa LSA pri autentifikácii používatela
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
10Architektúra systému Windows
10
11Registry
- Registry je centrálna databáza pre konfiguracné
údaje OS. - Položky databázy sa nazývajú keys (klúce, pozor
nie šifrovacie!) - Pomocou Registry Editor (regedit.exe,
regedt32.exe) je možné modifikovat databázu a
zobrazovat položky - Na najvyššej úrovni má registry pät dôležitých
preddefinovaných klúcov - HKEY_CLASSES_ROOT obsahuje asociáciu na názov
rozšírenia súboru, je možné špecifikovat, že .doc
súbory budú spracovávané MS Wordom - HKEY_CURRENT_USER obsahuje konfiguracné údaje
práve prihláseného používatela - HKEY_LOCAL_MACHINE obsahuje konfiguracné údaje
o lokálnom stroji - HKEY_USERS obsahuje všetky aktívne zavedené
používatelské 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
klúcov, subklúcov a hodnôt v registry.
Bezpecnostne relevantné hniezda sú - HKEY_LOCAL_MACHINE\SAM
- HKEY_LOCAL_MACHINE\Security
- HKEY_LOCAL_MACHINE\Software
- HKEY_CURRENT_CONFIG
- HKEY_USERS \DEFAULT
11
12Registry
- Pomocou registry môže byt systém ušitý na mieru
používatelovým požiadavkám a môžu byt nastavené
preddefinované ochrany. - Modifikovaním klúcov registry môže útocník
modifikovat správanie OS - Klúc z registry môže ukazovat na lokáciu (path
cesta), kde OS automaticky hladá urcité
vykonatelné súbory - Ak nastavené prístupové práva k tomuto klúcu sú
slabé (prístup zápisu pre Everyone), potom
útocník môže modifikovaním klúca vložit škodlivý
kód - Je absolútna nevyhnutnost chránit integritu
údajov registry - Odstránenie editora registry zo všetkých strojov,
ktoré nie sú používané na manažment systému, je
dobrá bezpecnostná prax. - Niektoré bezpecnostne relevantné klúce dokonca
nie je možné zmenit editorom registri, ale iba
špecifickou utilitou.
12
13Doména
- Samostojacie pocítace s OS Windows sú zvycajne
administrované lokálne svojimi používatelmi. Vo
väcšej organizácii je dôležité používanie
štruktúrovanejšieho prístup manažmentu systémov a
manažmentu bezpecnosti. - OS Windows 2000 používa doménu na podporu single
sign-on a na centrálnu administráciu bezpecnosti. - Doména je súbor strojov zdielajúcich spolocnú
databázu používatelských kont a bezpecnostnú
politiku - Domény môžu vytvárat 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é pocítace sú potom pripojené k doméne
- Doménový administrátori vytvárajú a spravujú
doménových používatelov a skupiny na DC - DC autorita má informáciu o používatelských
heslách a môže fungovat ako dôveryhodná tretia
strana v prípade, že sa používatel autentifikuje
pri prístupe do inej entity. - Doména môže mat viac než jeden DC. Aktualizácie
sa môžu vykonat na lubovolnom 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
14Active Directory
- Adresárová služba OS Windows 2000 organizuje
objekty v rámci Active Directory - Active Directory môže byt zobrazený ako strom
typových objektov - Kontajnery (containers) sú objekty, ktoré môžu
obsahovat dalšie objekty - Active Directory môže byt dynamicky rozširovaný
pridaním nových objektov alebo pridaním nových
vlastností existujúcim objektovým typom
(objektové typy môžu byt ušité na mieru
konkrétnym požiadavkám používatela) - Každý objektový typ má špecifické vlastnosti a
jedinecné GUID (Globally Unique IDentifier). To
znamená, že každá vlastnost má svoje vlastné
GUID. - Nižšie je objekt zamestnanec s vlastnostami Name,
Email, Address, Room a objekt tlaciaren s
vlastnostami Mode a Room - Logicky príbuzné objekty odlišných typov môžu byt
umiestnené v tom istom kontajneri, co je výhodné
z hladiska 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žit
adresárovú štruktúru na definovanie všeobecných
prístupových politík pre kontajnery a ponechat
objektom v kontajneri zdedit politiku.
14
15Riadenie 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, klúce registry,
objekty Active Directory, atd). - 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žívatel, alias, doménový používatel, skupina
alebo stroj. - Subjekty (principals) majú cloveku zrozumitelné
meno (username) a stroju zrozumitelné meno SID
(Security IDentifier) - Používatel vytvorený LSA je lokálny používatel
- Lokálne subjekty sú administrované lokálne a sú
viditelné iba lokálnemu stroju (operacnému
systému stroja a lokálnym používatelom). Lokálne
subjekty a aliasy môžu byt 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ú viditelní
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žívatelských profiloch. Lokálne kontá
sú v Registry (HKEY_USERS). Doménové kontá sú na
DC, ale sú lokálne cachované. Používatelský
profil je uložený v súborovom systéme \Documents
and Settings\
15
16Riadenie prístupu - komponenty
- 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 byt vnorené. Clen skupiny môže využívat
privilégiá alebo oprávnenia dané skupine.
(Skupina vytvára medzilahlú - prechodnú vrstvu
riadenia.) - Oprávnenia objektu sú pridelené skupine
- Používatelia dostanú prístup k objektom tým, že
sa stanú clenovia tejto skupiny - Alias (lokálna skupina) je súbor používatelských
a skupinových SID spravovaných DC alebo lokálne
LSA. - Aliasy nemôžu byt vnorené
- Aliasy sú použité na implementáciu logických rolí
- Vývojár aplikácie môže referovat alias Student. V
case vytvorenia je tomuto aliasu pridelené
odpovedajúce SID. - Bezpecnostný identifikátor (SID) je konštruovaný
pri vytváraní používatelského úctu a je nemenný
pocas celého trvania konta. - Formát SID je S-R-I-SA-SA-SA-N, kde S písmeno
S, R císlo revízie (teraz 1), I identifikátor
autority (48 bitov), SA subautorita (32 bitov),
N relatívny identifikátor, jedinecný v mennom
priestore autority.
16
17Riadenie prístupu - komponenty
- Príklady SID
- Everyone (World) S-1-1-0
- SYSTEM S-1-5-18, operacný 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-ltlocal authoritygt-500,
používatelské konto vytvorené pocas inštalácie
operacné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-ltdomain authoritygt-512,
globálna skupina, ktorá je clenom aliasu
Administrator na všetkých strojoch v doméne - Guest S-1-5-21-ltauthoritygt-501, pole ltauthoritygt
je 96 bitový jedinecný identifikátor domény alebo
stroja, ktorý sa vytvorí pri inštalácii
operacné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) - Ked sa vytvorí doména, vytvorí sa aj jedinecné
SID pre túto doménu - Ked sa pracovná stanica alebo server pripojí k
doméne, obdrží SID, ktoré zahrnuje doménové SID. - Stroje používajú svoje SID na kontrolu, ci sú v
tej istej doméne. - Vzhladom k tomu, že SID sa nedá zmenit,
prenesenie DC stroja medzi doménami nie je
triviálny administratívny proces. Stroj musí byt
kompletne preinštalovaný a musí sa stat logicky
novým strojom a obdržat nové SID a stat sa DC v
novej doméne.
17
18Riadenie prístupu - komponenty
- Subjekty sú aktívne entity (nie principals) v
operacnom systéme. V OS Windows 2000 subjekty sú
Procesy a Vlákna. - Bezpecnostné 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
identifikacné a autorizacné 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 podla rodicovského tokenu,
token nezmení clenstvo a privilégia - Rôzne obsahuje logon session ID a ID tokenu.
- Niektoré polia v tokene sú iba na cítanie, iné
môžu byt modifikované. Nový proces získa kópiu
rodicovského tokenu s prípadnými obmedzeniami.
Token sa nezmení ani v prípade, že sa zruší
clenstvo alebo privilégiá. Je to z dôvodu lepšej
výkonnosti a spolahlivosti, pretože proces môže
dopredu rozhodnút, ci má dostatocné prístupové
práva pre danú úlohu. - Privilégiá riadia prístup k systémovým zdrojom.
- Privilégium je jednoznacne identifikované jeho
programovým menom - Privilégiá sú pridelené používatelom, skupinám a
aliasom podla 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
18
19Riadenie prístupu - komponenty
- Autentizácia používatela interaktívny logon.
Pužívatelia Windows sa môžu identifikovat a
autentizovat prostredníctvom mena a hesla,
prípadne iným podporovaným spôsobom, napríklad
cipovou kartou. - Pred procesom prihlásenie (logon) používatel
inicializuje stlacením CTRLALTDEL bezpecnú
aktivacnú postupnost, ktorá vyvolá prihlasovaciu
obrazovku operacného systému a zabezpecí
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žnost zobrazenia výstrahy s
pripomenutím právnych následkov (legal notice)
zneužitia systému. Používatel pred pokracovaním v
prihlasovacej procedúre musí potvrdit akceptáciu
tejto výstrahy. - Procedúra logon prevezme meno používatela a jeho
heslo a odovzdá ich LSA (lsass.exe). Pri lokálnom
logon procese LSA zavolá autentizacný balík,
ktorý porovná meno používatela a jeho heslo
oproti hodnotám uloženým v databáze kont. Ak
príde k zhode, SAM vráti LSA používatelovo SID a
SIDy skupín, do ktorých používatel patrí. Pri
doménovom logon procese sa použije Kerberos a
používatel je autentizovaný LSA na doménovom
kontroléry (DC). Potom LSA vytvorí prístupový
token, ktorý obsahuje používatelovo SID a jeho
privilégiá a odovzdá token procesu logon. - Vytváranie subjektov a sietový logon.
- V nasledujúcom kroku proces logon odštartuje
shell (explorer.exe) v novej logon session pod
identitou autentizovaného používatela (principal)
a k tomuto procesu pripojí prístupový token. K
danej logon session vytvorí shell procesy (vid
nasledujúci obrázok). Tieto procesy sú subjekty
pre úcely riadenia prístupu. Odhlásenie
používatela zruší logon session a všetky procesy
v tejto session. - Proces môže vytvorit nový lokálny proces
(subjekt) volaním služby CreateProcess. Nový
proces dostane kópiu rodicovského tokenu. Každý
proces má svoj vlastný token. Rôzne procesy v
rámci logon session môžu mat rôzne credentials
(bezpecnostné doklady). Vláknam môžu byt dané
rôzne tokeny.
19
20Riadenie prístupu - komponenty
- Vytváranie subjektov a sietový logon.
- Používatelove sietové credentials (heslo) sú
cachované v interaktívnej logon session. Procesy
potom môžu vytvorit pre tohto používatela na
ostatných strojoch sietový logon session. Sietový
logon session zvycajne neponecháva credentials v
cache. Vo Windows 2000 sú stroje subjekty
(principals) a môžu mat strojové konto s heslom v
doméne. To znamená, že DC môže tiež autentizovat
stroje.
20
21Riadenie prístupu - komponenty
- Objekty sú pasívne entity v prístupových
operáciách. OS Windows 2000 pozná - Vykonatelné objekty ako procesy a vlákna
- Objekty súborového systému ako súbory alebo
adresáre - Dalšími objektami sú klúce registry a zariadenia
ako tlaciaren - Zaistitelné objekty majú bezpecnostný deskriptor
(security descriptor). Pre vstavané objekty sú
bezpecnostné deskriptory spravované OS. Pre
privátne objekty musia byt bezpecnostné
deskriptory spravované aplikacným softvérom. - Vytvorenie zaistitelného objektu je obtažná
úloha, ale umožnuje vysoko granulované riadenie
prístupu. - Bezpecnostný 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 byt
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 urcuje
komu je pridelený a komu je zamietnutý prístup k
objektu.(Toto pole môže byt prázdne alebo nie je
zriadené.) - SACL System Access Control List urcuje
auditnú politiku pre objekt. - Oprávnenie je autorizácia na vykonanie urcitej
operácie nad objektom. - Oprávnenia sú kódované v 32 bitovej maske.
- Zobrazit oprávnenia pre súbor je možné kliknutím
na File, potom na Properties a nakoniec na
Security.
21
22Riadenie prístupu - komponenty
- Prístupové práva odpovedajú operáciam, ktoré môžu
byt vykonané nad objektom. Štandardné prístupové
práva, ktoré sú aplikovatelné na väcšinu objektov
sú - DELETE zrušenie objektu
- READ_CONTROL prístup cítania (bezpecnostné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žnuje procesu cakat na objekt
vstúpením do stavu signalizovaný. - V OS môžu byt ušité špecifické práva každej
triede objektov. - Týmto spôsobom prístupové práva môžu byt
adaptované na požiadavky aplikácie. - Návrhári by však mali vziat do úvahy aj mnoho
špecifických práv (generické) poskytovaných
systémom. - Generické prístupové práva sa používajú ako
prechodná opisná úroven. - 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ätat
špecifické oprávnenia pre triedu. - Generické prístupové práva sú
- GENERIC_READ
- GENERIC_WRITE
- GENERIC_EXECUTE
- GENERIC_ALL
22
23Riadenie 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
24Rozhodnutie o prístupe
- Každý objektový typ má manažéra objektu, ktorý
rieši vytvorenie objektu a verifikuje ci proces
má právo použit 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úcasti SRM,
vráti objektovému manažérovi odpoved á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 byt uvažované
všetky tri skupiny parametrov. - Credentials subjektu vrátane používatela
(principal) sú uložené v tokene. Bezpecnostné
atribúty objektu sú uložené v jeho bezpecnostnom
deskriptore. Požadovaná prístupová operácia je
daná ako prístupová maska (32 bitová hodnota). - Riadenie prístupu vo Windows môže byt využité
viacerými spôsobmi s rôznou úrovnou granularity a
komplexnosti. - Riadenie prístupu založené na prístupe
žiadajúceho používatela (principal) je známe ako
impersonifikácia, pretože proces impersonifikuje
používatelovo SID z jeho tokena. Toto je hrubá
metóda, ale lahko implementovatelná.
Impersonifikácia je typický koncept používaný
operacnými systémami, ale nie je dostatocne 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ú
bezpecnostný deskriptor. Táto metóda dovoluje
riadenie prístupu jemnej granularity, ale súcasne
umožnuje aj komplexnost.
24
25Rozhodnutie o prístupe
- DACL (Discretionary Access Control List) v
bezpecnostnom 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 urcuje ako by malo byt ACE použité
mechanizmom riadenia prístupu. Type môže
nadobúdat hodnoty ACCESS_ALLOWED_ACE,
ACCESS_DENIED_ACE, ACCESS_ALLOWED_OBJECT_ACE
(dovoluje 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út ObjectType objektu
do svojich žiadostí o prístup. Pre danú žiadost
budú vyhodnocované iba ACE s odpovedajúcim
ObjectType alebo bez ObjectType. Napríklad na
riadenie prístupu cí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ý udeluje používatelom povolenie nastavit
svoju vlastnú domovskú stránku. Táto politika sa
aplikuje na všetkých používatelov , 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žívatela.
25
26Rozhodnutie o prístupe
ACE1 Type ACCESS_ALLOWED_OBJECT_ACE Access
rights write Principal SID PRINCIPAL_SELF Inhe
ritedObectType GUID for User Account
objects ObjectType GUID for web homepage
- V dalšom príklade ACE dovoluje aplikácii Server
Application vytvorit koncový bod RPC v lubovolnom
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
27Rozhodnutie o prístupe
- Množiny vlastností (Property sets)
- Na zjednodušenie administrácie je možné pozbierat
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 referencnému
monitoru postúpený zoznam vlastností (v jednom
ACE) a jedna kontrola množiny vlastností vráti
výsledok pre každú vlastnost. - Dalš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 urcenie ci
požadovaný prístup môže byt udelený zoberie token
subjektu a ACL objektu a masku požadovaného
prístupu. - SRM ako prvé kontroluje, ci existuje DACL. Ak
DACL neexistuje (situácia sa nazýva NULL DACL)
dalšia kontrola sa nevykonáva a prístup je
udelený. - V opacnom prípade (DACL nie je NULL DACL)
algoritmus dalej kontroluje, ci subjekt je
vlastníkom objektu. Ak maska požadovaného
prístupu obsahuje žiadost 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 nastat tri prípady - ACE neobsahuje odpovedajúce SID. Toto ACE bude
preskocené. - ACE obsahuje odpovedajúce SID, ktoré špecifikuje
AccessDenied pre požadované prístupové právo.
Prístup bude zamietnutý a dalej 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 dalšia kontrola
sa navykonáva. V opacnom prípade prehladávanie
pokracuje. - 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ý, ked pole DACL vo
formáte deskriptora je prázdne. Ak pole DACL
neexistuje, potom je prístup vždy udelený.
27
28Administrácia bezpecnosti v OS používatelské
konto
- Bezpecnostne relevantné informácie o
používateloch sú uložené SAM do databázy
používatelských úctov. - Používatelské úcty sú editované pomocou utility
User Manager for Domains. V používatelskom úcte
môžu byt definované tieto polia - Username jedinecné meno použité pre login
- Full name meno používatela vlastniaceho konto
(úcet) - Expiration date prednastavená hodnota je bez
expirácie - Passsword dates cas poslednej zmeny hesla, cas
expirácie hesla, cas odkedy by malo byt heslo
zmenené, tiež sa dá nastavit, ci si môže
používatel samostatne zmenit heslo - Logon hours and workstations je možné stanovit
kedy a z ktorej pracovnej stanice sa môže
používatel prihlásit - User profile path and logon script name profil
stanovuje prostredie pracovnej stanice
používatela (programové skupiny, sietové
spojenia, farby obrazovky, atd). Logon script je
batch súbor (vykonatelný súbor), ktorý sa
automaticky vykoná pri prihlásení používatela - Home directory je možné špecifikovat ci domáci
adresár je na lokálnom stroji alebo na sietovom
serveri - Local and global groups skupiny, ktorých clenom
je používatel.
28
29Administrácia bezpecnosti v OS prednastavené
používatelské kontá
- OS podporuje manažment bezpecnosti
prostredníctvom prednastavených kont. Existujú
tri typy prednastavených používatelský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, ked
sa pristupuje k sietovým zdrojom - Prednastavení používatelia a skupiny vytvorené OS
môžu byt 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ásit iba urcité procesy. - Preddefinované kontá Administrator a Guest sú
inštalované lokálne. - Konto Administrátor
- nemôže byt 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 nastavit - v doméne je clen 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 byt aktuálny administrátor
clenom Administrators group - Konto Guest je zamýšlané pre používatelov, ktorí
potrebujú iba príležitostný prístup. Prístupové
práva sa tomuto kontu pridelujú rovnako ako
každému inému používatelovi.
29
30Administrácia bezpecnosti v OS prednastavené
používatelské kontá
- Vstavané skupiny majú preddefinované
používatelské práva a poskytujú dalšiu úroven
možnosti pri pridelovaní prístupových práv
používatelom. - Používatel získa štandardné prístupové práva tým,
že sa stane clenom 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
bezpecnostných politík mali držat vstavaných
skupín a mali by definovat skupiny s odlišnými
prístupovými vzormi iba vtedy, ked je na to velmi
dobrý dôvod - Vela preddefinovaných skupín je inštalovaných v
doménach Active Directory. Navyše existujú
implicitné skupiny, ktoré tiež môžu byt využité
na efektívnu definíciu prístupových práv - Everyone obsahuje všetkých lokálnych a
vzdialených používatelov vrátane Guest, táto
skupina môže byt využitá pri udelovaní alebo
odmietnutí prístupových práv všetkým používatelom - Interactive obsahuje všetkých používatelov
prihlásených lokálne - Network obsahuje všetkých používatelov
prihlásených prostredníctvom siete - System je operacný systém
- Creator Owner je tvorcom alebo vlastníkom
súboru alebo iného zdroja
30
31Administrácia bezpecnosti v OS audit
- OS Windows 2000 zaznamenáva bezpecnostne
relevantné udalosti do bezpecnostného záznamu
(security log). Príkladom bezpecnostne
relevantných udalostí môže byt - Požiadavka na prístup k objektu, pokial 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 byt zobrazované a
filtrované pomocou Event Viewer. - Je možné nastavit maximálny objem údajov
bezpecnostného záznamu. Existujú tri stratégie
obalovania bezpecnostné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 byt prepísaný lubovolný starý záznam - Prepisovanie udalostí starších ako x dní nový
záznam môže prepísat starý záznam starší ako x
dní - Neprepisuj udalosti staré záznamy nikdy nie sú
prepísané, pred zápisom nových udalostí musí byt
bezpecnostný záznam najprv rucne vymazaný - V posledných dvoch volbách môže systémový manažér
nastavit systém tak, že pri zaplnení súboru
bezpecnostného záznamu sa systém odstaví (shut
down).
31