1 / 104

Bezpečnosť operačných systémov

Bezpečnosť operačných systémov. Marek Urbančík 2003/2004. Úvod. Súčasné operačné systémy poskytujú spravidla viacúlohové prostredie pre jedného alebo viacerých používateľov súčasne Pracujú na počítačoch s jedným alebo viacerými procesormi

Download Presentation

Bezpečnosť operačných systémov

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ých systémov Marek Urbančík 2003/2004

  2. Úvod • Súčasné operačné systémy poskytujú spravidla viacúlohové prostredie pre jedného alebo viacerých používateľov súčasne • Pracujú na počítačoch s jedným alebo viacerými procesormi • Využívajú HW podporu procesora pre manažment virtuálnej pamäti a multitasking • Otázka bezpečnosti je mimoriadne komplexná problematika, a preto sa zameriam len na niektoré oblasti

  3. Hardvérové predpoklady pre moderné operačné systémy

  4. Správa pamäte vreálnom režime procesora 8086 • 20-bitová adresná zbernica – možnosť adresovať 2^20 bitov = 1MB • Pre používateľa je dostupných len 640kB, zvyšok je rezervovaný pre BIOS, gr. pamäť, apod. • Adresa sa skladá z dvoch častí, každá z nich je uložená v osobitnom 16-bitovom registri procesora, zapisuje sa v tvare segment:offset, takáto adresa nie je jednoznačná • Fyzická adresa sa vypočíta posunom segmentu o 4 bity vľavo a pripočítaním offsetu • Táto architektúra neumožňovala HW kontrolu prístupu do pamäti a nebola vhodná pre multitasking

  5. Procesory 80386 a vyššie • 32-bitová adresná zbernica, možnosť adresovať 4GB pamäte • Z dôvodu spätnej kompatibility aj tieto procesory po štarte počítača pracujú v reálnom režime, prístup k pamäti je totožný s 8086 (1MB) • Môžu však prejsť do chráneného (protected) režimu, využívať HW podporu pre virtuálnu pamäť veľkosti 4GB použitím stránkovania (paging) • Všetky 32-bitové OS (Win 9x a vyššie, Linux, ...) pracujú v chránenom režime

  6. Správa pamäti v chránenom režime • Súčasťou procesora je MMU (Memory Management Unit), ktorá zabezpečuje preklad virtuálnej adresy na HW úrovni: • Všetky procesy používajú 32-bitové adresy a pracujú v lineárnom virtuálnom pamäťovom priestore veľkosti 4GB bez akejkoľvek náväznosti na fyzickú pamäť • Virtuálny pamäťový priestor je rozdelený na stránky (pages) rovnakej veľkosti, spravidla 4KB (závislé od procesora) • Fyzický pamäťový priestor je rozdelený na rámce (page frames) rovnakej veľkosti ako stránky

  7. Preklad adresy v chránenom režime • Pred použitím MMU musí operačný systém vytvoriť v pamäti tabuľku nazvanúpage directory table(alebo tiež page directory index) - adresár stránkovacích tabuliek. • Jej adresu uloží OS do špeciálneho registra procesora • Obsahuje 1024 32-bitových fyzických adries stránkovacích tabuliek (page tables), jej veľkosť je 1024*4 = 4KB • Stránkovacie tabuľky sú posledným stupňom prekladu adresy, obsahujú fyzické adresy 4kB rámcov

  8. Priebeh prekladu adresy • Procesor (MMU) rozdelí virtuálnu adresu na 3 časti: • 10 najvyšších bitov sa použije ako index do page directory table • Takto získanú fyzickú adresu použije procesor na prístup do príslušnej tabuľky stránok (page table) • Ďalších 10 bitov virtuálnej adresy MMU použije ako index v tabuľke stránok získanej v predošlom kroku • Sčítaním zvyšných 12 bitov virtuálnej adresy s obsahom príslušnej položky tabuľky stránok sa získa požadovaná fyzická adresa, ktorá sa odošle po adresnej zbernici procesora • PDT okrem odkazov na PT obsahuje aj bity indikujúce prítomnosť PT, analogicky položky PT okrem adresy rámca obsahujú údaj o jeho dostupnosti • Ak preklad virtuálnej adresy nebol úspešný (na ktoromkoľvek stupni), procesor vyvolá výnimku „page fault“ – túto musí ošetriť operačný systém

  9. Priebeh prekladu adresy Page Directory Page Table Page Frame

  10. Dôvod použitia dvojúrovňovej nepriamej adresácie • Takýto mechanizmus šetrí pamäťou – každá tabuľka zaberá 4KB pamäti • Málokedy je potrebné pre aplikáciu definovať celý 4GB adresný priestor (tabuľka stránok by zaberala 4MB) • Stačí definovať page directory table (4KB) a len potrebný počet tabuliek stránok, ostatné položky PDT možno označiť ako neexistujúce • Takýto preklad adries je pomalý, na urýchlenie sa používa asociatívna pamäť obsahujúca niekoľko najpoužívanejších virtuálnych adries, nazývaná Translation Look-aside Buffer

  11. Operačné systémy Správa virtuálnej pamäti a multitasking Veľmi úzko súvisiace záležitosti

  12. Multitasking – zákl. pojmy • Budem uvažovať jednoprocesorový systém • Multitasking – ilúzia behu viacerých programov súčasne • Čas procesora je rozdelený na tzv. kvantá (Windows – 20 – 120 ms, Linux 10 – 300 ms) • Tieto kvantá sú prideľované striedavo prideľované jednotlivým procesom • Dnešné OS používajú tzv. preemptívny multitasking, to znamená, že OS určí, kedy bude vykonávanie procesu pozastavené a bude spustený iný proces

  13. Úlohy OS – multitasking a VMM • Prideliť spustenému procesu časť 4GB adresného priestoru • Vytvorenie PDT tabuľky pre každý proces a príslušných tabuliek stránok podľa pamäťových nárokov procesu • Tabuľky musia byť vytvorené tak, aby pri pokuse procesu o prístup do pamäti iného procesu alebo pamäti vyhradenej pre systém došlo k výnimke • Plánovanie procesov • Prideľovať čas procesora tak, aby bola zachovaná dostatočná interaktivita interaktívnych procesov (textový editor) a súčasne dostatočný výkon výpočtovo náročných procesov (archivačné programy, kódovanie videa, ...)

  14. Úlohy OS – multitasking a VMM • Context Switching – zmena práve bežiaceho procesu • Spočíva v uložení aktuálneho stavu procesora a nahradení tohto stavu iným (predovšetkým obsah registrov, s tým súvisí aj pamäťový priestor aplikácie (register obsahujúci adresu PDT daného procesu) • Implementácia virtuálnej pamäti – stránkovanie • Viacero súčasne bežiacich aplikácií ľahko vyčerpá dostupnú fyzickú pamäť • OS musí niektoré rámce fyzickej pamäte (na základe určitej stratégie, napr. neaktívnych procesov na pozadí) presunúť na disk (page-out) • Stránku, ktorá odkazovala na tento rámec, označí ako neplatnú v tabuľke stránok daného procesu

  15. Úlohy OS – multitasking a VMM • Obsluha výnimky „page fault“ procesora – neúspech prekladu virtuálnej adresy: • OS musí na základe interných štruktúr zistiť: • Pokus o nelegálny prístup do pamäte (napr. do adresného priestoru, ktorý nie je pridelený danému procesu) – v takomto prípade je proces, ktorý výnimku vyvolal, spravidla ukončený • Pokus o prístup na stránku, ktorá bola odsunutá na disk – v takomto prípade OS musí odsunúť nejakú inú stránku na disk (podľa nejakej stratégie, napr. LRU, odstrániť ju z adresného priestoru daného procesu a do takto uvoľneného rámca nahrať z disku požadovanú stránku (page-in) a zaradiť stránku do adresného priestoru bežiaceho procesu, nakoniec reštartovať inštrukciu, ktorá vyvolala výnimku

  16. Operačné systémy – identifikácia a autentifikácia, správa používateľov

  17. Oprávnené použitie OS • Základ bezpečnosti operačných systémov: • K počítačovému systému a dátam by mali mať prístup len oprávnený používatelia • Oprávnený používateľ má v operačnom systéme vytvorený účet, prostredníctvom ktorého pristupuje k počítaču a údajom • Toto sa zabezpečuje identifikáciou a autentifikáciou potenciálneho používateľa

  18. Identifikácia a autentifikácia • Spravidla prebieha zadaním používateľského mena a hesla • Používateľské meno (username) je identifikátor, ktorý poskytuje operačnému systému informáciu o tom, kto ste (a napr. aké máte práva) • Heslo (password) – najčastejšia forma autentifikácie – použitím hesla potvrdíte operačnému systému, že ste naozaj ten, za koho sa vydávate (identifikujete) • Ďalšie možnosti autentifikácie zahŕňajú použitie hardvérových kľúčov (napr. mag. karty) alebo biometrických údajov (zriedkavé)

  19. Autentifikácia heslom Ide o najčastejší spôsob autentifikácie voči operačnému systému, zaslúži si trochu pozornosti

  20. Dobré a zlé heslá • Zlé heslo je heslo, ktoré sa dá ľahko uhádnuť • Heslá sú v súčasnosti základom počítačovej bezpečnosti a preto im treba venovať patričnú pozornosť • Čoho sa treba vyvarovať: • Prezradiť komukoľvek heslo • Heslo totožné s používateľským menom • Mená osôb, firmy, školy, • Meno počítača, operačného systému • Dátum narodenia, rodné číslo, telefónne číslo, adresa • Mená miest • Slovo zo slovníka (aj cudzojazyčného) • Postupnosť písmen na klávesnici, napr. qwertz • Čokoľvek z predošlého napísané odzadu

  21. Dobré a zlé heslá • Dobré heslo je heslo, ktoré sa nedá ľahko uhádnuť • Dobré heslo by malo spĺňať tieto kritériá: • Obsahuje malé aj veľké písmená • Okrem písmen obsahuje aj čísla a/alebo interpunkčné znamienka • Môže obsahovať medzery • Je ľahko zapamätateľné • Je spoň 8 znakov dlhé • Dobré heslo možno napríklad vytvoriť striedaním spoluhlások a samohlások, pridať niekoľko čísel – vznikne nezmyselné slovo, ktoré sa ľahko pamätá, napr. hAriQe25

  22. Ďalšie možnosti zvýšenia bezpečnosti hesiel • Používateľské účty v operačných systémoch možno nastaviť tak (UNIX, Linux, W2K/XP), aby sa po určitom počte neúspešných pokusov o prihlásenie zablokovali, snaha zabrániť potenciálnemu útočníkovi hádať heslo • Tento prístup sa však neodporúča, oveľa vhodnejšie je po neúspešnom pokuse o prihlásenie do systému umožniť pokus o ďalšie prihlásenie až o niekoľko sekúnd

  23. Implementácia hesiel, používateľov a skupín UNIX/Linux

  24. Súbor /etc/passwd • Tradične UNIX/Linux eviduje všetkých používateľov v tomto súbore, jeho riadok môže vyzerať napríklad takto: Používateľské meno Identifikátor skupiny(GID) Domovský adresár Identifikátor používateľa (UID) Skutočné meno používateľa Predvolený shell • Jednotlivé položky sú oodelené znakom : • X znamená, že zakryptované (MD5) heslo používateľa je uložené v súbore /etc/shadow, ku ktorému má prístup len root

  25. Superpoužívateľ - root • Takmer každý systém odvodený od UNIX-u obsahuje špeciálneho používateľa uvedeného v súbore /etc/passwd s UID 0 • Ide o takzvaného „superpoužívateľa“, jeho používateľské meno je root • Hlavnou úlohou root-a je správa systému – takmer všetky bezpečnostné obmedzenia sú ignorované pre programy spustené týmto používateľom

  26. Používatelia a skupiny • Každý používateľ systému patrí do jednej alebo viacerých skupín • Skupina má podobne ako účet názov a identifikačné číslo (GID) • Skupiny sa používajú spravidla na zoskupenie používateľov s podobnými právami na prístup k súborom, zariadeniam, apod. • Každý používateľ patrí do primárnej skupiny, uvedenej v súbore /etc/passwd

  27. Súbor /etc/group • Tento súbor obsahuje zoznam skupín v systéme, ich GID a priradených používateľov, môže vyzerať napríklad takto (uvádzam len 2 riadky): Názov skupiny Identifikátor skupiny (GID) Členovia skupiny • Jednotlivé položky sú oodelené znakom : • * znamená, že pre skupinu môže existovať heslo

  28. Niektoré príkazy pre správu používateľov a skupín

  29. Niektoré distribúcie Linuxu poskytujú grafické prostredie na správu používateľov a skupín (Mandrake 9.1)

  30. Správa používateľov a skupín v operačnom systéme Windows XP

  31. Správa používateľských účtov • Môže pracovať v dvoch režimoch: štandardnom (Win XP Home obsahuje len tento režim), alebo v plnohodnotnom režime (tieto režimy som pomenoval ja) • Informácie špecifické pre používateľa/účet sa spravidla ukladajú v adresári „Documents And Settings\[Meno používateľa]“, ktorý je umiestnený na tej istej logickej jednotke ako inštalácia OS • Štandardná správa účtov: Ovládací panel Užívateľské účty • Tu možno nastaviť aj spôsob prihlasovania používateľov : • Kliknutím na meno na úvodnej obrazovke a prípadným zadaním hesla • Zadaním mena a prípadného hesla

  32. Štandardný režim • Podporuje len tri typy používateľských účtov: • Správca počítača (je automaticky členom skupiny Administrators) • Obmedzený účet (je členom skupiny Users) • „Guest“ účet • Ďalej možno nastaviť: • Používateľké meno • Heslo • Obrázok pri prihlásení

  33. Správa použ. účtov

  34. Správa účtu

  35. Zmena typu účtu

  36. Obmedzený účet • Zistené metódou pokus-omyl • Predpokladom je štandardné nastavenie NTFS filesystému • Niektoré limity: • Zakázané vytváranie a modifikácia súborov v inštalačnom adresári OS, tiež v adresári Program Files • Zakázaná modifikácia existujúcich súborov, ktoré vytvoril akýkoľvek iný používateľ • Používateľ s takýmto účtom nemôže konfigurovať a inštalovať HW zariadenia (Device Manager / Správca zariadení) • Nemôže spravovať účty iných používateľov – na svojom účte môže zmeniť heslo a obrázok • Do registra systému môže zapisovať len do vetvy HKEY_CURRENT_USER

  37. Obmedzený účet • Ďalšie obmedzenia: • Používateľ nemá prístup do adresára „Documents and settings“ žiadneho iného používateľa (okrem zdieľaných dokumentov) • Mnohé programy nemôže korektne nainštalovať • Účet „guest“ je totožný s obmedzeným účtom, jediný rozdiel je v nemožnosti zmeniť heslo (aj tomuto účtu môže byť priradené)

  38. Administrátor • Pre administrátora existuje jedno dôležité obmedzenie: • Ak zmení heslo iného používateľa, môže dôjsť k strate nasledujúcich údajov: • Osobné certifikáty • Zapamätané internetové heslá • Súbory zašifrované pomocou NTFS

  39. Pokročilé možnosti správy používateľov Len OS Windows XP

  40. Nástroj „Správa počítača“ • Umožňuje komplexnú správu používateľov (používateľ musí patriť do skupiny Administrators) • Ovládací panel  Nástroje pre správu  Správa počítača • Tento nástroj umožňuje (okrem mnohých iných vecí) vytváranie skupín používateľov a priraďovanie používateľov do jednotlivých skupín, používateľ môže byť členom aj viacerých skupín

  41. Správa používateľov

  42. Správa skupín OS obsahuje množstvo preddefinovaných skupín používateľov

  43. Group Policy Editor • V preklade Ovládací panel  Nástroje pre správu  Miestne nastavenie bezpečnosti • Veľmi široké možnosti rôznych bezpečnostných nastavení • Príklady: • Zásady hesiel: • Minimálna dĺžka hesla, maximálny vek hesla • História hesiel (zabraňuje opakovanému použitiu hesiel • Uzamknutie účtu • Možnosti auditu • Napr. prihlasovanie a odhlasovanie používateľov

  44. Nastavenie zásad hesiel

  45. Nastavenie uzamykania účtov

  46. Nastavenie auditu

  47. Súborové systémy Základný prvok bezpečnosti operačného systému

  48. Charakteristika súborového systému • Súborový systém organizuje fyzický diskový priestor • Riadi spôsob ukladania používateľských informácií (súbory, adresáre, apod.) • Spravidla okrem ukladania týchto informácií k nim takisto riadi prístup • Je základným mechanizmom na vynútenie bezpečnosti operačného systému

  49. Súborové systémy typu FAT Windows 9x, ME, (2K, XP)

  50. FAT12/16/32 • Prvé verzie tohto FS (FAT12) vznikli koncom 70-tych rokov minulého storočia • Ohľad na jednoduchosť, nie na bezpečnosť • Neskôr vznikli modifikácie FAT16, FAT32 • Tieto filesystémy neobsahujú žiadnu podporu pre bezpečnosť (riadenie prístupu k súborom, kvóty, apod.) • OS WXP možno nainštalovať aj na partíciu s FAT filesystémom, ale v takomto prípade nebudú funkčné takmer žiadne bezpečnostné prvky OS WXP!!!! • Jednoznačne sa z bezpečnostného hľadiska odporúča použiť súborový systém NTFS

More Related