Kontakty slajdy: ftp://ulita.ms.mff.cuni.cz/predn/POS
Ochrana a bezpečnost Ochrana s prostředky OS mohou pracovat pouze autorizované procesy Bezpečnost zabraňuje neautorizovaný přístup do systému
Domény ochrany – 1 Právo je povolení/zakázání vykonávat nějakou operaci Doména je množina párů (objekt;práva) Matice ochrany Soubor1 [RW]Soubor3 [RWX]Soubor2 [R] Doména1Doména2 Soubor1Soubor2Soubor3 Doména1RWR Doména2RRWX
Domény ochrany – 2 ACL (Access Control List) ke každému objektu seznam práv pro uživatele/skupiny C-list (Capability List) ke každému uživateli/skupině seznam práv pro objekty
Cíle útoků Důvěrnost dat uživatel může určit, kdo má data vidět, a systém skutečně dovolí pracovat s daty pouze zvoleným uživatelům Celistvost dat možnost podstrčení falešných dat CílÚtok Důvěrnost datZjištění obsahu dat Celistvost datZměna obsahu dat Dostupnost systémuDoS (Denial of Service)
Útočníci „Náhodný“ přístup prostým uživatelem mnoho OS má defaultní práva velmi „uvolněná“ Windows a „Everyone full control“ Odborný vnitřní pracovník „test“ odbornosti Snaha ukrást peníze obohacení vnitřního programátora Komerční a vojenská špionáž packet sniffing
Ztráta dat „Boží“ zásah požár, potopa, válka, krysy,... HW nebo SW chyby chyby disku, diskety, komunikace, programu Lidské chyby špatné vložení dat, disku, špatné spuštění programu, ukradený disk
Autentikace – 1 Identifikace něčím, co uživatel ví, má nebo je Hesla slovníkový útok 80-90% hesel je jednoduchých hrubá síla vynucování délky, složitosti a doby trvání hesla hesla na jedno použití kniha, speciální kalkulačka Model otázka/odpověď
Autentikace – 2 Fyzický objekt smart cards, USB klíče Biometrika rozeznávání papilárních čar, rohovek, hlasu
Vnitřní útoky – 1 Trojský kůň zdánlivě neškodný program obsahuje „zlý“ kód Login spoofing falešná „logovací“ obrazovka Logická bomba zaměstnanec vpraví kus kódu do systému, který musí být pravidelně informován o tom, že zaměstnanec je stále zaměstnancem
Vnitřní útoky – 2 Zadní dvířka (trap door, back door) kód při nějaké podmínce přeskočí normální kontroly Přetečení vyrovnávací paměti (buffer overflow) ve velkém množství kódu nejsou dělány kontroly na přetečení polí pevné velikosti při přetečení se typicky přepíše část zásobníku a lze tam umístit adresu kódu i samotný kód, který se vykoná při návratu z funkce
Vnější útoky – 1 Virus vytvoří se nakažený „žádaný“ soubor po spuštění infikuje další soubory přenos přenosnými médii, sítí antiviry polymorfické viry Internetový červ (worm) samoreplikující se program (červ) využívá nějaké chyby systému
Vnější útoky – 2 Mobilní kód applety, agenti, PostScript sandboxing dělení virtuální paměti na úseky interpretace Java podpis ví se, kdo za to může
Kryptografie Cíle důvěrnost celistvost autentikace vím, od koho to skutečné pochází nemožnost popření když jednou potvrdím nějakou akci, už to nemohu popřít
Neklíčovaná primitiva Hashovací funkce pro libovolné délky MDC (Message Detection Codes) CRC, MD4, MD5, SHA-1 Jednocestná permutace f(x) = α x mod p Náhodné posloupnosti HW (termální šum diody) SW (uživatelský vstup, síťování) „pořadová“ čísla IP paketů
Symetrický klíč Symetricky klíčované šifry blokové šifry (DES, IDEA) proudové šifry (SEAL) Hashovací funkce pro libovolné délky MAC (Message Authentication Codes) možnost zkonstruovat z MDC Podpisy Pseudonáhodné posloupnosti Identifikační primitiva
Výhody/nevýhody symetrického klíče Výhody šifry s vysokou datovou propustností krátké klíče slučování více šifer vytváří silnější šifru Nevýhody klíče na obou koncích musí zůstat utajeny je třeba často měnit klíče potřeba ověřené TTP (Trusted Third-Party)
Veřejný klíč Šifry s veřejným klíčem RSA Podpisy podepsání (s=S A (m), pošli (m,s)) kontrola (získej od A V A, u=V A (m,s)) Identifikační primitiva jedna entita dokáže druhé, že je to ona
Výhody/nevýhody veřejného klíče Výhody pouze privátní klíč je tajný klíče je možné měnit méně často není zapotřebí úplně uvěřená TTP Nevýhody mnohem pomalejší než symetrické šifry klíče mnohem delší o žádném schématu veřejného klíče nebylo dokázáno, že je bezpečné
Prvky komunikace Nepřítel naslouchá Nepřítel Text Kódování E e (m) = c m Text Dekódování D d (c) = m m nezabezpečený kanál c zdroj příjemce
Komunikace s výměnou klíčů Nepřítel Text Kódování E e (m) = c m Text Dekódování D d (c) = m m nezabezpečený kanál c Zdroj klíčů e e bezpečný kanál
Komunikace s veřejnými klíči Nepřítel Text Kódování E e (m) = c m Text Dekódování D d (c) = m m nezabezpečený kanál c Zdroj klíčů d e nezabezpečený kanál
Útok na veřejné klíče Text Kódování E e’ (m) = c’ m Text Dekódování D d (c) = m m c Zdroj klíčů d e’e’ Kódování E e (m) = c Dekódování D d’ (c’) = m Zdroj klíčů d’ m c’ e útočník